@auto-ai/agent 2.1.182 → 2.1.187
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/dist/safe-a/404/index.html +1 -1
- package/dist/safe-a/404.html +1 -1
- package/dist/safe-a/_next/static/chunks/074a7a892d554827.js +1 -0
- package/dist/safe-a/_next/static/chunks/{e42498eec0c8d570.js → 0fde2a8866dd02fc.js} +1 -1
- package/dist/safe-a/_next/static/chunks/26f5809c84b263c0.css +7 -0
- package/dist/safe-a/_next/static/chunks/2ba468c7afb852bd.js +1 -0
- package/dist/safe-a/_next/static/chunks/{5434628aad5e5bc3.js → 2bac8f0a4e762326.js} +1 -1
- package/dist/safe-a/_next/static/chunks/{7f341bc0fb5ff708.js → 2d7f6aa6628bccd0.js} +1 -1
- package/dist/safe-a/_next/static/chunks/33678ff357855160.js +1 -0
- package/dist/safe-a/_next/static/chunks/5022180fa579a73a.js +1 -0
- package/dist/safe-a/_next/static/chunks/518d4c901787979a.js +1 -0
- package/dist/safe-a/_next/static/chunks/811897ffb3636359.js +1 -0
- package/dist/safe-a/_next/static/chunks/96feacf5b8cde310.js +1 -0
- package/dist/safe-a/_next/static/chunks/a56ab101155b1427.js +1 -0
- package/dist/safe-a/_next/static/chunks/a5b851b271052e89.js +1 -0
- package/dist/safe-a/_next/static/chunks/a6aafbc087d75717.js +1 -0
- package/dist/safe-a/_next/static/chunks/ceead8f438e931f7.js +1 -0
- package/dist/safe-a/_next/static/chunks/d16ae4f1eb111da5.js +1 -0
- package/dist/safe-a/_next/static/chunks/d47487bdc4a277fd.css +1 -0
- package/dist/safe-a/_next/static/chunks/e00679a7df05e016.js +1 -0
- package/dist/safe-a/_next/static/chunks/f1dde9052e8d1d3d.js +1 -0
- package/dist/safe-a/index.html +2 -2
- package/dist/safe-a/index.txt +26 -27
- package/dist/safe-a/manage/about/index.html +2 -2
- package/dist/safe-a/manage/about/index.txt +11 -11
- package/dist/safe-a/manage/env/index.html +2 -2
- package/dist/safe-a/manage/env/index.txt +13 -13
- package/dist/safe-a/manage/geelib/index.html +2 -2
- package/dist/safe-a/manage/geelib/index.txt +13 -13
- package/dist/safe-a/manage/general/index.html +2 -2
- package/dist/safe-a/manage/general/index.txt +11 -11
- package/dist/safe-a/manage/git/index.html +2 -2
- package/dist/safe-a/manage/git/index.txt +13 -13
- package/dist/safe-a/manage/im/index.html +2 -2
- package/dist/safe-a/manage/im/index.txt +13 -13
- package/dist/safe-a/manage/index.html +2 -2
- package/dist/safe-a/manage/index.txt +8 -8
- package/dist/safe-a/manage/library/index.html +2 -2
- package/dist/safe-a/manage/library/index.txt +11 -11
- package/dist/safe-a/manage/mcp/index.html +2 -2
- package/dist/safe-a/manage/mcp/index.txt +11 -11
- package/dist/safe-a/manage/permissions/index.html +2 -2
- package/dist/safe-a/manage/permissions/index.txt +11 -11
- package/dist/safe-a/manage/skills/index.html +2 -2
- package/dist/safe-a/manage/skills/index.txt +11 -11
- package/dist/safe-a/manage/system/index.html +2 -2
- package/dist/safe-a/manage/system/index.txt +13 -13
- package/dist/safe-a/manage/task/index.html +2 -2
- package/dist/safe-a/manage/task/index.txt +11 -11
- package/dist/safe-a/manage/teams/index.html +2 -2
- package/dist/safe-a/manage/teams/index.txt +11 -11
- package/dist/safe-a/manage/tools/index.html +2 -2
- package/dist/safe-a/manage/tools/index.txt +11 -11
- package/dist/ws-test/ws-test.css +89 -1
- package/dist/ws-test/ws-test.html +1 -0
- package/dist/ws-test/ws-test.js +276 -26
- package/mcps-runtime/claude-ws-channel/.mcp.json +18 -0
- package/mcps-runtime/claude-ws-channel/server/boot.mjs +30 -0
- package/mcps-runtime/claude-ws-channel/server/gateway.bundle.mjs +410306 -0
- package/mcps-runtime/claude-ws-channel/server/index.mjs +144 -0
- package/package.json +6 -6
- package/dist/safe-a/_next/static/chunks/044a195f3374d4b6.js +0 -1
- package/dist/safe-a/_next/static/chunks/0a7d5a51593d8c2f.js +0 -1
- package/dist/safe-a/_next/static/chunks/12fa90667e8fb0e3.js +0 -1
- package/dist/safe-a/_next/static/chunks/4682815462207a37.js +0 -1
- package/dist/safe-a/_next/static/chunks/5b44bdce5e5ebd06.js +0 -1
- package/dist/safe-a/_next/static/chunks/5b50a8c524507ee0.js +0 -1
- package/dist/safe-a/_next/static/chunks/66cdfa3e49dc50f3.js +0 -1
- package/dist/safe-a/_next/static/chunks/6b646b7144f0eb9e.js +0 -1
- package/dist/safe-a/_next/static/chunks/804376464cecbc36.css +0 -7
- package/dist/safe-a/_next/static/chunks/812fc979171f7ded.js +0 -1
- package/dist/safe-a/_next/static/chunks/8f31f818efd25c0f.js +0 -1
- package/dist/safe-a/_next/static/chunks/9edf76a11bf93bcc.js +0 -1
- package/dist/safe-a/_next/static/chunks/b63afdaa820ddad4.js +0 -1
- package/dist/safe-a/_next/static/chunks/b9590be9854a83fb.js +0 -1
- package/dist/safe-a/_next/static/chunks/dc7a9ce680ab0ce4.css +0 -1
- package/dist/safe-a/_next/static/chunks/dd98ccfeaf6ec72e.js +0 -1
- package/dist/safe-a/_next/static/chunks/e847138f5b487d3d.js +0 -1
- package/dist/safe-a/_next/static/chunks/f3c9f6b778f4cf1a.js +0 -1
- package/dist/safe-a/_next/static/chunks/fa686b4028e991a5.js +0 -1
- /package/dist/safe-a/_next/static/{CAF1wzpCLjCuxKaGvx09h → BDdAEI0K2Jg8YCxVKfY0_}/_buildManifest.js +0 -0
- /package/dist/safe-a/_next/static/{CAF1wzpCLjCuxKaGvx09h → BDdAEI0K2Jg8YCxVKfY0_}/_clientMiddlewareManifest.json +0 -0
- /package/dist/safe-a/_next/static/{CAF1wzpCLjCuxKaGvx09h → BDdAEI0K2Jg8YCxVKfY0_}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { appendFileSync, mkdirSync } from 'node:fs'
|
|
2
|
+
import { dirname, join } from 'node:path'
|
|
3
|
+
import { homedir } from 'node:os'
|
|
4
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
|
|
5
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
|
|
6
|
+
import * as z from 'zod'
|
|
7
|
+
import { startWsMcpGateway } from './gateway.bundle.mjs'
|
|
8
|
+
|
|
9
|
+
const stateDir =
|
|
10
|
+
process.env.WS_STATE_DIR ||
|
|
11
|
+
join(homedir(), '.claude', 'channels', 'ws')
|
|
12
|
+
const bootLog = join(stateDir, 'boot.log')
|
|
13
|
+
mkdirSync(dirname(bootLog), { recursive: true })
|
|
14
|
+
|
|
15
|
+
function logBoot(line) {
|
|
16
|
+
try {
|
|
17
|
+
appendFileSync(bootLog, `${new Date().toISOString()} ${line}\n`, {
|
|
18
|
+
encoding: 'utf8',
|
|
19
|
+
mode: 0o600,
|
|
20
|
+
flag: 'a',
|
|
21
|
+
})
|
|
22
|
+
} catch {}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
logBoot(`[BOOT] ws-channel index.mjs pid=${process.pid}`)
|
|
26
|
+
|
|
27
|
+
const server = new McpServer(
|
|
28
|
+
{ name: 'ws-channel', version: '0.1.0' },
|
|
29
|
+
{
|
|
30
|
+
capabilities: {
|
|
31
|
+
experimental: {
|
|
32
|
+
'claude/channel': {},
|
|
33
|
+
'claude/ws_control': {},
|
|
34
|
+
},
|
|
35
|
+
tools: {},
|
|
36
|
+
},
|
|
37
|
+
instructions: [
|
|
38
|
+
'Browser WebSocket clients connect to this channel HTTP gateway.',
|
|
39
|
+
'Inbound prompts arrive via notifications/claude/channel.',
|
|
40
|
+
'Outbound uses ws_push_event and ws_reply tools.',
|
|
41
|
+
].join('\n'),
|
|
42
|
+
},
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
/** sessionId → push 函数,由 gateway 注册 */
|
|
46
|
+
let pushToSession = (_sessionId, _envelope) => {}
|
|
47
|
+
|
|
48
|
+
server.tool(
|
|
49
|
+
'ws_push_event',
|
|
50
|
+
'Push a v3 protocol envelope to a browser WebSocket session',
|
|
51
|
+
{
|
|
52
|
+
session_id: z.string(),
|
|
53
|
+
envelope: z.record(z.string(), z.unknown()),
|
|
54
|
+
},
|
|
55
|
+
async ({ session_id, envelope }) => {
|
|
56
|
+
pushToSession(session_id, envelope)
|
|
57
|
+
return { content: [{ type: 'text', text: 'ok' }] }
|
|
58
|
+
},
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
server.tool(
|
|
62
|
+
'ws_reply',
|
|
63
|
+
'Send turn-end assistant text to a browser WebSocket session',
|
|
64
|
+
{
|
|
65
|
+
session_id: z.string(),
|
|
66
|
+
text: z.string(),
|
|
67
|
+
},
|
|
68
|
+
async ({ session_id, text }) => {
|
|
69
|
+
pushToSession(session_id, { type: 'assistant', text })
|
|
70
|
+
return { content: [{ type: 'text', text: 'ok' }] }
|
|
71
|
+
},
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
async function emitChannelNotification(content, meta) {
|
|
75
|
+
await server.server.notification({
|
|
76
|
+
method: 'notifications/claude/channel',
|
|
77
|
+
params: { content, meta },
|
|
78
|
+
})
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
async function emitWsControl(params) {
|
|
82
|
+
await server.server.notification({
|
|
83
|
+
method: 'notifications/claude/ws_control',
|
|
84
|
+
params,
|
|
85
|
+
})
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const rawPort = process.env.WS_PORT?.trim()
|
|
89
|
+
const port = rawPort ? Number(rawPort) : 0
|
|
90
|
+
const rpcSocket = process.env.WS_MAIN_RPC_SOCKET?.trim() ?? ''
|
|
91
|
+
|
|
92
|
+
if (Number.isFinite(port) && port > 0 && rpcSocket.length > 0) {
|
|
93
|
+
const gw = startWsMcpGateway({
|
|
94
|
+
port,
|
|
95
|
+
mainRpcSocket: rpcSocket,
|
|
96
|
+
hooks: {
|
|
97
|
+
onPrompt: async ({ agent, sessionId, text, meta }) => {
|
|
98
|
+
await emitChannelNotification(text, {
|
|
99
|
+
...meta,
|
|
100
|
+
agent,
|
|
101
|
+
channel_type: 'ws',
|
|
102
|
+
...(sessionId ? { peer_id: sessionId } : {}),
|
|
103
|
+
})
|
|
104
|
+
},
|
|
105
|
+
onControl: async event => {
|
|
106
|
+
if (event.type === 'open') {
|
|
107
|
+
await emitWsControl({
|
|
108
|
+
controlType: 'open',
|
|
109
|
+
agent: event.data.agent,
|
|
110
|
+
sessionId: event.data.sessionId ?? '',
|
|
111
|
+
workspaceDir: event.data.workspaceDir,
|
|
112
|
+
agentEnv: event.data.agentEnv,
|
|
113
|
+
envOverrides: event.data.envOverrides,
|
|
114
|
+
providerOverride: event.data.providerOverride ?? '',
|
|
115
|
+
modelOverride: event.data.modelOverride ?? '',
|
|
116
|
+
})
|
|
117
|
+
return
|
|
118
|
+
}
|
|
119
|
+
if (event.type === 'close') {
|
|
120
|
+
await emitWsControl({
|
|
121
|
+
controlType: 'close',
|
|
122
|
+
agent: event.agent,
|
|
123
|
+
sessionId: event.sessionId ?? '',
|
|
124
|
+
})
|
|
125
|
+
return
|
|
126
|
+
}
|
|
127
|
+
await emitWsControl({
|
|
128
|
+
controlType: 'message',
|
|
129
|
+
agent: event.agent,
|
|
130
|
+
sessionId: event.sessionId ?? '',
|
|
131
|
+
payload: JSON.stringify(event.payload ?? {}),
|
|
132
|
+
})
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
})
|
|
136
|
+
pushToSession = gw.pushToSession
|
|
137
|
+
logBoot(`[BOOT] ws gateway listening port=${port}`)
|
|
138
|
+
} else {
|
|
139
|
+
logBoot('[BOOT] ws gateway skipped: WS_PORT or WS_MAIN_RPC_SOCKET invalid')
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
const transport = new StdioServerTransport()
|
|
143
|
+
await server.connect(transport)
|
|
144
|
+
logBoot('[BOOT] mcp stdio connected')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@auto-ai/agent",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.187",
|
|
4
4
|
"description": "Auto AI Agent 网关 CLI(WebSocket,独立二进制,无需 Bun)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"maintainers": [
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"zod": "^4.3.6"
|
|
33
33
|
},
|
|
34
34
|
"optionalDependencies": {
|
|
35
|
-
"@auto-ai/agent-linux-x64": "2.1.
|
|
36
|
-
"@auto-ai/agent-linux-arm64": "2.1.
|
|
37
|
-
"@auto-ai/agent-darwin-x64": "2.1.
|
|
38
|
-
"@auto-ai/agent-darwin-arm64": "2.1.
|
|
39
|
-
"@auto-ai/agent-win-x64": "2.1.
|
|
35
|
+
"@auto-ai/agent-linux-x64": "2.1.187",
|
|
36
|
+
"@auto-ai/agent-linux-arm64": "2.1.187",
|
|
37
|
+
"@auto-ai/agent-darwin-x64": "2.1.187",
|
|
38
|
+
"@auto-ai/agent-darwin-arm64": "2.1.187",
|
|
39
|
+
"@auto-ai/agent-win-x64": "2.1.187"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"prepare": "node ../../scripts/sync-launcher-env.js",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28370,e=>{"use strict";e.s(["AgentEnvGroupSettingsView",()=>w],28370);var t=e.i(18050),r=e.i(85413),n=e.i(2839),l=e.i(19455),i=e.i(93479),o=e.i(24687),a=e.i(67489),s=e.i(75157);let u="__empty__",d=[{value:"anthropic",label:"anthropic"},{value:"openai",label:"openai"}],c=[{value:"1",label:"启用全部 MCP 常驻会话"},{value:"0",label:"禁用"}];function f(e){let{group:r,fields:n,fieldValues:l,whentouseValue:f,onFieldChange:p,onWhentouseChange:g}=e;return(0,t.jsxs)("div",{className:"divide-y divide-[var(--ds-border)]",children:["system"===r?(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-[var(--ds-text)]",htmlFor:"agent-env-whentouse",children:"使用时机(whentouse)"}),(0,t.jsx)(o.Textarea,{id:"agent-env-whentouse",rows:3,spellCheck:!1,autoComplete:"off",placeholder:"输入该 agent 的使用时机描述","aria-label":"agent.json whentouse",className:"min-h-[88px] resize-y border-[var(--ds-border)] bg-[var(--ds-bg)] placeholder:text-[var(--text-placeholder)]",value:f,onChange:e=>g(e.target.value)})]}):null,n.map(e=>{let r="agent-env-field-".concat(e.key),n="string"==typeof l[e.key]?l[e.key]:"";if("LLM_PROVIDER"===e.key){let l="anthropic"===n||"openai"===n?n:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-basic text-[var(--ds-text)]",htmlFor:r,children:e.label}),(0,t.jsxs)(a.Select,{value:l||u,onValueChange:t=>p(e.key,t===u?"":t),children:[(0,t.jsx)(a.SelectTrigger,{id:r,className:(0,s.cn)("h-10 w-full border-[var(--ds-border)] bg-[var(--ds-bg)]",!l&&"text-[var(--text-placeholder)]"),children:(0,t.jsx)(a.SelectValue,{placeholder:"请选择"})}),(0,t.jsxs)(a.SelectContent,{children:[(0,t.jsx)(a.SelectItem,{value:u,children:"请选择"}),d.map(e=>(0,t.jsx)(a.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e.key)}if("TUITUI_CHANNEL_SESSION"===e.key){let l="1"===n?"1":"0";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-basic text-[var(--ds-text)]",htmlFor:r,children:e.label}),(0,t.jsxs)(a.Select,{value:l,onValueChange:t=>p(e.key,t),children:[(0,t.jsx)(a.SelectTrigger,{id:r,className:"h-10 w-full border-[var(--ds-border)] bg-[var(--ds-bg)]",children:(0,t.jsx)(a.SelectValue,{placeholder:"请选择"})}),(0,t.jsx)(a.SelectContent,{children:c.map(e=>(0,t.jsx)(a.SelectItem,{value:e.value,children:e.label},e.value))})]})]},e.key)}return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-[var(--ds-text)]",htmlFor:r,children:e.label}),(0,t.jsx)(i.Input,{id:r,type:"text",spellCheck:!1,autoComplete:"off",placeholder:e.placeholder,className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] placeholder:text-[var(--text-placeholder)]",value:n,onChange:t=>p(e.key,t.target.value)})]},e.key)})]})}var p=e.i(71645),g=e.i(13354),h=e.i(87243),m=e.i(67327),b=e.i(44039),v=e.i(99650),y=e.i(18900),A=e.i(69051),x=e.i(65934);function w(e){let{group:i}=e,{loading:o,saving:a,groupFields:s,fieldValues:u,whentouseValue:d,setField:c,setWhentouseValue:w,reset:j,save:S}=function(e){let t=(0,x.useAppStore)(e=>e.wsUrl),r=(0,x.useAppStore)(e=>e.apiBase),n=(0,x.useAppStore)(e=>e.agentConfig),{currentAgent:l,loadAgentConfig:i}=(0,h.useSession)(),{sendReloadAgentConfig:o}=(0,m.useWebSocketSender)(),[a,s]=(0,p.useState)(!0),[u,d]=(0,p.useState)(!1),[c,f]=(0,p.useState)([]),[w,j]=(0,p.useState)({}),[S,C]=(0,p.useState)({}),[_,E]=(0,p.useState)(""),k=(0,p.useMemo)(()=>(0,b.groupAgentEnvSchemaByGroup)(c)[e],[c,e]),O=(0,p.useCallback)(e=>{C((0,b.buildGroupAgentEnvFieldValues)(e,k,w))},[k,w]),P=(0,p.useCallback)(e=>{E("string"==typeof e?e:"")},[]),R=(0,p.useCallback)(async()=>{try{let e=await (0,A.loadSystemEnv)(t,r,l()),n="string"==typeof e.content?e.content:"",i=(0,b.normalizeAgentEnvSchema)(e.schema),o=(0,y.parseEnvContentToMap)(n);f(i),j((0,b.buildProjectEnvFormDefaults)(i,o))}catch(e){g.appToast.error("加载环境变量表单配置失败:".concat(e instanceof Error?e.message:String(e))),f([]),j({})}},[t,r,l]),N=(0,p.useCallback)(async()=>{s(!0);try{await Promise.all([i(),R()])}finally{s(!1)}},[i,R]);(0,p.useEffect)(()=>{N()},[N]),(0,p.useEffect)(()=>{!a&&k.length&&O({...n.env})},[n.env,O,a,k.length]),(0,p.useEffect)(()=>{a||"system"!==e||P(n.whentouse)},[n.whentouse,e,a,P]);let z=(0,p.useCallback)((e,t)=>{C(r=>({...r,[e]:t}))},[]),M=(0,p.useCallback)(()=>{O({...n.env}),"system"===e&&P(n.whentouse)},[n.env,n.whentouse,e,O,P]),I=(0,p.useCallback)(async()=>{let n=(0,b.mergeGroupEnvIntoAgentEnv)(x.useAppStore.getState().agentConfig.env,k,S);d(!0);try{if("system"===e){let e=x.useAppStore.getState().agentConfig;x.useAppStore.getState().setAgentConfig({...e,whentouse:_})}await (0,v.persistAgentEnv)(t,r,l(),n,o),await i()}catch(e){g.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{d(!1)}},[k,S,_,e,t,r,l,o,i]);return{loading:a,saving:u,groupFields:k,fieldValues:S,whentouseValue:_,setField:z,setWhentouseValue:E,reset:M,save:I}}(i),C="system"===i||s.length>0;return(0,t.jsxs)("div",{className:"manage-page-content flex min-h-0 flex-1 flex-col rounded-xl border bg-[#fff] shadow-[var(--shadow-md)]",children:[(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-y-auto p-4",children:o?(0,t.jsx)(n.Loading,{className:"min-h-[240px]",text:"加载中…"}):C?(0,t.jsx)(f,{group:i,fields:s,fieldValues:u,whentouseValue:d,onFieldChange:c,onWhentouseChange:w}):(0,t.jsx)(r.Empty,{className:"min-h-[240px]",text:"暂无可配置项"})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] px-4 py-3",children:[(0,t.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:o||a||!C,onClick:()=>j(),className:"cursor-pointer",children:"取消"}),(0,t.jsx)(l.Button,{type:"button",size:"lg",disabled:o||a||!C,onClick:()=>void S(),className:"cursor-pointer",children:a?"保存中…":"保存"})]})]})}},44039,99650,e=>{"use strict";e.s(["buildGroupAgentEnvFieldValues",()=>a,"buildProjectEnvFormDefaults",()=>n,"groupAgentEnvSchemaByGroup",()=>l,"mergeGroupEnvIntoAgentEnv",()=>o,"normalizeAgentEnvSchema",()=>r,"schemaKeySet",()=>i],44039);let t=["llm","git","geelib","tutui","system"];function r(e){if(!Array.isArray(e))return[];let r=[];for(let n of e){if(!n||"object"!=typeof n)continue;let e="string"==typeof n.key?n.key.trim():"",l="string"==typeof n.group?n.group.trim():"";e&&t.includes(l)&&r.push({key:e,group:l,label:"string"==typeof n.label&&n.label.trim()?n.label.trim():e,placeholder:"string"==typeof n.placeholder?n.placeholder:""})}return r}function n(e,t){let r={};for(let l of e){var n;r[l.key]=null!=(n=t[l.key])?n:""}return r}function l(e){let r={};for(let e of t)r[e]=[];for(let n of e)t.includes(n.group)&&r[n.group].push(n);return r}function i(e){return new Set(e.map(e=>e.key))}function o(e,t,r){let n={...e};for(let e of t){var l;let t=String(null!=(l=r[e.key])?l:"").trim();t?n[e.key]=t:delete n[e.key]}return n}function a(e,t,r){let n={};for(let l of t){let t=e[l.key];if("string"==typeof t&&t.length>0){n[l.key]=t;continue}let i=r[l.key];n[l.key]="string"==typeof i?i:""}return n}e.s(["persistAgentEnv",()=>f],99650);var s=e.i(13354),u=e.i(70074),d=e.i(82136),c=e.i(65934);async function f(e,t,r,n,l,i){var o,a,f,p;let g=c.useAppStore.getState(),h={tools:g.agentConfig.tools.slice(),disallowedTools:g.agentConfig.disallowedTools.slice(),mcpServers:g.agentConfig.mcpServers.slice(),skills:g.agentConfig.skills.slice(),agentTeams:g.agentConfig.agentTeams.slice(),model:g.agentConfig.model,rules:g.agentConfig.rules.slice(),effort:null!=(o=g.agentConfig.effort)?o:null,background:null!=(a=g.agentConfig.background)&&a,isolation:null!=(f=g.agentConfig.isolation)?f:"",whentouse:null!=(p=g.agentConfig.whentouse)?p:"",env:n,llmProviders:g.agentConfig.llmProviders.map(e=>({...e,models:e.models.map(e=>({...e}))})),...i};await (0,d.saveAgentConfig)(e,t,r,h),g.setAgentConfig({...h,env:{...n}}),c.useAppStore.getState().wsConnected&&l();let m=c.useAppStore.getState();m.setStatus("环境变量已保存"+(m.wsConnected?",已请求 worker 重新加载配置":""),(0,u.resolveInfoStatusClass)(m.bridgeReady,m.wsConnected)),s.appToast.success(m.wsConnected?"已保存到 agent.json,并已请求 worker 重新加载配置。":"已保存到 agent.json。重连 WebSocket 后子进程环境将同步。")}},2839,e=>{"use strict";e.s(["Loading",()=>o],2839);var t=e.i(18050),r=e.i(57688);let n={src:e.i(51239).default,width:951,height:482,blurWidth:8,blurHeight:4,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAj0lEQVR42gGEAHv/AAAAAAANERAObXJwYaGko5N/gYBwDg8PCgAAAAAAAAAAAAMEBAJic2xp2+3m7fL8+P7l6ujjUlhWTAYGBgUAAAAAADM3NTG6x8LB7fr1/vD89/7f9+3+wNXNzycpKB4AAAAAAJ+qpozL2dO/0NvWx9Td2c6gzrzRpcq8u2FpZk8CAgIBCRI7kCfNfAcAAAAASUVORK5CYII="};var l=e.i(87968),i=e.i(75157);function o(e){let{text:o="加载中",className:a,showImage:s=!0,imageSrc:u=n,imageAlt:d="加载中",imageSize:c=180,imageClassName:f}=e,p="string"==typeof u?{width:c,height:c}:{width:u.width,height:u.height};return(0,t.jsxs)("div",{className:(0,i.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-[var(--ds-muted)]",a),role:"status","aria-live":"polite",children:[s?(0,t.jsx)("span",{className:(0,i.cn)("block shrink-0",f),style:{width:c},children:(0,t.jsx)(r.default,{src:u,alt:d,width:p.width,height:p.height,unoptimized:!0,draggable:!1,sizes:"".concat(c,"px"),className:"h-auto w-full object-contain"})}):null,(0,t.jsxs)("span",{className:"flex items-center",children:[(0,t.jsx)(l.Spinner,{className:"mr-2"}),o]})]})}},96920,e=>{e.v("/app/_next/static/media/no-data.48c973b9.png")},51239,e=>{e.v("/app/_next/static/media/data-loading.be8d921a.png")},93479,e=>{"use strict";e.s(["Input",()=>n]);var t=e.i(18050),r=e.i(75157);function n(e){let{className:n,type:l="text",size:i="default",...o}=e;return(0,t.jsx)("input",{type:l,"data-slot":"input","data-size":i,className:(0,r.cn)("h-9 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-sm outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-9 data-[size=lg]:h-10 data-[size=sm]:h-7",n),...o})}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return l}});let n=e.r(71645);function l(e,t){let r=(0,n.useRef)(null),l=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=l.current;t&&(l.current=null,t())}else e&&(r.current=i(e,n)),t&&(l.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88143,(e,t,r)=>{"use strict";function n(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:l,blurDataURL:i,objectFit:o}=e,a=n?40*n:t,s=l?40*l:r,u=a&&s?"viewBox='0 0 "+a+" "+s+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+u+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(u?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+i+"'/%3E%3C/svg%3E"}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},87690,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{VALID_LOADERS:function(){return n},imageConfigDefault:function(){return l}});let n=["default","imgix","cloudinary","akamai","custom"],l={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumResponseBody:5e7,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},8927,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return s}}),e.r(33525);let n=e.r(88143),l=e.r(87690),i=["-moz-initial","fill","none","scale-down",void 0];function o(e){return void 0!==e.default}function a(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function s(e,t){var r,s;let u,d,c,{src:f,sizes:p,unoptimized:g=!1,priority:h=!1,loading:m,className:b,quality:v,width:y,height:A,fill:x=!1,style:w,overrideSrc:j,onLoad:S,onLoadingComplete:C,placeholder:_="empty",blurDataURL:E,fetchPriority:k,decoding:O="async",layout:P,objectFit:R,objectPosition:N,lazyBoundary:z,lazyRoot:M,...I}=e,{imgConf:T,showAltText:D,blurComplete:U,defaultLoader:B}=t,G=T||l.imageConfigDefault;if("allSizes"in G)u=G;else{let e=[...G.deviceSizes,...G.imageSizes].sort((e,t)=>e-t),t=G.deviceSizes.sort((e,t)=>e-t),n=null==(r=G.qualities)?void 0:r.sort((e,t)=>e-t);u={...G,allSizes:e,deviceSizes:t,qualities:n}}if(void 0===B)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let L=I.loader||B;delete I.loader,delete I.srcSet;let F="__next_img_default"in L;if(F){if("custom"===u.loader)throw Object.defineProperty(Error('Image with src "'+f+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader'),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=L;L=t=>{let{config:r,...n}=t;return e(n)}}if(P){"fill"===P&&(x=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[P];e&&(w={...w,...e});let t={responsive:"100vw",fill:"100vw"}[P];t&&!p&&(p=t)}let V="",W=a(y),q=a(A);if((s=f)&&"object"==typeof s&&(o(s)||void 0!==s.src)){let e=o(f)?f.default:f;if(!e.src)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!e.height||!e.width)throw Object.defineProperty(Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e)),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(d=e.blurWidth,c=e.blurHeight,E=E||e.blurDataURL,V=e.src,!x)if(W||q){if(W&&!q){let t=W/e.width;q=Math.round(e.height*t)}else if(!W&&q){let t=q/e.height;W=Math.round(e.width*t)}}else W=e.width,q=e.height}let H=!h&&("lazy"===m||void 0===m);(!(f="string"==typeof f?f:V)||f.startsWith("data:")||f.startsWith("blob:"))&&(g=!0,H=!1),u.unoptimized&&(g=!0),F&&!u.dangerouslyAllowSVG&&f.split("?",1)[0].endsWith(".svg")&&(g=!0);let K=a(v),J=Object.assign(x?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:R,objectPosition:N}:{},D?{}:{color:"transparent"},w),Y=U||"empty"===_?null:"blur"===_?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:W,heightInt:q,blurWidth:d,blurHeight:c,blurDataURL:E||"",objectFit:J.objectFit})+'")':'url("'+_+'")',X=i.includes(J.objectFit)?"fill"===J.objectFit?"100% 100%":"cover":J.objectFit,Q=Y?{backgroundSize:X,backgroundPosition:J.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},Z=function(e){let{config:t,src:r,unoptimized:n,width:l,quality:i,sizes:o,loader:a}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:s,kind:u}=function(e,t,r){let{deviceSizes:n,allSizes:l}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:l.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:l,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>l.find(t=>t>=e)||l[l.length-1]))],kind:"x"}}(t,l,o),d=s.length-1;return{sizes:o||"w"!==u?o:"100vw",srcSet:s.map((e,n)=>a({config:t,src:r,quality:i,width:e})+" "+("w"===u?e:n+1)+u).join(", "),src:a({config:t,src:r,quality:i,width:s[d]})}}({config:u,src:f,unoptimized:g,width:W,quality:K,sizes:p,loader:L});return{props:{...I,loading:H?"lazy":m,fetchPriority:k,width:W,height:q,decoding:O,className:b,style:{...J,...Q},sizes:Z.sizes,srcSet:Z.srcSet,src:j||Z.src},meta:{unoptimized:g,priority:h,placeholder:_,fill:x}}}},98879,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(71645),l="undefined"==typeof window,i=l?()=>{}:n.useLayoutEffect,o=l?()=>{}:n.useEffect;function a(e){let{headManager:t,reduceComponentsToState:r}=e;function a(){if(t&&t.mountedInstances){let l=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(l,e))}}if(l){var s;null==t||null==(s=t.mountedInstances)||s.add(e.children),a()}return i(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),i(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),o(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},58908,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext({})},15986,(e,t,r)=>{"use strict";function n(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isInAmpMode",{enumerable:!0,get:function(){return n}})},25633,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return h},defaultHead:function(){return c}});let n=e.r(55682),l=e.r(90809),i=e.r(18050),o=l._(e.r(71645)),a=n._(e.r(98879)),s=e.r(58908),u=e.r(42732),d=e.r(15986);function c(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===o.default.Fragment?e.concat(o.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(33525);let p=["name","httpEquiv","charSet","itemProp"];function g(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(c(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return l=>{let i=!0,o=!1;if(l.key&&"number"!=typeof l.key&&l.key.indexOf("$")>0){o=!0;let t=l.key.slice(l.key.indexOf("$")+1);e.has(t)?i=!1:e.add(t)}switch(l.type){case"title":case"base":t.has(l.type)?i=!1:t.add(l.type);break;case"meta":for(let e=0,t=p.length;e<t;e++){let t=p[e];if(l.props.hasOwnProperty(t))if("charSet"===t)r.has(t)?i=!1:r.add(t);else{let e=l.props[t],r=n[t]||new Set;("name"!==t||!o)&&r.has(e)?i=!1:(r.add(e),n[t]=r)}}}return i}}()).reverse().map((e,t)=>{let r=e.key||t;return o.default.cloneElement(e,{key:r})})}let h=function(e){let{children:t}=e,r=(0,o.useContext)(s.AmpStateContext),n=(0,o.useContext)(u.HeadManagerContext);return(0,i.jsx)(a.default,{reduceComponentsToState:g,headManager:n,inAmpMode:(0,d.isInAmpMode)(r),children:t})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18556,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return i}});let n=e.r(55682)._(e.r(71645)),l=e.r(87690),i=n.default.createContext(l.imageConfigDefault)},65856,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(55682)._(e.r(71645)).default.createContext(null)},1948,(e,t,r)=>{"use strict";function n(e){var t;let{config:r,src:n,width:l,quality:i}=e,o=i||(null==(t=r.qualities)?void 0:t.reduce((e,t)=>Math.abs(t-75)<Math.abs(e-75)?t:e))||75;return r.path+"?url="+encodeURIComponent(n)+"&w="+l+"&q="+o+(n.startsWith("/_next/static/media/"),"")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}}),n.__next_img_default=!0;let l=n},5500,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return A}});let n=e.r(55682),l=e.r(90809),i=e.r(18050),o=l._(e.r(71645)),a=n._(e.r(74080)),s=n._(e.r(25633)),u=e.r(8927),d=e.r(87690),c=e.r(18556);e.r(33525);let f=e.r(65856),p=n._(e.r(1948)),g=e.r(18581),h={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/app/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function m(e,t,r,n,l,i,o){let a=null==e?void 0:e.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&l(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,l=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>l,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{l=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function b(e){return o.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v=(0,o.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:l,height:a,width:s,decoding:u,className:d,style:c,fetchPriority:f,placeholder:p,loading:h,unoptimized:v,fill:y,onLoadRef:A,onLoadingCompleteRef:x,setBlurComplete:w,setShowAltText:j,sizesInput:S,onLoad:C,onError:_,...E}=e,k=(0,o.useCallback)(e=>{e&&(_&&(e.src=e.src),e.complete&&m(e,p,A,x,w,v,S))},[r,p,A,x,w,_,v,S]),O=(0,g.useMergedRef)(t,k);return(0,i.jsx)("img",{...E,...b(f),loading:h,width:s,height:a,decoding:u,"data-nimg":y?"fill":"1",className:d,style:c,sizes:l,srcSet:n,src:r,ref:O,onLoad:e=>{m(e.currentTarget,p,A,x,w,v,S)},onError:e=>{j(!0),"empty"!==p&&w(!0),_&&_(e)}})});function y(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...b(r.fetchPriority)};return t&&a.default.preload?(a.default.preload(r.src,n),null):(0,i.jsx)(s.default,{children:(0,i.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let A=(0,o.forwardRef)((e,t)=>{let r=(0,o.useContext)(f.RouterContext),n=(0,o.useContext)(c.ImageConfigContext),l=(0,o.useMemo)(()=>{var e;let t=h||n||d.imageConfigDefault,r=[...t.deviceSizes,...t.imageSizes].sort((e,t)=>e-t),l=t.deviceSizes.sort((e,t)=>e-t),i=null==(e=t.qualities)?void 0:e.sort((e,t)=>e-t);return{...t,allSizes:r,deviceSizes:l,qualities:i}},[n]),{onLoad:a,onLoadingComplete:s}=e,g=(0,o.useRef)(a);(0,o.useEffect)(()=>{g.current=a},[a]);let m=(0,o.useRef)(s);(0,o.useEffect)(()=>{m.current=s},[s]);let[b,A]=(0,o.useState)(!1),[x,w]=(0,o.useState)(!1),{props:j,meta:S}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:l,blurComplete:b,showAltText:x});return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(v,{...j,unoptimized:S.unoptimized,placeholder:S.placeholder,fill:S.fill,onLoadRef:g,onLoadingCompleteRef:m,setBlurComplete:A,setShowAltText:w,sizesInput:e.sizes,ref:t}),S.priority?(0,i.jsx)(y,{isAppRouter:!r,imgAttributes:j}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},94909,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return s},getImageProps:function(){return a}});let n=e.r(55682),l=e.r(8927),i=e.r(5500),o=n._(e.r(1948));function a(e){let{props:t}=(0,l.getImgProps)(e,{defaultLoader:o.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/app/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let s=i.Image},57688,(e,t,r)=>{t.exports=e.r(94909)},85413,e=>{"use strict";e.s(["Empty",()=>i],85413);var t=e.i(18050),r=e.i(57688);let n={src:e.i(96920).default,width:973,height:482,blurWidth:8,blurHeight:4,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAYAAACzzX7wAAAAj0lEQVR42gGEAHv/AAAAAAATGRcXg4uIgcjJycORlJOKDxEQDAAAAAAAAAAAAAQEBANfa2Zj5fTu9ff9+/7q8u7uc3p3cgoLCwkAAAAAAEJGRELH1M/S4/jw/tD25v7U9ef+1ubf4jg8OjAAAAAAAHqBfmqxvLiisMG7rK7GvLKxxb2wpbKtoVNYVlADAwMC5U08HYgBOJwAAAAASUVORK5CYII="};var l=e.i(75157);function i(e){let{text:i="暂无数据",className:o,showImage:a=!0,imageSrc:s=n,imageAlt:u="暂无数据",imageSize:d=180,imageClassName:c}=e,f="string"==typeof s?{width:d,height:d}:{width:s.width,height:s.height};return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-[var(--ds-muted)]",o),role:"status","aria-live":"polite",children:[a?(0,t.jsx)("span",{className:(0,l.cn)("block shrink-0",c),style:{width:d},children:(0,t.jsx)(r.default,{src:s,alt:u,width:f.width,height:f.height,unoptimized:!0,draggable:!1,sizes:"".concat(d,"px"),className:"h-auto w-full object-contain"})}):null,(0,t.jsx)("span",{children:i})]})}},69051,e=>{"use strict";e.s(["loadDemoSingleMessage",()=>o,"loadSystemEnv",()=>n,"saveSystemEnv",()=>l,"saveSystemMcpJson",()=>i]);var t=e.i(29250),r=e.i(36845);async function n(e,n,l){return(0,t.get)((0,r.buildSystemEnvApiUrl)(e,n,l))}async function l(e,n,l,i){await (0,t.patch)((0,r.buildSystemEnvApiUrl)(e,n,l),{content:i})}async function i(e,n,l,i){await (0,t.patch)((0,r.buildSystemMcpJsonApiUrl)(e,n,l),{content:i})}async function o(){return(0,t.get)("/api/demo/single-message")}},20783,e=>{"use strict";e.s(["composeRefs",()=>n,"useComposedRefs",()=>l]);var t=e.i(71645);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{let n=!1,l=t.map(t=>{let l=r(t,e);return n||"function"!=typeof l||(n=!0),l});if(n)return()=>{for(let e=0;e<l.length;e++){let n=l[e];"function"==typeof n?n():r(t[e],null)}}}}function l(){for(var e=arguments.length,r=Array(e),l=0;l<e;l++)r[l]=arguments[l];return t.useCallback(n(...r),r)}},24687,e=>{"use strict";e.s(["Textarea",()=>n]);var t=e.i(18050),r=e.i(75157);function n(e){let{className:n,...l}=e;return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,r.cn)("flex min-h-20 w-full rounded-md border border-solid border-border bg-transparent px-3 py-2 text-sm outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none]",n),...l})}},18900,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function r(e){let t=String(e).split(/\r?\n/),r={},n=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let l=t[e],i=n.exec(l);i&&(r[i[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(i[2]))}return r}function n(e,r){let n=Array.isArray(e)?e:[],l=new Set;for(let e=0;e<n.length;e++){let t=n[e];t&&"object"==typeof t&&"string"==typeof t.key&&l.add(t.key)}let i=[];for(let e=0;e<n.length;e++){let l=n[e];if(!l||"object"!=typeof l||"string"!=typeof l.key)continue;let o=l.key;if(!Object.prototype.hasOwnProperty.call(r,o))continue;let a=r[o];null!=a&&""!==String(a).trim()&&i.push("".concat(o,"=").concat(t(String(a))))}let o=Object.keys(r).filter(e=>!l.has(e)).sort();for(let e=0;e<o.length;e++){let n=o[e],l=r[n];null!=l&&""!==String(l).trim()&&i.push("".concat(n,"=").concat(t(String(l))))}let a=i.join("\n");return a.length>0?"".concat(a,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>n,"parseEnvContentToMap",()=>r])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),r=e.i(71645),l=e.i(72064),a=e.i(75157),i=e.i(19455);function n(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function s(e){let{uploadUrl:s,accept:o,disabled:d=!1,multiple:c=!1,maxFileSize:u=0x3200000,autoUpload:f=!1,method:m="POST",transport:p="xhr",fieldName:v="file",headers:b,extraFormData:h,autoRetryTimes:g=0,autoRetryDelayMs:x=800,selectionOnly:y=!1,className:w,emptyTitle:j="点击或拖拽文件到此处",emptyHint:N="支持上传文件",onFilesChange:k,onUploadSuccess:R,onUploadError:C,onValidationError:T}=e,E=r.useId(),M=r.useRef(null),O=r.useRef(new Map),S=r.useRef(new Map),U=r.useRef([]),[D,P]=r.useState(!1),[I,B]=r.useState([]),L=r.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);r.useEffect(()=>{U.current=I,null==k||k(I)},[I,k]),r.useEffect(()=>()=>{for(let e of O.current.values())e.abort();for(let e of S.current.values())e.abort();for(let e of U.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let A=r.useCallback((e,t)=>{B(r=>r.map(r=>r.id===e?{...r,...t}:r))},[]),z=r.useCallback(async(e,t)=>{let r=U.current.find(t=>t.id===e);if(!r||d)return;A(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let l=new FormData;if(h)for(let[e,t]of Object.entries(h))l.append(e,t);l.append(v,r.file);try{let t="";if("fetch"===p){let r=new AbortController;S.current.set(e,r);let a=await fetch(s,{method:m,headers:b,body:l,signal:r.signal}),i=await a.text();try{t=i?JSON.parse(i):""}catch(e){t=i}if(!a.ok)throw Error("上传失败:".concat(a.status," ").concat(a.statusText))}else t=await new Promise((t,r)=>{let a=new XMLHttpRequest;if(O.current.set(e,a),a.open(m,s,!0),b)for(let[e,t]of Object.entries(b))a.setRequestHeader(e,t);a.upload.onprogress=t=>{if(!t.lengthComputable)return;let r=Math.min(100,Math.round(t.loaded/t.total*100));A(e,{progress:r})},a.onerror=()=>r(Error("网络异常,上传失败")),a.onabort=()=>r(Error("__ABORTED__")),a.onload=()=>{a.status>=200&&a.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(a)):r(Error("上传失败:".concat(a.status," ").concat(a.statusText)))},a.send(l)});A(e,{status:"success",progress:100,error:""});let r=U.current.find(t=>t.id===e);r&&(null==R||R(r,t))}catch(a){let r=a instanceof Error?a.message:String(a);if("__ABORTED__"===r)return void A(e,{status:"selected",progress:0,error:""});if(t<g){A(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(g,")")}),await new Promise(e=>window.setTimeout(e,x)),await z(e,t+1);return}A(e,{status:"error",error:r});let l=U.current.find(t=>t.id===e);l&&(null==C||C(l,r))}finally{O.current.delete(e),S.current.delete(e)}},[x,g,d,h,v,b,m,C,R,p,A,s]),_=r.useCallback(e=>{z(e,0)},[z]),F=r.useCallback(e=>{var t,r;null==(t=O.current.get(e))||t.abort(),null==(r=S.current.get(e))||r.abort()},[]),V=r.useCallback(()=>{for(let e of U.current)("selected"===e.status||"error"===e.status)&&_(e.id)},[_]),H=r.useCallback(e=>{if(d||!e.length)return;let t=new Set(U.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),r=[];for(let l of e){let e="".concat(l.name,"::").concat(l.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let r=e.name.toLowerCase(),l=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?l.startsWith("".concat(e.slice(0,-1))):l===e)}(l,L)){null==T||T("文件类型不支持:".concat(l.name));continue}if(l.size>u){null==T||T("文件过大(最大 ".concat(n(u),"):").concat(l.name));continue}t.add(e),r.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:l,status:"selected",progress:0,error:"",retryCount:0,previewUrl:l.type.startsWith("image/")?URL.createObjectURL(l):""})}}if(!r.length)return;let l=c?[...U.current,...r]:[r[r.length-1]];if(!c)for(let e of U.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(B(l),f&&!y)for(let e of r)_(e.id)},[L,f,d,u,c,T,y,_]),K=r.useCallback(e=>{let t=e.target.files;t&&(H(Array.from(t)),e.target.value="")},[H]),J=r.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),P(!1),d||H(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[H,d]);return(0,t.jsxs)("div",{className:(0,a.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:M,id:E,type:"file",hidden:!0,accept:o,multiple:c,disabled:d,onChange:K}),(0,t.jsxs)("label",{htmlFor:E,onDragOver:e=>{e.preventDefault(),d||P(!0)},onDragLeave:e=>{e.preventDefault(),P(!1)},onDrop:J,className:(0,a.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",D&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",d&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(l.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-[var(--ds-text)]",children:j}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:N})]}),I.length?(0,t.jsx)("div",{className:"space-y-2",children:I.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:n(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(l.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(i.Button,{type:"button",size:"sm",variant:"outline",disabled:d,onClick:()=>_(e.id),children:["error"===e.status?(0,t.jsx)(l.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(i.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(l.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!f&&I.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(i.Button,{type:"button",size:"sm",onClick:V,disabled:d,children:"上传"})}):null]})}var o=e.i(76639),d=e.i(13354),c=e.i(29250);function u(e){let{open:l,onOpenChange:a,title:n,description:u,uploadUrl:f,resetKey:m}=e,[p,v]=(0,r.useState)(!1),[b,h]=(0,r.useState)(null),g=(0,r.useCallback)(()=>{a(!1),h(null)},[a]),x=(0,r.useCallback)(async()=>{if(!b)return void d.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",b),v(!0);try{let t=await (0,c.bridgeFetch)(f,{method:"POST",body:e}),r=Number(t.imported||0),l=Number(t.overwritten||0),a=Array.isArray(t.rejected)?t.rejected.length:0;d.appToast.success("导入完成:导入 ".concat(r,",覆盖 ").concat(l)+(a>0?",拒绝 ".concat(a):"")),g()}catch(e){d.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{v(!1)}},[g,b,f]);return(0,t.jsx)(o.Dialog,{open:l,onOpenChange:e=>{a(e),e||h(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:n}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:g,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(s,{uploadUrl:f,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:p,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,r;h(null!=(r=null==(t=e[0])?void 0:t.file)?r:null)},onValidationError:e=>{d.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(null!=m?m:f)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(i.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:g,children:"取消"}),(0,t.jsx)(i.Button,{type:"button",size:"lg",variant:"default",disabled:p||null==b,onClick:()=>void x(),children:p?"导入中…":"确定"})]})]})]})})}},94197,e=>{"use strict";e.s(["IconTooltipButton",()=>s]);var t=e.i(18050),r=e.i(72064),l=e.i(19455),a=e.i(46798),i=e.i(75157);let n={muted:"text-[var(--ds-muted)] hover:text-[var(--ds-text)]",danger:"text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800"};function s(e){let{icon:s,label:o,ariaLabel:d,tone:c="muted",disabled:u,className:f,iconClassName:m,onClick:p}=e;return(0,t.jsx)(a.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)(a.Tooltip,{children:[(0,t.jsx)(a.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(l.Button,{type:"button",variant:"plain",size:"icon",className:(0,i.cn)("icon-tooltip-btn","h-4 w-4 border-none p-0",n[c],f),disabled:u,"aria-label":null!=d?d:o,onClick:p,children:(0,t.jsx)(r.default,{name:s,size:16,className:m})})}),(0,t.jsx)(a.TooltipContent,{side:"bottom",align:"center",className:"",children:o})]})})}},56708,e=>{"use strict";e.s(["ManageChromeHeaderActions",()=>s,"ManageFeatureChrome",()=>n]);var t=e.i(18050),r=e.i(71645),l=e.i(74080),a=e.i(72064);let i=(0,r.createContext)(null);function n(e){let{title:l,description:n,children:s,showTitle:o=!0,headerIcon:d}=e,[c,u]=(0,r.useState)(null);return(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[o?(0,t.jsxs)("div",{className:"manage-page-title-block flex items-center",children:[d&&(0,t.jsx)("div",{className:"mr-[16px] rounded-md bg-[var(--green-light)] px-4 py-3",children:(0,t.jsx)(a.default,{name:d,size:24,className:"text-[var(--green-dark)]",strokeWidth:1.5})}),(0,t.jsxs)("div",{className:"pt-2",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:l}),(0,t.jsx)("p",{className:"manage-page-desc",children:n})]})]}):null,(0,t.jsx)("div",{ref:u,className:"manage-page-header-actions self-start"})]}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:(0,t.jsx)(i.Provider,{value:c,children:s})})]})}function s(e){let{children:t}=e,a=(0,r.useContext)(i);return(0,r.useSyncExternalStore)(()=>()=>{},()=>!0,()=>!1)&&a?(0,l.createPortal)(t,a):null}},94055,e=>{"use strict";e.s(["AccentSwitch",()=>L],94055);var t=e.i(18050);e.s(["Root",()=>U,"Thumb",()=>D],39606),e.s([],37751),e.i(37751),e.i(47167);var r=e.i(71645),l=e.i(94349),a=e.i(26292),i=e.i(977),n=e.i(62372),s=e.i(17514),o=e.i(33848),d=e.i(69095),c=e.i(19805),u=e.i(86790),f=e.i(53402),m=e.i(67805);let p=r.createContext(void 0),v=function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),b={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},h={disabled:!1,...b},g=function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),x={valid:e=>null===e?null:e?{[v.valid]:""}:{[v.invalid]:""},checked:e=>e?{[g.checked]:""}:{[g.unchecked]:""}},y={invalid:void 0,name:void 0,validityData:{state:{badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},errors:[],error:"",value:"",initialValue:null},setValidityData:s.NOOP,disabled:void 0,touched:b.touched,setTouched:s.NOOP,dirty:b.dirty,setDirty:s.NOOP,filled:b.filled,setFilled:s.NOOP,focused:b.focused,setFocused:s.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:h,markedDirtyRef:{current:!1},registerFieldControl:s.NOOP,validation:{getValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.EMPTY_OBJECT;return e},getInputValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.EMPTY_OBJECT;return e},inputRef:{current:null},commit:async()=>{}}},w=r.createContext(y);function j(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=r.useContext(w);if(t.setValidityData===s.NOOP&&!e)throw Error((0,m.default)(28));return t}let N=r.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:s.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),k=r.createContext({controlId:void 0,registerControlId:s.NOOP,labelId:void 0,setLabelId:s.NOOP,messageIds:[],setMessageIds:s.NOOP,getDescriptionProps:e=>e});function R(){return r.useContext(k)}var C=e.i(76477),T=e.i(30628),E=e.i(29315),M=e.i(31888),O=e.i(71403),S=e.i(73577);let U=r.forwardRef(function(e,m){let{checked:v,className:b,defaultChecked:h,"aria-labelledby":g,form:y,id:w,inputRef:k,name:U,nativeButton:D=!1,onCheckedChange:P,readOnly:I=!1,required:B=!1,disabled:L=!1,render:A,uncheckedValue:z,value:_,style:F,...V}=e,{clearErrors:H}=r.useContext(N),{state:K,setTouched:J,setDirty:W,validityData:q,setFilled:Y,setFocused:X,shouldValidateOnChange:G,validationMode:Q,disabled:Z,name:$,validation:ee}=j(),{labelId:et}=R(),er=Z||L,el=null!=$?$:U,ea=r.useRef(null),ei=(0,a.useMergedRefs)(ea,k,ee.inputRef),en=r.useRef(null),es=(0,u.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:l=!1,controlRef:a}=e,{controlId:n,registerControlId:o}=R(),d=(0,u.useBaseUiId)(t),c=l?n:void 0,f=(0,T.useRefWithInit)(()=>Symbol("labelable-control")),m=r.useRef(!1),p=r.useRef(null!=t),v=(0,C.useStableCallback)(()=>{m.current&&o!==s.NOOP&&(m.current=!1,o(f.current,void 0))});return(0,i.useIsoLayoutEffect)(()=>{let e;if(o!==s.NOOP){if(l){let r=null==a?void 0:a.current;e=(0,E.isElement)(r)&&null!=r.closest("label")?null!=t?t:null:null!=c?c:d}else if(null!=t)p.current=!0,e=t;else{if(!p.current)return void v();e=d}if(void 0===e)return void v();m.current=!0,o(f.current,e)}},[t,a,c,o,l,d,f,v]),r.useEffect(()=>v,[v]),null!=n?n:d}({id:w,implicit:!1,controlRef:en}),ed=D?void 0:eo,[ec,eu]=(0,l.useControlled)({controlled:v,default:!!h,name:"Switch",state:"checked"});!function(e,t,l,a){let n=!(arguments.length>4)||void 0===arguments[4]||arguments[4],{registerFieldControl:s}=j(),o=r.useRef(null);o.current||(o.current=Symbol()),(0,i.useIsoLayoutEffect)(()=>{let r=o.current;if(r&&n)return s(r,{controlRef:e,getValue:a,id:t,value:l}),()=>{s(r,void 0)}},[e,n,a,t,s,l])}(en,es,ec),(0,i.useIsoLayoutEffect)(()=>{ea.current&&Y(ea.current.checked)},[ea,Y]),(0,S.useValueChanged)(ec,()=>{H(el),W(ec!==q.initialValue),Y(ec),G()?ee.commit(ec):ee.commit(ec,!0)});let{getButtonProps:ef,buttonRef:em}=(0,f.useButton)({disabled:er,native:D}),ep=function(e,t,l){var a;let n=!(arguments.length>3)||void 0===arguments[3]||arguments[3],s=arguments.length>4?arguments[4]:void 0,[o,d]=r.useState(),c=(0,u.useBaseUiId)(s?"".concat(s,"-label"):void 0),f=null!=(a=null!=e?e:t)?a:o;return(0,i.useIsoLayoutEffect)(()=>{let r=e||t||!n?void 0:function(e,t){let r=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let r=e.id;if(r){let t=e.nextElementSibling;if(t&&t.htmlFor===r)return t}let l=e.labels;return l&&l[0]}(e);if(r)return!r.id&&t&&(r.id=t),r.id||void 0}(l.current,c);o!==r&&d(r)}),f}(g,et,ea,!D,ed),ev=(0,c.mergeProps)({checked:ec,disabled:er,form:y,id:ed,name:el,required:B,style:el?n.visuallyHiddenInput:n.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ei,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(I)return void e.preventDefault();let t=e.currentTarget.checked,r=(0,M.createChangeEventDetails)(O.REASONS.none,e.nativeEvent);null==P||P(t,r),r.isCanceled||eu(t)},onFocus(){var e;null==(e=en.current)||e.focus()}},ee.getInputValidationProps,void 0!==_?{value:_}:s.EMPTY_OBJECT),eb=r.useMemo(()=>({...K,checked:ec,disabled:er,readOnly:I,required:B}),[K,ec,er,I,B]),eh=(0,d.useRenderElement)("span",e,{state:eb,ref:[m,en,em],props:[{id:D?eo:es,role:"switch","aria-checked":ec,"aria-readonly":I||void 0,"aria-required":B||void 0,"aria-labelledby":ep,onFocus(){er||X(!0)},onBlur(){let e=ea.current;e&&!er&&(J(!0),X(!1),"onBlur"===Q&&ee.commit(e.checked))},onClick(e){if(I||er)return;e.preventDefault();let t=ea.current;t&&t.dispatchEvent(new((0,o.ownerWindow)(t)).PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}))}},ee.getValidationProps,V,ef],stateAttributesMapping:x});return(0,t.jsxs)(p.Provider,{value:eb,children:[eh,!ec&&el&&void 0!==z&&(0,t.jsx)("input",{type:"hidden",form:y,name:el,value:z}),(0,t.jsx)("input",{...ev,suppressHydrationWarning:!0})]})}),D=r.forwardRef(function(e,t){let{render:l,className:a,style:i,...n}=e,s=function(){let e=r.useContext(p);if(void 0===e)throw Error((0,m.default)(63));return e}();return(0,d.useRenderElement)("span",e,{state:s,ref:t,stateAttributesMapping:x,props:n})});var P=e.i(39606),P=P,I=e.i(75157);function B(e){let{className:r,thumbClassName:l,...a}=e;return(0,t.jsx)(P.Root,{"data-slot":"switch",className:(0,I.cn)("shadow-xs focus-visible:ring-ring/50 dark:data-[unchecked]:bg-input/80 peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary",r),...a,children:(0,t.jsx)(P.Thumb,{className:(0,I.cn)("pointer-events-none block size-4 rounded-full bg-background ring-0 transition-transform will-change-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0.5 data-[checked]:bg-primary-foreground",l)})})}function L(e){let{className:r,thumbClassName:l,...a}=e;return(0,t.jsx)(B,{className:(0,I.cn)("focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",r),thumbClassName:(0,I.cn)("data-[checked]:bg-white",l),...a})}},92715,e=>{"use strict";e.s(["AppTable",()=>u],92715);var t=e.i(18050),r=e.i(85413),l=e.i(71645),a=e.i(75157);let i=l.forwardRef((e,r)=>{let{className:l,...i}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,a.cn)("w-full caption-bottom border-collapse",l),...i})})});i.displayName="Table";let n=l.forwardRef((e,r)=>{let{className:l,...i}=e;return(0,t.jsx)("thead",{ref:r,className:(0,a.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",l),...i})});n.displayName="TableHeader";let s=l.forwardRef((e,r)=>{let{className:i,viewportFit:n=!0,viewportReserveBottom:s=16,viewportPaginationReserve:o=0,style:d,...c}=e,u=l.useRef(null),f=l.useCallback(e=>{u.current=e,"function"==typeof r?r(e):r&&(r.current=e)},[r]),[m,p]=l.useState(void 0);return l.useLayoutEffect(()=>{var e,t;if(!n)return void p(void 0);let r=()=>{var e,t;let r=u.current;if(!r)return;let l=r.getBoundingClientRect().top;p(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(s+o))))};r();let l=new ResizeObserver(()=>{r()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[n,s,o]),(0,t.jsx)("tbody",{ref:f,className:(0,a.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",i),style:n&&void 0!==m?{...d,maxHeight:m}:d,...c})});s.displayName="TableBody";let o=l.forwardRef((e,r)=>{let{className:l,hoverable:i=!0,...n}=e;return(0,t.jsx)("tr",{ref:r,className:(0,a.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",i&&"group/table-row",l),...n})});o.displayName="TableRow";let d=l.forwardRef((e,r)=>{let{className:l,...i}=e;return(0,t.jsx)("th",{ref:r,className:(0,a.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",l),...i})});d.displayName="TableHead";let c=l.forwardRef((e,r)=>{let{className:l,...i}=e;return(0,t.jsx)("td",{ref:r,className:(0,a.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",l),...i})});function u(e){let{rows:l,columns:u,getRowKey:f,className:m,rowClassName:p,headerRowClassName:v,emptyText:b,emptyNode:h,bodyProps:g}=e;return(0,t.jsx)("div",{className:(0,a.cn)("overflow-hidden border border-[var(--ds-border)]",m),children:(0,t.jsxs)(i,{children:[(0,t.jsx)(n,{children:(0,t.jsx)(o,{className:(0,a.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",v),children:u.map(e=>(0,t.jsx)(d,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(s,{...g,children:l.length?l.map(e=>(0,t.jsx)(o,{className:"function"==typeof p?p(e):p,children:u.map(r=>(0,t.jsx)(c,{className:r.cellClassName,children:r.render(e)},r.key))},f(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(c,{colSpan:u.length,className:"py-6",children:null!=h?h:(0,t.jsx)(r.Empty,{text:b})})})})]})})}c.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>w,"deleteRuntimeMcp",()=>f,"deleteRuntimeSkill",()=>j,"deleteRuntimeTool",()=>u,"exportRuntimeMcpUrl",()=>p,"exportRuntimeSkillUrl",()=>N,"exportRuntimeToolUrl",()=>m,"importRuntimeMcp",()=>b,"importRuntimeTool",()=>v,"installCloudSkill",()=>R,"listBaseSkills",()=>i,"listCloudSkillCatalog",()=>k,"listInstalledSkills",()=>n,"listInstalledTools",()=>a,"listMcpServers",()=>l,"listRuntimeMcpPackages",()=>c,"listRuntimeTools",()=>d,"loadBaseSkillMd",()=>s,"loadRemoteMcpJson",()=>h,"loadRuntimeMcpItemConfig",()=>x,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>g,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),r=e.i(36845);async function l(e,l,a){let i=await (0,t.get)((0,r.buildMcpServersListUrl)(e,l,a));return{servers:Array.isArray(i.servers)?i.servers:[]}}async function a(e,l,a){let i=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,l,a));return{tools:Array.isArray(i.tools)?i.tools:[]}}async function i(e,l,a){let i=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,l,a));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function n(e,l,a){let i=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,l,a));return{skills:Array.isArray(i.skills)?i.skills:[]}}async function s(e,l,a,i){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,l,a,i))}async function o(e,l,a,i,n){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,l,a,i),{content:n})}async function d(e,l,a){let i=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,l,a));return{runtimeToolsDir:"string"==typeof i.runtimeToolsDir?i.runtimeToolsDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function c(e,l,a){let i=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,l,a));return{mcpRuntimeDir:"string"==typeof i.mcpRuntimeDir?i.mcpRuntimeDir:"",items:Array.isArray(i.items)?i.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,l,a,i){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,l,a,i))}async function f(e,l,a,i){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,l,a,i))}function m(e,t,l,a){return(0,r.buildToolsRuntimeExportUrl)(e,t,l,a)}function p(e,t,l,a){return(0,r.buildMcpRuntimeExportUrl)(e,t,l,a)}async function v(e,l,a,i){let n=new FormData;return n.append("file",i),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,l,a),n,{type:"file"})}async function b(e,l,a,i){let n=new FormData;return n.append("file",i),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,l,a),n,{type:"file"})}async function h(e,l,a){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,l,a))}async function g(e,l,a,i){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,l,a),{content:i})}async function x(e,l,a,i,n){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,a,i,n))}async function y(e,l,a,i,n,s){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,a,i,n),{server:s})}async function w(e,l,a,i,n){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,l,a,i,n))}async function j(e,l,a,i){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,l,a,i))}function N(e,t,l,a){return(0,r.buildSkillsRuntimeExportUrl)(e,t,l,a)}async function k(e,l,a,i,n,s){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,l,a,i,n,s));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function R(e,l,a,i){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,l,a),{id:i})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36413,e=>{"use strict";e.s(["StatusBadge",()=>i],36413);var t=e.i(18050),a=e.i(25913),n=e.i(75157);let r=(0,a.cva)("inline-flex shrink-0 items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-colors focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function s(e){let{className:a,variant:s,...l}=e;return(0,t.jsx)("span",{"data-slot":"badge",className:(0,n.cn)(r({variant:s}),a),...l})}let l={success:{root:"border-transparent bg-[var(--green-light)] text-[var(--green-dark)]",dot:"bg-[var(--ds-ok)]"},danger:{root:"border-transparent bg-[#fef2f2] text-[var(--ds-danger)]",dot:"bg-[var(--ds-danger)]"},default:{root:"border-transparent bg-[var(--surface-2)] text-[var(--ds-muted)]",dot:"bg-[var(--ds-muted)]"},progress:{root:"border-transparent bg-[color-mix(in_srgb,var(--blue)_12%,var(--surface-1))] text-[var(--blue)]",dot:"bg-[var(--blue)]"},warning:{root:"border-transparent bg-[color-mix(in_srgb,var(--amber)_14%,var(--surface-1))] text-[var(--amber)]",dot:"bg-[var(--amber)]"}};function i(e){let{tone:a="default",showDot:r=!0,dotClassName:i,className:o,children:c,...u}=e,d=l[a];return(0,t.jsxs)(s,{variant:"outline",className:(0,n.cn)("gap-1.5",d.root,o),...u,children:[r?(0,t.jsx)("span",{className:(0,n.cn)("size-1.5 shrink-0 rounded-full",d.dot,i),"aria-hidden":!0}):null,c]})}},55242,e=>{"use strict";e.s(["AppDialog",()=>s]);var t=e.i(18050),a=e.i(71645),n=e.i(76639),r=e.i(75157);function s(e){let{open:s,onOpenChange:l,title:i,children:o,footer:c,width:u="max-w-3xl",minHeight:d}=e,p=(0,a.useId)();return(0,t.jsx)(n.Dialog,{open:s,onOpenChange:l,children:(0,t.jsxs)(n.DialogContent,{"aria-labelledby":p,className:(0,r.cn)(u,d?"!min-h-[--min-h]":""),style:d?{"--min-h":d}:void 0,children:[(0,t.jsxs)(n.DialogHeader,{children:[(0,t.jsx)(n.DialogTitle,{id:p,children:i}),(0,t.jsx)(n.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(n.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},98183,(e,t,a)=>{"use strict";function n(e){let t={};for(let[a,n]of e.entries()){let e=t[a];void 0===e?t[a]=n:Array.isArray(e)?e.push(n):t[a]=[e,n]}return t}function r(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[a,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(a,r(e));else t.set(a,r(n));return t}function l(e){for(var t=arguments.length,a=Array(t>1?t-1:0),n=1;n<t;n++)a[n-1]=arguments[n];for(let t of a){for(let a of t.keys())e.delete(a);for(let[a,n]of t.entries())e.append(a,n)}return e}Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{assign:function(){return l},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return s}})},95057,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{formatUrl:function(){return s},formatWithValidation:function(){return i},urlObjectKeys:function(){return l}});let n=e.r(90809)._(e.r(98183)),r=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:a}=e,s=e.protocol||"",l=e.pathname||"",i=e.hash||"",o=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:a&&(c=t+(~a.indexOf(":")?"["+a+"]":a),e.port&&(c+=":"+e.port)),o&&"object"==typeof o&&(o=String(n.urlQueryToSearchParams(o)));let u=e.search||o&&"?"+o||"";return s&&!s.endsWith(":")&&(s+=":"),e.slashes||(!s||r.test(s))&&!1!==c?(c="//"+(c||""),l&&"/"!==l[0]&&(l="/"+l)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),""+s+c+(l=l.replace(/[?#]/g,encodeURIComponent))+(u=u.replace("#","%23"))+i}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return s(e)}},18967,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{DecodeError:function(){return g},MiddlewareNotFoundError:function(){return b},MissingStaticPage:function(){return v},NormalizeError:function(){return x},PageNotFoundError:function(){return h},SP:function(){return m},ST:function(){return f},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return o},isAbsoluteUrl:function(){return l},isResSent:function(){return u},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return d},stringifyError:function(){return y}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,a=!1;return function(){for(var n=arguments.length,r=Array(n),s=0;s<n;s++)r[s]=arguments[s];return a||(a=!0,t=e(...r)),t}}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>s.test(e);function i(){let{protocol:e,hostname:t,port:a}=window.location;return e+"//"+t+(a?":"+a:"")}function o(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function d(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(a&&u(a))return n;if(!n)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="undefined"!=typeof performance,f=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class x extends Error{}class h extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class v extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function y(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return s}});let n=e.r(18967),r=e.r(52817);function s(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,r.hasBasePath)(a.pathname)}catch(e){return!1}}},84508,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{default:function(){return x},useLinkStatus:function(){return v}});let n=e.r(90809),r=e.r(18050),s=n._(e.r(71645)),l=e.r(95057),i=e.r(8372),o=e.r(18581),c=e.r(18967),u=e.r(84395);e.r(33525);let d=e.r(91949),p=e.r(73668),m=e.r(99781);e.r(84508);let f=e.r(65165);function g(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function x(e){var t;let a,n,l,[x,v]=(0,s.useOptimistic)(d.IDLE_LINK_STATUS),b=(0,s.useRef)(null),{href:y,as:j,children:k,prefetch:C=null,passHref:S,replace:N,shallow:w,scroll:T,onClick:A,onMouseEnter:E,onTouchStart:I,legacyBehavior:P=!1,onNavigate:M,ref:B,unstable_dynamicOnHover:O,...R}=e;a=k,P&&("string"==typeof a||"number"==typeof a)&&(a=(0,r.jsx)("a",{children:a}));let z=s.default.useContext(i.AppRouterContext),L=!1!==C,D=!1!==C?null===(t=C)||"auto"===t?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:_,as:U}=s.default.useMemo(()=>{let e=g(y);return{href:e,as:j?g(j):e}},[y,j]);P&&(n=s.default.Children.only(a));let F=P?n&&"object"==typeof n&&n.ref:B,K=s.default.useCallback(e=>(null!==z&&(b.current=(0,d.mountLinkInstance)(e,_,z,D,L,v)),()=>{b.current&&((0,d.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,d.unmountPrefetchableInstance)(e)}),[L,_,z,D,v]),V={ref:(0,o.useMergedRef)(K,F),onClick(e){P||"function"!=typeof A||A(e),P&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),z&&(e.defaultPrevented||function(e,t,a,n,r,l,i){let{nodeName:o}=e.currentTarget;if(!("A"===o.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(t)){r&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}s.default.startTransition(()=>{(0,m.dispatchNavigateAction)(a||t,r?"replace":"push",null==l||l,n.current)})}}(e,_,U,b,N,T,M))},onMouseEnter(e){P||"function"!=typeof E||E(e),P&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),z&&L&&(0,d.onNavigationIntent)(e.currentTarget,!0===O)},onTouchStart:function(e){P||"function"!=typeof I||I(e),P&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),z&&L&&(0,d.onNavigationIntent)(e.currentTarget,!0===O)}};return(0,c.isAbsoluteUrl)(U)?V.href=U:P&&!S&&("a"!==n.type||"href"in n.props)||(V.href=(0,u.addBasePath)(U)),l=P?s.default.cloneElement(n,V):(0,r.jsx)("a",{...R,...V,children:a}),(0,r.jsx)(h.Provider,{value:x,children:l})}let h=(0,s.createContext)(d.IDLE_LINK_STATUS),v=()=>(0,s.useContext)(h);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},38962,e=>{"use strict";e.s(["SystemManageView",()=>n]);var t=e.i(18050),a=e.i(28370);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"system"})}},3862,e=>{"use strict";e.s(["ImManageView",()=>n]);var t=e.i(18050),a=e.i(28370);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"tutui"})}},20378,e=>{"use strict";e.s(["GitManageView",()=>n]);var t=e.i(18050),a=e.i(28370);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"git"})}},42307,e=>{"use strict";e.s(["GeelibManageView",()=>n]);var t=e.i(18050),a=e.i(28370);function n(){return(0,t.jsx)(a.AgentEnvGroupSettingsView,{group:"geelib"})}},19573,e=>{"use strict";e.s(["ToolsManageView",()=>C],19573);var t=e.i(18050),a=e.i(71645),n=e.i(65934),r=e.i(87243),s=e.i(13354),l=e.i(50711),i=e.i(19455),o=e.i(94055),c=e.i(94197),u=e.i(92715),d=e.i(36413),p=e.i(72064),m=e.i(93479);function f(e){let{items:n,saveBusy:r,onToggle:s,onExport:l,onRemove:i,className:f}=e,[g,x]=(0,a.useState)(""),h=(0,a.useMemo)(()=>n.filter(e=>(function(e,t){var a,n;let r=t.trim().toLowerCase();if(!r)return!0;let s="system"===e.layer?"系统":"agent"===e.layer?"Agent":"";return"".concat(e.name," ").concat(null!=(a=e.label)?a:""," ").concat(null!=(n=e.description)?n:""," ").concat(s).toLowerCase().includes(r)})(e,g)),[n,g]),v=[{key:"name",title:"名称",headerClassName:"",cellClassName:"",render:e=>{let a=e.label||e.name;return(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:a}),(0,t.jsx)(d.StatusBadge,{tone:e.enabled?"success":"default",children:e.enabled?"启用":"未启用"})]})}},{key:"layer",title:"层级",headerClassName:"w-[88px]",cellClassName:"w-[88px] whitespace-nowrap text-[var(--ds-text)]",render:e=>"system"===e.layer?"系统":"agent"===e.layer?"Agent":"-"},{key:"description",title:"详情",headerClassName:"",cellClassName:"",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"",cellClassName:"whitespace-nowrap text-[var(--ds-text)]",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(o.AccentSwitch,{checked:!!e.enabled,disabled:r,onCheckedChange:t=>s(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] ",cellClassName:"w-[128px]",render:e=>{let a=!0===e.canManage;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(c.IconTooltipButton,{icon:"Download",label:a?"导出":"系统内置工具不可导出",ariaLabel:"导出 ".concat(e.label||e.name),disabled:r||!a,onClick:()=>l(e.name)}),(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:a?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:r||!a,onClick:()=>{i(e.name)}})]})}}],b=g.trim();return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(m.Input,{type:"search",value:g,onChange:e=>x(e.target.value),placeholder:"搜索名称 / 详情 / 层级",className:"h-8 pl-8","aria-label":"搜索工具"}),(0,t.jsx)(p.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)(u.AppTable,{rows:h,columns:v,getRowKey:e=>"tools:".concat(e.name),className:f,emptyText:b?"未找到匹配工具":void 0})]})}var g=e.i(36845),x=e.i(53925);function h(e){let{open:a,onOpenChange:n,wsUrl:r,apiBase:s,agent:l}=e;return(0,t.jsx)(x.ResourceImportDialog,{open:a,onOpenChange:n,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,g.buildToolsRuntimeImportUrl)(r,s,l),resetKey:l})}var v=e.i(68499),b=e.i(56708),y=e.i(62427);function j(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.name}function k(e){let t=null!=e.packageId?String(e.packageId).trim():"";return!0===e.deletable&&t.length>0}function C(){let e=(0,n.useAppStore)(e=>e.wsUrl),o=(0,n.useAppStore)(e=>e.apiBase),c=(0,n.useAppStore)(e=>e.agentConfig),u=(0,n.useAppStore)(e=>e.patchAgentConfig),{currentAgent:d,loadAgentConfig:m}=(0,r.useSession)(),g=(0,l.usePersistAgentConfigField)("tools"),x=c.tools,[C,S]=(0,a.useState)([]),[N,w]=(0,a.useState)(!1),[T,A]=(0,a.useState)(!1),[E,I]=(0,a.useState)(!1);(0,a.useEffect)(()=>{m()},[m]);let P=(0,a.useCallback)(async(e,t)=>{A(!0);try{await g(e,{silent:t})}finally{A(!1)}},[g]),M=(0,a.useCallback)(async()=>{S([]),w(!0);try{var t;let a=await (0,y.listInstalledTools)(e,o,d());S(null!=(t=a.tools)?t:[])}catch(e){S([]),s.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{w(!1)}},[e,o,d]);(0,a.useEffect)(()=>{M()},[M]);let B=(0,a.useCallback)(e=>C.find(t=>t.name===e),[C]),O=(0,a.useMemo)(()=>C.slice().sort((e,t)=>e.name.localeCompare(t.name)).map(e=>(function(e,t){var a;let n=null!=e.packageName?String(e.packageName).trim():"";return{name:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name,description:null!=(a=e.searchHint)?a:"",enabled:t,packageId:n,canManage:k({deletable:e.deletable,packageId:n}),layer:e.layer}})(e,x.includes(e.name))),[C,x]),R=(0,a.useCallback)(async t=>{let a=B(t);if(!a||!k({deletable:a.deletable,packageId:a.packageName}))return void s.appToast.error("系统内置工具不可删除");if(await (0,v.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,y.deleteRuntimeTool)(e,o,d(),j({packageId:a.packageName,name:a.name}));let n=x.filter(e=>e!==t);u({tools:n}),await P(n,!0),await M()}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[B,e,o,d,x,u,P,M]),z=(0,a.useCallback)(t=>{let a=B(t);if(!a||!k({deletable:a.deletable,packageId:a.packageName}))return void s.appToast.error("系统内置工具不可导出");window.open((0,y.exportRuntimeToolUrl)(e,o,d(),j({packageId:a.packageName,name:a.name})),"_blank","noopener")},[B,e,o,d]),L=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...x,e])].sort():x.filter(t=>t!==e).sort();u({tools:a}),P(a,!0)},[x,u,P]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.ManageChromeHeaderActions,{children:(0,t.jsxs)(i.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>I(!0),children:[(0,t.jsx)(p.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),N?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(f,{items:O,saveBusy:T,onToggle:L,onExport:z,onRemove:R}),(0,t.jsx)(h,{open:E,onOpenChange:e=>{I(e),e||M()},wsUrl:e,apiBase:o,agent:d()})]})}},62849,e=>{"use strict";e.s(["EnvManageView",()=>A],62849);var t=e.i(18050),a=e.i(71645),n=e.i(56708),r=e.i(19455),s=e.i(72064),l=e.i(2839),i=e.i(76639),o=e.i(93479),c=e.i(13354),u=e.i(87243),d=e.i(67327),p=e.i(44039),m=e.i(99650),f=e.i(94606),g=e.i(75157),x=e.i(69051),h=e.i(65934);let v=[{key:"name",name:"名称",required:!0,placeholder:"例如 OpenAI 主站"},{key:"id",name:"服务商 ID(slug)",required:!0,placeholder:"例如 openai-main"},{key:"provider",name:"协议类型",required:!0,options:[{label:"openai",value:"openai"},{label:"anthropic",value:"anthropic"}]},{key:"baseUrl",name:"接口地址",required:!0,placeholder:"例如 https://api.openai.com/v1"},{key:"apiKey",name:"API秘钥",required:!0,inputType:"password"},{key:"authToken",name:"认证变量",inputType:"password"},{key:"modelId",name:"模型 ID",required:!0,placeholder:"例如 gpt-4o"},{key:"modelLabel",name:"模型展示名(可选)"}],b=new Set(["description"]),y=/^[A-Za-z0-9_-]+$/;function j(){return Object.fromEntries(v.map(e=>{var t,a,n;return[e.key,null!=(n=null==(a=e.options)||null==(t=a[0])?void 0:t.value)?n:""]}))}function k(e){let{open:n,onOpenChange:s,onSaved:k}=e,C=(0,a.useId)(),S=(0,h.useAppStore)(e=>e.wsUrl),N=(0,h.useAppStore)(e=>e.apiBase),w=(0,h.useAppStore)(e=>e.agentConfig),{currentAgent:T,loadAgentConfig:A}=(0,u.useSession)(),{sendReloadAgentConfig:E}=(0,d.useWebSocketSender)(),[I,P]=(0,a.useState)(!0),[M,B]=(0,a.useState)(!1),[O,R]=(0,a.useState)(!1),[z,L]=(0,a.useState)([]),[D,_]=(0,a.useState)(j),U=(0,a.useMemo)(()=>(0,p.schemaKeySet)(z),[z]),F=(0,a.useCallback)(e=>{let t=j();for(let a of v)b.has(a.key)||"string"==typeof e[a.key]&&(t[a.key]=e[a.key]);_(t),R(!1)},[]),K=(0,a.useCallback)(async()=>{try{let e=await (0,x.loadSystemEnv)(S,N,T()),t=(0,p.normalizeAgentEnvSchema)(e.schema);L(t)}catch(e){c.appToast.error("加载环境变量表单配置失败:".concat(e instanceof Error?e.message:String(e))),L([])}},[S,N,T]);(0,a.useEffect)(()=>{n&&(P(!0),Promise.all([A(),K()]).finally(()=>{P(!1)}))},[n,A,K]),(0,a.useEffect)(()=>{n&&!I&&F({...w.env})},[n,w.env,F,I]);let V=(0,a.useCallback)((e,t)=>{R(!0),_(a=>({...a,[e]:t}))},[]),J=(0,a.useCallback)(async e=>{if(e)return void s(!0);(!O||await (0,f.confirmDiscardFlyoutChanges)())&&s(!1)},[O,s]),H=(0,a.useCallback)(async()=>{let e=function(e){for(let a of v){var t;if(a.required&&!String(null!=(t=e[a.key])?t:"").trim())return{ok:!1,message:"请填写".concat(a.name)}}return{ok:!0}}(D);if(!e.ok)return void c.appToast.info(e.message);let t=function(e,t){let a={};for(let r of v){var n;if(b.has(r.key))continue;let s=r.key.trim(),l=String(null!=(n=e[r.key])?n:"");if(l.trim()){if(t.has(s))return{ok:!1,message:"自定义变量不能与固定表单重复:".concat(s)};a[s]=l}}return{ok:!0,env:a}}(D,U);if(!t.ok)return void c.appToast.info(t.message);let a=function(e,t){let a={...e};for(let e of v){var n;if(b.has(e.key))continue;let r=e.key.trim(),s=String(null!=(n=t[e.key])?n:"").trim();s?a[r]=s:delete a[r]}return a}(h.useAppStore.getState().agentConfig.env,D);B(!0);try{await (0,m.persistAgentEnv)(S,N,T(),a,E),R(!1),await (null==k?void 0:k()),s(!1)}catch(e){c.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{B(!1)}},[D,U,S,N,T,E,s,k]),q=(0,a.useCallback)(async()=>{let e=h.useAppStore.getState().agentConfig,t=function(e,t){var a,n,r,s,l,i,o;let c=String(null!=(a=e.id)?a:"").trim(),u=String(null!=(n=e.name)?n:"").trim(),d="anthropic"===e.provider?"anthropic":"openai",p=String(null!=(r=e.baseUrl)?r:"").trim(),m=String(null!=(s=e.apiKey)?s:"").trim(),f=String(null!=(l=e.authToken)?l:"").trim(),g=String(null!=(i=e.modelId)?i:"").trim(),x=String(null!=(o=e.modelLabel)?o:"").trim();return c?y.test(c)?t.some(e=>e.id.trim()===c)?{ok:!1,message:"服务商 id 已存在: ".concat(c)}:u?p?m||f?g?{ok:!0,entry:{id:c,name:u,baseUrl:p,apiKey:m,authToken:f,provider:d,models:[{id:g,label:x}],defaultModel:g}}:{ok:!1,message:"请填写模型 ID"}:{ok:!1,message:"API Key 与 Auth Token 至少填写一项"}:{ok:!1,message:"请填写 Base URL"}:{ok:!1,message:"请填写展示名称"}:{ok:!1,message:"服务商 id 仅允许字母数字下划线中划线"}:{ok:!1,message:"请填写服务商 ID"}}(D,e.llmProviders);if(!t.ok)return void c.appToast.info(t.message);B(!0);try{await (0,m.persistAgentEnv)(S,N,T(),e.env,E,{llmProviders:[...e.llmProviders.map(e=>({...e,models:e.models.map(e=>({...e}))})),t.entry]}),_(j()),R(!1),await (null==k?void 0:k())}catch(e){c.appToast.error("添加服务商失败:".concat(e instanceof Error?e.message:String(e)))}finally{B(!1)}},[D,S,N,T,E,k]);return(0,t.jsx)(i.Dialog,{open:n,onOpenChange:e=>void J(e),children:(0,t.jsxs)(i.DialogContent,{"aria-labelledby":C,className:"max-w-4xl",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(i.DialogTitle,{id:C,children:"添加服务商"})}),(0,t.jsx)(i.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(i.DialogBody,{className:"flex min-h-[420px] flex-col overflow-hidden !py-4",children:I?(0,t.jsx)(l.Loading,{text:"加载中",showImage:!1,className:"min-h-0 flex-1"}):(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto",children:(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"divide-y divide-[var(--ds-border)]",children:v.map(e=>{var a,n;let r="custom-env-field-".concat(e.key),s="string"==typeof D[e.key]?D[e.key]:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsxs)("label",{className:"text-[var(--ds-text)]",htmlFor:r,children:[e.name,e.required?(0,t.jsx)("span",{className:"ml-0.5 text-destructive",children:"*"}):null]}),e.options?(0,t.jsx)("select",{id:r,className:(0,g.cn)("h-8 rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] px-3 text-sm text-[var(--ds-text)] outline-none focus-visible:border-[var(--ds-accent)] focus-visible:ring-2 focus-visible:ring-[color-mix(in_srgb,var(--ds-accent)_18%,transparent)]",e.className),value:s,onChange:t=>V(e.key,t.target.value),children:e.options.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))}):(0,t.jsx)(o.Input,{id:r,type:null!=(a=e.inputType)?a:"text",spellCheck:!1,autoComplete:"off",placeholder:null!=(n=e.placeholder)?n:"请输入".concat(e.name),className:(0,g.cn)("border-[var(--ds-border)] bg-[var(--ds-bg)] placeholder:text-[var(--text-placeholder)]",e.className),value:s,onChange:t=>V(e.key,t.target.value)})]},e.key)})}),(0,t.jsx)("div",{className:"flex justify-end pt-4",children:(0,t.jsx)(r.Button,{type:"button",size:"lg",disabled:I||M,onClick:()=>void q(),className:"cursor-pointer",children:M?"添加中…":"添加"})})]})})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:[(0,t.jsx)(r.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:I||M,onClick:()=>void J(!1),className:"cursor-pointer",children:"取消"}),(0,t.jsx)(r.Button,{type:"button",size:"lg",disabled:I||M,onClick:()=>void H(),className:"cursor-pointer",children:M?"保存中…":"保存"})]})]})})}var C=e.i(85413),S=e.i(94197);function N(e){return e.map((e,t)=>{let a=e.models[0];return{id:e.id,name:e.name||e.id,baseUrl:e.baseUrl,model:e.defaultModel||(null==a?void 0:a.label)||(null==a?void 0:a.id)||"",isDefault:0===t}})}function w(e){let{row:a,onSetDefault:n,onTest:s,onEdit:l,onDelete:i}=e,o="".concat(a.baseUrl," · ").concat(a.model);return(0,t.jsxs)("article",{className:(0,g.cn)("group flex w-full items-center gap-4 rounded-xl border border-solid bg-[var(--ds-bg)] px-4 py-3.5 transition-[border-color,box-shadow]",a.isDefault?"border-[color:var(--ds-ok)]":"border-[color:var(--ds-border)] hover:shadow-[0_2px_12px_rgba(0,0,0,0.06)]"),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("span",{className:(0,g.cn)("size-2 shrink-0 rounded-full",a.isDefault?"bg-[var(--ds-ok)]":"bg-[var(--ds-muted)]"),"aria-hidden":"true"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"truncate font-semibold text-[var(--ds-text)]",children:a.name}),(0,t.jsx)("p",{className:"mt-1 truncate text-[var(--ds-muted)]",title:o,children:o})]})]}),(0,t.jsxs)("div",{className:"pointer-events-none invisible flex shrink-0 items-center opacity-0 transition-opacity group-focus-within:pointer-events-auto group-focus-within:visible group-focus-within:opacity-100 group-hover:pointer-events-auto group-hover:visible group-hover:opacity-100",children:[(0,t.jsx)(r.Button,{type:"button",variant:"plain",size:"sm",disabled:a.isDefault,className:"h-8 cursor-pointer !px-0 text-[var(--ds-text)] hover:text-[var(--ds-accent)] disabled:cursor-not-allowed disabled:text-[var(--ds-muted)] disabled:opacity-60",onClick:()=>n(a.id),children:"设为默认"}),(0,t.jsx)(r.Button,{type:"button",variant:"plain",size:"sm",className:"h-8 cursor-pointer px-2 text-[var(--ds-text)] hover:text-[var(--ds-accent)]",onClick:()=>s(a.id),children:"测试"}),(0,t.jsx)(S.IconTooltipButton,{icon:"Edit",label:"编辑",ariaLabel:"编辑 ".concat(a.name),onClick:()=>l(a.id)}),(0,t.jsx)(S.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(a.name),onClick:()=>i(a.id)})]})]})}function T(){let e=(0,h.useAppStore)(e=>e.agentConfig.llmProviders),[n,r]=(0,a.useState)(()=>N(e));(0,a.useEffect)(()=>{r(N(e))},[e]);let s=(0,a.useCallback)(e=>{r(t=>t.map(t=>({...t,isDefault:t.id===e}))),c.appToast.success("已设为默认服务商")},[]),l=(0,a.useCallback)(e=>{var t;let a=n.find(t=>t.id===e);c.appToast.info("正在测试「".concat(null!=(t=null==a?void 0:a.name)?t:e,"」连接…"))},[n]),i=(0,a.useCallback)(e=>{var t;let a=n.find(t=>t.id===e);c.appToast.info("编辑「".concat(null!=(t=null==a?void 0:a.name)?t:e,"」功能开发中"))},[n]),o=(0,a.useCallback)(e=>{n.find(t=>t.id===e)&&(r(t=>t.filter(t=>t.id!==e).map((e,t)=>({...e,isDefault:0===t}))),c.appToast.success("已删除服务商"))},[n]);return(0,t.jsx)("div",{className:"mt-4 flex flex-col gap-3",children:0===n.length?(0,t.jsx)(C.Empty,{text:"暂无服务商"}):n.map(e=>(0,t.jsx)(w,{row:e,onSetDefault:s,onTest:l,onEdit:i,onDelete:o},e.id))})}function A(){let[e,l]=(0,a.useState)(!1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.ManageChromeHeaderActions,{children:(0,t.jsx)("div",{className:"flex flex-wrap items-center",children:(0,t.jsxs)(r.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:()=>l(!0),className:"mr-[12px]",children:[(0,t.jsx)(s.default,{name:"Create",size:16,className:"align-middle"}),"添加服务商"]})})}),(0,t.jsx)(T,{}),(0,t.jsx)(k,{open:e,onOpenChange:l})]})}},37991,e=>{"use strict";e.s(["McpManageView",()=>S],37991);var t=e.i(18050),a=e.i(71645),n=e.i(65934),r=e.i(87243),s=e.i(13354),l=e.i(50711),i=e.i(55242),o=e.i(92715),c=e.i(2839),u=e.i(36413),d=e.i(19455),p=e.i(93479),m=e.i(94055),f=e.i(94197),g=e.i(36845),x=e.i(53925);function h(e){let{open:a,onOpenChange:n,wsUrl:r,apiBase:s,agent:l}=e;return(0,t.jsx)(x.ResourceImportDialog,{open:a,onOpenChange:n,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,g.buildMcpRuntimeImportUrl)(r,s,l),resetKey:l})}var v=e.i(62427);function b(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.id}function y(e){let{open:n,onOpenChange:r,itemId:l,source:o,wsUrl:c,apiBase:u,agent:p,onSaved:m}=e,[f,g]=(0,a.useState)(""),[x,h]=(0,a.useState)(!1),[b,y]=(0,a.useState)(!1),j="remote"===o?"remote":"runtime";(0,a.useEffect)(()=>{if(!n||!l.trim())return;let e=!1;return h(!0),g("加载中…"),(0,v.loadRuntimeMcpItemConfig)(c,u,p,l,j).then(t=>{if(e)return;let a=t.overlay;a&&"object"==typeof a&&!Array.isArray(a)?g(JSON.stringify(a,null,2)):g("{}")}).catch(t=>{e||(s.appToast.error("加载 MCP 配置失败:".concat(t instanceof Error?t.message:String(t))),r(!1))}).finally(()=>{e||h(!1)}),()=>{e=!0}},[n,l,c,u,p,j,r]);let k=(0,a.useCallback)(async()=>{let e;if(!l.trim())return;let t=f.trim();try{e=t?JSON.parse(t):{}}catch(e){s.appToast.error("JSON 解析失败:".concat(e instanceof Error?e.message:String(e)));return}if(!e||"object"!=typeof e||Array.isArray(e))return void s.appToast.error("配置必须是 JSON 对象");if("mcpServers"in e&&null!=e.mcpServers)return void s.appToast.error("请填写标准 server 配置(command/args/env),不要嵌套 mcpServers");let a=0===Object.keys(e).length;y(!0);try{a?await (0,v.clearRuntimeMcpItemConfig)(c,u,p,l,j):await (0,v.saveRuntimeMcpItemConfig)(c,u,p,l,j,e),s.appToast.success("MCP 配置已保存"),r(!1),null==m||m()}catch(e){s.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(!1)}},[l,f,c,u,p,j,r,m]);return(0,t.jsx)(i.AppDialog,{open:n,onOpenChange:r,title:"编辑 MCP 配置 · ".concat(l),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:b,onClick:()=>r(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:b||x,onClick:()=>void k(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 font-mono leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:f,disabled:x,onChange:e=>g(e.target.value)})})}var j=e.i(68499),k=e.i(72064),C=e.i(56708);function S(){let e=(0,n.useAppStore)(e=>e.wsUrl),g=(0,n.useAppStore)(e=>e.apiBase),x=(0,n.useAppStore)(e=>e.agentConfig),S=(0,n.useAppStore)(e=>e.setAgentConfig),{currentAgent:N,loadAgentConfig:w}=(0,r.useSession)(),T=(0,l.usePersistAgentConfigField)("mcpServers"),A=x.mcpServers,E=(0,a.useMemo)(()=>[...A].sort().join("\0"),[A]),[I,P]=(0,a.useState)([]),[M,B]=(0,a.useState)([]),[O,R]=(0,a.useState)(!1),[z,L]=(0,a.useState)(!1),[D,_]=(0,a.useState)(!1),[U,F]=(0,a.useState)(!1),[K,V]=(0,a.useState)(""),[J,H]=(0,a.useState)(!1),[q,G]=(0,a.useState)(""),[W,Q]=(0,a.useState)(),[Z,X]=(0,a.useState)(!1),[$,Y]=(0,a.useState)("");(0,a.useEffect)(()=>{w()},[w]);let ee=(0,a.useCallback)(async(e,t)=>{L(!0);try{await T(e,{silent:t})}finally{L(!1)}},[T]),et=(0,a.useCallback)(e=>I.find(t=>t.id===e),[I]),ea=(0,a.useCallback)(e=>{let t=et(e);G(e),Q(null==t?void 0:t.source),X(!0)},[et]),en=(0,a.useCallback)(async()=>{P([]),R(!0);try{var t;let a=await (0,v.listMcpServers)(e,g,N());P((null!=(t=a.servers)?t:[]).map(e=>{var t,a,n;return{...e,id:e.name,label:e.name,description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(n=e.source)?n:"",installed:!!e.installed,packageId:e.packageId}}))}catch(e){P([]),s.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{R(!1)}},[e,g,N]),er=(0,a.useCallback)(async t=>{var a;let n=et(t),r=null!=(a=null==n?void 0:n.source)?a:"";if("runtime"!==r&&"remote"!==r)return void s.appToast.error("基础MCP不可删除");if(await (0,j.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===r){let a=await (0,v.loadRemoteMcpJson)(e,g,N()),n={};try{n=JSON.parse(String(a.content||"{}"))}catch(e){n={mcpServers:{}}}(!n.mcpServers||Array.isArray(n.mcpServers)||"object"!=typeof n.mcpServers)&&(n.mcpServers={}),delete n.mcpServers[t],await (0,v.saveRemoteMcpJson)(e,g,N(),JSON.stringify(n,null,2))}else{let a=n?b(n):t;await (0,v.deleteRuntimeMcp)(e,g,N(),a)}let a=A.filter(e=>e!==t);B(e=>e.filter(e=>e!==t)),S({...x,mcpServers:a}),await ee(a,!0),await en()}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[et,e,g,N,A,x,S,ee,en]);(0,a.useEffect)(()=>{en()},[en]),(0,a.useEffect)(()=>{B([...A])},[A,E]);let es=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();S({...x,mcpServers:t}),await ee(t,!0)},[x,S,ee]),el=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...M,e])]:M.filter(t=>t!==e);B(a);try{await es(a),await en()}catch(e){B(M),s.appToast.error("切换启用状态失败: ".concat(e))}},[M,es,en]),ei=(0,a.useMemo)(()=>I.slice().sort((e,t)=>{var a,n;let r=String(null!=(a=e.source)?a:"").localeCompare(String(null!=(n=t.source)?n:""));if(0!==r)return r;let s=+!M.includes(e.id),l=+!M.includes(t.id);return s!==l?s-l:e.id.localeCompare(t.id)}),[I,M]),eo=(0,a.useMemo)(()=>ei.filter(e=>(function(e,t){var a;let n=t.trim().toLowerCase();if(!n)return!0;let r="remote"===e.source?"远程":"本地";return"".concat(e.id," ").concat(e.label," ").concat(null!=(a=e.description)?a:""," ").concat(r).toLowerCase().includes(n)})(e,$)),[ei,$]),ec=(0,a.useCallback)(t=>{window.open((0,v.exportRuntimeMcpUrl)(e,g,N(),b(t)),"_blank","noopener")},[e,g,N]),eu=(0,a.useCallback)(()=>{F(!0),V(""),(0,v.loadRemoteMcpJson)(e,g,N()).then(e=>{V("string"==typeof e.content?e.content:'{\n "mcpServers": {}\n}\n')}).catch(e=>{s.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),F(!1)})},[e,g,N]),ed=(0,a.useCallback)(async()=>{let t=function(e){let t,a=e.trim();if(!a)return"请输入 JSON 配置内容";try{t=JSON.parse(a)}catch(e){return"JSON 解析失败:".concat(e instanceof Error?e.message:String(e))}if(!t||"object"!=typeof t||Array.isArray(t))return"JSON 根节点必须是对象";let n=t.mcpServers;if(!n||"object"!=typeof n||Array.isArray(n))return"mcpServers 不能为空,且需包含至少一个 server";let r=Object.keys(n).filter(e=>e.trim());if(!r.length)return"mcpServers 不能为空,且需包含至少一个 server";let s=new Set;for(let e of r){let t=e.trim();!t||s.has(t)||s.add(t)}return s.size?null:"未解析到有效的 server 名称"}(K);if(t)return void s.appToast.error(t);H(!0);try{await (0,v.saveRemoteMcpJson)(e,g,N(),K.trim()),s.appToast.success("已保存全局 mcp.json。"),F(!1),await en()}catch(e){s.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{H(!1)}},[e,g,N,K,en]),ep=[{key:"name",title:"名称",headerClassName:" text-[var(--ds-muted)]",cellClassName:" text-[var(--ds-text)]",render:e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)("span",{children:e.label}),(0,t.jsx)(u.StatusBadge,{tone:e.disabled?"default":"success",children:e.disabled?"未启用":"启用"})]})},{key:"description",title:"详情",headerClassName:" text-[var(--ds-muted)]",cellClassName:" text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"source",title:"来源",headerClassName:"w-[96px] text-[var(--ds-muted)]",cellClassName:"w-[96px] text-[var(--ds-text)]",render:e=>"remote"===e.source?"远程":"本地"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(m.AccentSwitch,{checked:M.includes(e.id),disabled:z,onCheckedChange:t=>{el(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[168px] text-[var(--ds-muted)]",cellClassName:"w-[168px]",render:e=>{var a;let n=null!=(a=e.source)?a:"",r="runtime"===n,s="runtime"===n||"remote"===n;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(f.IconTooltipButton,{icon:"Download",label:r?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:z||!r,onClick:()=>ec(e)}),(0,t.jsx)(f.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.label),disabled:z,onClick:()=>ea(e.id)}),(0,t.jsx)(f.IconTooltipButton,{icon:"Trash2",label:s?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:z||!s,onClick:()=>{er(e.id)},iconClassName:"text-red-500"})]})}}],em=$.trim();return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(d.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:eu,className:"mr-[12px]",children:[(0,t.jsx)(k.default,{name:"Edit",size:16,className:"align-middle"}),"编辑远程MCP"]}),(0,t.jsxs)(d.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>_(!0),children:[(0,t.jsx)(k.default,{name:"Import",size:16,className:"align-middle"}),"导入本地MCP"]})]})}),(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(p.Input,{type:"search",value:$,onChange:e=>Y(e.target.value),placeholder:"搜索名称 / 详情 / 来源",className:"h-8 pl-8","aria-label":"搜索 MCP"}),(0,t.jsx)(k.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)("div",{className:"min-h-0",children:O?(0,t.jsx)(c.Loading,{text:"加载中",className:"min-h-[180px]"}):(0,t.jsx)(o.AppTable,{rows:eo,columns:ep,getRowKey:e=>e.id,emptyText:em?"未找到匹配 MCP":void 0})})]}),(0,t.jsx)(h,{open:D,onOpenChange:e=>{_(e),e||en()},wsUrl:e,apiBase:g,agent:N()}),(0,t.jsx)(y,{open:Z,onOpenChange:X,itemId:q,source:W,wsUrl:e,apiBase:g,agent:N(),onSaved:()=>{en(),ee(x.mcpServers,!0)}}),(0,t.jsx)(i.AppDialog,{open:U,onOpenChange:F,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:J,onClick:()=>F(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:J,onClick:()=>void ed(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:K,onChange:e=>V(e.target.value)})})]})}},39721,e=>{"use strict";e.s(["SkillsManageView",()=>P],39721);var t=e.i(18050),a=e.i(71645),n=e.i(65934),r=e.i(87243),s=e.i(13354),l=e.i(50711),i=e.i(51419),o=e.i(19455),c=e.i(72064),u=e.i(92715),d=e.i(93479),p=e.i(75157);function m(e){let{className:a,...n}=e;return(0,t.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,p.cn)("flex w-full justify-end",a),...n})}let f=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("ul",{ref:a,"data-slot":"pagination-content",className:(0,p.cn)("flex flex-row flex-wrap items-center justify-end gap-1",n),...r})});f.displayName="PaginationContent";let g=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("li",{ref:a,"data-slot":"pagination-item",className:(0,p.cn)("",n),...r})});g.displayName="PaginationItem",a.forwardRef((e,a)=>{let{className:n,isActive:r,size:s="icon",...l}=e;return(0,t.jsx)("a",{ref:a,"aria-current":r?"page":void 0,"data-slot":"pagination-link","data-active":r?"true":void 0,className:(0,p.cn)((0,o.buttonVariants)({variant:r?"outline":"ghost",size:s}),n),...l})}).displayName="PaginationLink";var x=e.i(62427),h=e.i(2839);function v(e){let{active:n,wsUrl:r,apiBase:l,agent:i,onAfterInstall:p,className:v}=e,[b,y]=(0,a.useState)(""),[j,k]=(0,a.useState)(1),[C,S]=(0,a.useState)(0),[N,w]=(0,a.useState)([]),[T,A]=(0,a.useState)(!1),[E,I]=(0,a.useState)(""),[P,M]=(0,a.useState)({}),B=(0,a.useRef)(0),O=(0,a.useCallback)(async()=>{let e=++B.current;A(!0),I("");try{let t=await (0,x.listCloudSkillCatalog)(r,l,i,b,j,10);if(e!==B.current)return;let a=Array.isArray(t.items)?t.items:[],n=[];for(let e of a)e&&"object"==typeof e&&e.id&&n.push({id:String(e.id),title:String(e.title||""),skillName:String(e.skillName||""),description:"string"==typeof e.description?e.description:"",installed:!!e.installed});w(n),S(t.totalPages)}catch(t){if(e!==B.current)return;w([]),S(0),I(t instanceof Error?t.message:String(t))}finally{e===B.current&&A(!1)}},[r,l,i,b,j]);(0,a.useEffect)(()=>{if(!n){y(""),k(1),S(0),w([]),I(""),M({}),B.current+=1;return}O()},[n,O]);let R=(0,a.useMemo)(()=>{if(T)return"加载中…";if(E)return"加载失败:".concat(E);let e=N.reduce((e,t)=>e+ +!!t.installed,0);return"已安装 ".concat(e," 项")},[T,E,N]),z=(0,a.useCallback)(async(e,t)=>{M(t=>({...t,[e]:!0}));try{await (0,x.installCloudSkill)(r,l,i,e),s.appToast.success("云端技能已安装:".concat(t)),await O(),null==p||p()}catch(e){s.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(t=>{let a={...t};return delete a[e],a})}},[r,l,i,O,p]);if((0,a.useCallback)(e=>{k(1),y(e)},[]),!n)return null;let L=C>0?"第 ".concat(j,"/").concat(C," 页"):"第 0/0 页",D=T||j<=1,_=T||C<=0||j>=C,U=[{key:"name",title:"名称",headerClassName:"",cellClassName:" text-[var(--ds-text)]",render:e=>e.skillName?"".concat(e.skillName):e.id},{key:"description",title:"详情",headerClassName:"",cellClassName:" text-[var(--ds-text)]",render:e=>(0,t.jsxs)(t.Fragment,{children:[e.title,e.description?" — ".concat(e.description):""]})},{key:"status",title:"状态",headerClassName:"",cellClassName:"whitespace-nowrap text-[var(--ds-text)]",render:e=>e.installed?"已安装":"未安装"},{key:"actions",title:"操作",headerClassName:"w-[96px] text-right ",cellClassName:"w-[116px] text-right",render:e=>{let a=!!P[e.id],n=!!e.installed;return!a&&n?"-":(0,t.jsx)(o.Button,{type:"button",size:"sm",variant:"outline",disabled:a||n,onClick:()=>void z(e.id,e.title||e.skillName||e.id),children:a?"安装中…":n?"已安装":"安装"})}}];return(0,t.jsx)("div",{className:v,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(d.Input,{type:"search",value:b,onChange:e=>y(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(c.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-[var(--ds-muted)]","aria-hidden":!0})]}),(0,t.jsx)("div",{className:"text-[var(--ds-muted)]",children:R}),(0,t.jsx)(u.AppTable,{rows:N,columns:U,getRowKey:e=>e.id,className:"min-h-0 flex-1 rounded-md",bodyProps:{viewportPaginationReserve:64},emptyNode:T?(0,t.jsx)(h.Loading,{text:"加载中…",className:"min-h-[200px]"}):void 0}),(0,t.jsx)(m,{className:"mx-0 w-full",children:(0,t.jsxs)(f,{className:"w-full flex-wrap justify-end gap-2",children:[(0,t.jsx)(g,{children:(0,t.jsxs)(o.Button,{type:"button",variant:"outline",size:"sm",disabled:D,className:"gap-1",onClick:()=>k(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,t.jsx)(c.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,t.jsx)(g,{children:(0,t.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-[var(--ds-muted)]",children:L})}),(0,t.jsx)(g,{children:(0,t.jsxs)(o.Button,{type:"button",variant:"outline",size:"sm",disabled:_,className:"gap-1",onClick:()=>k(e=>e+1),"aria-label":"下一页",children:["下一页",(0,t.jsx)(c.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}var b=e.i(36845),y=e.i(53925);function j(e){let{open:a,onOpenChange:n,wsUrl:r,apiBase:s,agent:l}=e;return(0,t.jsx)(y.ResourceImportDialog,{open:a,onOpenChange:n,title:"导入 Skill zip",description:"选择一个 zip 文件并导入到 skills-runtime。",uploadUrl:(0,b.buildSkillsRuntimeImportUrl)(r,s,l),resetKey:l})}var k=e.i(55242);function C(e){let{open:n,onOpenChange:r,skillName:l,wsUrl:i,apiBase:c,agent:u,onSaved:d}=e,[p,m]=(0,a.useState)(""),[f,g]=(0,a.useState)(!1),[h,v]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!n||!l.trim())return;let e=!1;return g(!0),m(""),(0,x.loadBaseSkillMd)(i,c,u,l).then(t=>{e||m("string"==typeof t.content?t.content:"")}).catch(t=>{e||(s.appToast.error("加载 SKILL.md 失败:".concat(t instanceof Error?t.message:String(t))),r(!1))}).finally(()=>{e||g(!1)}),()=>{e=!0}},[n,l,i,c,u,r]);let b=(0,a.useCallback)(async()=>{if(l.trim()){v(!0);try{await (0,x.saveBaseSkillMd)(i,c,u,l,p),s.appToast.success("SKILL.md 已保存"),r(!1),null==d||d()}catch(e){s.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{v(!1)}}},[l,i,c,u,p,r,d]);return(0,t.jsx)(k.AppDialog,{open:n,onOpenChange:r,title:"编辑 SKILL.md · /".concat(l),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(o.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:f||h,onClick:()=>r(!1),children:"取消"}),(0,t.jsx)(o.Button,{type:"button",size:"lg",disabled:f||h,onClick:()=>void b(),children:"保存"})]}),children:f?(0,t.jsx)("p",{className:"py-6 text-center text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:p,placeholder:"Markdown 源码…",onChange:e=>m(e.target.value)})})}var S=e.i(94055),N=e.i(94197);function w(e){let{items:n,saveBusy:r,onToggleEnabled:s,onEditBase:l,onExport:i,onRemove:o,className:p}=e,[m,f]=(0,a.useState)(""),g=(0,a.useMemo)(()=>n.filter(e=>(function(e,t){var a;let n=t.trim().toLowerCase();return!n||"".concat(e.name," ").concat(null!=(a=e.description)?a:"").toLowerCase().includes(n)})(e,m)),[n,m]),x=[{key:"name",title:"名称",headerClassName:"",cellClassName:"",render:e=>"/".concat(e.name)},{key:"description",title:"详情",headerClassName:"",cellClassName:"",render:e=>e.description||"-"},{key:"status",title:"状态",headerClassName:"w-[160px] ",cellClassName:"w-[160px] text-[var(--ds-text)]",render:e=>"base"===e.source?"基础":"已安装"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[160px] text-right ",cellClassName:"w-[160px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2",children:(0,t.jsx)(S.AccentSwitch,{checked:e.enabled,disabled:r,onCheckedChange:t=>s(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] ",cellClassName:"w-[128px]",render:e=>(0,t.jsx)("div",{className:"inline-flex items-center justify-end gap-1",children:"base"===e.source?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(N.IconTooltipButton,{icon:"Edit",label:"编辑",ariaLabel:"编辑 ".concat(e.name),disabled:r,onClick:()=>l(e.name)}),(0,t.jsx)(N.IconTooltipButton,{icon:"Trash2",label:"系统技能不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:!0})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(N.IconTooltipButton,{icon:"Download",label:"导出",ariaLabel:"导出 ".concat(e.name),disabled:r,onClick:()=>i(e.name)}),(0,t.jsx)(N.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:r,onClick:()=>{o(e.name)}})]})})}],h=m.trim();return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(d.Input,{type:"search",value:m,onChange:e=>f(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(c.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)(u.AppTable,{rows:g,columns:x,getRowKey:e=>"skills:".concat(e.name),className:p,emptyText:h?"无匹配的 Skill":void 0})]})}var T=e.i(68499),A=e.i(56708);function E(e,t){var a,n,r;let s=(r=null!=(n=null!=(a=e.description)?a:e.whenToUse)?n:"")?r.length>100?r.slice(0,100):r:"";return{...e,id:e.name,label:"/".concat(e.name),description:s,isRuntime:t,canManage:e.canManage}}let I=[{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function P(){let e=(0,n.useAppStore)(e=>e.wsUrl),u=(0,n.useAppStore)(e=>e.apiBase),d=(0,n.useAppStore)(e=>e.agentConfig),p=(0,n.useAppStore)(e=>e.patchAgentConfig),{currentAgent:m,loadAgentConfig:f}=(0,r.useSession)(),g=(0,l.usePersistAgentConfigField)("skills"),b=d.skills,[y,k]=(0,a.useState)([]),[S,N]=(0,a.useState)([]),[P,M]=(0,a.useState)(!1),[B,O]=(0,a.useState)(!1),[R,z]=(0,a.useState)(!1),[L,D]=(0,a.useState)("installed"),[_,U]=(0,a.useState)(!1),[F,K]=(0,a.useState)(""),[V,J]=(0,a.useState)(!1);(0,a.useEffect)(()=>{f()},[f]);let H=(0,a.useCallback)(async(e,t)=>{z(!0);try{await g(e,{silent:t})}finally{z(!1)}},[g]),q=(0,a.useCallback)(async()=>{k([]),M(!0);try{var t;let a=await (0,x.listBaseSkills)(e,u,m());k((null!=(t=a.skills)?t:[]).map(e=>E(e,!1)))}catch(e){k([]),s.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(!1)}},[e,u,m]),G=(0,a.useCallback)(async()=>{N([]),O(!0);try{var t;let a=await (0,x.listInstalledSkills)(e,u,m());N((null!=(t=a.skills)?t:[]).map(e=>E(e,!0)))}catch(e){N([]),s.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{O(!1)}},[e,u,m]),W=(0,a.useCallback)(async()=>{await Promise.all([q(),G()])},[q,G]),Q=(0,a.useCallback)(async t=>{if(await (0,T.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,x.deleteRuntimeSkill)(e,u,m(),t);let a=b.filter(e=>e!==t);p({skills:a}),await H(a,!0),await W()}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,u,m,b,p,H,W]);(0,a.useEffect)(()=>{"installed"===L&&W()},[L,W]);let Z=(0,a.useCallback)(()=>{W()},[W]),X=(0,a.useMemo)(()=>{let e=y.map(e=>({name:e.id,source:"base",description:e.description||"",enabled:b.includes(e.id)})),t=new Set(e.map(e=>e.name)),a=S.filter(e=>!t.has(e.id)).slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,source:"runtime",description:e.description||"",enabled:b.includes(e.id)}));return[...e.sort((e,t)=>e.name.localeCompare(t.name)),...a]},[y,S,b]),$=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...b,e])].sort():b.filter(t=>t!==e);p({skills:a}),H(a,!0)},[b,p,H]),Y=(0,a.useCallback)(t=>{window.open((0,x.exportRuntimeSkillUrl)(e,u,m(),t),"_blank","noopener")},[e,u,m]),ee=(0,a.useCallback)(e=>{K(e),J(!0)},[]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(A.ManageChromeHeaderActions,{children:(0,t.jsxs)(o.Button,{id:"btnAgentImportSkill",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>U(!0),children:[(0,t.jsx)(c.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,t.jsxs)(i.AppTabs,{tabs:I,value:L,listVariant:"line",onChange:e=>D(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:P||B?(0,t.jsx)(h.Loading,{text:"加载中…",className:"min-h-[200px]"}):(0,t.jsx)(w,{items:X,saveBusy:R,onToggleEnabled:$,onEditBase:ee,onExport:Y,onRemove:Q})}),(0,t.jsx)(i.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(v,{active:"cloud_catalog"===L,wsUrl:e,apiBase:u,agent:m(),onAfterInstall:Z,className:"min-h-0 flex-1"})})]}),(0,t.jsx)(j,{open:_,onOpenChange:e=>{U(e),e||W()},wsUrl:e,apiBase:u,agent:m()}),(0,t.jsx)(C,{open:V,onOpenChange:J,skillName:F,wsUrl:e,apiBase:u,agent:m(),onSaved:()=>void W()})]})}},69230,e=>{"use strict";e.s(["SettingsRouteBoundary",()=>i]);var t=e.i(18050),a=e.i(22016),n=e.i(18566),r=e.i(82787),s=e.i(97249),l=e.i(65934);function i(e){let{children:i}=e,o=(0,n.usePathname)(),c=(0,l.useAppStore)(e=>e.agentId),u=(0,s.buildAppNavHref)(r.MANAGE_DEFAULT_HREF,{ensureAgent:!0,agent:c});return o&&!(0,r.isManageRouteEnabled)((0,s.normalizeAppPathname)(o))?(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsx)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-4 pb-4",children:(0,t.jsxs)("div",{className:"manage-page-title-block",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:"页面不可用"}),(0,t.jsx)("p",{className:"manage-page-desc",children:"当前设置页未开放或已被禁用。"})]})}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col items-center justify-center gap-3 text-[var(--ds-muted)]",children:(0,t.jsx)(a.default,{className:"text-zinc-900 underline underline-offset-4",href:u,prefetch:!1,children:"返回默认设置页"})})]}):(0,t.jsx)(t.Fragment,{children:i})}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,18900,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function n(e){let t=String(e).split(/\r?\n/),n={},r=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let l=t[e],s=r.exec(l);s&&(n[s[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(s[2]))}return n}function r(e,n){let r=Array.isArray(e)?e:[],l=new Set;for(let e=0;e<r.length;e++){let t=r[e];t&&"object"==typeof t&&"string"==typeof t.key&&l.add(t.key)}let s=[];for(let e=0;e<r.length;e++){let l=r[e];if(!l||"object"!=typeof l||"string"!=typeof l.key)continue;let i=l.key;if(!Object.prototype.hasOwnProperty.call(n,i))continue;let a=n[i];null!=a&&""!==String(a).trim()&&s.push("".concat(i,"=").concat(t(String(a))))}let i=Object.keys(n).filter(e=>!l.has(e)).sort();for(let e=0;e<i.length;e++){let r=i[e],l=n[r];null!=l&&""!==String(l).trim()&&s.push("".concat(r,"=").concat(t(String(l))))}let a=s.join("\n");return a.length>0?"".concat(a,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>r,"parseEnvContentToMap",()=>n])},24687,e=>{"use strict";e.s(["Textarea",()=>r]);var t=e.i(18050),n=e.i(75157);function r(e){let{className:r,...l}=e;return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,n.cn)("flex min-h-20 w-full rounded-md border border-solid border-border bg-transparent px-3 py-2 text-sm outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none]",r),...l})}},20783,e=>{"use strict";e.s(["composeRefs",()=>r,"useComposedRefs",()=>l]);var t=e.i(71645);function n(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function r(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>{let r=!1,l=t.map(t=>{let l=n(t,e);return r||"function"!=typeof l||(r=!0),l});if(r)return()=>{for(let e=0;e<l.length;e++){let r=l[e];"function"==typeof r?r():n(t[e],null)}}}}function l(){for(var e=arguments.length,n=Array(e),l=0;l<e;l++)n[l]=arguments[l];return t.useCallback(r(...n),n)}},69051,e=>{"use strict";e.s(["loadDemoSingleMessage",()=>i,"loadSystemEnv",()=>r,"saveSystemEnv",()=>l,"saveSystemMcpJson",()=>s]);var t=e.i(29250),n=e.i(36845);async function r(e,r,l){return(0,t.get)((0,n.buildSystemEnvApiUrl)(e,r,l))}async function l(e,r,l,s){await (0,t.patch)((0,n.buildSystemEnvApiUrl)(e,r,l),{content:s})}async function s(e,r,l,s){await (0,t.patch)((0,n.buildSystemMcpJsonApiUrl)(e,r,l),{content:s})}async function i(){return(0,t.get)("/api/demo/single-message")}},55242,e=>{"use strict";e.s(["AppDialog",()=>s]);var t=e.i(18050),n=e.i(71645),r=e.i(76639),l=e.i(75157);function s(e){let{open:s,onOpenChange:i,title:a,children:o,footer:c,width:h="max-w-3xl",minHeight:p}=e,u=(0,n.useId)();return(0,t.jsx)(r.Dialog,{open:s,onOpenChange:i,children:(0,t.jsxs)(r.DialogContent,{"aria-labelledby":u,className:(0,l.cn)(h,p?"!min-h-[--min-h]":""),style:p?{"--min-h":p}:void 0,children:[(0,t.jsxs)(r.DialogHeader,{children:[(0,t.jsx)(r.DialogTitle,{id:u,children:a}),(0,t.jsx)(r.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(r.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},12732,50052,e=>{"use strict";e.s(["extractMessageBody",()=>eR,"renderMd",()=>eT],12732);var t,n=e.i(99749);function r(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var l=r(),s={exec:()=>null};function i(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),l=t[r];return l||(l=e(r),t[r]=l),l}}function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n="string"==typeof e?e:e.source,r={replace:(e,t)=>{let l="string"==typeof t?t:t.source;return l=l.replace(c.caret,"$1"),n=n.replace(e,l),r},getRegex:()=>new RegExp(n,t)};return r}var o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";try{return!!RegExp("(?<=1)(?<!1)"+e)}catch(e){return!1}}(),c={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:RegExp("[\\p{L}\\p{N}]","u"),escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp("^( {0,3}".concat(e,")((?:[ ][^\\n]*)?(?:\\n|$))")),nextBulletRegex:i(e=>new RegExp("^ {0,".concat(e,"}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))"))),hrRegex:i(e=>new RegExp("^ {0,".concat(e,"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"))),fencesBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}(?:```|~~~)"))),headingBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}#"))),htmlBeginRegex:i(e=>RegExp("^ {0,".concat(e,"}<(?:[a-z].*>|!--)"),"i")),blockquoteBeginRegex:i(e=>new RegExp("^ {0,".concat(e,"}>")))},h=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,p=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,u=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,g=a(u).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),d=a(u).replace(/bull/g,p).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),k=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,f=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,x=a(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",f).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),b=a(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,p).getRegex(),m="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,y=a("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",w).replace("tag",m).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),S=a(k).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),v={blockquote:a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",S).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:x,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:h,html:y,lheading:g,list:b,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:S,table:s,text:/^[^\n]+/},R=a("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),T={...v,lheading:d,table:R,paragraph:a(k).replace("hr",h).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",R).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex()},A={...v,html:a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:s,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:a(k).replace("hr",h).replace("heading"," *#{1,6} *[^\n]").replace("lheading",g).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},_=/^( {2,}|\\)\n(?!\s*$)/,$=RegExp("[\\p{P}\\p{S}]","u"),z=RegExp("[\\s\\p{P}\\p{S}]","u"),E=RegExp("[^\\s\\p{P}\\p{S}]","u"),P=a(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,z).getRegex(),C=RegExp("(?!~)[\\p{P}\\p{S}]","u"),L=RegExp("(?!~)[\\s\\p{P}\\p{S}]","u"),I=RegExp("(?:[^\\s\\p{P}\\p{S}]|~)","u"),B=a(/link|precode-code|html/,"g").replace("link",RegExp("\\[(?:[^\\[\\]`]|(?<a>`+)[^`]+\\k<a>(?!`))*?\\]\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)]|\\((?:\\\\[\\s\\S]|[^\\\\\\(\\)])*\\))*\\)")).replace("precode-",o?"(?<!`)()":"(^^|[^`])").replace("code",RegExp("(?<b>`+)[^`]+\\k<b>(?!`)")).replace("html",/<(?! )[^<>]*?>/).getRegex(),q=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,j=a(q,"u").replace(/punct/g,$).getRegex(),D=a(q,"u").replace(/punct/g,C).getRegex(),Z="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",O=a(Z,"gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,z).replace(/punct/g,$).getRegex(),M=a(Z,"gu").replace(/notPunctSpace/g,I).replace(/punctSpace/g,L).replace(/punct/g,C).getRegex(),N=a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,z).replace(/punct/g,$).getRegex(),Q=a(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,$).getRegex(),F=a("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,z).replace(/punct/g,$).getRegex(),H=a(/\\(punct)/,"gu").replace(/punct/g,$).getRegex(),U=a(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),G=a(w).replace("(?:-->|$)","-->").getRegex(),J=a("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",G).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,X=a(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",W).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),K=a(/^!?\[(label)\]\[(ref)\]/).replace("label",W).replace("ref",f).getRegex(),V=a(/^!?\[(ref)\](?:\[\])?/).replace("ref",f).getRegex(),Y=a("reflink|nolink(?!\\()","g").replace("reflink",K).replace("nolink",V).getRegex(),ee=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,et={_backpedal:s,anyPunctuation:H,autolink:U,blockSkip:B,br:_,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:s,delLDelim:s,delRDelim:s,emStrongLDelim:j,emStrongRDelimAst:O,emStrongRDelimUnd:N,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:X,nolink:V,punctuation:P,reflink:K,reflinkSearch:Y,tag:J,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:s},en={...et,link:a(/^!?\[(label)\]\((.*?)\)/).replace("label",W).getRegex(),reflink:a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W).getRegex()},er={...et,emStrongRDelimAst:M,emStrongLDelim:D,delLDelim:Q,delRDelim:F,url:a(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ee).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:a(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",ee).getRegex()},el={...er,br:a(_).replace("{2,}","*").getRegex(),text:a(er.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},es={normal:v,gfm:T,pedantic:A},ei={normal:et,gfm:er,breaks:el,pedantic:en},ea={"&":"&","<":"<",">":">",'"':""","'":"'"},eo=e=>ea[e];function ec(e,t){if(t){if(c.escapeTest.test(e))return e.replace(c.escapeReplace,eo)}else if(c.escapeTestNoEncode.test(e))return e.replace(c.escapeReplaceNoEncode,eo);return e}function eh(e){try{e=encodeURI(e).replace(c.percentDecode,"%")}catch(e){return null}return e}function ep(e,t){var n;let r=e.replace(c.findPipe,(e,t,n)=>{let r=!1,l=t;for(;--l>=0&&"\\"===n[l];)r=!r;return r?"|":" |"}).split(c.splitPipe),l=0;if(r[0].trim()||r.shift(),!(r.length>0)||(null==(n=r.at(-1))?void 0:n.trim())||r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;l<r.length;l++)r[l]=r[l].trim().replace(c.slashPipe,"|");return r}function eu(e,t,n){let r=e.length;if(0===r)return"";let l=0;for(;l<r;){let s=e.charAt(r-l-1);if(s!==t||n)if(s!==t&&n)l++;else break;else l++}return e.slice(0,r-l)}function eg(e){let t=e.split("\n"),n=t.length-1;for(;n>=0&&c.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join("\n")}function ed(e,t,n,r,l){let s=t.href,i=t.title||null,a=e[1].replace(l.other.outputLinkReplace,"$1");r.state.inLink=!0;let o={type:"!"===e[0].charAt(0)?"image":"link",raw:n,href:s,title:i,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,o}var ek=class{space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:eg(t[0]),n=e.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e,codeBlockStyle:"indented",text:n}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=function(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(null===r)return t;let l=r[1];return t.split("\n").map(e=>{let t=e.match(n.other.beginningSpace);if(null===t)return e;let[r]=t;return r.length>=l.length?e.slice(l.length):e}).join("\n")}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=eu(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:eu(t[0],"\n"),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eu(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=eu(t[0],"\n").split("\n"),n="",r="",l=[];for(;e.length>0;){let t=!1,s=[],i;for(i=0;i<e.length;i++)if(this.rules.other.blockquoteStart.test(e[i]))s.push(e[i]),t=!0;else if(t)break;else s.push(e[i]);e=e.slice(i);let a=s.join("\n"),o=a.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");n=n?"".concat(n,"\n").concat(a):a,r=r?"".concat(r,"\n").concat(o):o;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(o,l,!0),this.lexer.state.top=c,0===e.length)break;let h=l.at(-1);if((null==h?void 0:h.type)==="code")break;if((null==h?void 0:h.type)==="blockquote"){let t=h.raw+"\n"+e.join("\n"),s=this.blockquote(t);l[l.length-1]=s,n=n.substring(0,n.length-h.raw.length)+s.raw,r=r.substring(0,r.length-h.text.length)+s.text;break}if((null==h?void 0:h.type)==="list"){let t=h.raw+"\n"+e.join("\n"),s=this.list(t);l[l.length-1]=s,n=n.substring(0,n.length-h.raw.length)+s.raw,r=r.substring(0,r.length-h.raw.length)+s.raw,e=t.substring(l.at(-1).raw.length).split("\n");continue}}return{type:"blockquote",raw:n,tokens:l,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,l={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?"\\d{1,9}\\".concat(n.slice(-1)):"\\".concat(n),this.options.pedantic&&(n=r?n:"[*+-]");let s=this.rules.other.listItemRegex(n),i=!1;for(;e;){let n=!1,r="",a="";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=t,r="";for(let t of e)if(" "===t){let e=4-n%4;r+=" ".repeat(e),n+=e}else r+=t,n++;return r}(t[2].split("\n",1)[0],t[1].length),c=e.split("\n",1)[0],h=!o.trim(),p=0;if(this.options.pedantic?(p=2,a=o.trimStart()):h?p=t[1].length+1:(p=(p=o.search(this.rules.other.nonSpaceChar))>4?1:p,a=o.slice(p),p+=t[1].length),h&&this.rules.other.blankLine.test(c)&&(r+=c+"\n",e=e.substring(c.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(p),n=this.rules.other.hrRegex(p),l=this.rules.other.fencesBeginRegex(p),s=this.rules.other.headingBeginRegex(p),i=this.rules.other.htmlBeginRegex(p),u=this.rules.other.blockquoteBeginRegex(p);for(;e;){let g=e.split("\n",1)[0],d;if(c=g,d=this.options.pedantic?c=c.replace(this.rules.other.listReplaceNesting," "):c.replace(this.rules.other.tabCharGlobal," "),l.test(c)||s.test(c)||i.test(c)||u.test(c)||t.test(c)||n.test(c))break;if(d.search(this.rules.other.nonSpaceChar)>=p||!c.trim())a+="\n"+d.slice(p);else{if(h||o.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||l.test(o)||s.test(o)||n.test(o))break;a+="\n"+c}h=!c.trim(),r+=g+"\n",e=e.substring(g.length+1),o=d.slice(p)}}l.loose||(i?l.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(i=!0)),l.items.push({type:"list_item",raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(a),loose:!1,text:a,tokens:[]}),l.raw+=r}let a=l.items.at(-1);if(!a)return;for(let e of(a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd(),l.raw=l.raw.trimEnd(),l.items)){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&((null==t?void 0:t.type)==="text"||(null==t?void 0:t.type)==="paragraph")){e.text=e.text.replace(this.rules.other.listReplaceTask,""),t.raw=t.raw.replace(this.rules.other.listReplaceTask,""),t.text=t.text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:"checkbox",raw:n[0]+" ",checked:"[ ]"!==n[0]};e.checked=t.checked,l.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:"paragraph",raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&(e.task=!1);if(!l.loose){let t=e.tokens.filter(e=>"space"===e.type);l.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(l.loose)for(let e of l.items)for(let t of(e.loose=!0,e.tokens))"text"===t.type&&(t.type="paragraph");return l}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=eg(t[0]);return{type:"html",block:!0,raw:e,pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:eu(t[0],"\n"),href:n,title:r}}}table(e){var t;let n=this.rules.block.table.exec(e);if(!n||!this.rules.other.tableDelimiter.test(n[2]))return;let r=ep(n[1]),l=n[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=(null==(t=n[3])?void 0:t.trim())?n[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],i={type:"table",raw:eu(n[0],"\n"),header:[],align:[],rows:[]};if(r.length===l.length){for(let e of l)this.rules.other.tableAlignRight.test(e)?i.align.push("right"):this.rules.other.tableAlignCenter.test(e)?i.align.push("center"):this.rules.other.tableAlignLeft.test(e)?i.align.push("left"):i.align.push(null);for(let e=0;e<r.length;e++)i.header.push({text:r[e],tokens:this.lexer.inline(r[e]),header:!0,align:i.align[e]});for(let e of s)i.rows.push(ep(e,i.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:i.align[t]})));return i}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:"heading",raw:eu(t[0],"\n"),depth:"="===t[2].charAt(0)?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=eu(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(")"))return -1;let n=0;for(let r=0;r<e.length;r++)if("\\"===e[r])r++;else if("("===e[r])n++;else if(e[r]===t[1]&&--n<0)return r;return n>0?-2:-1}(t[2],"()");if(-2===e)return;if(e>-1){let n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),ed(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return ed(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,l,s,i=n,a=0,o="*"===r[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+n);null!==(r=o.exec(t));){if(!(l=r[1]||r[2]||r[3]||r[4]||r[5]||r[6]))continue;if(s=[...l].length,r[3]||r[4]){i+=s;continue}if((r[5]||r[6])&&n%3&&!((n+s)%3)){a+=s;continue}if((i-=s)>0)continue;s=Math.min(s,s+i+a);let t=[...r[0]][0].length,o=e.slice(0,n+r.index+t+s);if(Math.min(n,s)%2){let e=o.slice(1,-1);return{type:"em",raw:o,text:e,tokens:this.lexer.inlineTokens(e)}}let c=o.slice(2,-2);return{type:"strong",raw:o,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,l,s,i=n,a=this.rules.inline.delRDelim;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!==(r=a.exec(t));){if(!(l=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])||(s=[...l].length)!==n)continue;if(r[3]||r[4]){i+=s;continue}if((i-=s)>0)continue;s=Math.min(s,s+i);let t=[...r[0]][0].length,a=e.slice(0,n+r.index+t+s),o=a.slice(n,-n);return{type:"del",raw:a,text:o,tokens:this.lexer.inlineTokens(o)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return n="@"===t[2]?"mailto:"+(e=t[1]):e=t[1],{type:"link",raw:t[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,l;if("@"===t[2])l="mailto:"+(e=t[0]);else{var n,r;let s;do s=t[0],t[0]=null!=(r=null==(n=this.rules.inline._backpedal.exec(t[0]))?void 0:n[0])?r:"";while(s!==t[0])e=t[0],l="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:l,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"rules",void 0),(0,n._)(this,"lexer",void 0),this.options=e||l}},ef=class e{static get rules(){return{block:es,inline:ei}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(c.carriageReturn,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(c.tabCharGlobal," ").replace(c.spaceLine,""));let r=1/0;for(;e;){var l,s,i;let a;if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(null==(s=this.options.extensions)||null==(l=s.block)?void 0:l.some(n=>!!(a=n.call({lexer:this},e,t))&&(e=e.substring(a.raw.length),t.push(a),!0)))continue;if(a=this.tokenizer.space(e)){e=e.substring(a.raw.length);let n=t.at(-1);1===a.raw.length&&void 0!==n?n.raw+="\n":t.push(a);continue}if(a=this.tokenizer.code(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="paragraph"||(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.text,this.inlineQueue.at(-1).src=n.text):t.push(a);continue}if((a=this.tokenizer.fences(e))||(a=this.tokenizer.heading(e))||(a=this.tokenizer.hr(e))||(a=this.tokenizer.blockquote(e))||(a=this.tokenizer.list(e))||(a=this.tokenizer.html(e))){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.def(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="paragraph"||(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[a.tag]||(this.tokens.links[a.tag]={href:a.href,title:a.title},t.push(a));continue}if((a=this.tokenizer.table(e))||(a=this.tokenizer.lheading(e))){e=e.substring(a.raw.length),t.push(a);continue}let o=e;if(null==(i=this.options.extensions)?void 0:i.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(r=e.call({lexer:this},n))&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(o=e.substring(0,t+1))}if(this.state.top&&(a=this.tokenizer.paragraph(o))){let r=t.at(-1);n&&(null==r?void 0:r.type)==="paragraph"?(r.raw+=(r.raw.endsWith("\n")?"":"\n")+a.raw,r.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(a),n=o.length!==e.length,e=e.substring(a.raw.length);continue}if(a=this.tokenizer.text(e)){e=e.substring(a.raw.length);let n=t.at(-1);(null==n?void 0:n.type)==="text"?(n.raw+=(n.raw.endsWith("\n")?"":"\n")+a.raw,n.text+="\n"+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(a);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e){var t,n,r,l,s,i;let a,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.tokenizer.lexer=this;let c=e,h=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!==(h=this.tokenizer.rules.inline.reflinkSearch.exec(c));)e.includes(h[0].slice(h[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,h.index)+"["+"a".repeat(h[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!==(h=this.tokenizer.rules.inline.anyPunctuation.exec(c));)c=c.slice(0,h.index)+"++"+c.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!==(h=this.tokenizer.rules.inline.blockSkip.exec(c));)a=h[2]?h[2].length:0,c=c.slice(0,h.index+a)+"["+"a".repeat(h[0].length-a-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);c=null!=(r=null==(n=this.options.hooks)||null==(t=n.emStrongMask)?void 0:t.call({lexer:this},c))?r:c;let p=!1,u="",g=1/0;for(;e;){let t;if(e.length<g)g=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(p||(u=""),p=!1,null==(s=this.options.extensions)||null==(l=s.inline)?void 0:l.some(n=>!!(t=n.call({lexer:this},e,o))&&(e=e.substring(t.raw.length),o.push(t),!0)))continue;if((t=this.tokenizer.escape(e))||(t=this.tokenizer.tag(e))||(t=this.tokenizer.link(e))){e=e.substring(t.raw.length),o.push(t);continue}if(t=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(t.raw.length);let n=o.at(-1);"text"===t.type&&(null==n?void 0:n.type)==="text"?(n.raw+=t.raw,n.text+=t.text):o.push(t);continue}if((t=this.tokenizer.emStrong(e,c,u))||(t=this.tokenizer.codespan(e))||(t=this.tokenizer.br(e))||(t=this.tokenizer.del(e,c,u))||(t=this.tokenizer.autolink(e))||!this.state.inLink&&(t=this.tokenizer.url(e))){e=e.substring(t.raw.length),o.push(t);continue}let n=e;if(null==(i=this.options.extensions)?void 0:i.startInline){let t=1/0,r=e.slice(1),l;this.options.extensions.startInline.forEach(e=>{"number"==typeof(l=e.call({lexer:this},r))&&l>=0&&(t=Math.min(t,l))}),t<1/0&&t>=0&&(n=e.substring(0,t+1))}if(t=this.tokenizer.inlineText(n)){e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(u=t.raw.slice(-1)),p=!0;let n=o.at(-1);(null==n?void 0:n.type)==="text"?(n.raw+=t.raw,n.text+=t.text):o.push(t);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return o}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw Error(t)}constructor(e){(0,n._)(this,"tokens",void 0),(0,n._)(this,"options",void 0),(0,n._)(this,"state",void 0),(0,n._)(this,"inlineQueue",void 0),(0,n._)(this,"tokenizer",void 0),this.tokens=[],this.tokens.links=Object.create(null),this.options=e||l,this.options.tokenizer=this.options.tokenizer||new ek,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:c,block:es.normal,inline:ei.normal};this.options.pedantic?(t.block=es.pedantic,t.inline=ei.pedantic):this.options.gfm&&(t.block=es.gfm,this.options.breaks?t.inline=ei.breaks:t.inline=ei.gfm),this.tokenizer.rules=t}},ex=class{space(e){return""}code(e){var t;let{text:n,lang:r,escaped:l}=e,s=null==(t=(r||"").match(c.notSpaceStart))?void 0:t[0],i=n.replace(c.endingNewline,"")+"\n";return s?'<pre><code class="language-'+ec(s)+'">'+(l?i:ec(i,!0))+"</code></pre>\n":"<pre><code>"+(l?i:ec(i,!0))+"</code></pre>\n"}blockquote(e){let{tokens:t}=e;return"<blockquote>\n".concat(this.parser.parse(t),"</blockquote>\n")}html(e){let{text:t}=e;return t}def(e){return""}heading(e){let{tokens:t,depth:n}=e;return"<h".concat(n,">").concat(this.parser.parseInline(t),"</h").concat(n,">\n")}hr(e){return"<hr>\n"}list(e){let t=e.ordered,n=e.start,r="";for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let l=t?"ol":"ul";return"<"+l+(t&&1!==n?' start="'+n+'"':"")+">\n"+r+"</"+l+">\n"}listitem(e){return"<li>".concat(this.parser.parse(e.tokens),"</li>\n")}checkbox(e){let{checked:t}=e;return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph(e){let{tokens:t}=e;return"<p>".concat(this.parser.parseInline(t),"</p>\n")}table(e){let t="",n="";for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r="";for(let t=0;t<e.rows.length;t++){let l=e.rows[t];n="";for(let e=0;e<l.length;e++)n+=this.tablecell(l[e]);r+=this.tablerow({text:n})}return r&&(r="<tbody>".concat(r,"</tbody>")),"<table>\n<thead>\n"+t+"</thead>\n"+r+"</table>\n"}tablerow(e){let{text:t}=e;return"<tr>\n".concat(t,"</tr>\n")}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?"<".concat(n,' align="').concat(e.align,'">'):"<".concat(n,">"))+t+"</".concat(n,">\n")}strong(e){let{tokens:t}=e;return"<strong>".concat(this.parser.parseInline(t),"</strong>")}em(e){let{tokens:t}=e;return"<em>".concat(this.parser.parseInline(t),"</em>")}codespan(e){let{text:t}=e;return"<code>".concat(ec(t,!0),"</code>")}br(e){return"<br>"}del(e){let{tokens:t}=e;return"<del>".concat(this.parser.parseInline(t),"</del>")}link(e){let{href:t,title:n,tokens:r}=e,l=this.parser.parseInline(r),s=eh(t);if(null===s)return l;let i='<a href="'+(t=s)+'"';return n&&(i+=' title="'+ec(n)+'"'),i+=">"+l+"</a>"}image(e){let{href:t,title:n,text:r,tokens:l}=e;l&&(r=this.parser.parseInline(l,this.parser.textRenderer));let s=eh(t);if(null===s)return ec(r);t=s;let i='<img src="'.concat(t,'" alt="').concat(ec(r),'"');return n&&(i+=' title="'.concat(ec(n),'"')),i+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ec(e.text)}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"parser",void 0),this.options=e||l}},eb=class{strong(e){let{text:t}=e;return t}em(e){let{text:t}=e;return t}codespan(e){let{text:t}=e;return t}del(e){let{text:t}=e;return t}html(e){let{text:t}=e;return t}text(e){let{text:t}=e;return t}link(e){let{text:t}=e;return""+t}image(e){let{text:t}=e;return""+t}br(){return""}checkbox(e){let{raw:t}=e;return t}},em=class e{static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t="";for(let l=0;l<e.length;l++){var n,r;let s=e[l];if(null==(r=this.options.extensions)||null==(n=r.renderers)?void 0:n[s.type]){let e=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(s.type)){t+=e||"";continue}}switch(s.type){case"space":t+=this.renderer.space(s);break;case"hr":t+=this.renderer.hr(s);break;case"heading":t+=this.renderer.heading(s);break;case"code":t+=this.renderer.code(s);break;case"table":t+=this.renderer.table(s);break;case"blockquote":t+=this.renderer.blockquote(s);break;case"list":t+=this.renderer.list(s);break;case"checkbox":t+=this.renderer.checkbox(s);break;case"html":t+=this.renderer.html(s);break;case"def":t+=this.renderer.def(s);break;case"paragraph":t+=this.renderer.paragraph(s);break;case"text":t+=this.renderer.text(s);break;default:{let e='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return t}parseInline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.renderer;this.renderer.parser=this;let n="";for(let s=0;s<e.length;s++){var r,l;let i=e[s];if(null==(l=this.options.extensions)||null==(r=l.renderers)?void 0:r[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=e||"";continue}}switch(i.type){case"escape":case"text":n+=t.text(i);break;case"html":n+=t.html(i);break;case"link":n+=t.link(i);break;case"image":n+=t.image(i);break;case"checkbox":n+=t.checkbox(i);break;case"strong":n+=t.strong(i);break;case"em":n+=t.em(i);break;case"codespan":n+=t.codespan(i);break;case"br":n+=t.br(i);break;case"del":n+=t.del(i);break;default:{let e='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return n}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"renderer",void 0),(0,n._)(this,"textRenderer",void 0),this.options=e||l,this.options.renderer=this.options.renderer||new ex,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new eb}},ew=(t=class{preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.block;return e?ef.lex:ef.lexInline}provideParser(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.block;return e?em.parse:em.parseInline}constructor(e){(0,n._)(this,"options",void 0),(0,n._)(this,"block",void 0),this.options=e||l}},(0,n._)(t,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),(0,n._)(t,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),t),ey=new class{walkTokens(e,t){let n=[];for(let s of e)switch(n=n.concat(t.call(this,s)),s.type){case"table":for(let e of s.header)n=n.concat(this.walkTokens(e.tokens,t));for(let e of s.rows)for(let r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(s.items,t));break;default:{var r,l;let e=s;(null==(l=this.defaults.extensions)||null==(r=l.childTokens)?void 0:r[e.type])?this.defaults.extensions.childTokens[e.type].forEach(r=>{let l=e[r].flat(1/0);n=n.concat(this.walkTokens(l,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];let r=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(e=>{let t={...e};if(t.async=this.defaults.async||t.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let t=r.renderers[e.name];t?r.renderers[e.name]=function(){for(var n=arguments.length,r=Array(n),l=0;l<n;l++)r[l]=arguments[l];let s=e.renderer.apply(this,r);return!1===s&&(s=t.apply(this,r)),s}:r.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let t=r[e.level];t?t.unshift(e.tokenizer):r[e.level]=[e.tokenizer],e.start&&("block"===e.level?r.startBlock?r.startBlock.push(e.start):r.startBlock=[e.start]:"inline"===e.level&&(r.startInline?r.startInline.push(e.start):r.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(r.childTokens[e.name]=e.childTokens)}),t.extensions=r),e.renderer){let n=this.defaults.renderer||new ex(this.defaults);for(let t in e.renderer){if(!(t in n))throw Error("renderer '".concat(t,"' does not exist"));if(["options","parser"].includes(t))continue;let r=e.renderer[t],l=n[t];n[t]=function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];let i=r.apply(n,t);return!1===i&&(i=l.apply(n,t)),i||""}}t.renderer=n}if(e.tokenizer){let n=this.defaults.tokenizer||new ek(this.defaults);for(let t in e.tokenizer){if(!(t in n))throw Error("tokenizer '".concat(t,"' does not exist"));if(["options","rules","lexer"].includes(t))continue;let r=e.tokenizer[t],l=n[t];n[t]=function(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];let i=r.apply(n,t);return!1===i&&(i=l.apply(n,t)),i}}t.tokenizer=n}if(e.hooks){let r=this.defaults.hooks||new ew;for(let t in e.hooks){var n=this;if(!(t in r))throw Error("hook '".concat(t,"' does not exist"));if(["options","block"].includes(t))continue;let l=e.hooks[t],s=r[t];ew.passThroughHooks.has(t)?r[t]=e=>{if(this.defaults.async&&ew.passThroughHooksRespectAsync.has(t))return(async()=>{let t=await l.call(r,e);return s.call(r,t)})();let n=l.call(r,e);return s.call(r,n)}:r[t]=function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(n.defaults.async)return(async()=>{let e=await l.apply(r,t);return!1===e&&(e=await s.apply(r,t)),e})();let a=l.apply(r,t);return!1===a&&(a=s.apply(r,t)),a}}t.hooks=r}if(e.walkTokens){let n=this.defaults.walkTokens,r=e.walkTokens;t.walkTokens=function(e){let t=[];return t.push(r.call(this,e)),n&&(t=t.concat(n.call(this,e))),t}}this.defaults={...this.defaults,...t}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ef.lex(e,null!=t?t:this.defaults)}parser(e,t){return em.parse(e,null!=t?t:this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},l={...this.defaults,...r},s=this.onError(!!l.silent,!!l.async);if(!0===this.defaults.async&&!1===r.async)return s(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return s(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return s(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(l.hooks&&(l.hooks.options=l,l.hooks.block=e),l.async)return(async()=>{let n=l.hooks?await l.hooks.preprocess(t):t,r=await (l.hooks?await l.hooks.provideLexer(e):e?ef.lex:ef.lexInline)(n,l),s=l.hooks?await l.hooks.processAllTokens(r):r;l.walkTokens&&await Promise.all(this.walkTokens(s,l.walkTokens));let i=await (l.hooks?await l.hooks.provideParser(e):e?em.parse:em.parseInline)(s,l);return l.hooks?await l.hooks.postprocess(i):i})().catch(s);try{l.hooks&&(t=l.hooks.preprocess(t));let n=(l.hooks?l.hooks.provideLexer(e):e?ef.lex:ef.lexInline)(t,l);l.hooks&&(n=l.hooks.processAllTokens(n)),l.walkTokens&&this.walkTokens(n,l.walkTokens);let r=(l.hooks?l.hooks.provideParser(e):e?em.parse:em.parseInline)(n,l);return l.hooks&&(r=l.hooks.postprocess(r)),r}catch(e){return s(e)}}}onError(e,t){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="<p>An error occurred:</p><pre>"+ec(n.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}constructor(...e){(0,n._)(this,"defaults",r()),(0,n._)(this,"options",this.setOptions),(0,n._)(this,"parse",this.parseMarkdown(!0)),(0,n._)(this,"parseInline",this.parseMarkdown(!1)),(0,n._)(this,"Parser",em),(0,n._)(this,"Renderer",ex),(0,n._)(this,"TextRenderer",eb),(0,n._)(this,"Lexer",ef),(0,n._)(this,"Tokenizer",ek),(0,n._)(this,"Hooks",ew),this.use(...e)}};function eS(e,t){return ey.parse(e,t)}eS.options=eS.setOptions=function(e){return ey.setOptions(e),eS.defaults=ey.defaults,l=eS.defaults,eS},eS.getDefaults=r,eS.defaults=l,eS.use=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return ey.use(...t),eS.defaults=ey.defaults,l=eS.defaults,eS},eS.walkTokens=function(e,t){return ey.walkTokens(e,t)},eS.parseInline=ey.parseInline,eS.Parser=em,eS.parser=em.parse,eS.Renderer=ex,eS.TextRenderer=eb,eS.Lexer=ef,eS.lexer=ef.lex,eS.Tokenizer=ek,eS.Hooks=ew,eS.parse=eS,eS.options,eS.setOptions,eS.use,eS.walkTokens,eS.parseInline,em.parse,ef.lex;var ev=e.i(92413);function eR(e){if(!e||"object"!=typeof e)return"";let t=e.type;if("user"===t||"assistant"===t){let t=e.message;if(t&&void 0!==t.content)return function(e){if(null==e)return"";if("string"==typeof e)return e;if(!Array.isArray(e))try{return JSON.stringify(e,null,2)}catch(t){return String(e)}let t=[];for(let n of e)if(n&&"object"==typeof n){if("text"===n.type&&"string"==typeof n.text)t.push(n.text);else if("tool_use"===n.type){let e=n.name||"tool",r="";try{r=JSON.stringify(n.input,null,2)}catch(e){r=String(n.input)}t.push("\n\n**`".concat(e,"`**\n\n```json\n").concat(r.slice(0,12e3),"\n```\n"))}else if("tool_result"===n.type){let e=n.content;if("string"!=typeof e)try{e=JSON.stringify(e,null,2)}catch(t){e=String(e)}t.push("\n\n```\n".concat(String(e).slice(0,8e3),"\n```\n"))}}return t.join("")}(t.content)}return"system"===t&&"string"==typeof e.content?e.content:""}function eT(e){if(!e)return"";try{return eS.parse(e,{async:!1})}catch(e){return"<pre>".concat((0,ev.escapeHtml)(String(e)),"</pre>")}}eS.setOptions({breaks:!0,gfm:!0}),e.s(["deleteRepoFile",()=>eE,"fetchRepoEntries",()=>e$,"fetchRepoFilePreview",()=>ez,"uploadWorkspaceFile",()=>eP],50052);var eA=e.i(29250),e_=e.i(36845);async function e$(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",l=await (0,eA.get)((0,e_.buildRepoEntriesUrl)(e,t,n,r));if(!l.entries)throw Error(l.message||"获取目录条目失败");return l.entries}async function ez(e,t,n,r){return(await (0,eA.bridgeFetch)((0,e_.buildRepoFileUrl)(e,t,n,r,!0),{method:"GET",raw:!0})).text()}async function eE(e,t,n,r){await (0,eA.del)((0,e_.buildRepoFileUrl)(e,t,n,r))}async function eP(e,t,n,r){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",s=new FormData;s.append("file",r),s.append("path",l);let i=await (0,eA.post)((0,e_.buildRepoUploadUrl)(e,t,n),s,{type:"file"}),a="string"==typeof i.path?i.path.trim():"";if(!a)throw Error(i.message||i.error||"上传失败:未返回文件路径");return{path:a}}}]);
|