@v587d/capital-generation 2.13.2 → 2.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +2 -2
- package/automation/builtins.js +9 -69
- package/automation/client.js +73 -26
- package/automation/client.src.cjs +755 -278
- package/automation/package.json +1 -1
- package/automation/runner.js +22 -13
- package/automation/schema.js +49 -20
- package/automation/service.js +2 -2
- package/automation/store.js +58 -6
- package/automation/time.js +30 -2
- package/chart-ui/package.json +1 -1
- package/config/package.json +1 -1
- package/lib/web-retriever/local-fetch.d.ts +1 -1
- package/lib/web-retriever/local-fetch.js +1 -1
- package/lib/web-retriever/wind-client.d.ts +1 -1
- package/lib/web-retriever/wind-client.js +1 -1
- package/package.json +1 -1
- package/watchlist/package.json +1 -1
package/automation/client.js
CHANGED
|
@@ -5,7 +5,7 @@ window.__ModuleLoader__.load({
|
|
|
5
5
|
var module = { exports: {} }
|
|
6
6
|
var exports = module.exports
|
|
7
7
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' })
|
|
8
|
-
"use strict";var{createElement:a,useEffect:W,useRef:H,useState:C}=require("react"),{IconAlarmClockOutlineRegular:va,IconChecklistOutlineRegular:Fa,IconChevronDownOutlineRegular:Ot,IconChevronLeftOutlineRegular:$t,IconChevronRightOutlineRegular:Aa,IconClockOutlineRegular:Ia,IconCopyOutlineRegular:Dt,IconEditOutlineRegular:Et,IconEllipsisOutlineRegular:Mt,IconFolderOpenOutlineRegular:Lt,IconGaugeOutlineRegular:_t,IconGlobeOutlineRegular:Bt,IconInfoOutlineRegular:Xa,IconLightOutlineMedium:Ht,IconListPenOutlineRegular:Pt,IconPauseOutlineRegular:qt,IconPlayOutlineRegular:Oa,IconPlusOutlineRegular:$a,IconRefreshOutlineRegular:Ut,IconRightUpOutlineRegular:jt,IconSearchOutlineRegular:at,IconSparkleRegular:tt,IconTrashOutlineRegular:Gt,IconWarningOutlineRegular:et,Menu:it,MenuItemButton:Ya,Modal:Da,Switch:nt}=require("@deepseek-ai/dsh-client-ui-primitives"),Ra="capital-automation",Vt="/capital-automation",Wa="capital-automation",Za="capital-automation-css",Kt=["queued","starting","running"],Yt=["failed","timed_out","blocked_requires_user","unknown_after_restart"],Wt=["skipped_overlap","skipped_calendar_unavailable","missed"],Zt={runTimeoutMinutes:30,idleTimeoutMinutes:5,maxSteps:300,maxToolCalls:1200},Ea=[{value:1,label:"\u4E00"},{value:2,label:"\u4E8C"},{value:3,label:"\u4E09"},{value:4,label:"\u56DB"},{value:5,label:"\u4E94"},{value:6,label:"\u516D"},{value:7,label:"\u65E5"}],Jt=["Asia/Shanghai","Asia/Hong_Kong","Asia/Singapore","Asia/Tokyo","UTC","Europe/London","America/New_York","America/Los_Angeles"],ha=30,Ja=3,e={panel:"CapGen \u6295\u7814\u81EA\u52A8\u5316",title:"CapGen \u6295\u7814\u81EA\u52A8\u5316",subtitle:"\u5B9A\u65F6\u6295\u7814\uFF0C\u81EA\u52A8\u6267\u884C\uFF0C\u7ED3\u679C\u53EF\u8FFD\u6EAF",tabs:{tasks:"\u4EFB\u52A1",runs:"\u8FD0\u884C"},storageUnavailable:"\u5B58\u50A8\u4E0D\u53EF\u7528\uFF0C\u9875\u9762\u53EA\u8BFB",standbyBanner:"\u8C03\u5EA6\u5668\u672A\u53D6\u5F97\u8FD0\u884C\u6743\uFF1A\u5B9A\u65F6\u89E6\u53D1\u4E0E\u624B\u52A8\u8FD0\u884C\u5DF2\u6682\u505C\uFF0C\u4EFB\u52A1\u914D\u7F6E\u4ECD\u53EF\u67E5\u770B\u548C\u7F16\u8F91\u3002",storageBanner:"\u6295\u7814\u81EA\u52A8\u5316\u5B58\u50A8\u6682\u65F6\u4E0D\u53EF\u7528\uFF1A\u9875\u9762\u53EA\u8BFB\uFF0C\u8C03\u5EA6\u5668\u4E0D\u4F1A\u542F\u52A8\u3002",calendarBanner:"\u4EA4\u6613\u65E5\u5386\u6682\u65F6\u4E0D\u53EF\u7528\uFF1A\u4EC5\u4EA4\u6613\u65E5\u7684\u4EFB\u52A1\u4F1A\u8DF3\u8FC7\uFF0C\u5176\u4ED6\u4EFB\u52A1\u4ECD\u6309\u8BBE\u5B9A\u65F6\u95F4\u8FD0\u884C\u3002",calendarCoverageBanner:"\u4EA4\u6613\u65E5\u5386\u53EA\u8986\u76D6\u5230 {through}\uFF1A\u4E4B\u540E\u4EC5\u4EA4\u6613\u65E5\u7684\u4EFB\u52A1\u4F1A\u6309 fail-closed \u8DF3\u8FC7\uFF1B\u4EA4\u6613\u6240\u516C\u5E03\u65B0\u4E00\u5E74\u5B89\u6392\u540E\u4F1A\u81EA\u52A8\u63A5\u4E0A\u3002",calendarField:"\u4EA4\u6613\u65E5\u5386",calendarSourceSzse:"\u6DF1\u4EA4\u6240\u5B98\u65B9\u65E5\u5386",calendarSourceBundled:"\u5185\u7F6E\u8868",calendarSourceNone:"\u4E0D\u53EF\u7528",calendarThrough:"\u8986\u76D6\u81F3 {date}",calendarUnknown:"\u672A\u77E5",loadRetry:"\u91CD\u65B0\u8BFB\u53D6",loading:"\u8BFB\u53D6\u4E2D\u2026",empty:"\u8FD8\u6CA1\u6709\u4EFB\u52A1\u3002",emptyTasksTitle:"\u8FD8\u6CA1\u6709\u6DFB\u52A0\u7684\u4EFB\u52A1",emptyTasksBody:"\u4ECE\u4E0B\u65B9\u6DFB\u52A0\u4E00\u4E2A\u5185\u7F6E\u6A21\u677F\uFF0C\u6216\u65B0\u5EFA\u4E00\u4E2A\u81EA\u5DF1\u7684\u6295\u7814\u4EFB\u52A1\u3002",emptyNoTemplates:"\u8FD8\u6CA1\u6709\u4EFB\u52A1",emptyNoTemplatesBody:"\u70B9\u51FB\u53F3\u4E0A\u89D2\u300C\u65B0\u5EFA\u4EFB\u52A1\u300D\uFF0C\u521B\u5EFA\u7B2C\u4E00\u4E2A\u5B9A\u65F6\u6295\u7814\u4EFB\u52A1\u3002",emptyFiltered:"\u6CA1\u6709\u5339\u914D\u7684\u4EFB\u52A1\u3002",clearFilter:"\u6E05\u9664\u7B5B\u9009",newTask:"\u65B0\u5EFA\u4EFB\u52A1",newTaskTitle:"\u65B0\u5EFA\u6295\u7814\u4EFB\u52A1",newTaskHint:"\u4EFB\u52A1\u4F1A\u5728\u540E\u53F0\u65B0\u5EFA\u4E00\u4E2A session \u6267\u884C\uFF0C\u4E0D\u9700\u8981\u4F60\u5B88\u5728\u9875\u9762\u4E0A\u3002",editTask:"\u7F16\u8F91\u4EFB\u52A1",allTasks:"\u5168\u90E8\u4EFB\u52A1",backToTasks:"\u6240\u6709\u4EFB\u52A1",taskSection:"\u4EFB\u52A1",taskSectionHint:"\u70B9\u51FB\u4EFB\u52A1\u884C\u67E5\u770B\u8BE6\u60C5\u3001\u8FD0\u884C\u8BB0\u5F55\u548C\u914D\u7F6E\u3002",templateSection:"\u6A21\u677F",templateAdd:"\u6DFB\u52A0",templateAdding:"\u6DFB\u52A0\u4E2D\u2026",templateMeta:"\u5185\u7F6E\u6A21\u677F",runningSection:"\u6B63\u5728\u8FD0\u884C",runningSince:"\u5F00\u59CB\u4E8E",cancelRun:"\u53D6\u6D88\u8FD0\u884C",searchPlaceholder:"\u641C\u7D22\u4EFB\u52A1",filterAll:"\u5168\u90E8",filterCustom:"\u6211\u7684\u4EFB\u52A1",filterNews:"\u8D44\u8BAF",filterMarket:"\u884C\u60C5",filterReview:"\u590D\u76D8",filterResearch:"\u7814\u7A76",filterLabel:"\u7B5B\u9009\u4EFB\u52A1",category:{news:"\u8D44\u8BAF",market:"\u884C\u60C5",review:"\u590D\u76D8",research:"\u7814\u7A76"},categoryField:"\u4EFB\u52A1\u5206\u7C7B",categoryFixed:"\u5185\u7F6E\u6A21\u677F\u7684\u5206\u7C7B\u56FA\u5B9A\uFF1B\u590D\u5236\u4E3A\u6211\u7684\u4EFB\u52A1\u540E\u53EF\u4EE5\u8C03\u6574\u3002",modeField:"\u8F93\u51FA\u4FA7\u91CD",modeHint:"\u53EA\u5F71\u54CD\u8F93\u51FA\u7ED3\u6784\uFF1B\u6240\u6709\u8FD0\u884C\u56FA\u5B9A\u4F7F\u7528\u81EA\u52A8\u6A21\u5F0F\u3002",mode:{news:"\u8D44\u8BAF",market:"\u884C\u60C5",review:"\u590D\u76D8",research:"\u7814\u7A76"},cadence:{daily:"\u6BCF\u5929",weekly:"\u6BCF\u5468",monthly:"\u6BCF\u6708"},stateLabel:"\u72B6\u6001",state:{dormant:"\u672A\u6DFB\u52A0",active:"\u5DF2\u542F\u7528",paused:"\u5DF2\u6682\u505C"},origin:{builtin:"\u5185\u7F6E\u6A21\u677F",custom:"\u6211\u7684\u4EFB\u52A1"},status:{queued:"\u6392\u961F\u4E2D",starting:"\u542F\u52A8\u4E2D",running:"\u8FD0\u884C\u4E2D",succeeded:"\u6210\u529F",failed:"\u5931\u8D25",canceled:"\u5DF2\u53D6\u6D88",timed_out:"\u8D85\u65F6",blocked_requires_user:"\u9700\u8981\u7528\u6237\u786E\u8BA4",unknown_after_restart:"\u91CD\u542F\u540E\u672A\u77E5",skipped_overlap:"\u91CD\u53E0\u8DF3\u8FC7",skipped_calendar_unavailable:"\u65E5\u5386\u4E0D\u53EF\u7528\u8DF3\u8FC7",missed:"\u9519\u8FC7"},runNow:"\u7ACB\u5373\u8FD0\u884C",runStarted:"\u5DF2\u63D0\u4EA4\u8FD0\u884C",pause:"\u6682\u505C",activate:"\u542F\u7528",add:"\u6DFB\u52A0",hibernate:"\u4F11\u7720\u5E76\u6062\u590D\u9ED8\u8BA4",copy:"\u590D\u5236\u4E3A\u6211\u7684\u4EFB\u52A1",remove:"\u5220\u9664\u4EFB\u52A1",edit:"\u7F16\u8F91",more:"\u66F4\u591A\u64CD\u4F5C",save:"\u4FDD\u5B58",saving:"\u4FDD\u5B58\u4E2D\u2026",processing:"\u5904\u7406\u4E2D\u2026",saved:"\u5DF2\u4FDD\u5B58",cancel:"\u53D6\u6D88",create:"\u521B\u5EFA\u4EFB\u52A1",creating:"\u521B\u5EFA\u4E2D\u2026",required:"\u6807\u9898\u548C\u4EFB\u52A1\u6307\u4EE4\u4E0D\u80FD\u4E3A\u7A7A\u3002",dirty:"\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539",noDirty:"\u914D\u7F6E\u5DF2\u540C\u6B65",nextRun:"\u4E0B\u6B21\u8FD0\u884C",nextRunDormant:"\u6DFB\u52A0\u540E\u5F00\u59CB\u8C03\u5EA6",nextRunPaused:"\u542F\u7528\u540E\u6062\u590D\u8C03\u5EA6",notScheduled:"\u5F53\u524D\u4E0D\u4F1A\u81EA\u52A8\u8FD0\u884C",lastResult:"\u4E0A\u6B21\u7ED3\u679C",lastRunEmpty:"\u8FD0\u884C\u540E\u53EF\u5728\u8FD9\u91CC\u67E5\u770B\u7ED3\u679C",never:"\u6682\u65E0",calendarUnavailable:"\u65E5\u5386\u4E0D\u53EF\u7528",unread:"\u672A\u8BFB",overview:"\u6982\u89C8",config:"\u914D\u7F6E",runs:"\u8FD0\u884C\u8BB0\u5F55",notifications:"\u901A\u77E5",descriptionField:"\u8BF4\u660E",titleField:"\u6807\u9898",instructionField:"\u4EFB\u52A1\u6307\u4EE4",instructionPlaceholder:"\u4F8B\u5982\uFF1A\u8BFB\u53D6\u4ECA\u65E5\u81EA\u9009\u80A1\u884C\u60C5\u3001\u516C\u544A\u4E0E\u76F8\u5173\u65B0\u95FB\uFF0C\u6309\u300C\u7ED3\u8BBA\u2014\u8BC1\u636E\u2014\u98CE\u9669\u300D\u6574\u7406\u6210\u4E00\u4EFD\u53EF\u590D\u6838\u7684\u76D8\u540E\u590D\u76D8\u3002",titlePlaceholder:"\u7ED9\u8FD9\u4E2A\u4EFB\u52A1\u8D77\u4E2A\u540D\u5B57",descriptionPlaceholder:"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EFB\u52A1\u76EE\u6807\uFF08\u53EF\u9009\uFF09",triggerField:"\u89E6\u53D1\u5668",triggerHint:"\u6309\u672C\u5730\u5899\u949F\u65F6\u95F4\u8BA1\u7B97\uFF1B\u4EC5\u4EA4\u6613\u65E5\u4EFB\u52A1\u7531\u4EA4\u6613\u65E5\u5386\u5224\u65AD\u5468\u672B\u4E0E\u8282\u5047\u65E5\u3002",triggerHintNatural:"\u6309\u672C\u5730\u5899\u949F\u65F6\u95F4\u8BA1\u7B97\uFF1A\u6BCF\u5929\u90FD\u89E6\u53D1\uFF0C\u5468\u672B\u4E0E\u8282\u5047\u65E5\u4E5F\u8FD0\u884C\u3002",timeField:"\u65F6\u95F4",timezoneField:"\u65F6\u533A",weekdayField:"\u661F\u671F",dayField:"\u65E5\u671F",tradingDaysField:"\u4EC5\u4EA4\u6613\u65E5",weekdayRequired:"\u6BCF\u5468\u81F3\u5C11\u9009\u62E9\u4E00\u5929\u3002",invalidTime:"\u8FD0\u884C\u65F6\u95F4\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u9009\u62E9 HH:mm\u3002",invalidTimezone:"\u65F6\u533A\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199 IANA \u65F6\u533A\u3002",invalidTimezoneValue:"\u65F6\u533A\u4E0D\u88AB\u8BC6\u522B\uFF0C\u8BF7\u586B\u5199\u6709\u6548\u7684 IANA \u65F6\u533A\u3002",invalidLimits:"\u8FD0\u884C\u4E0A\u9650\u5FC5\u987B\u662F\u6709\u6548\u6570\u5B57\u3002",filterNoRuns:"\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u8FD0\u884C\u8BB0\u5F55\u3002",schedulePrefix:"\u4E0B\u6B21",workspaceField:"\u5DE5\u4F5C\u533A",workspaceDefault:"\u8DDF\u968F\u9ED8\u8BA4\u5DE5\u4F5C\u533A",workspaceMissing:"\u5DF2\u79FB\u9664\u7684\u5DE5\u4F5C\u533A\uFF08\u8BF7\u91CD\u65B0\u9009\u62E9\uFF09",workspaceUnavailable:"\u5DE5\u4F5C\u533A\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8FD0\u884C\u4F1A\u9000\u56DE\u9ED8\u8BA4\u76EE\u5F55\u3002",limitsField:"\u8FD0\u884C\u4E0A\u9650",advanced:"\u9AD8\u7EA7\u8BBE\u7F6E",advancedHint:"\u9884\u7B97\u8986\u76D6\u6574\u68F5\u8FD0\u884C\u5B50\u6811\uFF1A\u5B50 Agent \u4E0E PTC \u6D3E\u53D1\u90FD\u8BA1\u5165\u3002",runTimeout:"\u6700\u957F\u8FD0\u884C\uFF08\u5206\u949F\uFF09",idleTimeout:"\u7A7A\u95F2\u8D85\u65F6\uFF08\u5206\u949F\uFF09",maxSteps:"\u6700\u5927\u6B65\u9AA4",maxToolCalls:"\u6700\u5927\u5DE5\u5177\u8C03\u7528",notifyField:"\u901A\u77E5",notifyInApp:"\u5E94\u7528\u5185\u901A\u77E5",notifyFailure:"\u5931\u8D25\u65F6\u901A\u77E5",notifySuccess:"\u6210\u529F\u65F6\u901A\u77E5",notifyHint:"\u901A\u77E5\u53EA\u8BB0\u5F55\u5728\u5F53\u524D profile\uFF1B\u4E0D\u4F1A\u53D1\u9001\u90AE\u4EF6\u6216\u5916\u90E8\u6D88\u606F\u3002",presetLabel:"\u8FD0\u884C\u6A21\u5F0F",presetValue:"\u81EA\u52A8\u6A21\u5F0F",budgetHint:"\u5DE5\u5177\u8C03\u7528\u4E0E\u6B65\u9AA4\u9884\u7B97\u8986\u76D6\u6574\u68F5\u8FD0\u884C\u5B50\u6811\uFF1A\u5B50 Agent \u4E0E PTC \u6D3E\u53D1\u90FD\u8BA1\u5165\u3002",environment:"\u6267\u884C\u73AF\u5883",policyField:"\u65E0\u4EBA\u503C\u5B88\u7B56\u7565",cwdKind:"\u5DE5\u4F5C\u533A\u6765\u6E90",techInfo:"\u6280\u672F\u4FE1\u606F",profileKey:"profileKey",runHistory:"\u8FD0\u884C\u5386\u53F2",last30Days:"\u6700\u8FD1 30 \u5929",runCount:"{n} \u6B21\u8FD0\u884C",successCount:"{n} \u6210\u529F",failureCount:"{n} \u5931\u8D25",historyEmpty:"\u6700\u8FD1 30 \u5929\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55\u3002",historyViewAll:"\u67E5\u770B\u5168\u90E8\u8FD0\u884C",runFilterAll:"\u5168\u90E8",runFilterActive:"\u8FDB\u884C\u4E2D",runFilterSucceeded:"\u6210\u529F",runFilterFailed:"\u5931\u8D25",runFilterLabel:"\u7B5B\u9009\u8FD0\u884C\u8BB0\u5F55",runsTitle:"\u8FD0\u884C",runsHint:"\u6BCF\u6B21\u8FD0\u884C\u90FD\u4F7F\u7528\u65B0\u7684 session\uFF1B\u7EC8\u6001\u540E\u624D\u80FD\u6253\u5F00 session\u3002",runsEmptyTitle:"\u5C1A\u672A\u8FD0\u884C",runsEmptyBody:"\u4EFB\u52A1\u8FD0\u884C\u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A\u72B6\u6001\u3001\u8017\u65F6\u4E0E\u9519\u8BEF\u6761\u6570\uFF1B\u7ED3\u679C\u4E0E\u8FC7\u7A0B\u5728 session \u91CC\u3002",runsEmptyAction:"\u53BB\u6DFB\u52A0\u6A21\u677F",runsLimitHint:"\u4EC5\u663E\u793A\u6700\u8FD1 {n} \u6761\u8FD0\u884C\u8BB0\u5F55\u3002",cancelRunConfirmTitle:"\u53D6\u6D88\u8FD9\u6B21\u8FD0\u884C\uFF1F",cancelRunConfirmBody:"\u53D6\u6D88\u4F1A\u5411\u5F53\u524D\u8FD0\u884C\u53D1\u9001\u505C\u6B62\u4FE1\u53F7\uFF1B\u5DF2\u7ECF\u4EA7\u751F\u7684\u4E2D\u95F4\u7ED3\u679C\u4F1A\u7559\u5728 session \u91CC\u3002",cancelRunConfirm:"\u786E\u8BA4\u53D6\u6D88",duration:"\u8017\u65F6",steps:"\u6B65\u9AA4",tools:"\u5DE5\u5177\u8C03\u7528",errorTitle:"\u9519\u8BEF",errorDetailsLabel:"\u9519\u8BEF\u8BE6\u60C5",showErrorDetails:"\u67E5\u770B\u9519\u8BEF\u8BE6\u60C5",hideErrorDetails:"\u6536\u8D77\u9519\u8BEF\u8BE6\u60C5",triggerManual:"\u624B\u52A8",triggerScheduled:"\u5B9A\u65F6",openSession:"\u6253\u5F00 session",runSummaryFallback:"\u8FD0\u884C\u7ED3\u675F\u4F46\u6CA1\u6709\u6458\u8981\u3002",notificationsEmpty:"\u6CA1\u6709\u901A\u77E5\u3002",markRead:"\u5168\u90E8\u6807\u4E3A\u5DF2\u8BFB",markTaskRead:"\u672C\u4EFB\u52A1\u6807\u4E3A\u5DF2\u8BFB",notificationsTitle:"\u901A\u77E5",notificationsHint:"\u8FD0\u884C\u5931\u8D25\u3001\u8D85\u65F6\u3001\u8C03\u5EA6\u5668\u5F85\u547D\u4E0E\u4EA4\u6613\u65E5\u5386\u95EE\u9898\u4F1A\u51FA\u73B0\u5728\u8FD9\u91CC\u3002",notificationsUnread:"{n} \u6761\u672A\u8BFB",allRead:"\u5168\u90E8\u5DF2\u8BFB",noNotifications:"\u6CA1\u6709\u672A\u8BFB\u6216\u5386\u53F2\u901A\u77E5\u3002",notificationOpenTask:"\u67E5\u770B\u4EFB\u52A1",close:"\u5173\u95ED",confirmDeleteTitle:"\u5220\u9664\u8FD9\u4E2A\u4EFB\u52A1\uFF1F",confirmDeleteBody:"\u4EFB\u52A1\u914D\u7F6E\u3001\u8FD0\u884C\u8BB0\u5F55\u4E0E\u76F8\u5173\u901A\u77E5\u4F1A\u4E00\u8D77\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002",confirmHibernateTitle:"\u4F11\u7720\u5E76\u6062\u590D\u9ED8\u8BA4\uFF1F",confirmHibernateBody:"\u5F53\u524D\u5BF9\u5185\u7F6E\u6A21\u677F\u7684\u4FEE\u6539\u4F1A\u88AB\u6E05\u7A7A\uFF0C\u4EFB\u52A1\u56DE\u5230\u6A21\u677F\u533A\uFF1B\u5386\u53F2\u8FD0\u884C\u8BB0\u5F55\u4FDD\u7559\u3002",confirmDelete:"\u786E\u8BA4\u5220\u9664",confirmHibernate:"\u786E\u8BA4\u4F11\u7720",actionDone:"\u64CD\u4F5C\u5B8C\u6210",created:"\u4EFB\u52A1\u5DF2\u521B\u5EFA",activated:"\u5DF2\u542F\u7528\u300C{title}\u300D",added:"\u5DF2\u6DFB\u52A0\u300C{title}\u300D",paused:"\u5DF2\u6682\u505C\u300C{title}\u300D",copied:"\u5DF2\u590D\u5236\u4E3A\u300C{title}\u300D",deleted:"\u5DF2\u5220\u9664\u300C{title}\u300D",hibernated:"\u5DF2\u4F11\u7720\u300C{title}\u300D",runSubmitted:"\u5DF2\u63D0\u4EA4\u300C{title}\u300D\u8FD0\u884C",runCanceled:"\u5DF2\u53D6\u6D88\u8FD0\u884C",markReadDone:"\u5DF2\u6807\u4E3A\u5DF2\u8BFB",errorGeneric:"\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",needConfirm:"\u9700\u8981\u7528\u6237\u786E\u8BA4",schedulerBlocked:"\u8C03\u5EA6\u5668\u672A\u53D6\u5F97\u8FD0\u884C\u6743\uFF0C\u6682\u65F6\u4E0D\u80FD\u624B\u52A8\u8FD0\u884C\u3002",runBlocked:"\u4EFB\u52A1\u6B63\u5728\u8FD0\u884C\uFF0C\u7ED3\u675F\u6216\u53D6\u6D88\u540E\u624D\u80FD\u518D\u6B21\u8FD0\u884C\u3002",configWhileRunning:"\u4EFB\u52A1\u6B63\u5728\u8FD0\u884C\uFF1B\u4FEE\u6539\u4F1A\u5728\u4E0B\u4E00\u6B21\u8FD0\u884C\u65F6\u751F\u6548\u3002",configBuiltinHint:"\u8FD9\u662F\u5185\u7F6E\u6A21\u677F\uFF1B\u4FEE\u6539\u53EA\u8986\u76D6\u5F53\u524D profile\uFF0C\u4F11\u7720\u540E\u4F1A\u6062\u590D\u9ED8\u8BA4\u3002",detailRecentRuns:"\u6700\u8FD1 {n} \u6B21\u8FD0\u884C",detailNoRuns:"\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55\u3002",detailAllRuns:"\u5B8C\u6574\u8BB0\u5F55",detailTaskNotifications:"\u4EFB\u52A1\u901A\u77E5",taskRunsLimit:"\u8FD9\u91CC\u663E\u793A\u5F53\u524D\u4EFB\u52A1\u6700\u8FD1 20 \u6B21\u8FD0\u884C\uFF1B\u5168\u90E8\u8FD0\u884C\u89C1\u300C\u8FD0\u884C\u300D\u9875\u3002",runErrors:"{n} \u6761\u9519\u8BEF",runNoErrors:"\u65E0\u9519\u8BEF",notificationFallbackFailed:"\u8FD0\u884C\u5931\u8D25\uFF1B\u6253\u5F00\u5BF9\u5E94\u4EFB\u52A1\u6216 session \u67E5\u770B\u8BE6\u60C5\u3002",notificationFallbackTimeout:"\u8FD0\u884C\u8D85\u65F6\uFF1B\u6253\u5F00\u5BF9\u5E94\u4EFB\u52A1\u6216 session \u67E5\u770B\u8BE6\u60C5\u3002",notificationFallbackSuccess:"\u8FD0\u884C\u5B8C\u6210\u3002",notificationFallbackStandby:"\u8C03\u5EA6\u5668\u672A\u53D6\u5F97\u8FD0\u884C\u6743\uFF0C\u5B9A\u65F6\u89E6\u53D1\u6682\u505C\u3002",notificationFallbackCalendar:"\u4EA4\u6613\u65E5\u5386\u4E0D\u53EF\u7528\uFF0C\u4EA4\u6613\u65E5\u4EFB\u52A1\u5DF2\u8DF3\u8FC7\u3002",notificationFallbackSkipped:"\u672C\u6B21\u8BA1\u5212\u5DF2\u8DF3\u8FC7\u3002",statusLabel:"\u72B6\u6001",triggerSummary:"\u65E5\u7A0B",lastRun:"\u4E0A\u6B21\u8FD0\u884C",neverRun:"\u5C1A\u672A\u8FD0\u884C",relativeNow:"\u521A\u521A",timezoneHint:"IANA \u65F6\u533A\uFF0C\u4F8B\u5982 Asia/Shanghai\u3002",nextRunUnavailable:"\u4EA4\u6613\u65E5\u5386\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u8BA1\u7B97\u4E0B\u4E00\u6B21\u8FD0\u884C\u3002",copyHint:"\u590D\u5236\u540E\u4F1A\u751F\u6210\u4E00\u4E2A\u6682\u505C\u72B6\u6001\u7684\u81EA\u5B9A\u4E49\u4EFB\u52A1\u3002",notificationTaskGone:"\u4EFB\u52A1\u5DF2\u4E0D\u5B58\u5728",noSelection:"\u4ECE\u5217\u8868\u4E2D\u9009\u62E9\u4E00\u4E2A\u4EFB\u52A1\u3002",details:"\u8BE6\u60C5",actions:"\u64CD\u4F5C",rosterCount:"{n} \u4E2A\u4EFB\u52A1",dayOfMonth:"{n} \u65E5",everyPrefix:"\u6BCF",weeklyPrefix:"\u6BCF\u5468",monthlyPrefix:"\u6BCF\u6708",dailyPrefix:"\u6BCF\u5929",tradingSuffix:"\uFF08\u4EC5\u4EA4\u6613\u65E5\uFF09",sessionMissing:"\u6CA1\u6709\u53EF\u6253\u5F00\u7684 session"};function Qt(){if(typeof document>"u"||document.querySelector(`style[data-${Za}]`))return()=>{};let i=document.createElement("style");return i.setAttribute(`data-${Za}`,"true"),i.textContent=`
|
|
8
|
+
"use strict";var{createElement:a,useEffect:j,useRef:q,useState:z}=require("react"),{IconAlarmClockOutlineRegular:Ea,IconChecklistOutlineRegular:$a,IconChevronDownOutlineRegular:Ma,IconChevronLeftOutlineRegular:Ut,IconChevronRightOutlineRegular:La,IconClockOutlineRegular:Ba,IconCopyOutlineRegular:qt,IconEditOutlineRegular:jt,IconEllipsisOutlineRegular:Gt,IconFolderOpenOutlineRegular:Vt,IconGaugeOutlineRegular:Wt,IconGlobeOutlineRegular:Kt,IconInfoOutlineRegular:Yt,IconLightOutlineMedium:Zt,IconListPenOutlineRegular:Qt,IconPauseOutlineRegular:Jt,IconPlayOutlineRegular:_a,IconPlusOutlineRegular:Ha,IconRefreshOutlineRegular:Xt,IconRightUpOutlineRegular:ae,IconSearchOutlineRegular:ot,IconSparkleRegular:lt,IconTrashOutlineRegular:te,IconWarningOutlineRegular:rt,Menu:wa,MenuItemButton:Xa,Modal:Pa,Switch:st}=require("@deepseek-ai/dsh-client-ui-primitives"),Fa="capital-automation",ee="/capital-automation",at="capital-automation",tt="capital-automation-css",ie=["queued","starting","running"],ne=["failed","timed_out","blocked_requires_user","unknown_after_restart"],oe=["skipped_overlap","skipped_calendar_unavailable","missed"],le={runTimeoutMinutes:30,idleTimeoutMinutes:5,maxSteps:300,maxToolCalls:1200},la=[{value:1,label:"\u4E00"},{value:2,label:"\u4E8C"},{value:3,label:"\u4E09"},{value:4,label:"\u56DB"},{value:5,label:"\u4E94"},{value:6,label:"\u516D"},{value:7,label:"\u65E5"}],Ra=["Asia/Shanghai","Asia/Hong_Kong","Asia/Taipei","Asia/Singapore","Asia/Tokyo","Asia/Seoul","UTC","Europe/London","Europe/Paris","Europe/Berlin","America/New_York","America/Chicago","America/Los_Angeles","America/Toronto","America/Sao_Paulo","Australia/Sydney"],xa=30,et=3,Aa=12,va=100,e={panel:"CapGen \u6295\u7814\u81EA\u52A8\u5316",title:"CapGen \u6295\u7814\u81EA\u52A8\u5316",subtitle:"\u5B9A\u65F6\u6295\u7814\uFF0C\u81EA\u52A8\u6267\u884C\uFF0C\u7ED3\u679C\u53EF\u8FFD\u6EAF",tabs:{tasks:"\u4EFB\u52A1",runs:"\u8FD0\u884C"},storageUnavailable:"\u5B58\u50A8\u4E0D\u53EF\u7528\uFF0C\u9875\u9762\u53EA\u8BFB",standbyBanner:"\u8C03\u5EA6\u5668\u672A\u53D6\u5F97\u8FD0\u884C\u6743\uFF1A\u5B9A\u65F6\u89E6\u53D1\u4E0E\u624B\u52A8\u8FD0\u884C\u5DF2\u6682\u505C\uFF0C\u4EFB\u52A1\u914D\u7F6E\u4ECD\u53EF\u67E5\u770B\u548C\u7F16\u8F91\u3002",storageBanner:"\u6295\u7814\u81EA\u52A8\u5316\u5B58\u50A8\u6682\u65F6\u4E0D\u53EF\u7528\uFF1A\u9875\u9762\u53EA\u8BFB\uFF0C\u8C03\u5EA6\u5668\u4E0D\u4F1A\u542F\u52A8\u3002",calendarBanner:"\u4EA4\u6613\u65E5\u5386\u6682\u65F6\u4E0D\u53EF\u7528\uFF1A\u4EC5\u4EA4\u6613\u65E5\u7684\u4EFB\u52A1\u4F1A\u8DF3\u8FC7\uFF0C\u5176\u4ED6\u4EFB\u52A1\u4ECD\u6309\u8BBE\u5B9A\u65F6\u95F4\u8FD0\u884C\u3002",calendarCoverageBanner:"\u4EA4\u6613\u65E5\u5386\u53EA\u8986\u76D6\u5230 {through}\uFF1A\u4E4B\u540E\u4EC5\u4EA4\u6613\u65E5\u7684\u4EFB\u52A1\u4F1A\u6309 fail-closed \u8DF3\u8FC7\uFF1B\u4EA4\u6613\u6240\u516C\u5E03\u65B0\u4E00\u5E74\u5B89\u6392\u540E\u4F1A\u81EA\u52A8\u63A5\u4E0A\u3002",calendarField:"\u4EA4\u6613\u65E5\u5386",calendarSourceSzse:"\u6DF1\u4EA4\u6240\u5B98\u65B9\u65E5\u5386",calendarSourceBundled:"\u5185\u7F6E\u8868",calendarSourceNone:"\u4E0D\u53EF\u7528",calendarThrough:"\u8986\u76D6\u81F3 {date}",calendarUnknown:"\u672A\u77E5",loadRetry:"\u91CD\u65B0\u8BFB\u53D6",loading:"\u8BFB\u53D6\u4E2D\u2026",empty:"\u8FD8\u6CA1\u6709\u4EFB\u52A1\u3002",emptyTasksTitle:"\u8FD8\u6CA1\u6709\u6DFB\u52A0\u7684\u4EFB\u52A1",emptyTasksBody:"\u4ECE\u4E0B\u65B9\u6DFB\u52A0\u4E00\u4E2A\u5185\u7F6E\u6A21\u677F\uFF0C\u6216\u65B0\u5EFA\u4E00\u4E2A\u81EA\u5DF1\u7684\u6295\u7814\u4EFB\u52A1\u3002",emptyNoTemplates:"\u8FD8\u6CA1\u6709\u4EFB\u52A1",emptyNoTemplatesBody:"\u70B9\u51FB\u53F3\u4E0A\u89D2\u300C\u65B0\u5EFA\u4EFB\u52A1\u300D\uFF0C\u521B\u5EFA\u7B2C\u4E00\u4E2A\u5B9A\u65F6\u6295\u7814\u4EFB\u52A1\u3002",emptyFiltered:"\u6CA1\u6709\u5339\u914D\u7684\u4EFB\u52A1\u3002",clearFilter:"\u6E05\u9664\u7B5B\u9009",newTask:"\u65B0\u5EFA\u4EFB\u52A1",newTaskTitle:"\u65B0\u5EFA\u6295\u7814\u4EFB\u52A1",newTaskHint:"\u4EFB\u52A1\u4F1A\u5728\u540E\u53F0\u65B0\u5EFA\u4E00\u4E2A session \u6267\u884C\uFF0C\u4E0D\u9700\u8981\u4F60\u5B88\u5728\u9875\u9762\u4E0A\u3002",editTask:"\u7F16\u8F91\u4EFB\u52A1",allTasks:"\u5168\u90E8\u4EFB\u52A1",backToTasks:"\u6240\u6709\u4EFB\u52A1",taskSection:"\u4EFB\u52A1",taskSectionHint:"\u70B9\u51FB\u4EFB\u52A1\u884C\u67E5\u770B\u8BE6\u60C5\u3001\u8FD0\u884C\u8BB0\u5F55\u548C\u914D\u7F6E\u3002",templateSection:"\u6A21\u677F",templateAdd:"\u6DFB\u52A0",templateAdding:"\u6DFB\u52A0\u4E2D\u2026",templateMeta:"\u5185\u7F6E\u6A21\u677F",runningSection:"\u6B63\u5728\u8FD0\u884C",runningSince:"\u5F00\u59CB\u4E8E",cancelRun:"\u53D6\u6D88\u8FD0\u884C",searchPlaceholder:"\u641C\u7D22\u4EFB\u52A1",filterAll:"\u5168\u90E8",filterCustom:"\u6211\u7684\u4EFB\u52A1",filterNews:"\u8D44\u8BAF",filterMarket:"\u884C\u60C5",filterReview:"\u590D\u76D8",filterResearch:"\u7814\u7A76",filterLabel:"\u7B5B\u9009\u4EFB\u52A1",category:{news:"\u8D44\u8BAF",market:"\u884C\u60C5",review:"\u590D\u76D8",research:"\u7814\u7A76"},categoryField:"\u4EFB\u52A1\u5206\u7C7B",categoryFixed:"'\u590D\u5236\u4E3A\u6211\u7684\u4EFB\u52A1'\u540E\uFF0C\u53EF\u8C03\u6574\u4EFB\u52A1\u5206\u7C7B\u3002",cadence:{daily:"\u6BCF\u5929",weekly:"\u6BCF\u5468",monthly:"\u6BCF\u6708",once:"\u5355\u6B21"},stateLabel:"\u72B6\u6001",state:{dormant:"\u672A\u6DFB\u52A0",active:"\u5DF2\u542F\u7528",paused:"\u5DF2\u6682\u505C"},origin:{builtin:"\u5185\u7F6E\u6A21\u677F",custom:"\u6211\u7684\u4EFB\u52A1"},status:{queued:"\u6392\u961F\u4E2D",starting:"\u542F\u52A8\u4E2D",running:"\u8FD0\u884C\u4E2D",succeeded:"\u6210\u529F",failed:"\u5931\u8D25",canceled:"\u5DF2\u53D6\u6D88",timed_out:"\u8D85\u65F6",blocked_requires_user:"\u9700\u8981\u7528\u6237\u786E\u8BA4",unknown_after_restart:"\u91CD\u542F\u540E\u672A\u77E5",skipped_overlap:"\u91CD\u53E0\u8DF3\u8FC7",skipped_calendar_unavailable:"\u65E5\u5386\u4E0D\u53EF\u7528\u8DF3\u8FC7",missed:"\u9519\u8FC7"},runNow:"\u7ACB\u5373\u8FD0\u884C",runStarted:"\u5DF2\u63D0\u4EA4\u8FD0\u884C",pause:"\u6682\u505C",activate:"\u542F\u7528",add:"\u6DFB\u52A0",hibernate:"\u4F11\u7720\u5E76\u6062\u590D\u9ED8\u8BA4",copy:"\u590D\u5236\u4E3A\u6211\u7684\u4EFB\u52A1",remove:"\u5220\u9664\u4EFB\u52A1",edit:"\u7F16\u8F91",more:"\u66F4\u591A\u64CD\u4F5C",save:"\u4FDD\u5B58",saving:"\u4FDD\u5B58\u4E2D\u2026",processing:"\u5904\u7406\u4E2D\u2026",saved:"\u5DF2\u4FDD\u5B58",cancel:"\u53D6\u6D88",create:"\u521B\u5EFA\u4EFB\u52A1",creating:"\u521B\u5EFA\u4E2D\u2026",titleRequired:"\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A\u3002",instructionRequired:"\u4EFB\u52A1\u6307\u4EE4\u4E0D\u80FD\u4E3A\u7A7A\u3002",invalidLimit:"\u8BF7\u8F93\u5165\u6709\u6548\u6570\u5B57\u3002",dirty:"\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539",noDirty:"\u914D\u7F6E\u5DF2\u540C\u6B65",nextRun:"\u4E0B\u6B21\u8FD0\u884C",nextRunDormant:"\u6DFB\u52A0\u540E\u5F00\u59CB\u8C03\u5EA6",nextRunPaused:"\u542F\u7528\u540E\u6062\u590D\u8C03\u5EA6",notScheduled:"\u5F53\u524D\u4E0D\u4F1A\u81EA\u52A8\u8FD0\u884C",lastResult:"\u4E0A\u6B21\u7ED3\u679C",lastRunEmpty:"\u8FD0\u884C\u540E\u53EF\u5728\u8FD9\u91CC\u67E5\u770B\u7ED3\u679C",never:"\u6682\u65E0",calendarUnavailable:"\u65E5\u5386\u4E0D\u53EF\u7528",unread:"\u672A\u8BFB",overview:"\u6982\u89C8",config:"\u914D\u7F6E",runs:"\u8FD0\u884C\u8BB0\u5F55",notifications:"\u901A\u77E5",descriptionField:"\u4EFB\u52A1\u8BF4\u660E",titleField:"\u4EFB\u52A1\u6807\u9898",instructionField:"\u4EFB\u52A1\u6307\u4EE4",instructionPlaceholder:"\u4F8B\u5982\uFF1A\u8BFB\u53D6\u4ECA\u65E5\u81EA\u9009\u80A1\u884C\u60C5\u3001\u516C\u544A\u4E0E\u76F8\u5173\u65B0\u95FB\uFF0C\u6309\u300C\u7ED3\u8BBA\u2014\u8BC1\u636E\u2014\u98CE\u9669\u300D\u6574\u7406\u6210\u4E00\u4EFD\u53EF\u590D\u6838\u7684\u76D8\u540E\u590D\u76D8\u3002",titlePlaceholder:"\u7ED9\u8FD9\u4E2A\u4EFB\u52A1\u8D77\u4E2A\u540D\u5B57",charCount:"{n}/{max}",descriptionPlaceholder:"\u4E00\u53E5\u8BDD\u8BF4\u660E\u4EFB\u52A1\u76EE\u6807\uFF08\u53EF\u9009\uFF09",triggerField:"\u89E6\u53D1\u5668",cadenceField:"\u9891\u7387",triggerHint:"\u6309\u8BBE\u5B9A\u65F6\u533A\u7684\u672C\u5730\u5899\u949F\u65F6\u95F4\u8BA1\u7B97\uFF1B\u4EC5\u4EA4\u6613\u65E5\u4EFB\u52A1\u7531\u4EA4\u6613\u65E5\u5386\u5224\u65AD\u5468\u672B\u4E0E\u8282\u5047\u65E5\u3002",triggerHintNatural:"\u6309\u8BBE\u5B9A\u65F6\u533A\u7684\u672C\u5730\u5899\u949F\u65F6\u95F4\u8BA1\u7B97\uFF1A\u6BCF\u5929\u90FD\u89E6\u53D1\uFF0C\u5468\u672B\u4E0E\u8282\u5047\u65E5\u4E5F\u8FD0\u884C\u3002",triggerHintOnce:"\u5355\u6B21\u4EFB\u52A1\u53EA\u5728\u6307\u5B9A\u65E5\u671F\u8FD0\u884C\u4E00\u6B21\uFF1B\u8BE5\u65E5\u671F\u4E0D\u662F\u4EA4\u6613\u65E5\u65F6\uFF0C\u4EC5\u4EA4\u6613\u65E5\u8BBE\u7F6E\u4F1A\u8DF3\u8FC7\u672C\u6B21\u8FD0\u884C\u3002",timeField:"\u65F6\u95F4",timezoneField:"\u65F6\u533A",weekdayField:"\u661F\u671F",dayField:"\u65E5\u671F",monthlyField:"\u6BCF\u6708\u65E5\u671F",monthlyFirst:"1 \u53F7",monthlyMid:"\u6708\u4E2D",monthlyLast:"\u6708\u672B",monthlyCustom:"\u81EA\u5B9A\u4E49",customDayLabel:"\u7B2C {n} \u65E5",dailyNatural:"\u6BCF\u4E2A\u81EA\u7136\u65E5\u8FD0\u884C",dailyTrading:"\u6BCF\u4E2A\u4EA4\u6613\u65E5\u8FD0\u884C",onceHint:"\u53EA\u5728\u8FD9\u5929\u8FD0\u884C\u4E00\u6B21",onceEnded:"\u5355\u6B21\u4EFB\u52A1\u5DF2\u7ED3\u675F",onceEndedHint:"\u6307\u5B9A\u65E5\u671F\u5DF2\u8FC7\uFF1B\u4FEE\u6539\u65E5\u671F\u6216\u6539\u6210\u91CD\u590D\u8BA1\u5212\u540E\u53EF\u518D\u6B21\u8FD0\u884C\u3002",onceSkipped:"\u5355\u6B21\u4EFB\u52A1\u4E0D\u4F1A\u8FD0\u884C",onceSkippedHint:"\u6307\u5B9A\u65E5\u671F\u4E0D\u662F\u4EA4\u6613\u65E5\uFF1B\u5173\u95ED\u4EC5\u4EA4\u6613\u65E5\u6216\u6539\u9009\u65E5\u671F\u540E\u518D\u542F\u7528\u3002",weekdayWorkdayQuick:"\u5DE5\u4F5C\u65E5",weekdayWeekendQuick:"\u5468\u672B",weekdayNone:"\u672A\u9009\u62E9",weekdayEvery:"\u6BCF\u5929",tradingDaysField:"\u4EC5\u4EA4\u6613\u65E5",weekdayRequired:"\u6BCF\u5468\u81F3\u5C11\u9009\u62E9\u4E00\u5929\u3002",dateRequired:"\u8BF7\u9009\u62E9\u8FD0\u884C\u65E5\u671F\u3002",invalidDate:"\u8BF7\u9009\u62E9\u6709\u6548\u7684\u65E5\u671F\u3002",invalidTime:"\u8FD0\u884C\u65F6\u95F4\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u8BF7\u9009\u62E9 HH:mm\u3002",invalidTimezone:"\u65F6\u533A\u4E0D\u80FD\u4E3A\u7A7A\uFF0C\u8BF7\u586B\u5199 IANA \u65F6\u533A\u3002",invalidTimezoneValue:"\u65F6\u533A\u4E0D\u88AB\u8BC6\u522B\uFF0C\u8BF7\u586B\u5199\u6709\u6548\u7684 IANA \u65F6\u533A\u3002",filterNoRuns:"\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u8FD0\u884C\u8BB0\u5F55\u3002",schedulePrefix:"\u4E0B\u6B21",workspaceField:"\u5DE5\u4F5C\u533A",workspaceDefault:"\u8DDF\u968F\u9ED8\u8BA4\u5DE5\u4F5C\u533A",workspaceMissing:"\u5DF2\u79FB\u9664\u7684\u5DE5\u4F5C\u533A\uFF08\u8BF7\u91CD\u65B0\u9009\u62E9\uFF09",workspaceUnavailable:"\u5DE5\u4F5C\u533A\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8FD0\u884C\u4F1A\u9000\u56DE\u9ED8\u8BA4\u76EE\u5F55\u3002",limitsField:"\u8FD0\u884C\u4E0A\u9650",advanced:"\u9AD8\u7EA7\u8BBE\u7F6E",advancedHint:"\u9884\u7B97\u8986\u76D6\u6574\u68F5\u8FD0\u884C\u5B50\u6811\uFF1A\u5B50 Agent \u4E0E PTC \u6D3E\u53D1\u90FD\u8BA1\u5165\u3002",runTimeout:"\u6700\u957F\u8FD0\u884C\uFF08\u5206\u949F\uFF09",idleTimeout:"\u7A7A\u95F2\u8D85\u65F6\uFF08\u5206\u949F\uFF09",maxSteps:"\u6700\u5927\u6B65\u9AA4",maxToolCalls:"\u6700\u5927\u5DE5\u5177\u8C03\u7528",notifyField:"\u901A\u77E5",notifyInApp:"\u5E94\u7528\u5185\u901A\u77E5",notifyFailure:"\u5931\u8D25\u65F6\u901A\u77E5",notifySuccess:"\u6210\u529F\u65F6\u901A\u77E5",notifyHint:"\u901A\u77E5\u53EA\u8BB0\u5F55\u5728\u5F53\u524D profile\uFF1B\u4E0D\u4F1A\u53D1\u9001\u90AE\u4EF6\u6216\u5916\u90E8\u6D88\u606F\u3002",presetLabel:"\u8FD0\u884C\u6A21\u5F0F",presetValue:"\u81EA\u52A8\u6A21\u5F0F",presetHint:"\u6240\u6709\u8FD0\u884C\u56FA\u5B9A\u4F7F\u7528\u81EA\u52A8\u6A21\u5F0F\u3002",budgetHint:"\u5DE5\u5177\u8C03\u7528\u4E0E\u6B65\u9AA4\u9884\u7B97\u8986\u76D6\u6574\u68F5\u8FD0\u884C\u5B50\u6811\uFF1A\u5B50 Agent \u4E0E PTC \u6D3E\u53D1\u90FD\u8BA1\u5165\u3002",environment:"\u6267\u884C\u73AF\u5883",policyField:"\u65E0\u4EBA\u503C\u5B88\u7B56\u7565",cwdKind:"\u5DE5\u4F5C\u533A\u6765\u6E90",techInfo:"\u6280\u672F\u4FE1\u606F",profileKey:"profileKey",runHistory:"\u8FD0\u884C\u5386\u53F2",last30Days:"\u6700\u8FD1 30 \u5929",runCount:"{n} \u6B21\u8FD0\u884C",successCount:"{n} \u6210\u529F",failureCount:"{n} \u5931\u8D25",historyEmpty:"\u6700\u8FD1 30 \u5929\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55\u3002",historyViewAll:"\u67E5\u770B\u5168\u90E8\u8FD0\u884C",runFilterAll:"\u5168\u90E8",runFilterActive:"\u8FDB\u884C\u4E2D",runFilterSucceeded:"\u6210\u529F",runFilterFailed:"\u5931\u8D25",runFilterLabel:"\u7B5B\u9009\u8FD0\u884C\u8BB0\u5F55",runsTitle:"\u8FD0\u884C",runsHint:"\u6BCF\u6B21\u8FD0\u884C\u90FD\u4F7F\u7528\u65B0\u7684 session\uFF1B\u7EC8\u6001\u540E\u624D\u80FD\u6253\u5F00 session\u3002",runsEmptyTitle:"\u5C1A\u672A\u8FD0\u884C",runsEmptyBody:"\u4EFB\u52A1\u8FD0\u884C\u540E\uFF0C\u8FD9\u91CC\u4F1A\u663E\u793A\u72B6\u6001\u3001\u8017\u65F6\u4E0E\u9519\u8BEF\u6761\u6570\uFF1B\u7ED3\u679C\u4E0E\u8FC7\u7A0B\u5728 session \u91CC\u3002",runsEmptyAction:"\u53BB\u6DFB\u52A0\u6A21\u677F",runsLimitHint:"\u4EC5\u663E\u793A\u6700\u8FD1 {n} \u6761\u8FD0\u884C\u8BB0\u5F55\u3002",cancelRunConfirmTitle:"\u53D6\u6D88\u8FD9\u6B21\u8FD0\u884C\uFF1F",cancelRunConfirmBody:"\u53D6\u6D88\u4F1A\u5411\u5F53\u524D\u8FD0\u884C\u53D1\u9001\u505C\u6B62\u4FE1\u53F7\uFF1B\u5DF2\u7ECF\u4EA7\u751F\u7684\u4E2D\u95F4\u7ED3\u679C\u4F1A\u7559\u5728 session \u91CC\u3002",cancelRunConfirm:"\u786E\u8BA4\u53D6\u6D88",duration:"\u8017\u65F6",steps:"\u6B65\u9AA4",tools:"\u5DE5\u5177\u8C03\u7528",errorTitle:"\u9519\u8BEF",errorDetailsLabel:"\u9519\u8BEF\u8BE6\u60C5",showErrorDetails:"\u67E5\u770B\u9519\u8BEF\u8BE6\u60C5",hideErrorDetails:"\u6536\u8D77\u9519\u8BEF\u8BE6\u60C5",triggerManual:"\u624B\u52A8",triggerScheduled:"\u5B9A\u65F6",openSession:"\u6253\u5F00 session",runSummaryFallback:"\u8FD0\u884C\u7ED3\u675F\u4F46\u6CA1\u6709\u6458\u8981\u3002",notificationsEmpty:"\u6CA1\u6709\u901A\u77E5\u3002",markRead:"\u5168\u90E8\u6807\u4E3A\u5DF2\u8BFB",markTaskRead:"\u672C\u4EFB\u52A1\u6807\u4E3A\u5DF2\u8BFB",notificationsTitle:"\u901A\u77E5",notificationsHint:"\u8FD0\u884C\u5931\u8D25\u3001\u8D85\u65F6\u3001\u8C03\u5EA6\u5668\u5F85\u547D\u4E0E\u4EA4\u6613\u65E5\u5386\u95EE\u9898\u4F1A\u51FA\u73B0\u5728\u8FD9\u91CC\u3002",notificationsUnread:"{n} \u6761\u672A\u8BFB",allRead:"\u5168\u90E8\u5DF2\u8BFB",noNotifications:"\u6CA1\u6709\u672A\u8BFB\u6216\u5386\u53F2\u901A\u77E5\u3002",notificationOpenTask:"\u67E5\u770B\u4EFB\u52A1",close:"\u5173\u95ED",confirmDeleteTitle:"\u5220\u9664\u8FD9\u4E2A\u4EFB\u52A1\uFF1F",confirmDeleteBody:"\u4EFB\u52A1\u914D\u7F6E\u3001\u8FD0\u884C\u8BB0\u5F55\u4E0E\u76F8\u5173\u901A\u77E5\u4F1A\u4E00\u8D77\u5220\u9664\uFF0C\u65E0\u6CD5\u6062\u590D\u3002",confirmHibernateTitle:"\u4F11\u7720\u5E76\u6062\u590D\u9ED8\u8BA4\uFF1F",confirmHibernateBody:"\u5F53\u524D\u5BF9\u5185\u7F6E\u6A21\u677F\u7684\u4FEE\u6539\u4F1A\u88AB\u6E05\u7A7A\uFF0C\u4EFB\u52A1\u56DE\u5230\u6A21\u677F\u533A\uFF1B\u5386\u53F2\u8FD0\u884C\u8BB0\u5F55\u4FDD\u7559\u3002",confirmDelete:"\u786E\u8BA4\u5220\u9664",confirmHibernate:"\u786E\u8BA4\u4F11\u7720",actionDone:"\u64CD\u4F5C\u5B8C\u6210",created:"\u4EFB\u52A1\u5DF2\u521B\u5EFA",activated:"\u5DF2\u542F\u7528\u300C{title}\u300D",added:"\u5DF2\u6DFB\u52A0\u300C{title}\u300D",paused:"\u5DF2\u6682\u505C\u300C{title}\u300D",copied:"\u5DF2\u590D\u5236\u4E3A\u300C{title}\u300D",deleted:"\u5DF2\u5220\u9664\u300C{title}\u300D",hibernated:"\u5DF2\u4F11\u7720\u300C{title}\u300D",runSubmitted:"\u5DF2\u63D0\u4EA4\u300C{title}\u300D\u8FD0\u884C",runCanceled:"\u5DF2\u53D6\u6D88\u8FD0\u884C",markReadDone:"\u5DF2\u6807\u4E3A\u5DF2\u8BFB",errorGeneric:"\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002",needConfirm:"\u9700\u8981\u7528\u6237\u786E\u8BA4",schedulerBlocked:"\u8C03\u5EA6\u5668\u672A\u53D6\u5F97\u8FD0\u884C\u6743\uFF0C\u6682\u65F6\u4E0D\u80FD\u624B\u52A8\u8FD0\u884C\u3002",runBlocked:"\u4EFB\u52A1\u6B63\u5728\u8FD0\u884C\uFF0C\u7ED3\u675F\u6216\u53D6\u6D88\u540E\u624D\u80FD\u518D\u6B21\u8FD0\u884C\u3002",configWhileRunning:"\u4EFB\u52A1\u6B63\u5728\u8FD0\u884C\uFF1B\u4FEE\u6539\u4F1A\u5728\u4E0B\u4E00\u6B21\u8FD0\u884C\u65F6\u751F\u6548\u3002",detailRecentRuns:"\u6700\u8FD1 {n} \u6B21\u8FD0\u884C",detailNoRuns:"\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55\u3002",detailAllRuns:"\u5B8C\u6574\u8BB0\u5F55",detailTaskNotifications:"\u4EFB\u52A1\u901A\u77E5",taskRunsLimit:"\u8FD9\u91CC\u663E\u793A\u5F53\u524D\u4EFB\u52A1\u6700\u8FD1 20 \u6B21\u8FD0\u884C\uFF1B\u5168\u90E8\u8FD0\u884C\u89C1\u300C\u8FD0\u884C\u300D\u9875\u3002",runErrors:"{n} \u6761\u9519\u8BEF",runNoErrors:"\u65E0\u9519\u8BEF",notificationFallbackFailed:"\u8FD0\u884C\u5931\u8D25\uFF1B\u6253\u5F00\u5BF9\u5E94\u4EFB\u52A1\u6216 session \u67E5\u770B\u8BE6\u60C5\u3002",notificationFallbackTimeout:"\u8FD0\u884C\u8D85\u65F6\uFF1B\u6253\u5F00\u5BF9\u5E94\u4EFB\u52A1\u6216 session \u67E5\u770B\u8BE6\u60C5\u3002",notificationFallbackSuccess:"\u8FD0\u884C\u5B8C\u6210\u3002",notificationFallbackStandby:"\u8C03\u5EA6\u5668\u672A\u53D6\u5F97\u8FD0\u884C\u6743\uFF0C\u5B9A\u65F6\u89E6\u53D1\u6682\u505C\u3002",notificationFallbackCalendar:"\u4EA4\u6613\u65E5\u5386\u4E0D\u53EF\u7528\uFF0C\u4EA4\u6613\u65E5\u4EFB\u52A1\u5DF2\u8DF3\u8FC7\u3002",notificationFallbackSkipped:"\u672C\u6B21\u8BA1\u5212\u5DF2\u8DF3\u8FC7\u3002",statusLabel:"\u72B6\u6001",triggerSummary:"\u65E5\u7A0B",lastRun:"\u4E0A\u6B21\u8FD0\u884C",neverRun:"\u5C1A\u672A\u8FD0\u884C",relativeNow:"\u521A\u521A",nextRunUnavailable:"\u4EA4\u6613\u65E5\u5386\u4E0D\u53EF\u7528\uFF0C\u65E0\u6CD5\u8BA1\u7B97\u4E0B\u4E00\u6B21\u8FD0\u884C\u3002",copyHint:"\u590D\u5236\u540E\u4F1A\u751F\u6210\u4E00\u4E2A\u6682\u505C\u72B6\u6001\u7684\u81EA\u5B9A\u4E49\u4EFB\u52A1\u3002",notificationTaskGone:"\u4EFB\u52A1\u5DF2\u4E0D\u5B58\u5728",noSelection:"\u4ECE\u5217\u8868\u4E2D\u9009\u62E9\u4E00\u4E2A\u4EFB\u52A1\u3002",details:"\u8BE6\u60C5",actions:"\u64CD\u4F5C",rosterCount:"{n} \u4E2A\u4EFB\u52A1",dayOfMonth:"{n} \u65E5",everyPrefix:"\u6BCF",weeklyPrefix:"\u6BCF\u5468",monthlyPrefix:"\u6BCF\u6708",monthlyLastDay:"\u6700\u540E\u4E00\u5929",dailyPrefix:"\u6BCF\u5929",oncePrefix:"\u5355\u6B21",tradingSuffix:"\uFF08\u4EC5\u4EA4\u6613\u65E5\uFF09",sessionMissing:"\u6CA1\u6709\u53EF\u6253\u5F00\u7684 session"};function re(){if(typeof document>"u"||document.querySelector(`style[data-${tt}]`))return()=>{};let i=document.createElement("style");return i.setAttribute(`data-${tt}`,"true"),i.textContent=`
|
|
9
9
|
.capital-automation-page, .capital-automation-modal { --ca-card: var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-layer-1)); --ca-line: var(--dsw-alias-border-l3, var(--dsw-alias-border-l1)); --ca-line-soft: var(--dsw-alias-border-l2, var(--dsw-alias-border-l1)); --ca-table-line: var(--ca-line); --ca-muted: var(--dsw-alias-label-tertiary); --ca-caption: var(--dsw-alias-label-caption, var(--dsw-alias-label-tertiary)); --ca-hover: var(--dsw-alias-interactive-bg-hover); --ca-field: var(--dsw-alias-bg-module-platform); --ca-business: var(--dsw-alias-state-business-primary, var(--dsw-alias-brand-primary)); --ca-success: var(--dsw-alias-state-success-primary); --ca-error: var(--dsw-alias-state-error-primary); --ca-warn: var(--dsw-alias-state-warn-label); --ca-business-text: var(--ca-business); --ca-success-text: var(--ca-success); --ca-error-text: var(--ca-error); --ca-warn-text: var(--ca-warn); }
|
|
10
10
|
body:not([data-ds-dark-theme]) .capital-automation-page, body:not([data-ds-dark-theme]) .capital-automation-modal { --ca-line: #0000001f; --ca-line-soft: #0000001a; --ca-table-line: #00000026; --ca-muted: #5d626a; --ca-caption: #6a6f77; --ca-hover: #eef1f5; --ca-field: #f7f8fa; --ca-business: #2f63d6; --ca-success: #16a34a; --ca-error: #dc2626; --ca-warn: #d97706; --ca-business-text: #2f63d6; --ca-success-text: #15803d; --ca-error-text: #c81e1e; --ca-warn-text: #b45309; --ca-tag-news: #2f6fd0; --ca-tag-market: #a85a08; --ca-tag-review: #6d4ac4; --ca-tag-research: #0f766e; --ca-tag-custom: #b3246d; }
|
|
11
11
|
.capital-automation-page { display: flex; flex-direction: column; min-height: 0; height: 100%; color: var(--dsw-alias-label-primary); }
|
|
@@ -59,7 +59,7 @@ window.__ModuleLoader__.load({
|
|
|
59
59
|
.capital-automation-statusdot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: none; }
|
|
60
60
|
.capital-automation-historylink { display: inline-flex; align-items: center; gap: 2px; height: 24px; padding: 0 6px; border: 0; border-radius: 7px; background: transparent; color: var(--ca-muted); font: inherit; font-size: 12px; cursor: pointer; }
|
|
61
61
|
.capital-automation-historylink:hover { background: var(--ca-hover); color: var(--dsw-alias-label-primary); }
|
|
62
|
-
.capital-automation-timeline { display: grid; grid-template-columns: repeat(${
|
|
62
|
+
.capital-automation-timeline { display: grid; grid-template-columns: repeat(${xa}, minmax(0, 1fr)); align-items: end; gap: 2px; height: 28px; margin-top: 18px; border-bottom: 1px dashed var(--ca-line); }
|
|
63
63
|
.capital-automation-timeline-day { position: relative; display: flex; align-items: flex-end; justify-content: center; height: 100%; padding-bottom: 3px; }
|
|
64
64
|
.capital-automation-timeline-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ca-caption); box-shadow: 0 0 0 2px var(--ca-card); }
|
|
65
65
|
.capital-automation-timeline-dot[data-tone="ok"] { background: var(--ca-success); }
|
|
@@ -213,17 +213,31 @@ window.__ModuleLoader__.load({
|
|
|
213
213
|
.capital-automation-error { margin: 0; color: var(--ca-error-text); font-size: 12px; line-height: 18px; }
|
|
214
214
|
.capital-automation-toast { position: fixed; bottom: 26px; left: 50%; z-index: 1300; max-width: min(520px, calc(100vw - 40px)); transform: translateX(-50%); padding: 8px 15px; border: .5px solid var(--ca-line-soft); border-radius: 999px; background: var(--dsw-alias-label-primary); color: var(--dsw-alias-bg-base); box-shadow: 0 8px 26px rgba(0,0,0,.22); font-size: 12px; line-height: 18px; }
|
|
215
215
|
.capital-automation-form { display: flex; flex-direction: column; gap: 16px; }
|
|
216
|
-
.capital-automation-
|
|
217
|
-
.capital-automation-
|
|
216
|
+
.capital-automation-instructionrow { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(420px, 520px); align-items: stretch; gap: 16px; }
|
|
217
|
+
.capital-automation-instructionside { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
|
|
218
218
|
.capital-automation-formgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
|
|
219
|
+
.capital-automation-titlerow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 210px); align-items: start; gap: 12px; }
|
|
219
220
|
.capital-automation-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
|
|
220
|
-
.capital-automation-
|
|
221
|
-
.capital-automation-
|
|
221
|
+
.capital-automation-fieldhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; }
|
|
222
|
+
.capital-automation-fieldlabel { color: var(--ca-muted); font-size: 11.5px; line-height: 17px; }
|
|
223
|
+
.capital-automation-fieldhint { color: var(--ca-caption); font-size: 11px; line-height: 16px; font-variant-numeric: tabular-nums; }
|
|
224
|
+
.capital-automation-field input { box-sizing: border-box; width: 100%; padding: 0 10px; border: .5px solid var(--ca-line-soft); border-radius: 10px; background: var(--ca-field); color: var(--dsw-alias-label-primary); font: inherit; font-size: 12.5px; line-height: 32px; }
|
|
222
225
|
.capital-automation-field input { height: 34px; }
|
|
223
|
-
.capital-automation-
|
|
224
|
-
.capital-automation-field
|
|
225
|
-
.capital-automation-field
|
|
226
|
-
.capital-automation-
|
|
226
|
+
.capital-automation-texteditor { color: var(--dsw-alias-label-primary); font: inherit; white-space: pre-wrap; overflow-wrap: anywhere; overflow-y: auto; outline: 0; cursor: text; }
|
|
227
|
+
.capital-automation-field .capital-automation-texteditor { box-sizing: border-box; flex: 1 1 auto; min-height: 110px; padding: 9px 10px; border: .5px solid var(--ca-line-soft); border-radius: 10px; background: var(--ca-field); color: var(--dsw-alias-label-primary); font: inherit; font-size: 12.5px; line-height: 19px; white-space: pre-wrap; overflow-wrap: anywhere; overflow-y: auto; outline: 0; cursor: text; }
|
|
228
|
+
.capital-automation-field .capital-automation-texteditor.capital-automation-descriptioninput { flex: none; height: 58px; min-height: 58px; }
|
|
229
|
+
.capital-automation-texteditor:empty:before { content: attr(data-placeholder); color: var(--ca-caption); pointer-events: none; }
|
|
230
|
+
.capital-automation-field .capital-automation-texteditor:hover { border-color: var(--ca-line); }
|
|
231
|
+
.capital-automation-field .capital-automation-texteditor:focus-visible { border-color: var(--ca-business); outline: 2px solid color-mix(in srgb, var(--ca-business) 22%, transparent); outline-offset: 0; }
|
|
232
|
+
.capital-automation-field[data-invalid="true"] .capital-automation-texteditor { border-color: color-mix(in srgb, var(--ca-error) 58%, var(--ca-line-soft)); }
|
|
233
|
+
.capital-automation-field[data-invalid="true"] .capital-automation-texteditor:focus-visible { border-color: var(--ca-error); outline-color: color-mix(in srgb, var(--ca-error) 22%, transparent); }
|
|
234
|
+
.capital-automation-field .capital-automation-texteditor[contenteditable="false"] { color: var(--ca-muted); opacity: .8; cursor: not-allowed; }
|
|
235
|
+
.capital-automation-field input:hover { border-color: var(--ca-line); }
|
|
236
|
+
.capital-automation-field input:focus-visible { border-color: var(--ca-business); outline: 2px solid color-mix(in srgb, var(--ca-business) 22%, transparent); outline-offset: 0; }
|
|
237
|
+
.capital-automation-field[data-invalid="true"] input { border-color: color-mix(in srgb, var(--ca-error) 58%, var(--ca-line-soft)); }
|
|
238
|
+
.capital-automation-field[data-invalid="true"] input:focus-visible { border-color: var(--ca-error); outline-color: color-mix(in srgb, var(--ca-error) 22%, transparent); }
|
|
239
|
+
.capital-automation-field input:disabled { color: var(--ca-muted); opacity: .8; }
|
|
240
|
+
.capital-automation-fielderror { color: var(--ca-error-text); font-size: 11px; line-height: 16px; }
|
|
227
241
|
.capital-automation-select { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 0; height: 34px; padding: 0 10px 0 12px; border: 0; border-radius: 10px; background: var(--ca-field); color: var(--dsw-alias-label-primary); font: inherit; font-size: 12.5px; line-height: 20px; text-align: left; cursor: pointer; transition: background .15s, opacity .15s; }
|
|
228
242
|
.capital-automation-select:hover:not(:disabled) { background: var(--ca-hover); }
|
|
229
243
|
.capital-automation-select[data-block="true"] { width: 100%; }
|
|
@@ -235,20 +249,37 @@ window.__ModuleLoader__.load({
|
|
|
235
249
|
.capital-automation-formactions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding-top: 14px; border-top: .5px solid var(--ca-line); }
|
|
236
250
|
.capital-automation-formactions[data-sticky="true"] { position: sticky; bottom: -1px; z-index: 2; margin-top: 2px; padding: 12px 0 4px; background: var(--dsw-alias-bg-base); }
|
|
237
251
|
.capital-automation-formstatus { margin-right: auto; color: var(--ca-caption); font-size: 11.5px; line-height: 18px; }
|
|
238
|
-
.capital-automation-triggerbox { display: flex; flex-direction: column; gap: 12px; padding:
|
|
239
|
-
.capital-automation-
|
|
240
|
-
.capital-automation-
|
|
241
|
-
.capital-automation-
|
|
242
|
-
.capital-automation-
|
|
243
|
-
.capital-automation-
|
|
244
|
-
.capital-automation-
|
|
245
|
-
.capital-automation-
|
|
246
|
-
.capital-automation-
|
|
247
|
-
.capital-automation-
|
|
248
|
-
.capital-automation-
|
|
249
|
-
.capital-automation-
|
|
252
|
+
.capital-automation-triggerbox { display: flex; flex-direction: column; gap: 12px; padding: 14px 16px; border: .5px solid var(--ca-line); border-radius: 14px; background: var(--ca-field); }
|
|
253
|
+
.capital-automation-triggerbox[data-invalid="true"] { border-color: color-mix(in srgb, var(--ca-error) 52%, var(--ca-line)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ca-error) 9%, transparent); }
|
|
254
|
+
.capital-automation-triggerhead { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
|
|
255
|
+
.capital-automation-triggerhead > .capital-automation-triggerfield:first-child { flex: 1 1 auto; min-width: 0; }
|
|
256
|
+
.capital-automation-triggerhead > .capital-automation-triggerfield:last-child { flex: none; }
|
|
257
|
+
.capital-automation-triggerfield { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
|
|
258
|
+
.capital-automation-triggerfield .capital-automation-select { flex: none; width: 96px; height: 32px; padding: 0 8px 0 10px; border: .5px solid var(--ca-line-soft); border-radius: 9px; background: var(--ca-card); font-size: 12.5px; }
|
|
259
|
+
.capital-automation-triggerfield .capital-automation-select:hover:not(:disabled) { border-color: var(--ca-line); background: var(--ca-card); }
|
|
260
|
+
.capital-automation-triggerlabel { color: var(--ca-muted); font-size: 11.5px; line-height: 16px; white-space: nowrap; }
|
|
261
|
+
.capital-automation-triggerbox input.capital-automation-triggertime, .capital-automation-triggerbox input.capital-automation-triggerdate { box-sizing: border-box; flex: none; width: 112px; height: 32px; padding: 0 8px; border: .5px solid var(--ca-line-soft); border-radius: 10px; background: var(--ca-card); color: var(--dsw-alias-label-primary); font: inherit; font-size: 12.5px; font-variant-numeric: tabular-nums; line-height: normal; transition: border-color .15s, box-shadow .15s; }
|
|
262
|
+
.capital-automation-triggerbox input.capital-automation-triggerdate { flex: 0 1 146px; width: 146px; min-width: 120px; }
|
|
263
|
+
.capital-automation-triggerbox input.capital-automation-triggertime:hover:not(:disabled), .capital-automation-triggerbox input.capital-automation-triggerdate:hover:not(:disabled) { border-color: var(--ca-line); }
|
|
264
|
+
.capital-automation-triggerbox input.capital-automation-triggertime:focus-visible, .capital-automation-triggerbox input.capital-automation-triggerdate:focus-visible { border-color: var(--ca-business); outline: 2px solid color-mix(in srgb, var(--ca-business) 22%, transparent); outline-offset: 0; }
|
|
265
|
+
.capital-automation-triggerbox input.capital-automation-triggertime[data-invalid="true"], .capital-automation-triggerbox input.capital-automation-triggerdate[data-invalid="true"] { border-color: color-mix(in srgb, var(--ca-error) 58%, var(--ca-line-soft)); }
|
|
266
|
+
.capital-automation-triggerbox input.capital-automation-triggertime[data-invalid="true"]:focus-visible, .capital-automation-triggerbox input.capital-automation-triggerdate[data-invalid="true"]:focus-visible { border-color: var(--ca-error); outline-color: color-mix(in srgb, var(--ca-error) 22%, transparent); }
|
|
267
|
+
.capital-automation-triggerbox input.capital-automation-triggertime:disabled, .capital-automation-triggerbox input.capital-automation-triggerdate:disabled { opacity: .5; cursor: not-allowed; }
|
|
268
|
+
body[data-ds-dark-theme] .capital-automation-triggertime, body[data-ds-dark-theme] .capital-automation-triggerdate { color-scheme: dark; }
|
|
269
|
+
body:not([data-ds-dark-theme]) .capital-automation-triggertime, body:not([data-ds-dark-theme]) .capital-automation-triggerdate { color-scheme: light; }
|
|
270
|
+
.capital-automation-triggerdetail { display: flex; flex: 1 1 auto; align-items: center; gap: 6px; min-width: 0; min-height: 32px; }
|
|
271
|
+
.capital-automation-triggerdetail > .capital-automation-triggerfield { flex: 1 1 auto; min-width: 0; }
|
|
272
|
+
.capital-automation-triggerdetail .capital-automation-triggerpick { flex: 1 1 auto; width: auto; min-width: 0; max-width: 190px; height: 32px; padding: 0 8px 0 10px; border: .5px solid var(--ca-line-soft); border-radius: 9px; background: var(--ca-card); font-size: 12px; }
|
|
273
|
+
.capital-automation-triggerdetail .capital-automation-triggerpick:hover:not(:disabled) { border-color: var(--ca-line); background: var(--ca-card); }
|
|
274
|
+
.capital-automation-monthpick [role="menu"] [role="menu"] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; width: 196px; min-width: 0; max-height: 252px; overflow-y: auto; padding: 6px; }
|
|
275
|
+
.capital-automation-monthpick [role="menu"] [role="menu"] button { justify-content: center; min-width: 0; min-height: 26px; padding: 3px 4px; font-size: 12px; line-height: 18px; }
|
|
276
|
+
.capital-automation-triggersettings { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding-top: 12px; border-top: .5px solid var(--ca-line); }
|
|
277
|
+
.capital-automation-triggerzone { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
|
|
278
|
+
.capital-automation-triggersettings .capital-automation-select { max-width: 190px; height: 28px; padding: 0 8px 0 10px; border: .5px solid var(--ca-line-soft); border-radius: 9px; background: var(--ca-card); font-size: 11.5px; }
|
|
279
|
+
.capital-automation-triggersettings .capital-automation-select:hover:not(:disabled) { border-color: var(--ca-line); background: var(--ca-card); }
|
|
280
|
+
.capital-automation-triggerswitch { display: inline-flex; flex: none; align-items: center; gap: 7px; color: var(--dsw-alias-label-secondary); font-size: 12px; cursor: pointer; user-select: none; }
|
|
281
|
+
.capital-automation-triggererrors { display: flex; flex-direction: column; gap: 4px; }
|
|
250
282
|
.capital-automation-switch { display: inline-flex; align-items: center; gap: 7px; color: var(--ca-muted); font-size: 12px; }
|
|
251
|
-
.capital-automation-triggersummary { margin: 0; color: var(--ca-caption); font-size: 11.5px; line-height: 18px; }
|
|
252
283
|
.capital-automation-advanced { border-top: .5px solid var(--ca-line); padding-top: 12px; }
|
|
253
284
|
.capital-automation-advanced summary { color: var(--ca-muted); font-size: 12px; line-height: 18px; cursor: pointer; user-select: none; }
|
|
254
285
|
.capital-automation-advanced summary:hover { color: var(--dsw-alias-label-primary); }
|
|
@@ -301,16 +332,20 @@ window.__ModuleLoader__.load({
|
|
|
301
332
|
.capital-automation-notificationmessage { display: -webkit-box; overflow: hidden; margin-top: 2px; color: var(--ca-muted); font-size: 11.5px; line-height: 18px; overflow-wrap: anywhere; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
|
|
302
333
|
.capital-automation-notificationtime { display: block; margin-top: 3px; color: var(--ca-caption); font-size: 11px; line-height: 16px; }
|
|
303
334
|
.capital-automation-modal { width: min(720px, calc(100vw - 32px)); max-width: min(720px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); }
|
|
335
|
+
.capital-automation-modal-wizard { width: min(600px, calc(100vw - 32px)); max-width: min(600px, calc(100vw - 32px)); }
|
|
304
336
|
.capital-automation-modal-content { max-height: calc(100dvh - 128px); overflow: auto; }
|
|
305
337
|
.capital-automation-modal-narrow { width: min(480px, calc(100vw - 32px)); max-width: min(480px, calc(100vw - 32px)); }
|
|
306
338
|
.capital-automation-wizard { display: flex; flex-direction: column; gap: 14px; }
|
|
307
339
|
.capital-automation-modalheadline { display: flex; align-items: center; gap: 10px; }
|
|
308
340
|
.capital-automation-modaltitleinput { flex: 1 1 auto; min-width: 0; height: 42px; padding: 0 12px; border: .5px solid var(--ca-line-soft); border-radius: 12px; background: var(--dsw-alias-bg-module-platform); color: var(--dsw-alias-label-primary); font: inherit; font-size: 15px; font-weight: 500; }
|
|
309
341
|
.capital-automation-modaltitleinput:focus-visible { border-color: var(--ca-business); outline: 2px solid color-mix(in srgb, var(--ca-business) 22%, transparent); outline-offset: 0; }
|
|
342
|
+
.capital-automation-modalheadline[data-invalid="true"] .capital-automation-modaltitleinput { border-color: color-mix(in srgb, var(--ca-error) 58%, var(--ca-line-soft)); }
|
|
310
343
|
.capital-automation-formlabel { display: block; margin-bottom: 6px; color: var(--ca-muted); font-size: 11.5px; line-height: 17px; }
|
|
344
|
+
.capital-automation-promptfield { display: flex; flex-direction: column; gap: 5px; }
|
|
345
|
+
.capital-automation-promptfield[data-invalid="true"] .capital-automation-promptbox { border-color: color-mix(in srgb, var(--ca-error) 58%, var(--ca-line)); }
|
|
311
346
|
.capital-automation-promptbox { overflow: hidden; border: .5px solid var(--ca-line); border-radius: 16px; background: var(--dsw-alias-bg-module-platform); }
|
|
312
|
-
.capital-automation-promptbox
|
|
313
|
-
.capital-automation-promptbox
|
|
347
|
+
.capital-automation-promptbox .capital-automation-texteditor { box-sizing: border-box; width: 100%; height: 120px; min-height: 120px; padding: 13px 14px; border: 0; border-radius: 0; background: transparent; font-size: 13px; line-height: 21px; }
|
|
348
|
+
.capital-automation-promptbox .capital-automation-texteditor:focus-visible { outline: 0; }
|
|
314
349
|
.capital-automation-prompttoolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 10px; border-top: .5px solid var(--ca-line); }
|
|
315
350
|
.capital-automation-prompttoolbar label, .capital-automation-toolbarfield { display: inline-flex; align-items: center; gap: 5px; color: var(--ca-muted); font-size: 11.5px; }
|
|
316
351
|
.capital-automation-prompttoolbar .capital-automation-select { max-width: 168px; background: var(--ca-card); }
|
|
@@ -329,6 +364,9 @@ window.__ModuleLoader__.load({
|
|
|
329
364
|
.capital-automation-theadmain > :nth-child(3), .capital-automation-cell[data-cell="next"] { display: none; }
|
|
330
365
|
.capital-automation-statgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
331
366
|
}
|
|
367
|
+
@media (max-width: 960px) {
|
|
368
|
+
.capital-automation-instructionrow { grid-template-columns: minmax(0, 1fr); }
|
|
369
|
+
}
|
|
332
370
|
@media (max-width: 760px) {
|
|
333
371
|
.capital-automation-head { padding-top: 14px; }
|
|
334
372
|
.capital-automation-topbar { display: flex; flex-wrap: wrap; gap: 10px; }
|
|
@@ -346,8 +384,16 @@ window.__ModuleLoader__.load({
|
|
|
346
384
|
.capital-automation-templates { grid-template-columns: 1fr; }
|
|
347
385
|
.capital-automation-sectiontools { width: 100%; margin-left: 0; }
|
|
348
386
|
}
|
|
387
|
+
@media (max-width: 560px) {
|
|
388
|
+
.capital-automation-triggerhead { flex-wrap: wrap; gap: 10px 12px; }
|
|
389
|
+
.capital-automation-triggerhead > .capital-automation-triggerfield:first-child { flex: 1 1 100%; flex-wrap: wrap; }
|
|
390
|
+
.capital-automation-triggerdetail { flex: 1 1 100%; }
|
|
391
|
+
.capital-automation-triggerhead > .capital-automation-triggerfield:last-child { flex: 1 1 100%; justify-content: flex-start; }
|
|
392
|
+
.capital-automation-monthpick [role="menu"] [role="menu"] { right: auto; left: 0; }
|
|
393
|
+
}
|
|
349
394
|
@media (max-width: 520px) {
|
|
350
395
|
.capital-automation-brand h1 { font-size: 16px; }
|
|
396
|
+
.capital-automation-titlerow { grid-template-columns: minmax(0, 1fr); }
|
|
351
397
|
.capital-automation-topactions .capital-automation-btn:not([data-variant="contrast"]) { width: auto; min-width: 32px; padding: 0 8px; }
|
|
352
398
|
.capital-automation-topactions .capital-automation-btn[data-variant="contrast"] { width: 32px; padding: 0; }
|
|
353
399
|
.capital-automation-topactions .capital-automation-btn .capital-automation-btnlabel { display: none; }
|
|
@@ -355,7 +401,8 @@ window.__ModuleLoader__.load({
|
|
|
355
401
|
.capital-automation-heroactions { padding-left: 0; }
|
|
356
402
|
.capital-automation-modal-content { max-height: calc(100dvh - 112px); }
|
|
357
403
|
}
|
|
358
|
-
`,document.head.appendChild(i),()=>i.remove()}function Xt(){async function i(t,n={}){let o=typeof AbortController=="function"?new AbortController:void 0,l=setTimeout(()=>o?.abort(),2e4),s,u;try{s=await fetch(`${Vt}${t}`,{method:n.method??"GET",credentials:"same-origin",headers:n.body===void 0?{}:{"content-type":"application/json"},body:n.body===void 0?void 0:JSON.stringify(n.body),...o===void 0?{}:{signal:o.signal}});try{u=await s.json()}catch{throw new Error(e.errorGeneric)}}finally{clearTimeout(l)}if(!s.ok||u?.ok===!1){let m=new Error(u?.message??e.errorGeneric);throw m.code=u?.code,m}return u}return{meta:()=>i("/meta"),tasks:()=>i("/tasks"),detail:t=>i(`/tasks/${encodeURIComponent(t)}`),create:t=>i("/tasks",{method:"POST",body:t}),patch:(t,n)=>i(`/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:n}),remove:t=>i(`/tasks/${encodeURIComponent(t)}`,{method:"DELETE"}),action:(t,n)=>i(`/tasks/${encodeURIComponent(t)}/${n}`,{method:"POST"}),run:t=>i(`/tasks/${encodeURIComponent(t)}/run`,{method:"POST"}),cancel:t=>i(`/runs/${encodeURIComponent(t)}/cancel`,{method:"POST"}),runs:(t="")=>i(`/runs${t}`),notifications:()=>i("/notifications"),markRead:t=>i("/notifications/read",{method:"POST",body:t})}}function ot(i){return e.status[i]??i}function lt(i){return e.state[i]??i}function rt(i){return i?.state==="active"?e.pause:i?.state==="dormant"?e.add:e.activate}function st(i){return i?.state==="active"?qt:i?.state==="dormant"?$a:Oa}function ct(i){return(i?.state==="dormant"?e.added:e.activated).replace("{title}",i?.title??"")}function la(i){return e.category[i]??i}function ut(i,t=12){let n=String(i??""),o=Array.from(n);return o.length>t?`${o.slice(0,t).join("")}\u2026`:n}function ae(i){return e.mode[i]??i}function te(i){if(i==null||i.available===!1)return e.calendarSourceNone;let t=i.source==="szse"?e.calendarSourceSzse:i.source==="bundled"?e.calendarSourceBundled:e.calendarSourceNone,n=i.through??e.calendarUnknown;return`${t} \xB7 ${e.calendarThrough.replace("{date}",n)}`}function $(i){return i!=null&&Kt.includes(i.status)}function aa(i){return Yt.includes(i)}function Ma(i){return i?.origin==="custom"?"custom":i?.category??"news"}function ee(i){return i?.origin==="custom"?tt:i?.sourceBuiltinId==="morning-brief"?Ht:i?.category==="market"?_t:i?.category==="review"?Pt:i?.category==="research"?at:Bt}function sa(i){let{task:t,size:n=34,large:o=!1}=i,l=ee(t),s=o?44:n;return a("span",{className:"capital-automation-glyph","data-tone":Ma(t),style:{width:s,height:s,borderRadius:o?13:10}},a(l,{size:o?22:17}))}function pt(i){let{state:t,running:n}=i,o=n?e.status.running:lt(t);return a("span",{className:"capital-automation-state","data-state":n?"running":t},a("span",{className:"capital-automation-statedot"}),o)}function ie(i,t={}){if(typeof i!="string"||i.length===0)return e.never;let n=new Date(i);return Number.isNaN(n.getTime())?i:new Intl.DateTimeFormat("zh-CN",{year:t.short===!0?void 0:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23",...typeof t.timeZone=="string"&&t.timeZone.length>0?{timeZone:t.timeZone}:{}}).format(n)}function La(i,t){return ie(i,{short:!0,timeZone:t})}function dt(i){if(typeof i!="number"||i<0)return e.never;let t=Math.round(i/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m ${t%60}s`:`${Math.floor(n/60)}h ${n%60}m`}function mt(i){if(typeof i!="string"||i.length===0)return"";let t=Date.parse(i);if(Number.isNaN(t))return"";let n=t-Date.now(),o=Math.abs(n);if(o<45e3)return e.relativeNow;let l=[[864e5,"day"],[36e5,"hour"],[6e4,"minute"]],s=new Intl.RelativeTimeFormat("zh-CN",{numeric:"auto"});for(let[u,m]of l)if(o>=u||m==="minute")return s.format(Math.round(n/u),m);return""}function Na(i){return new Intl.DateTimeFormat("zh-CN",{month:"short",day:"numeric"}).format(i)}function _a(i){if(i==null)return e.never;let t=i.tradingDaysOnly===!0?e.tradingSuffix:"";if(i.cadence==="weekly"){let n=(i.weekdays??[]).slice().sort((o,l)=>o-l).map(o=>Ea.find(l=>l.value===o)?.label??"").join("\u3001");return`${e.weeklyPrefix}${n} ${i.time}${t}`}return i.cadence==="monthly"?`${e.monthlyPrefix} ${i.dayOfMonth??1} \u65E5 ${i.time}${t}`:`${e.dailyPrefix} ${i.time}${t}`}function ne(i){return i?.cadence==="weekly"?`\u6BCF\u5468 ${(i.weekdays??[]).slice().sort((n,o)=>n-o).map(n=>Ea.find(o=>o.value===n)?.label??"").join("\u3001")}`:i?.cadence==="monthly"?`\u6BCF\u6708 ${i.dayOfMonth??1} \u65E5`:"\u6BCF\u5929"}function gt(i){if(i?.state==="dormant")return{value:e.nextRunDormant,sub:e.notScheduled};if(i?.state==="paused")return{value:e.nextRunPaused,sub:e.notScheduled};let t=i?.nextRunLocal??(i?.nextRunUnavailable?e.calendarUnavailable:e.never),n=i?.nextRunAt?mt(i.nextRunAt):i?.nextRunUnavailable?e.nextRunUnavailable:e.never;return{value:t,sub:n}}function oe(i,t){if(i==null)return{value:e.neverRun,sub:e.lastRunEmpty};let n=$(i),o=[La(i.queuedAt,t)];!n&&typeof i.durationMs=="number"&&o.push(dt(i.durationMs));let l=Array.isArray(i.errors)?i.errors.length:0;l>0&&o.push(e.runErrors.replace("{n}",String(l)));let s;return i.status==="succeeded"?s="ok":aa(i.status)?s="error":n?s="running":Wt.includes(i.status)&&(s="warn"),{value:ot(i.status),sub:o.filter(Boolean).join(" \xB7 "),tone:s}}function Ba(i,t){let n=[{id:"",title:e.workspaceDefault}],o=Array.isArray(i?.workspaces)?i.workspaces:[];for(let l of o)typeof l?.id!="string"||l.id.length===0||n.push({id:l.id,title:l.default===!0?`${l.title}\uFF08\u9ED8\u8BA4\uFF09`:l.title});return typeof t=="string"&&t.length>0&&!n.some(l=>l.id===t)&&n.push({id:t,title:e.workspaceMissing}),n}function le(i,t){return typeof t!="string"||t.length===0?e.workspaceDefault:Ba(i,t).find(n=>n.id===t)?.title??e.workspaceMissing}function ra(i){let t={kind:"schedule",cadence:i?.cadence??"daily",time:i?.time??"09:00",timezone:i?.timezone??"Asia/Shanghai",tradingDaysOnly:i?.tradingDaysOnly===!0};return t.cadence==="weekly"&&(t.weekdays=(i?.weekdays??[1,3,5]).slice().sort((n,o)=>n-o)),t.cadence==="monthly"&&(t.dayOfMonth=i?.dayOfMonth??1),t}function re(i,t){let n=ra({...t,cadence:i});return i==="weekly"&&(n.weekdays??[]).length===0&&(n.weekdays=[1,3,5]),n}function Qa(){return{title:"\u6211\u7684\u6295\u7814\u4EFB\u52A1",description:"",instruction:"",category:"research",trigger:{kind:"schedule",cadence:"daily",time:"09:00",timezone:"Asia/Shanghai",tradingDaysOnly:!0},mode:"research",workspaceId:"",limits:{...Zt},notifications:{inApp:!0,onFailure:!0,onSuccess:!1}}}function xa(i){return{title:String(i.title??"").trim(),description:i.description??"",instruction:i.instruction??"",category:i.category,trigger:ra(i.trigger),mode:i.mode,workspaceId:i.workspaceId??"",limits:i.limits,notifications:i.notifications}}function se(i,t){return JSON.stringify(xa(i))===JSON.stringify(xa(t))}function ce(i){let t=new Date;t.setHours(0,0,0,0),t.setDate(t.getDate()-(ha-1));let n=[],o=new Map;for(let m=0;m<ha;m+=1){let r=new Date(t);r.setDate(t.getDate()+m);let c=`${r.getFullYear()}-${r.getMonth()}-${r.getDate()}`,f={date:r,key:c,runs:[]};n.push(f),o.set(c,f)}let l=0,s=0,u=0;for(let m of i){let r=new Date(m.queuedAt);if(Number.isNaN(r.getTime())||r<t)continue;m.status==="succeeded"&&(l+=1),aa(m.status)&&(s+=1),u+=1;let c=`${r.getFullYear()}-${r.getMonth()}-${r.getDate()}`,f=o.get(c);f!==void 0&&f.runs.push(m)}return{days:n,success:l,failure:s,total:u}}function ue(i){return i.runs.some(t=>$(t))?"active":i.runs.some(t=>aa(t.status))?"error":i.runs.some(t=>t.status==="succeeded")?"ok":i.runs.length>0?"warn":null}function Ta(i){return i==="run_failed"||i==="run_timeout"?"error":i==="scheduler_standby"||i==="calendar_unavailable"?"warn":"neutral"}function pe(i){return typeof i.message=="string"&&i.message.length>0?i.message:i.kind==="run_failed"?e.notificationFallbackFailed:i.kind==="run_timeout"?e.notificationFallbackTimeout:i.kind==="run_succeeded"?e.notificationFallbackSuccess:i.kind==="scheduler_standby"?e.notificationFallbackStandby:i.kind==="calendar_unavailable"?e.notificationFallbackCalendar:i.kind==="skipped"?e.notificationFallbackSkipped:""}function de(i,t){return!se(i,t)}function ft(i){if(String(i.title??"").trim().length===0||String(i.instruction??"").trim().length===0)return e.required;if(!/^([01]\d|2[0-3]):[0-5]\d$/.test(i.trigger?.time??""))return e.invalidTime;if(String(i.trigger?.timezone??"").trim().length===0)return e.invalidTimezone;try{new Intl.DateTimeFormat("zh-CN",{timeZone:i.trigger.timezone})}catch{return e.invalidTimezoneValue}if(i.trigger?.cadence==="weekly"&&(i.trigger.weekdays??[]).length===0)return e.weekdayRequired;let t=i.limits??{};return[t.runTimeoutMinutes,t.idleTimeoutMinutes,t.maxSteps,t.maxToolCalls].every(n=>Number.isFinite(n))?"":e.invalidLimits}function j(i,t,n){let o=i?.execution?.limits?.[t];return Array.isArray(o)&&o.length===2?o:n}function bt(i){let{runs:t,onViewAll:n,showLink:o=!0}=i,{days:l,success:s,failure:u,total:m}=ce(t);return a("section",{className:"capital-automation-card capital-automation-history","aria-label":e.runHistory},a("div",{className:"capital-automation-historyhead"},a("div",{className:"capital-automation-historytitle"},a("h2",null,e.runHistory),a("span",null,e.last30Days)),a("div",{className:"capital-automation-historystats"},a("span",{className:"capital-automation-historystat","data-tone":"ok"},a("span",{className:"capital-automation-statusdot"}),e.successCount.replace("{n}",String(s))),a("span",{className:"capital-automation-historystat","data-tone":"error"},a("span",{className:"capital-automation-statusdot"}),e.failureCount.replace("{n}",String(u))),o&&n!==void 0?a("button",{type:"button",className:"capital-automation-historylink",onClick:n},e.runCount.replace("{n}",String(m)),a(Aa,{size:13})):a("span",{className:"capital-automation-historystat"},e.runCount.replace("{n}",String(m))))),a("div",{className:"capital-automation-timeline","aria-hidden":"true"},l.map(r=>{let c=ue(r);return a("div",{key:r.key,className:"capital-automation-timeline-day",title:`${Na(r.date)}\uFF1A${r.runs.length} \u6B21\u8FD0\u884C`},c===null?null:a("span",{className:"capital-automation-timeline-dot","data-tone":c}))})),a("div",{className:"capital-automation-timelinelabels"},a("span",null,Na(l[0].date)),a("span",null,Na(l[l.length-1].date))),m===0?a("p",{className:"capital-automation-historyempty"},e.historyEmpty):null)}function me(i){let{status:t}=i;return a("span",{className:"capital-automation-runstatus","data-status":t},a("span",{className:"capital-automation-rundot"}),ot(t))}function ge(i){let{run:t,task:n,onCancel:o,onOpenSession:l,onOpenTask:s,busy:u}=i,m=$(t),r=Array.isArray(t.errors)?t.errors.length:0,[c,f]=C(!1),T=`capital-automation-run-errors-${t.id}`,x=r>0?a("button",{type:"button",className:"capital-automation-runerrorbadge","data-tone":aa(t.status)?"error":"warn","aria-expanded":c?"true":"false","aria-controls":T,"aria-label":`${e.runErrors.replace("{n}",String(r))}\uFF0C${c?e.hideErrorDetails:e.showErrorDetails}`,title:c?e.hideErrorDetails:e.showErrorDetails,onClick:()=>f(h=>!h)},a(et,{size:12}),e.runErrors.replace("{n}",String(r)),a(Aa,{size:12})):null;return a("div",{className:"capital-automation-run"},a("div",{className:"capital-automation-runhead"},a("div",{className:"capital-automation-runmain"},a("div",{className:"capital-automation-runline"},n!==void 0&&s!==void 0?a("button",{type:"button",className:"capital-automation-runtitle capital-automation-runmaintitle",onClick:()=>s(n.id)},n.title):a("span",{className:"capital-automation-runtitle"},t.taskTitle),a(me,{status:t.status})),a("div",{className:"capital-automation-runmetaline"},a("span",{className:"capital-automation-runmeta"},`${La(t.queuedAt,n?.trigger?.timezone)} \xB7 ${t.trigger==="manual"?e.triggerManual:e.triggerScheduled}`),typeof t.durationMs=="number"?a("span",{className:"capital-automation-runmeta"},`${e.duration} ${dt(t.durationMs)}`):null,a("span",{className:"capital-automation-runmeta"},`${e.steps} ${t.steps} \xB7 ${e.tools} ${t.toolCalls}`),x)),a("div",{className:"capital-automation-runactions"},m&&typeof o=="function"?a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"danger",disabled:u,onClick:()=>o(t)},e.cancelRun):t.sessionId&&l?a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"primary",onClick:()=>l(t.sessionId)},a(jt,{size:13}),e.openSession):null)),c&&r>0?a("div",{id:T,className:"capital-automation-runerrors",role:"region","aria-label":e.errorDetailsLabel},t.errors.map((h,w)=>a("div",{key:`${t.id}-error-${w}`,className:"capital-automation-runerror","data-severity":h.severity},a("span",{className:"capital-automation-runerrordot"}),a("span",{className:"capital-automation-runerrormessage"},h.message),h.code?a("code",{className:"capital-automation-runerrorcode",title:h.code},h.code):null))):null)}function Ha(i){let{runs:t,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:s,busy:u,compact:m}=i,r=new Map(n.map(c=>[c.id,c]));return t.length===0?m?a("p",{className:"capital-automation-hint"},e.detailNoRuns):a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(Ia,{size:19})),a("h3",null,e.detailNoRuns),a("p",null,e.runsEmptyBody)):a("div",{className:"capital-automation-runs"},t.map(c=>a(ge,{key:c.id,run:c,task:r.get(c.taskId),onCancel:o,onOpenSession:l,onOpenTask:s,busy:u})))}function fe(i){let{unread:t,onClick:n}=i;return a("button",{type:"button",className:"capital-automation-btn","data-variant":"ghost",onClick:n,title:e.notificationsTitle,"aria-label":e.notificationsTitle},a(va,{size:14}),a("span",{className:"capital-automation-btnlabel"},e.notifications),t>0?a("span",{className:"capital-automation-count"},String(t>99?"99+":t)):null)}function be(i){let{tab:t,onTab:n,onNewTask:o,unread:l,onOpenInbox:s}=i;return a("header",{className:"capital-automation-head"},a("div",{className:"capital-automation-headinner"},a("div",{className:"capital-automation-topbar"},a("div",{className:"capital-automation-brand"},a("span",{className:"capital-automation-brandmark","aria-hidden":"true"},a(Fa,{size:16})),a("h1",null,e.title)),a("div",{className:"capital-automation-tabs",role:"tablist","aria-label":e.title},["tasks","runs"].map(u=>a("button",{key:u,type:"button",role:"tab",className:"capital-automation-tab","aria-selected":t===u?"true":"false",onClick:()=>n(u)},e.tabs[u]))),a("div",{className:"capital-automation-topactions"},a(fe,{unread:l,onClick:s}),a("button",{type:"button",className:"capital-automation-btn","data-variant":"contrast",onClick:o,title:e.newTask,"aria-label":e.newTask},a($a,{size:14}),a("span",{className:"capital-automation-btnlabel"},e.newTask))))))}function he(i){let{meta:t,loadError:n,onRetry:o}=i,l=[];t?.storage?.state==="unavailable"&&l.push(a("div",{key:"storage",className:"capital-automation-banner","data-tone":"error",role:"alert"},`${e.storageBanner}${t.storage.error?`\uFF1A${t.storage.error}`:""}`));let s=t?.scheduler?.state;t!=null&&t.storage?.state!=="unavailable"&&(s==="standby"||s==="stopped")&&l.push(a("div",{key:"standby",className:"capital-automation-banner","data-tone":"warn",role:"status"},e.standbyBanner));let u=t!=null&&t.calendar?.available===!1;t!=null&&t.storage?.state!=="unavailable"&&u&&l.push(a("div",{key:"calendar",className:"capital-automation-banner","data-tone":"warn",role:"status"},e.calendarBanner));let m=t?.calendar?.coverageDays;return t!=null&&t.storage?.state!=="unavailable"&&!u&&typeof m=="number"&&m>=0&&m<30&&l.push(a("div",{key:"calendar-coverage",className:"capital-automation-banner","data-tone":"warn",role:"status"},e.calendarCoverageBanner.replace("{through}",t.calendar.through??e.calendarUnknown))),n.length>0&&l.push(a("div",{key:"load",className:"capital-automation-banner","data-tone":"error",role:"alert"},n,a("button",{type:"button",className:"capital-automation-btn","data-size":"sm",onClick:o},e.loadRetry))),l.length===0?null:a("div",{className:"capital-automation-headinner",style:{paddingBottom:0}},l)}function ht(i){let{active:t,count:n,label:o,onClick:l}=i;return a("button",{type:"button",className:"capital-automation-filter","aria-pressed":t?"true":"false",onClick:l},a("span",{className:"capital-automation-filterlabel"},o),n>0?a("span",{className:"capital-automation-filtercount"},String(n)):null)}function xe(i){let{task:t}=i,n=[[la(t.category),Ma(t)]];return t.origin==="builtin"&&n.push([e.origin.builtin,void 0]),t.origin==="custom"&&n.push([e.origin.custom,void 0]),a("span",{className:"capital-automation-tasktags"},n.map(([o,l])=>a("span",{key:o,className:"capital-automation-tag","data-tone":l,title:o},ut(o))))}function xt(i){let{task:t,open:n,onToggle:o,onClose:l,onEdit:s,onAction:u,onRequestConfirm:m,canRun:r,running:c,busy:f,disabled:T,align:x="end"}=i,h=t.state==="active"?"pause":"activate",w=f||T===!0,S=[{id:"edit",label:e.edit,icon:a(Et,{size:14}),disabled:f},{id:h,label:rt(t),icon:a(st(t),{size:14}),disabled:w},{id:"run",label:e.runNow,icon:a(Oa,{size:14}),disabled:w||!r||c},...t.origin==="builtin"?[{id:"copy",label:e.copy,icon:a(Dt,{size:14}),disabled:w}]:[]],R=[];return t.origin==="builtin"&&t.state!=="dormant"&&R.push(a(Ya,{key:"hibernate",separatorBefore:!0,icon:a(Ut,{size:14}),disabled:w||c,onSelect:()=>{l(),m("hibernate",t)}},e.hibernate)),t.origin==="custom"&&R.push(a(Ya,{key:"remove",danger:!0,separatorBefore:!0,icon:a(Gt,{size:14}),disabled:w||c,onSelect:()=>{l(),m("delete",t)}},e.remove)),a(it,{open:n,anchor:a("button",{type:"button",className:"capital-automation-iconbtn",disabled:f,title:e.more,"aria-label":`${e.more}\uFF1A${t.title}`,"aria-haspopup":"menu","aria-expanded":n?"true":"false",onClick:o},a(Mt,{size:16})),items:S,children:R,onSelect:b=>{if(l(),b==="edit"){s(t.id);return}u(t,b)},onClose:l,align:x,portal:!0})}function ve(i){let{task:t,onOpen:n,menuOpen:o,onMenuToggle:l,onMenuClose:s,onEdit:u,onAction:m,onRequestConfirm:r,canRun:c,busy:f,mutationsDisabled:T}=i,x=t.lastRun,h=$(x),w=gt(t);return a("div",{className:"capital-automation-trow"},a("button",{type:"button",className:"capital-automation-trowmain",onClick:()=>n(t.id)},a("span",{className:"capital-automation-cell capital-automation-identity"},a(sa,{task:t}),a("span",{className:"capital-automation-identitytext"},a("span",{className:"capital-automation-tasktitlerow"},a("span",{className:"capital-automation-tasktitle"},t.title),a(xe,{task:t}),(t.unread??0)>0?a("span",{className:"capital-automation-count",title:e.unread},String(t.unread)):null),a("span",{className:"capital-automation-taskdesc"},t.description||e.subtitle))),a("span",{className:"capital-automation-cell","data-cell":"schedule"},a("span",{className:"capital-automation-schedule"},_a(t.trigger)),a("span",{className:"capital-automation-schedulesub"},t.trigger?.timezone??"")),a("span",{className:"capital-automation-cell","data-cell":"next"},a("span",{className:"capital-automation-nextmain"},w.value),a("span",{className:"capital-automation-nextsub"},w.sub)),a("span",{className:"capital-automation-cell"},a(pt,{state:t.state,running:h}))),a("div",{className:"capital-automation-trowmenu"},a(xt,{task:t,open:o,onToggle:l,onClose:s,onEdit:u,onAction:m,onRequestConfirm:r,canRun:c,running:h,busy:f,disabled:T})))}function ye(i){let{tasks:t,onOpen:n,onAction:o,onRequestConfirm:l,onEdit:s,schedulerActive:u,storageReady:m,busyTaskId:r}=i,[c,f]=C(null),T=m&&u;return a("div",{className:"capital-automation-table","aria-label":e.taskSection},a("div",{className:"capital-automation-thead"},a("div",{className:"capital-automation-theadmain"},a("span",null,e.taskSection),a("span",null,e.triggerSummary),a("span",null,e.nextRun),a("span",null,e.stateLabel)),a("span",null)),t.map(x=>a(ve,{key:x.id,task:x,onOpen:n,menuOpen:c===x.id,onMenuToggle:()=>f(h=>h===x.id?null:x.id),onMenuClose:()=>f(null),onEdit:s,onAction:o,onRequestConfirm:l,canRun:T,busy:r===x.id,mutationsDisabled:!m})))}function we(i){let{task:t,onOpen:n,onEnable:o,busy:l,disabled:s}=i;return a("article",{className:"capital-automation-template"},a("button",{type:"button",className:"capital-automation-templatemain",onClick:()=>n(t.id)},a(sa,{task:t,size:38}),a("span",{className:"capital-automation-templatebody"},a("span",{className:"capital-automation-templatetitlerow"},a("strong",null,t.title),a("span",{className:"capital-automation-tag","data-tone":Ma(t),title:la(t.category)},ut(la(t.category)))),a("span",{className:"capital-automation-templatedesc"},t.description||e.subtitle))),a("div",{className:"capital-automation-templatefoot"},a("span",{className:"capital-automation-templatemeta"},a(Ia,{size:12}),`${e.templateMeta} \xB7 ${_a(t.trigger)}`),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"primary",onClick:()=>o(t),disabled:l||s},a($a,{size:12}),l?e.templateAdding:e.templateAdd)))}function za(i){let{title:t,body:n,action:o,actionLabel:l,icon:s}=i;return a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(s??Fa,{size:19})),a("h3",null,t),a("p",null,n),o&&l?a("button",{type:"button",className:"capital-automation-btn",onClick:o},l):null)}function k(i){let{width:t="100%",height:n=10,radius:o=6}=i;return a("span",{className:"capital-automation-skeleton",style:{width:t,height:n,borderRadius:o},"aria-hidden":"true"})}function vt(){return a("section",{className:"capital-automation-card capital-automation-history","aria-hidden":"true"},a("div",{className:"capital-automation-historyhead"},a("div",{className:"capital-automation-historytitle"},a(k,{width:92,height:14}),a(k,{width:52,height:11})),a("div",{className:"capital-automation-historystats"},a(k,{width:64,height:12}),a(k,{width:64,height:12}),a(k,{width:56,height:12}))),a("div",{className:"capital-automation-skeletontimeline"},Array.from({length:ha},(i,t)=>a(k,{key:t,height:6+t*11%22,radius:2}))),a("div",{className:"capital-automation-timelinelabels"},a(k,{width:34,height:9}),a(k,{width:34,height:9})))}function Sa(i){let{trailing:t=[210,132]}=i;return a("div",{className:"capital-automation-sectionhead"},a(k,{width:78,height:14}),a(k,{width:210,height:11}),t.length===0?null:a("div",{className:"capital-automation-sectiontools"},t.map((n,o)=>a(k,{key:o,width:n,height:o===0?28:30,radius:999}))))}function ke(){return a("div",{className:"capital-automation-trow capital-automation-skeletonrow","aria-hidden":"true"},a("div",{className:"capital-automation-trowmain"},a("span",{className:"capital-automation-cell capital-automation-identity"},a(k,{width:34,height:34,radius:10}),a("span",{className:"capital-automation-skeletonstack"},a(k,{width:"52%",height:12}),a(k,{width:"82%",height:9}),a(k,{width:92,height:16,radius:999}))),a("span",{className:"capital-automation-cell","data-cell":"schedule"},a(k,{width:"64%",height:10}),a(k,{width:"42%",height:8})),a("span",{className:"capital-automation-cell","data-cell":"next"},a(k,{width:"58%",height:10}),a(k,{width:"36%",height:8})),a("span",{className:"capital-automation-cell"},a(k,{width:52,height:22,radius:999}))),a("div",{className:"capital-automation-trowmenu"},a(k,{width:18,height:18,radius:6})))}function Ne(i){let{rows:t=4}=i;return a("div",{className:"capital-automation-table","aria-hidden":"true"},a("div",{className:"capital-automation-thead"},a("div",{className:"capital-automation-theadmain"},a(k,{width:"52%",height:9}),a(k,{width:"58%",height:9}),a(k,{width:"56%",height:9}),a(k,{width:44,height:9})),a("span",null)),Array.from({length:t},(n,o)=>a(ke,{key:o})))}function Te(){return a("div",{className:"capital-automation-template capital-automation-skeletontemplate","aria-hidden":"true"},a("div",{className:"capital-automation-skeletontemplatemain"},a(k,{width:38,height:38,radius:11}),a("div",{className:"capital-automation-skeletonstack"},a(k,{width:"58%",height:11}),a(k,{width:"100%",height:9}),a(k,{width:"76%",height:9}))),a("div",{className:"capital-automation-templatefoot"},a(k,{width:118,height:11}),a(k,{width:64,height:28,radius:999})))}function Ce(){return a("div",{className:"capital-automation-run capital-automation-skeletonrun","aria-hidden":"true"},a("div",{className:"capital-automation-runhead"},a("div",{className:"capital-automation-runmain"},a("div",{className:"capital-automation-runline"},a(k,{width:168,height:11}),a(k,{width:54,height:10,radius:999})),a("div",{className:"capital-automation-runmetaline"},a(k,{width:86,height:9}),a(k,{width:58,height:9}),a(k,{width:104,height:9}))),a("div",{className:"capital-automation-runactions"},a(k,{width:64,height:26,radius:999}))))}function yt(i){let{children:t}=i;return a("div",{className:"capital-automation-loading","aria-busy":"true"},a("span",{className:"capital-automation-skeletonlabel",role:"status","aria-live":"polite"},e.loading),t)}function Re(){return a(yt,null,a(vt),a("section",{className:"capital-automation-section"},a(Sa),a(Ne,{rows:4})),a("section",{className:"capital-automation-section"},a(Sa,{trailing:[64]}),a("div",{className:"capital-automation-templates"},[0,1,2].map(i=>a(Te,{key:i})))))}function ze(){return a(yt,null,a(vt),a("section",{className:"capital-automation-section"},a(Sa,{trailing:[260]}),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-runs"},[0,1,2,3].map(i=>a(Ce,{key:i}))))))}function Se(i){let{tasks:t,templates:n,runs:o,onOpenTask:l,onNewTask:s,onEnableTemplate:u,onAction:m,onRequestConfirm:r,onEdit:c,onGoRuns:f,onRequestCancelRun:T,schedulerActive:x,storageReady:h,busyTaskId:w}=i,[S,R]=C("all"),[b,p]=C(""),N=t.filter(g=>$(g.lastRun)),O=n.filter(g=>!$(g.lastRun)),A=t.filter(g=>!$(g.lastRun)&&!(g.origin==="builtin"&&g.state==="dormant")),D=A.filter(g=>{if(S==="custom"&&g.origin!=="custom"||S!=="all"&&S!=="custom"&&g.category!==S)return!1;if(b.trim().length===0)return!0;let B=b.trim().toLowerCase();return`${g.title} ${g.description??""} ${g.instruction??""}`.toLowerCase().includes(B)}),V={all:A.length,custom:A.filter(g=>g.origin==="custom").length,news:A.filter(g=>g.category==="news").length,market:A.filter(g=>g.category==="market").length,review:A.filter(g=>g.category==="review").length,research:A.filter(g=>g.category==="research").length},E=["all","custom","news","market","review","research"];return a("div",null,a(bt,{runs:o,onViewAll:f}),a("section",{className:"capital-automation-section"},a("div",{className:"capital-automation-sectionhead"},a("h2",null,e.taskSection),a("span",null,e.taskSectionHint),a("div",{className:"capital-automation-sectiontools"},a("div",{className:"capital-automation-filters",role:"group","aria-label":e.filterLabel},E.map(g=>a(ht,{key:g,label:g==="all"?e.filterAll:g==="custom"?e.filterCustom:la(g),count:V[g],active:S===g,onClick:()=>R(g)}))),a("label",{className:"capital-automation-search"},a(at,{size:13}),a("input",{type:"search",value:b,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,onChange:g=>p(g.target.value)})))),N.length>0?a("div",{className:"capital-automation-running",role:"status"},N.map(g=>a("div",{key:g.id,className:"capital-automation-runningrow"},a("span",{className:"capital-automation-live"},a("span",{className:"capital-automation-livedot"}),e.status.running),a(sa,{task:g,size:28}),a("button",{type:"button",className:"capital-automation-tasktitle",style:{padding:0,border:0,background:"transparent",cursor:"pointer"},onClick:()=>l(g.id)},g.title),a("span",{className:"capital-automation-runmeta"},`${e.runningSince} ${mt(g.lastRun.startedAt??g.lastRun.queuedAt)} \xB7 ${e.steps} ${g.lastRun.steps} \xB7 ${e.tools} ${g.lastRun.toolCalls}`),a("span",{className:"capital-automation-runningactions"},a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"danger",onClick:()=>T(g,g.lastRun)},e.cancelRun),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm",onClick:()=>l(g.id)},e.details))))):null,D.length>0?a(ye,{tasks:D,onOpen:l,onAction:m,onRequestConfirm:r,onEdit:c,schedulerActive:x,storageReady:h,busyTaskId:w}):A.length===0?N.length>0?null:a(za,{title:O.length>0?e.emptyTasksTitle:e.emptyNoTemplates,body:O.length>0?e.emptyTasksBody:e.emptyNoTemplatesBody,action:O.length===0?s:void 0,actionLabel:O.length===0?e.newTask:void 0}):a(za,{title:e.emptyFiltered,body:e.emptyTasksBody,action:()=>{R("all"),p("")},actionLabel:e.clearFilter})),O.length>0?a("section",{className:"capital-automation-section"},a("div",{className:"capital-automation-sectionhead"},a("h2",null,e.templateSection)),a("div",{className:"capital-automation-templates"},O.map(g=>a(we,{key:g.id,task:g,onOpen:l,onEnable:u,busy:w===g.id,disabled:!h})))):null)}function wt(i){let{trigger:t,onChange:n,disabled:o,meta:l}=i,s=r=>n(ra({...t,...r})),u=r=>{let c=re(r,t);n(c)},m=r=>{let c=new Set(t.weekdays??[]);if(c.has(r)){if(c.size<=1)return;c.delete(r)}else c.add(r);s({weekdays:[...c].sort((f,T)=>f-T)})};return a("div",{className:"capital-automation-triggerbox"},a("div",{className:"capital-automation-triggerrow"},a("span",{className:"capital-automation-triggerclock","aria-hidden":"true"},a(va,{size:16})),a("div",{className:"capital-automation-triggerfield"},a("span",null,"\u91CD\u590D"),a(X,{value:t.cadence,options:Object.entries(e.cadence).map(([r,c])=>({value:r,label:c})),onChange:u,disabled:o,label:"\u91CD\u590D"})),a("label",{className:"capital-automation-triggerfield"},a("span",null,e.timeField),a("input",{type:"time",value:t.time,disabled:o,onChange:r=>s({time:r.target.value})})),a("label",{className:"capital-automation-triggerfield"},a("span",null,e.timezoneField),a("input",{type:"text",list:"capital-automation-timezones",value:t.timezone,disabled:o,onChange:r=>s({timezone:r.target.value}),title:e.timezoneHint}))),a("div",{className:"capital-automation-triggerrow"},t.cadence==="weekly"?a("div",{className:"capital-automation-weekdays",role:"group","aria-label":e.weekdayField},Ea.map(r=>a("button",{key:r.value,type:"button",className:"capital-automation-weekday","aria-pressed":(t.weekdays??[]).includes(r.value)?"true":"false",disabled:o,onClick:()=>m(r.value)},r.label))):null,t.cadence==="monthly"?a("div",{className:"capital-automation-triggerfield"},a("span",null,e.dayField),a(X,{value:String(t.dayOfMonth??1),options:Array.from({length:28},(r,c)=>{let f=c+1;return{value:String(f),label:e.dayOfMonth.replace("{n}",String(f))}}),onChange:r=>s({dayOfMonth:Number(r)}),disabled:o,label:e.dayField})):null,t.cadence==="daily"?a("span",{className:"capital-automation-hint"},t.tradingDaysOnly===!0?e.triggerHint:e.triggerHintNatural):null,a("label",{className:"capital-automation-switch",style:{marginLeft:"auto"}},a(nt,{checked:t.tradingDaysOnly===!0,onChange:r=>s({tradingDaysOnly:r}),label:e.tradingDaysField,disabled:o}),a("span",null,e.tradingDaysField))),a("p",{className:"capital-automation-triggersummary"},`${_a(t)} \xB7 ${t.timezone}`),l?.calendar?.available===!1?a("p",{className:"capital-automation-hint"},e.nextRunUnavailable):null)}function Q(i){let{label:t,hint:n,checked:o,onChange:l,disabled:s}=i;return a("div",{className:"capital-automation-switchrow"},a("div",null,a("span",null,t),n?a("small",null,n):null),a(nt,{checked:o===!0,onChange:l,label:t,disabled:s}))}function oa(i){let{label:t,hint:n,children:o}=i;return a("label",{className:"capital-automation-field"},a("span",null,t),o,n?a("span",{className:"capital-automation-hint"},n):null)}function X(i){let{value:t,options:n,onChange:o,disabled:l,label:s,block:u,size:m,align:r="start"}=i,[c,f]=C(!1),T=H(null),x=n.map(p=>({id:String(p.value),label:p.label,disabled:p.disabled===!0})),h=String(t??""),w=x.find(p=>p.id===h)??x[0];W(()=>{l===!0&&c&&f(!1)},[l,c]);let S=()=>f(!1),R=p=>{f(!1),T.current?.focus?.({preventScroll:!0}),p!==h&&o(p)},b=a("button",{ref:T,type:"button",className:"capital-automation-select","data-block":u===!0?"true":void 0,"data-size":m,disabled:l,"aria-label":w?.label?`${s}\uFF1A${w.label}`:s,"aria-haspopup":"menu","aria-expanded":c?"true":"false",onClick:()=>f(p=>!p)},a("span",{className:"capital-automation-selectvalue",title:w?.label},w?.label??""),a(Ot,{size:m==="sm"?12:14}));return a(it,{open:c,anchor:b,items:x,selectedId:h,onSelect:R,onClose:S,align:r,portal:!0})}function Ca(i){let{label:t,hint:n,ariaLabel:o,block:l=!0,...s}=i;return a("div",{className:"capital-automation-field"},a("span",null,t),a(X,{...s,label:o??t,block:l}),n?a("span",{className:"capital-automation-hint"},n):null)}function G(i){let{label:t,value:n,min:o,max:l,disabled:s,onChange:u}=i;return a(oa,{label:t},a("input",{type:"number",min:o,max:l,value:n,disabled:s,onChange:m=>u(Number(m.target.value))}))}function Fe(i){let{value:t,counts:n,onChange:o}=i,l=[["all",e.runFilterAll],["active",e.runFilterActive],["succeeded",e.runFilterSucceeded],["failed",e.runFilterFailed]];return a("div",{className:"capital-automation-filters",role:"group","aria-label":e.runFilterLabel},l.map(([s,u])=>a(ht,{key:s,label:u,count:n[s],active:t===s,onClick:()=>o(s)})))}function Ae(i){let{runs:t,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:s,onGoTasks:u,onNewTask:m,busy:r}=i,[c,f]=C("all"),T={all:t.length,active:t.filter(h=>$(h)).length,succeeded:t.filter(h=>h.status==="succeeded").length,failed:t.filter(h=>aa(h.status)).length},x=t.filter(h=>c==="active"?$(h):c==="succeeded"?h.status==="succeeded":c==="failed"?aa(h.status):!0);return a("div",null,a(bt,{runs:t,showLink:!1}),a("section",{className:"capital-automation-section"},a("div",{className:"capital-automation-sectionhead"},a("h2",null,e.runsTitle),a("span",null,e.runsHint),a("div",{className:"capital-automation-sectiontools"},a(Fe,{value:c,counts:T,onChange:f}))),t.length===0?a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(Ia,{size:19})),a("h3",null,e.runsEmptyTitle),a("p",null,e.runsEmptyBody),a("div",{style:{display:"flex",gap:8,marginTop:8}},a("button",{type:"button",className:"capital-automation-btn",onClick:u},e.runsEmptyAction),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",onClick:m},e.newTask))):x.length===0?a(za,{title:e.emptyFiltered,body:e.filterNoRuns,action:()=>f("all"),actionLabel:e.clearFilter}):a("section",{className:"capital-automation-card capital-automation-panel"},a(Ha,{runs:x,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:s,busy:r}),t.length>=200?a("p",{className:"capital-automation-hint",style:{paddingTop:10}},e.runsLimitHint.replace("{n}","200")):null)))}function Ie(i){let{detail:t,meta:n,onGoRuns:o,onCancelRun:l,onOpenSession:s}=i,u=t.runs[0],m=gt(t.task),r=oe(u,t.task.trigger.timezone),c=t.runs.some(w=>$(w)),f=c?e.status.running:lt(t.task.state),T=t.task.origin==="builtin"?e.origin.builtin:e.origin.custom,x=`${ne(t.task.trigger)}${t.task.trigger.tradingDaysOnly===!0?` \xB7 ${e.tradingDaysField}`:""}`,h=t.task.trigger.tradingDaysOnly===!0?e.triggerHint:e.triggerHintNatural;return a("div",{className:"capital-automation-overview"},a("div",{className:"capital-automation-statgrid"},a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.stateLabel),a("span",{className:"capital-automation-statvalue","data-tone":c?"running":void 0},f),a("span",{className:"capital-automation-statsub",title:t.task.origin==="builtin"?e.configBuiltinHint:void 0},T)),a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.nextRun),a("span",{className:"capital-automation-statvalue"},m.value),a("span",{className:"capital-automation-statsub"},m.sub)),a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.lastResult),a("span",{className:"capital-automation-statvalue","data-tone":r.tone},r.value),a("span",{className:"capital-automation-statsub"},r.sub)),a("div",{className:"capital-automation-stat",title:h},a("span",{className:"capital-automation-statlabel"},e.triggerSummary),a("span",{className:"capital-automation-statvalue"},x),a("span",{className:"capital-automation-statsub"},`${t.task.trigger.time} \xB7 ${t.task.trigger.timezone}`))),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.detailRecentRuns.replace("{n}",String(Ja))),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"ghost",onClick:o},e.detailAllRuns,a(Aa,{size:13}))),a(Ha,{runs:t.runs.slice(0,Ja),tasks:[t.task],onCancel:l,onOpenSession:s,compact:!0})),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.environment)),a("div",{className:"capital-automation-kv"},a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.presetLabel),a("span",{className:"capital-automation-kvvalue"},e.presetValue)),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.workspaceField),a("span",{className:"capital-automation-kvvalue"},le(n,t.task.workspaceId))),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.categoryField),a("span",{className:"capital-automation-kvvalue"},la(t.task.category))),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.modeField),a("span",{className:"capital-automation-kvvalue"},ae(t.task.mode)))),a("section",{className:"capital-automation-technical"},a("h4",{className:"capital-automation-technicaltitle"},e.techInfo),a("dl",null,a("dt",null,e.profileKey),a("dd",{title:"profileKey \u662F profile \u540D\u79F0\u7684\u7A33\u5B9A\u54C8\u5E0C\uFF1B\u4E0E session \u6807\u9898\u91CC\u7684 run id \u65E0\u5173\u3002"},n?.profile?.key??"\u2014"),a("dt",null,e.presetLabel),a("dd",null,e.presetValue),a("dt",null,e.policyField),a("dd",null,n?.execution?.policy??"automation-v1"),a("dt",null,e.cwdKind),a("dd",{title:"\u5F53\u524D\u56FA\u5B9A\u4E3A profile\uFF08\u4E13\u5C5E\u81EA\u52A8\u5316\u5DE5\u4F5C\u533A\uFF09\uFF1B\u6CA1\u6709 storage \u7B49\u5176\u4ED6\u6765\u6E90\u3002"},n?.execution?.cwdKind??"profile"),a("dt",null,"profile \u540D\u79F0"),a("dd",null,n?.profile?.name??"\u2014"),a("dt",null,e.calendarField),a("dd",null,te(n?.calendar))))))}function Oe(i){let{draft:t,setDraft:n,meta:o,busy:l,dirty:s,save:u,reset:m,disabled:r}=i,c=t,f=b=>n(p=>({...p,...typeof b=="function"?b(p):b})),T=j(o,"runTimeoutMinutes",[5,120]),x=j(o,"idleTimeoutMinutes",[1,30]),h=j(o,"maxSteps",[10,2e3]),w=j(o,"maxToolCalls",[10,6e3]),S=a("details",{className:"capital-automation-advanced"},a("summary",null,e.advanced),a("div",{className:"capital-automation-advancedbody"},a("div",{className:"capital-automation-formgrid"},a(Ca,{label:e.workspaceField,value:c.workspaceId??"",options:Ba(o,c.workspaceId).map(b=>({value:b.id,label:b.title})),disabled:l||r,onChange:b=>f({workspaceId:b})}),a(Ca,{label:e.modeField,hint:e.modeHint,value:c.mode,options:Object.entries(e.mode).map(([b,p])=>({value:b,label:p})),disabled:l||r,onChange:b=>f({mode:b})})),a("div",{className:"capital-automation-formgrid"},a(G,{label:e.runTimeout,value:c.limits.runTimeoutMinutes,min:T[0],max:T[1],disabled:l||r,onChange:b=>f(p=>({limits:{...p.limits,runTimeoutMinutes:b}}))}),a(G,{label:e.idleTimeout,value:c.limits.idleTimeoutMinutes,min:x[0],max:x[1],disabled:l||r,onChange:b=>f(p=>({limits:{...p.limits,idleTimeoutMinutes:b}}))}),a(G,{label:e.maxSteps,value:c.limits.maxSteps,min:h[0],max:h[1],disabled:l||r,onChange:b=>f(p=>({limits:{...p.limits,maxSteps:b}}))}),a(G,{label:e.maxToolCalls,value:c.limits.maxToolCalls,min:w[0],max:w[1],disabled:l||r,onChange:b=>f(p=>({limits:{...p.limits,maxToolCalls:b}}))})),a("p",{className:"capital-automation-hint"},e.budgetHint),o?.workspaceError?a("p",{className:"capital-automation-hint","data-tone":"error"},e.workspaceUnavailable):null)),R=a("div",null,a("span",{className:"capital-automation-formlabel"},e.notifyField),a("div",{className:"capital-automation-switchlist"},a(Q,{label:e.notifyInApp,checked:c.notifications.inApp,disabled:l||r,onChange:b=>f(p=>({notifications:{...p.notifications,inApp:b}}))}),a(Q,{label:e.notifyFailure,checked:c.notifications.onFailure,disabled:l||r,onChange:b=>f(p=>({notifications:{...p.notifications,onFailure:b}}))}),a(Q,{label:e.notifySuccess,checked:c.notifications.onSuccess,disabled:l||r,onChange:b=>f(p=>({notifications:{...p.notifications,onSuccess:b}}))})),a("p",{className:"capital-automation-hint"},e.notifyHint));return a("div",{className:"capital-automation-form"},c.origin==="builtin"?a("div",{className:"capital-automation-formnote"},a(Xa,{size:13}),a("span",null,e.configBuiltinHint)):null,a(oa,{label:e.titleField},a("input",{value:c.title,disabled:l||r,onChange:b=>f({title:b.target.value})})),a(oa,{label:e.descriptionField},a("textarea",{value:c.description??"",disabled:l||r,rows:3,onChange:b=>f({description:b.target.value})})),a(Ca,{label:e.categoryField,hint:c.origin==="builtin"?e.categoryFixed:void 0,value:c.category,options:Object.entries(e.category).map(([b,p])=>({value:b,label:p})),disabled:l||r||c.origin==="builtin",onChange:b=>f({category:b})}),a(oa,{label:e.instructionField},a("textarea",{value:c.instruction,disabled:l||r,rows:14,onChange:b=>f({instruction:b.target.value})})),a("div",null,a("span",{className:"capital-automation-formlabel"},e.triggerField),a(wt,{trigger:c.trigger,disabled:l||r,onChange:b=>f({trigger:b}),meta:o})),S,R,a("div",{className:"capital-automation-formactions","data-sticky":"true"},a("span",{className:"capital-automation-formstatus"},r?e.storageUnavailable:s?e.dirty:e.noDirty),a("button",{type:"button",className:"capital-automation-btn",disabled:l||!s,onClick:m},e.cancel),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",disabled:l||!s||r,onClick:u},l==="save"?e.saving:e.save)))}function $e(i){let{detail:t,busy:n,onMarkTaskRead:o}=i,l=t.notifications,s=l.filter(u=>u.readAt===void 0).length;return a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.detailTaskNotifications),s>0?a("button",{type:"button",className:"capital-automation-btn","data-size":"sm",disabled:n,onClick:o},e.markTaskRead):null),l.length===0?a("p",{className:"capital-automation-hint"},e.notificationsEmpty):a("div",null,l.map(u=>a(kt,{key:u.id,item:u}))))}function kt(i){let{item:t,onClick:n,onOpenTask:o}=i,l=typeof n=="function"&&t.taskId!==void 0;return a(l?"button":"div",{type:l?"button":void 0,className:"capital-automation-notification","data-clickable":l?"true":"false",onClick:l?n:void 0},a("span",{className:"capital-automation-notificationicon","data-tone":Ta(t.kind)},Ta(t.kind)==="error"?a(et,{size:15}):Ta(t.kind)==="warn"?a(Xa,{size:15}):a(va,{size:15})),a("span",{className:"capital-automation-notificationbody"},a("span",{className:"capital-automation-notificationtitle"},t.title,t.readAt===void 0?a("span",{className:"capital-automation-count"},e.unread):null),a("span",{className:"capital-automation-notificationmessage"},pe(t)),a("span",{className:"capital-automation-notificationtime"},La(t.createdAt))),o!==void 0&&t.taskId!==void 0?a("span",{className:"capital-automation-hint"},e.notificationOpenTask):null)}function De(i){return a("div",{className:"capital-automation-detailbar"},a("button",{type:"button",className:"capital-automation-back",onClick:i.onBack},a($t,{size:14}),e.backToTasks))}function Ee(i){let{detail:t,meta:n,api:o,onChanged:l,openSession:s,tab:u,onTab:m,onRequestConfirm:r,onRequestCancelRun:c,schedulerActive:f,storageReady:T}=i,[x,h]=C(null),[w,S]=C(""),[R,b]=C(""),[p,N]=C(""),[O,A]=C(!1),D=H(null);if(W(()=>{h(t.task?{...t.task,trigger:ra(t.task.trigger),limits:{...t.task.limits},notifications:{...t.task.notifications}}:null)},[t]),W(()=>{let v=t.task?.id??null;D.current!==v&&(D.current=v,b(""),N(""))},[t]),x===null)return a("p",{className:"capital-automation-empty"},e.loading);let V=x,E=T!==!1,g=t.runs.some(v=>$(v)),B=t.runs.find(v=>$(v)),K=t.notifications.filter(v=>v.readAt===void 0).length,ca=de(x,t.task),ua=E&&f===!0&&!g,Z=v=>h(z=>({...z,...typeof v=="function"?v(z):v}));async function P(v,z,I){if(!w){S(v),N("");try{await z(),await l(t.task.id),b(I)}catch(U){N(U.message??e.errorGeneric)}finally{S("")}}}async function pa(){let v=ft(V);if(v.length>0){N(v);return}await P("save",async()=>{await o.patch(t.task.id,xa(V))},e.saved)}async function ta(){let v=t.task.state==="active"?"pause":"activate";await P(v,async()=>{await o.action(t.task.id,v)},v==="pause"?e.paused.replace("{title}",t.task.title):ct(t.task))}async function ea(){await P("run",async()=>{await o.run(t.task.id)},e.runSubmitted.replace("{title}",t.task.title))}async function J(){let v=t.notifications.filter(z=>z.readAt===void 0).map(z=>z.id);v.length!==0&&await P("read-notifications",async()=>{await o.markRead({ids:v})},e.markReadDone)}async function M(){await P("copy",async()=>{await o.action(t.task.id,"copy")},e.copied.replace("{title}",t.task.title))}let da=g?a("button",{type:"button",className:"capital-automation-btn","data-variant":"danger",disabled:w||!E||B===void 0,onClick:()=>{B!==void 0&&c(B)}},e.cancelRun):a("button",{type:"button",className:"capital-automation-btn","data-variant":t.task.state==="active"?"primary":void 0,disabled:w||!ua,title:f===!1?e.schedulerBlocked:g?e.runBlocked:void 0,onClick:()=>{ea()}},a(Oa,{size:14}),e.runNow),q=()=>{h({...t.task,trigger:ra(t.task.trigger),limits:{...t.task.limits},notifications:{...t.task.notifications}}),N(""),b("")};return a("div",null,a("div",{className:"capital-automation-hero"},a(sa,{task:V,large:!0}),a("div",{className:"capital-automation-herobody"},a("div",{className:"capital-automation-herotitle"},a("h2",null,t.task.title),a(pt,{state:t.task.state,running:g}),K>0?a("span",{className:"capital-automation-count",title:e.unread},String(K)):null),a("p",{className:"capital-automation-herodesc"},t.task.description||e.subtitle)),a("div",{className:"capital-automation-heroactions"},da,g?null:a("button",{type:"button",className:"capital-automation-btn","data-variant":t.task.state==="active"?void 0:"primary",disabled:w||!E,onClick:()=>{ta()}},a(st(t.task),{size:14}),rt(t.task)),a(xt,{task:t.task,open:O,onToggle:()=>A(v=>!v),onClose:()=>A(!1),onEdit:()=>{A(!1),m("config")},onAction:(v,z)=>{z==="run"?ea():z==="copy"?M():(z==="activate"||z==="pause")&&ta()},onRequestConfirm:(v,z)=>{A(!1),r(v,z)},canRun:ua,running:g,busy:w.length>0,disabled:!E,align:"end"}))),a("div",{className:"capital-automation-detailtabs",role:"tablist","aria-label":e.details},[["overview",e.overview],["config",e.config],["runs",e.runs],["notifications",e.notifications]].map(([v,z])=>a("button",{key:v,type:"button",role:"tab",className:"capital-automation-detailtab","aria-selected":u===v?"true":"false",onClick:()=>m(v)},z))),R.length>0||p.length>0?a("div",{style:{paddingTop:12}},R.length>0?a("p",{className:"capital-automation-notice",role:"status"},R):null,p.length>0?a("p",{className:"capital-automation-error",role:"alert"},p):null):null,g?a("p",{className:"capital-automation-hint",style:{paddingTop:10}},e.configWhileRunning):null,a("div",{className:"capital-automation-detailbody"},u==="overview"?a(Ie,{detail:t,meta:n,onGoRuns:()=>m("runs"),onCancelRun:c,onOpenSession:s}):null,u==="config"?a(Oe,{draft:x,setDraft:h,meta:n,busy:w,dirty:ca,save:pa,reset:q,disabled:!E}):null,u==="runs"?a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.runs),a("span",{className:"capital-automation-hint"},e.taskRunsLimit)),a(Ha,{runs:t.runs,tasks:[t.task],onCancel:v=>c(v),onOpenSession:s,busy:w.length>0})):null,u==="notifications"?a($e,{detail:t,busy:w.length>0,onMarkTaskRead:()=>{J()}}):null))}function Me(i){let{open:t,onClose:n,api:o,onCreated:l,meta:s}=i,[u,m]=C(Qa),[r,c]=C(!1),[f,T]=C("");W(()=>{t&&(m(Qa()),c(!1),T(""))},[t]);let x=p=>m(N=>({...N,...typeof p=="function"?p(N):p})),h=j(s,"runTimeoutMinutes",[5,120]),w=j(s,"idleTimeoutMinutes",[1,30]),S=j(s,"maxSteps",[10,2e3]),R=j(s,"maxToolCalls",[10,6e3]);async function b(){let p=ft(u);if(p.length>0){T(p);return}c(!0),T("");try{let N=await o.create(xa(u));l(N?.task?.id??null)}catch(N){T(N.message??e.errorGeneric)}finally{c(!1)}}return t?a(Da,{open:t,onClose:()=>{r||n()},title:e.newTaskTitle,closeLabel:e.close,className:"capital-automation-modal",contentClassName:"capital-automation-modal-content",footer:a("div",{className:"capital-automation-formactions",style:{borderTop:0,paddingTop:0}},a("button",{type:"button",className:"capital-automation-btn",disabled:r,onClick:n},e.cancel),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",disabled:r||s?.storage?.state==="unavailable",onClick:b},r?e.creating:e.create))},a("div",{className:"capital-automation-wizard"},a("div",{className:"capital-automation-modalheadline"},a(sa,{task:u,size:42}),a("input",{className:"capital-automation-modaltitleinput",value:u.title,placeholder:e.titlePlaceholder,"aria-label":e.titleField,onChange:p=>x({title:p.target.value})})),a("p",{className:"capital-automation-hint"},e.newTaskHint),a(oa,{label:e.descriptionField},a("input",{value:u.description,placeholder:e.descriptionPlaceholder,onChange:p=>x({description:p.target.value})})),a("div",null,a("span",{className:"capital-automation-formlabel"},e.triggerField),a(wt,{trigger:u.trigger,onChange:p=>x({trigger:p}),meta:s})),a("div",null,a("span",{className:"capital-automation-formlabel"},e.instructionField),a("div",{className:"capital-automation-promptbox"},a("textarea",{value:u.instruction,placeholder:e.instructionPlaceholder,"aria-label":e.instructionField,onChange:p=>x({instruction:p.target.value})}),a("div",{className:"capital-automation-prompttoolbar"},a("div",{className:"capital-automation-toolbarfield"},a(Lt,{size:13}),a("span",null,e.workspaceField),a(X,{value:u.workspaceId??"",options:Ba(s,u.workspaceId).map(p=>({value:p.id,label:p.title})),onChange:p=>x({workspaceId:p}),label:e.workspaceField,size:"sm",align:"end"})),a("div",{className:"capital-automation-toolbarfield"},a("span",null,e.categoryField),a(X,{value:u.category,options:Object.entries(e.category).map(([p,N])=>({value:p,label:N})),onChange:p=>x({category:p}),label:e.categoryField,size:"sm",align:"end"})),a("div",{className:"capital-automation-toolbarfield"},a("span",null,e.modeField),a(X,{value:u.mode,options:Object.entries(e.mode).map(([p,N])=>({value:p,label:N})),onChange:p=>x({mode:p}),label:e.modeField,size:"sm",align:"end"})),a("span",{className:"capital-automation-presetchip",title:e.modeHint},a(tt,{size:12}),e.presetValue)))),a("p",{className:"capital-automation-hint"},e.modeHint),s?.workspaceError?a("p",{className:"capital-automation-hint","data-tone":"error"},e.workspaceUnavailable):null,a("details",{className:"capital-automation-advanced"},a("summary",null,e.advanced),a("div",{className:"capital-automation-advancedbody"},a("div",{className:"capital-automation-formgrid"},a(G,{label:e.runTimeout,value:u.limits.runTimeoutMinutes,min:h[0],max:h[1],onChange:p=>x(N=>({limits:{...N.limits,runTimeoutMinutes:p}}))}),a(G,{label:e.idleTimeout,value:u.limits.idleTimeoutMinutes,min:w[0],max:w[1],onChange:p=>x(N=>({limits:{...N.limits,idleTimeoutMinutes:p}}))}),a(G,{label:e.maxSteps,value:u.limits.maxSteps,min:S[0],max:S[1],onChange:p=>x(N=>({limits:{...N.limits,maxSteps:p}}))}),a(G,{label:e.maxToolCalls,value:u.limits.maxToolCalls,min:R[0],max:R[1],onChange:p=>x(N=>({limits:{...N.limits,maxToolCalls:p}}))})),a("p",{className:"capital-automation-hint"},e.advancedHint))),a("div",null,a("span",{className:"capital-automation-formlabel"},e.notifyField),a("div",{className:"capital-automation-switchlist"},a(Q,{label:e.notifyInApp,checked:u.notifications.inApp,onChange:p=>x(N=>({notifications:{...N.notifications,inApp:p}}))}),a(Q,{label:e.notifyFailure,checked:u.notifications.onFailure,onChange:p=>x(N=>({notifications:{...N.notifications,onFailure:p}}))}),a(Q,{label:e.notifySuccess,checked:u.notifications.onSuccess,onChange:p=>x(N=>({notifications:{...N.notifications,onSuccess:p}}))})),a("p",{className:"capital-automation-hint"},e.notifyHint)),f.length>0?a("p",{className:"capital-automation-error",role:"alert"},f):null)):null}function Le(i){let{confirm:t,busy:n,error:o,onCancel:l,onConfirm:s}=i,u=t!==null,m=t?.kind==="cancel-run",r=t?.kind==="delete",c=m?e.cancelRunConfirmTitle:r?e.confirmDeleteTitle:e.confirmHibernateTitle,f=m?e.cancelRunConfirmBody:r?e.confirmDeleteBody:e.confirmHibernateBody,T=m?e.cancelRunConfirm:r?e.confirmDelete:e.confirmHibernate;return a(Da,{open:u,onClose:()=>{n||l()},title:c,closeLabel:e.close,className:"capital-automation-modal capital-automation-modal-narrow",footer:a("div",{className:"capital-automation-formactions",style:{borderTop:0,paddingTop:0}},a("button",{type:"button",className:"capital-automation-btn",disabled:n,onClick:l},e.cancel),a("button",{type:"button",className:"capital-automation-btn","data-variant":"danger",disabled:n,onClick:s},n?e.processing:T))},a("div",null,a("p",{className:"capital-automation-policy"},f),o.length>0?a("p",{className:"capital-automation-error",role:"alert",style:{marginTop:8}},o):null))}function _e(i){let{open:t,onClose:n,notifications:o,onMarkAllRead:l,onOpenTask:s,busy:u}=i,m=o.filter(r=>r.readAt===void 0).length;return a(Da,{open:t,onClose:n,title:e.notificationsTitle,closeLabel:e.close,className:"capital-automation-modal",contentClassName:"capital-automation-modal-content",footer:a("div",{className:"capital-automation-formactions",style:{borderTop:0,paddingTop:0}},a("span",{className:"capital-automation-formstatus"},m>0?e.notificationsUnread.replace("{n}",String(m)):o.length>0?e.allRead:e.notificationsEmpty),a("button",{type:"button",className:"capital-automation-btn",disabled:u||m===0,onClick:l},e.markRead),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",onClick:n},e.close))},o.length===0?a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(va,{size:19})),a("h3",null,e.notificationsEmpty),a("p",null,e.notificationsHint)):a("div",null,a("p",{className:"capital-automation-hint",style:{marginBottom:4}},e.notificationsHint),o.map(r=>a(kt,{key:r.id,item:r,onOpenTask:s,onClick:r.taskId===void 0?void 0:()=>s(r.taskId)}))))}function Be(i){let{api:t,openSession:n}=i,[o,l]=C(null),[s,u]=C([]),[m,r]=C([]),[c,f]=C([]),[T,x]=C(0),[h,w]=C(null),[S,R]=C(null),[b,p]=C("tasks"),[N,O]=C("overview"),[A,D]=C(!1),[V,E]=C(!1),[g,B]=C(null),[K,ca]=C(!1),[ua,Z]=C(""),[P,pa]=C(null),[ta,ea]=C(!1),[J,M]=C(""),[da,q]=C(""),v=H(!1),z=H([]),I=H(null),U=H(null),ia=H(0),L=H(0),Pa=H(null);W(()=>{if(J.length===0)return;let d=setTimeout(()=>M(""),3200);return()=>clearTimeout(d)},[J]);async function _(){if(U.current!==null)return U.current;let d=ia.current+1;ia.current=d;let y=(async()=>{try{let[F,Va,Ka,ga]=await Promise.all([t.meta(),t.tasks(),t.runs("?limit=200"),t.notifications()]);if(!v.current||d!==ia.current)return;let ka=Array.isArray(Va.tasks)?Va.tasks:[];l(F),z.current=ka,u(ka),r(Array.isArray(Ka.runs)?Ka.runs:[]),f(Array.isArray(ga.notifications)?ga.notifications:[]),x(typeof ga.unread=="number"?ga.unread:0),q("");let fa=I.current,ba=fa!==null&&ka.some(It=>It.id===fa)?fa:null;ba!==fa&&(I.current=ba,L.current+=1,R(null),w(ba),ba===null&&O("overview"))}catch(F){v.current&&d===ia.current&&q(F.message??e.errorGeneric)}})();U.current=y;try{await y}finally{U.current===y&&(U.current=null)}}async function ma(d){let y=L.current+1;L.current=y;try{let F=await t.detail(d);if(!v.current||y!==L.current||I.current!==d)return;R(F)}catch(F){v.current&&y===L.current&&I.current===d&&q(F.message??e.errorGeneric)}}function ya(){let d=Pa.current;d!==null&&typeof d.scrollTo=="function"&&d.scrollTo({top:0,behavior:"auto"})}function Y(d,y="overview"){I.current=d,L.current+=1,O(y),R(null),w(d),p("tasks"),ya()}function Nt(){I.current=null,L.current+=1,R(null),w(null),O("overview"),ya()}function wa(d){d===b&&d==="tasks"&&I.current!==null||(d==="runs"&&I.current!==null&&(I.current=null,L.current+=1,R(null),w(null)),p(d),ya())}function na(d,y,F){Z(""),B({kind:d,task:y,run:F})}async function qa(d,y){if(P===null){pa(d.id),q("");try{if(y==="run")await t.run(d.id),M(e.runSubmitted.replace("{title}",d.title));else if(y==="copy"){let F=await t.action(d.id,"copy");if(M(e.copied.replace("{title}",d.title)),F?.task?.id){await _(),Y(F.task.id,"config");return}}else await t.action(d.id,y),M(y==="pause"?e.paused.replace("{title}",d.title):ct(d));await _(),I.current===d.id&&await ma(d.id)}catch(F){q(F.message??e.errorGeneric)}finally{pa(null)}}}async function Tt(d){await qa(d,"activate")}async function Ct(){if(g===null||K)return;let{kind:d,task:y}=g;ca(!0),Z("");try{d==="cancel-run"?(await t.cancel(g.run.id),M(e.runCanceled)):d==="delete"?(await t.remove(y.id),M(e.deleted.replace("{title}",y.title))):(await t.action(y.id,"hibernate"),M(e.hibernated.replace("{title}",y.title))),B(null),Z(""),await _(),I.current===y.id&&await ma(y.id)}catch(F){Z(F.message??e.errorGeneric)}finally{ca(!1)}}async function Rt(){if(!ta){ea(!0);try{await t.markRead({all:!0}),M(e.markReadDone),await _()}catch(d){q(d.message??e.errorGeneric)}finally{ea(!1)}}}async function zt(d){if(E(!1),z.current.some(y=>y.id===d)){Y(d);return}await _(),z.current.some(y=>y.id===d)&&Y(d)}W(()=>{v.current=!0,_();let d=setInterval(()=>{document.visibilityState!=="hidden"&&_()},15e3),y=()=>{document.visibilityState==="visible"&&_()};return document.addEventListener?.("visibilitychange",y),()=>{v.current=!1,ia.current+=1,L.current+=1,U.current=null,clearInterval(d),document.removeEventListener?.("visibilitychange",y)}},[]),W(()=>{if(h===null){R(null),L.current+=1;return}return R(null),ma(h),()=>{L.current+=1}},[h]);let Ua=o?.scheduler?.state==="active",ja=o?.storage?.state!=="unavailable",St=s.filter(d=>d.origin==="builtin"&&d.state==="dormant"),Ft=s.find(d=>d.id===h),At=b==="tasks"&&h!==null,Ga=o===null&&da.length===0;return a("div",{className:"capital-automation-page"},a("datalist",{id:"capital-automation-timezones"},Jt.map(d=>a("option",{key:d,value:d}))),At?null:a(be,{tab:b,onTab:wa,onNewTask:()=>D(!0),unread:T,onOpenInbox:()=>E(!0)}),a(he,{meta:o,loadError:da,onRetry:()=>{_()}}),a("div",{className:"capital-automation-scroll",ref:Pa},a("div",{className:"capital-automation-container"},b==="tasks"?h!==null?a("div",null,a(De,{onBack:Nt}),S===null?a("div",{className:"capital-automation-empty"},e.loading):a(Ee,{detail:S,meta:o,api:t,openSession:n,tab:N,onTab:O,onRequestConfirm:na,onRequestCancelRun:d=>na("cancel-run",Ft??{id:d.taskId,title:d.taskTitle},d),schedulerActive:Ua,storageReady:ja,onChanged:async d=>{await _();let y=d??I.current;y!==null&&I.current===y&&await ma(y)}})):Ga?a(Re):a(Se,{tasks:s,templates:St,runs:m,onOpenTask:Y,onNewTask:()=>D(!0),onEnableTemplate:d=>{Tt(d)},onAction:(d,y)=>{qa(d,y)},onRequestConfirm:na,onEdit:d=>Y(d,"config"),onGoRuns:()=>wa("runs"),onRequestCancelRun:(d,y)=>na("cancel-run",d,y),schedulerActive:Ua,storageReady:ja,busyTaskId:P}):Ga?a(ze):a(Ae,{runs:m,tasks:s,onCancel:d=>na("cancel-run",{id:d.taskId,title:d.taskTitle},d),onOpenSession:n,onOpenTask:d=>{z.current.some(y=>y.id===d)&&Y(d)},onGoTasks:()=>wa("tasks"),onNewTask:()=>D(!0),busy:K}))),a(Me,{open:A,onClose:()=>D(!1),api:t,meta:o,onCreated:async d=>{D(!1),M(e.created),await _(),d!==null&&z.current.some(y=>y.id===d)&&Y(d)}}),a(_e,{open:V,onClose:()=>E(!1),notifications:c,onMarkAllRead:()=>{Rt()},onOpenTask:d=>{zt(d)},busy:ta}),a(Le,{confirm:g,busy:K,error:ua,onCancel:()=>{K||(B(null),Z(""))},onConfirm:()=>{Ct()}}),J.length>0?a("div",{className:"capital-automation-toast",role:"status"},J):null)}function He(){return a(Fa,{width:18,height:18})}function Pe(i){let t=Xt(),n=o=>{try{i.get("uiWorkspace")?.openSession?.(o)}catch{}};i.effect(()=>Qt(),`${Ra}: styles`),i.slots.inject("main",()=>i.slots.register({name:"main",key:Wa,inject:()=>({api:t,openSession:n})},Be)),i.slots.inject("sidebar.panellist",()=>i.slots.register({name:"sidebar.panellist",id:Wa,order:11,label:()=>e.panel},He)),i.logger?.info?.(`${Ra}: \u5BA2\u6237\u7AEF\u534A\u8FB9\u5DF2\u6302\u8F7D\uFF08\u9875\u9762 + \u4FA7\u680F\u5165\u53E3\uFF09`)}exports.name=Ra;exports.inject=["slots"];exports.apply=Pe;
|
|
404
|
+
`,document.head.appendChild(i),()=>i.remove()}function se(){async function i(t,n={}){let o=typeof AbortController=="function"?new AbortController:void 0,l=setTimeout(()=>o?.abort(),2e4),r,s;try{r=await fetch(`${ee}${t}`,{method:n.method??"GET",credentials:"same-origin",headers:n.body===void 0?{}:{"content-type":"application/json"},body:n.body===void 0?void 0:JSON.stringify(n.body),...o===void 0?{}:{signal:o.signal}});try{s=await r.json()}catch{throw new Error(e.errorGeneric)}}finally{clearTimeout(l)}if(!r.ok||s?.ok===!1){let d=new Error(s?.message??e.errorGeneric);throw d.code=s?.code,d}return s}return{meta:()=>i("/meta"),tasks:()=>i("/tasks"),detail:t=>i(`/tasks/${encodeURIComponent(t)}`),create:t=>i("/tasks",{method:"POST",body:t}),patch:(t,n)=>i(`/tasks/${encodeURIComponent(t)}`,{method:"PATCH",body:n}),remove:t=>i(`/tasks/${encodeURIComponent(t)}`,{method:"DELETE"}),action:(t,n)=>i(`/tasks/${encodeURIComponent(t)}/${n}`,{method:"POST"}),run:t=>i(`/tasks/${encodeURIComponent(t)}/run`,{method:"POST"}),cancel:t=>i(`/runs/${encodeURIComponent(t)}/cancel`,{method:"POST"}),runs:(t="")=>i(`/runs${t}`),notifications:()=>i("/notifications"),markRead:t=>i("/notifications/read",{method:"POST",body:t})}}function ct(i){return e.status[i]??i}function ut(i){return e.state[i]??i}function dt(i){return i?.state==="active"?e.pause:i?.state==="dormant"?e.add:e.activate}function pt(i){return i?.state==="active"?Jt:i?.state==="dormant"?Ha:_a}function mt(i){return(i?.state==="dormant"?e.added:e.activated).replace("{title}",i?.title??"")}function sa(i){return e.category[i]??i}function gt(i,t=12){let n=String(i??""),o=Array.from(n);return o.length>t?`${o.slice(0,t).join("")}\u2026`:n}function ce(i){if(i==null||i.available===!1)return e.calendarSourceNone;let t=i.source==="szse"?e.calendarSourceSzse:i.source==="bundled"?e.calendarSourceBundled:e.calendarSourceNone,n=i.through??e.calendarUnknown;return`${t} \xB7 ${e.calendarThrough.replace("{date}",n)}`}function L(i){return i!=null&&ie.includes(i.status)}function ta(i){return ne.includes(i)}function Ua(i){return i?.origin==="custom"?"custom":i?.category??"news"}function ue(i){return i?.origin==="custom"?lt:i?.sourceBuiltinId==="morning-brief"?Zt:i?.category==="market"?Wt:i?.category==="review"?Qt:i?.category==="research"?ot:Kt}function da(i){let{task:t,size:n=34,large:o=!1}=i,l=ue(t),r=o?44:n;return a("span",{className:"capital-automation-glyph","data-tone":Ua(t),style:{width:r,height:r,borderRadius:o?13:10}},a(l,{size:o?22:17}))}function ft(i){let{state:t,running:n}=i,o=n?e.status.running:ut(t);return a("span",{className:"capital-automation-state","data-state":n?"running":t},a("span",{className:"capital-automation-statedot"}),o)}function de(i,t={}){if(typeof i!="string"||i.length===0)return e.never;let n=new Date(i);return Number.isNaN(n.getTime())?i:new Intl.DateTimeFormat("zh-CN",{year:t.short===!0?void 0:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23",...typeof t.timeZone=="string"&&t.timeZone.length>0?{timeZone:t.timeZone}:{}}).format(n)}function qa(i,t){return de(i,{short:!0,timeZone:t})}function bt(i){if(typeof i!="number"||i<0)return e.never;let t=Math.round(i/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m ${t%60}s`:`${Math.floor(n/60)}h ${n%60}m`}function ht(i){if(typeof i!="string"||i.length===0)return"";let t=Date.parse(i);if(Number.isNaN(t))return"";let n=t-Date.now(),o=Math.abs(n);if(o<45e3)return e.relativeNow;let l=[[864e5,"day"],[36e5,"hour"],[6e4,"minute"]],r=new Intl.RelativeTimeFormat("zh-CN",{numeric:"auto"});for(let[s,d]of l)if(o>=s||d==="minute")return r.format(Math.round(n/s),d);return""}function Sa(i){return new Intl.DateTimeFormat("zh-CN",{month:"short",day:"numeric"}).format(i)}function xt(i){return(i.weekdays??[]).slice().sort((t,n)=>t-n).map(t=>la.find(n=>n.value===t)?.label??"").join("\u3001")}function vt(i){return i.dayOfMonth==="last"?"\u6BCF\u6708\u6700\u540E\u4E00\u5929":`\u6BCF\u6708 ${i.dayOfMonth??1} \u65E5`}function yt(i){if(i==null)return e.never;let t=i.tradingDaysOnly===!0?e.tradingSuffix:"";return i.cadence==="weekly"?`${e.weeklyPrefix}${xt(i)} ${i.time}${t}`:i.cadence==="monthly"?`${vt(i)} ${i.time}${t}`:i.cadence==="once"?`${Nt(i.date)} ${i.time}${t}`:`${e.dailyPrefix} ${i.time}${t}`}function pe(i){return i?.cadence==="weekly"?`${e.weeklyPrefix}${xt(i)}`:i?.cadence==="monthly"?vt(i):i?.cadence==="once"?Nt(i.date):e.dailyPrefix}function wt(i){if(i?.state==="dormant")return{value:e.nextRunDormant,sub:e.notScheduled};if(i?.state==="paused")return{value:e.nextRunPaused,sub:e.notScheduled};if(i?.trigger?.cadence==="once"&&!i.nextRunAt&&i.nextRunUnavailable!==!0)return we(i.trigger)?{value:e.onceEnded,sub:e.onceEndedHint}:{value:e.onceSkipped,sub:e.onceSkippedHint};let t=i?.nextRunLocal??(i?.nextRunUnavailable?e.calendarUnavailable:e.never),n=i?.nextRunAt?ht(i.nextRunAt):i?.nextRunUnavailable?e.nextRunUnavailable:e.never;return{value:t,sub:n}}function me(i,t){if(i==null)return{value:e.neverRun,sub:e.lastRunEmpty};let n=L(i),o=[qa(i.queuedAt,t)];!n&&typeof i.durationMs=="number"&&o.push(bt(i.durationMs));let l=Array.isArray(i.errors)?i.errors.length:0;l>0&&o.push(e.runErrors.replace("{n}",String(l)));let r;return i.status==="succeeded"?r="ok":ta(i.status)?r="error":n?r="running":oe.includes(i.status)&&(r="warn"),{value:ct(i.status),sub:o.filter(Boolean).join(" \xB7 "),tone:r}}function ja(i,t){let n=[{id:"",title:e.workspaceDefault}],o=Array.isArray(i?.workspaces)?i.workspaces:[];for(let l of o)typeof l?.id!="string"||l.id.length===0||n.push({id:l.id,title:l.default===!0?`${l.title}\uFF08\u9ED8\u8BA4\uFF09`:l.title});return typeof t=="string"&&t.length>0&&!n.some(l=>l.id===t)&&n.push({id:t,title:e.workspaceMissing}),n}function ge(i,t){return typeof t!="string"||t.length===0?e.workspaceDefault:ja(i,t).find(n=>n.id===t)?.title??e.workspaceMissing}function fe(i){let t=String(i??"").trim();return(t.length>0&&!Ra.includes(t)?[t,...Ra]:Ra).map(o=>({value:o,label:o}))}function ka(i,t,n){return new Date(Date.UTC(i,t-1,n)).toISOString().slice(0,10)}function be(i){try{let t=new Intl.DateTimeFormat("en-US",{timeZone:i,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date),n=o=>Number(t.find(l=>l.type===o)?.value);return ka(n("year"),n("month"),n("day"))}catch{return new Date().toISOString().slice(0,10)}}function he(i){let[t,n,o]=be(i).split("-").map(Number);return ka(t,n,o+1)}function xe(i){let t=i;for(let n=0;n<7;n+=1){let o=new Date(`${t}T00:00:00Z`).getUTCDay();if(o!==0&&o!==6)return t;let[l,r,s]=t.split("-").map(Number);t=ka(l,r,s+1)}return t}function ve(i,t){let n=he(i);return t===!0?xe(n):n}function ye(i){try{let t=new Intl.DateTimeFormat("en-US",{timeZone:i,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date),n=o=>Number(t.find(l=>l.type===o)?.value);return{date:ka(n("year"),n("month"),n("day")),minutes:n("hour")*60+n("minute")}}catch{let t=new Date;return{date:t.toISOString().slice(0,10),minutes:t.getUTCHours()*60+t.getUTCMinutes()}}}function we(i){if(i?.cadence!=="once"||!kt(i.date))return!1;let t=ye(i.timezone);if(i.date!==t.date)return i.date<t.date;let[n,o]=String(i.time??"").split(":").map(Number);return!Number.isInteger(n)||!Number.isInteger(o)?!1:t.minutes>=n*60+o}function kt(i){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(i??""));if(t===null)return!1;let n=Number(t[1]),o=Number(t[2]),l=Number(t[3]);if(n<1970||o<1||o>12||l<1||l>31)return!1;let r=new Date(Date.UTC(n,o-1,l));return r.getUTCFullYear()===n&&r.getUTCMonth()===o-1&&r.getUTCDate()===l}function Nt(i){let t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(String(i??""));return t===null?String(i??""):`${Number(t[1])} \u5E74 ${Number(t[2])} \u6708 ${Number(t[3])} \u65E5`}function ca(i){let n={kind:"schedule",cadence:Object.prototype.hasOwnProperty.call(e.cadence,i?.cadence)?i.cadence:"daily",time:i?.time??"09:00",timezone:i?.timezone??"Asia/Shanghai",tradingDaysOnly:i?.tradingDaysOnly===!0};if(n.cadence==="weekly"&&(n.weekdays=(i?.weekdays??[1,3,5]).slice().sort((o,l)=>o-l)),n.cadence==="monthly"){let o=i?.dayOfMonth;n.dayOfMonth=o==="last"||Number.isInteger(o)&&o>=1&&o<=31?o:1}return n.cadence==="once"&&(n.date=typeof i?.date=="string"?i.date:ve(n.timezone,n.tradingDaysOnly)),n}function ke(i,t){let n=ca({...t,cadence:i});return i==="weekly"&&(n.weekdays??[]).length===0&&(n.weekdays=[1,3,5]),n}function it(){return{title:"\u6211\u7684\u6295\u7814\u4EFB\u52A1",description:"",instruction:"",category:"research",trigger:{kind:"schedule",cadence:"daily",time:"09:00",timezone:"Asia/Shanghai",tradingDaysOnly:!0},workspaceId:"",limits:{...le},notifications:{inApp:!0,onFailure:!0,onSuccess:!1}}}function ya(i){return{title:String(i.title??"").trim(),description:i.description??"",instruction:i.instruction??"",category:i.category,trigger:ca(i.trigger),workspaceId:i.workspaceId??"",limits:i.limits,notifications:i.notifications}}function Ne(i,t){return JSON.stringify(ya(i))===JSON.stringify(ya(t))}function Te(i){let t=new Date;t.setHours(0,0,0,0),t.setDate(t.getDate()-(xa-1));let n=[],o=new Map;for(let d=0;d<xa;d+=1){let u=new Date(t);u.setDate(t.getDate()+d);let c=`${u.getFullYear()}-${u.getMonth()}-${u.getDate()}`,x={date:u,key:c,runs:[]};n.push(x),o.set(c,x)}let l=0,r=0,s=0;for(let d of i){let u=new Date(d.queuedAt);if(Number.isNaN(u.getTime())||u<t)continue;d.status==="succeeded"&&(l+=1),ta(d.status)&&(r+=1),s+=1;let c=`${u.getFullYear()}-${u.getMonth()}-${u.getDate()}`,x=o.get(c);x!==void 0&&x.runs.push(d)}return{days:n,success:l,failure:r,total:s}}function Ce(i){return i.runs.some(t=>L(t))?"active":i.runs.some(t=>ta(t.status))?"error":i.runs.some(t=>t.status==="succeeded")?"ok":i.runs.length>0?"warn":null}function za(i){return i==="run_failed"||i==="run_timeout"?"error":i==="scheduler_standby"||i==="calendar_unavailable"?"warn":"neutral"}function Re(i){return typeof i.message=="string"&&i.message.length>0?i.message:i.kind==="run_failed"?e.notificationFallbackFailed:i.kind==="run_timeout"?e.notificationFallbackTimeout:i.kind==="run_succeeded"?e.notificationFallbackSuccess:i.kind==="scheduler_standby"?e.notificationFallbackStandby:i.kind==="calendar_unavailable"?e.notificationFallbackCalendar:i.kind==="skipped"?e.notificationFallbackSkipped:""}function Se(i,t){return!Ne(i,t)}function ze(i){let t={};String(i.title??"").trim().length===0&&(t.title=e.titleRequired),String(i.instruction??"").trim().length===0&&(t.instruction=e.instructionRequired);let n=i.trigger??{};/^([01]\d|2[0-3]):[0-5]\d$/.test(n.time??"")||(t.time=e.invalidTime);let o=String(n.timezone??"").trim();if(o.length===0)t.timezone=e.invalidTimezone;else try{new Intl.DateTimeFormat("zh-CN",{timeZone:o})}catch{t.timezone=e.invalidTimezoneValue}n.cadence==="weekly"&&(n.weekdays??[]).length===0&&(t.weekdays=e.weekdayRequired),n.cadence==="once"&&(typeof n.date!="string"||n.date.length===0?t.date=e.dateRequired:kt(n.date)||(t.date=e.invalidDate));let l=i.limits??{};for(let r of["runTimeoutMinutes","idleTimeoutMinutes","maxSteps","maxToolCalls"])Number.isFinite(l[r])||(t[r]=e.invalidLimit);return t}function Tt(i,t){let[n,o]=z({}),l=ze(i);return j(()=>{o({})},[t]),{issues:l,errorFor:c=>n[c]===!0?l[c]:void 0,touch:c=>o(x=>x[c]===!0?x:{...x,[c]:!0}),touchAll:()=>o(c=>{let x={...c};for(let v of Object.keys(l))x[v]=!0;return x}),clear:()=>o({})}}function Y(i,t,n){let o=i?.execution?.limits?.[t];return Array.isArray(o)&&o.length===2?o:n}function Ct(i){let{runs:t,onViewAll:n,showLink:o=!0}=i,{days:l,success:r,failure:s,total:d}=Te(t);return a("section",{className:"capital-automation-card capital-automation-history","aria-label":e.runHistory},a("div",{className:"capital-automation-historyhead"},a("div",{className:"capital-automation-historytitle"},a("h2",null,e.runHistory),a("span",null,e.last30Days)),a("div",{className:"capital-automation-historystats"},a("span",{className:"capital-automation-historystat","data-tone":"ok"},a("span",{className:"capital-automation-statusdot"}),e.successCount.replace("{n}",String(r))),a("span",{className:"capital-automation-historystat","data-tone":"error"},a("span",{className:"capital-automation-statusdot"}),e.failureCount.replace("{n}",String(s))),o&&n!==void 0?a("button",{type:"button",className:"capital-automation-historylink",onClick:n},e.runCount.replace("{n}",String(d)),a(La,{size:13})):a("span",{className:"capital-automation-historystat"},e.runCount.replace("{n}",String(d))))),a("div",{className:"capital-automation-timeline","aria-hidden":"true"},l.map(u=>{let c=Ce(u);return a("div",{key:u.key,className:"capital-automation-timeline-day",title:`${Sa(u.date)}\uFF1A${u.runs.length} \u6B21\u8FD0\u884C`},c===null?null:a("span",{className:"capital-automation-timeline-dot","data-tone":c}))})),a("div",{className:"capital-automation-timelinelabels"},a("span",null,Sa(l[0].date)),a("span",null,Sa(l[l.length-1].date))),d===0?a("p",{className:"capital-automation-historyempty"},e.historyEmpty):null)}function Fe(i){let{status:t}=i;return a("span",{className:"capital-automation-runstatus","data-status":t},a("span",{className:"capital-automation-rundot"}),ct(t))}function Ae(i){let{run:t,task:n,onCancel:o,onOpenSession:l,onOpenTask:r,busy:s}=i,d=L(t),u=Array.isArray(t.errors)?t.errors.length:0,[c,x]=z(!1),v=`capital-automation-run-errors-${t.id}`,w=u>0?a("button",{type:"button",className:"capital-automation-runerrorbadge","data-tone":ta(t.status)?"error":"warn","aria-expanded":c?"true":"false","aria-controls":v,"aria-label":`${e.runErrors.replace("{n}",String(u))}\uFF0C${c?e.hideErrorDetails:e.showErrorDetails}`,title:c?e.hideErrorDetails:e.showErrorDetails,onClick:()=>x(b=>!b)},a(rt,{size:12}),e.runErrors.replace("{n}",String(u)),a(La,{size:12})):null;return a("div",{className:"capital-automation-run"},a("div",{className:"capital-automation-runhead"},a("div",{className:"capital-automation-runmain"},a("div",{className:"capital-automation-runline"},n!==void 0&&r!==void 0?a("button",{type:"button",className:"capital-automation-runtitle capital-automation-runmaintitle",onClick:()=>r(n.id)},n.title):a("span",{className:"capital-automation-runtitle"},t.taskTitle),a(Fe,{status:t.status})),a("div",{className:"capital-automation-runmetaline"},a("span",{className:"capital-automation-runmeta"},`${qa(t.queuedAt,n?.trigger?.timezone)} \xB7 ${t.trigger==="manual"?e.triggerManual:e.triggerScheduled}`),typeof t.durationMs=="number"?a("span",{className:"capital-automation-runmeta"},`${e.duration} ${bt(t.durationMs)}`):null,a("span",{className:"capital-automation-runmeta"},`${e.steps} ${t.steps} \xB7 ${e.tools} ${t.toolCalls}`),w)),a("div",{className:"capital-automation-runactions"},d&&typeof o=="function"?a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"danger",disabled:s,onClick:()=>o(t)},e.cancelRun):t.sessionId&&l?a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"primary",onClick:()=>l(t.sessionId)},a(ae,{size:13}),e.openSession):null)),c&&u>0?a("div",{id:v,className:"capital-automation-runerrors",role:"region","aria-label":e.errorDetailsLabel},t.errors.map((b,g)=>a("div",{key:`${t.id}-error-${g}`,className:"capital-automation-runerror","data-severity":b.severity},a("span",{className:"capital-automation-runerrordot"}),a("span",{className:"capital-automation-runerrormessage"},b.message),b.code?a("code",{className:"capital-automation-runerrorcode",title:b.code},b.code):null))):null)}function Ga(i){let{runs:t,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:r,busy:s,compact:d}=i,u=new Map(n.map(c=>[c.id,c]));return t.length===0?d?a("p",{className:"capital-automation-hint"},e.detailNoRuns):a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(Ba,{size:19})),a("h3",null,e.detailNoRuns),a("p",null,e.runsEmptyBody)):a("div",{className:"capital-automation-runs"},t.map(c=>a(Ae,{key:c.id,run:c,task:u.get(c.taskId),onCancel:o,onOpenSession:l,onOpenTask:r,busy:s})))}function Ie(i){let{unread:t,onClick:n}=i;return a("button",{type:"button",className:"capital-automation-btn","data-variant":"ghost",onClick:n,title:e.notificationsTitle,"aria-label":e.notificationsTitle},a(Ea,{size:14}),a("span",{className:"capital-automation-btnlabel"},e.notifications),t>0?a("span",{className:"capital-automation-count"},String(t>99?"99+":t)):null)}function Oe(i){let{tab:t,onTab:n,onNewTask:o,unread:l,onOpenInbox:r}=i;return a("header",{className:"capital-automation-head"},a("div",{className:"capital-automation-headinner"},a("div",{className:"capital-automation-topbar"},a("div",{className:"capital-automation-brand"},a("span",{className:"capital-automation-brandmark","aria-hidden":"true"},a($a,{size:16})),a("h1",null,e.title)),a("div",{className:"capital-automation-tabs",role:"tablist","aria-label":e.title},["tasks","runs"].map(s=>a("button",{key:s,type:"button",role:"tab",className:"capital-automation-tab","aria-selected":t===s?"true":"false",onClick:()=>n(s)},e.tabs[s]))),a("div",{className:"capital-automation-topactions"},a(Ie,{unread:l,onClick:r}),a("button",{type:"button",className:"capital-automation-btn","data-variant":"contrast",onClick:o,title:e.newTask,"aria-label":e.newTask},a(Ha,{size:14}),a("span",{className:"capital-automation-btnlabel"},e.newTask))))))}function De(i){let{meta:t,loadError:n,onRetry:o}=i,l=[];t?.storage?.state==="unavailable"&&l.push(a("div",{key:"storage",className:"capital-automation-banner","data-tone":"error",role:"alert"},`${e.storageBanner}${t.storage.error?`\uFF1A${t.storage.error}`:""}`));let r=t?.scheduler?.state;t!=null&&t.storage?.state!=="unavailable"&&(r==="standby"||r==="stopped")&&l.push(a("div",{key:"standby",className:"capital-automation-banner","data-tone":"warn",role:"status"},e.standbyBanner));let s=t!=null&&t.calendar?.available===!1;t!=null&&t.storage?.state!=="unavailable"&&s&&l.push(a("div",{key:"calendar",className:"capital-automation-banner","data-tone":"warn",role:"status"},e.calendarBanner));let d=t?.calendar?.coverageDays;return t!=null&&t.storage?.state!=="unavailable"&&!s&&typeof d=="number"&&d>=0&&d<30&&l.push(a("div",{key:"calendar-coverage",className:"capital-automation-banner","data-tone":"warn",role:"status"},e.calendarCoverageBanner.replace("{through}",t.calendar.through??e.calendarUnknown))),n.length>0&&l.push(a("div",{key:"load",className:"capital-automation-banner","data-tone":"error",role:"alert"},n,a("button",{type:"button",className:"capital-automation-btn","data-size":"sm",onClick:o},e.loadRetry))),l.length===0?null:a("div",{className:"capital-automation-headinner",style:{paddingBottom:0}},l)}function Rt(i){let{active:t,count:n,label:o,onClick:l}=i;return a("button",{type:"button",className:"capital-automation-filter","aria-pressed":t?"true":"false",onClick:l},a("span",{className:"capital-automation-filterlabel"},o),n>0?a("span",{className:"capital-automation-filtercount"},String(n)):null)}function Ee(i){let{task:t}=i,n=[[sa(t.category),Ua(t)]];return t.origin==="builtin"&&n.push([e.origin.builtin,void 0]),t.origin==="custom"&&n.push([e.origin.custom,void 0]),a("span",{className:"capital-automation-tasktags"},n.map(([o,l])=>a("span",{key:o,className:"capital-automation-tag","data-tone":l,title:o},gt(o))))}function St(i){let{task:t,open:n,onToggle:o,onClose:l,onEdit:r,onAction:s,onRequestConfirm:d,canRun:u,running:c,busy:x,disabled:v,align:w="end"}=i,b=t.state==="active"?"pause":"activate",g=x||v===!0,N=[{id:"edit",label:e.edit,icon:a(jt,{size:14}),disabled:x},{id:b,label:dt(t),icon:a(pt(t),{size:14}),disabled:g},{id:"run",label:e.runNow,icon:a(_a,{size:14}),disabled:g||!u||c},...t.origin==="builtin"?[{id:"copy",label:e.copy,icon:a(qt,{size:14}),disabled:g}]:[]],h=[];return t.origin==="builtin"&&t.state!=="dormant"&&h.push(a(Xa,{key:"hibernate",separatorBefore:!0,icon:a(Xt,{size:14}),disabled:g||c,onSelect:()=>{l(),d("hibernate",t)}},e.hibernate)),t.origin==="custom"&&h.push(a(Xa,{key:"remove",danger:!0,separatorBefore:!0,icon:a(te,{size:14}),disabled:g||c,onSelect:()=>{l(),d("delete",t)}},e.remove)),a(wa,{open:n,anchor:a("button",{type:"button",className:"capital-automation-iconbtn",disabled:x,title:e.more,"aria-label":`${e.more}\uFF1A${t.title}`,"aria-haspopup":"menu","aria-expanded":n?"true":"false",onClick:o},a(Gt,{size:16})),items:N,children:h,onSelect:f=>{if(l(),f==="edit"){r(t.id);return}s(t,f)},onClose:l,align:w,portal:!0})}function $e(i){let{task:t,onOpen:n,menuOpen:o,onMenuToggle:l,onMenuClose:r,onEdit:s,onAction:d,onRequestConfirm:u,canRun:c,busy:x,mutationsDisabled:v}=i,w=t.lastRun,b=L(w),g=wt(t);return a("div",{className:"capital-automation-trow"},a("button",{type:"button",className:"capital-automation-trowmain",onClick:()=>n(t.id)},a("span",{className:"capital-automation-cell capital-automation-identity"},a(da,{task:t}),a("span",{className:"capital-automation-identitytext"},a("span",{className:"capital-automation-tasktitlerow"},a("span",{className:"capital-automation-tasktitle"},t.title),a(Ee,{task:t}),(t.unread??0)>0?a("span",{className:"capital-automation-count",title:e.unread},String(t.unread)):null),a("span",{className:"capital-automation-taskdesc"},t.description||e.subtitle))),a("span",{className:"capital-automation-cell","data-cell":"schedule"},a("span",{className:"capital-automation-schedule"},yt(t.trigger)),a("span",{className:"capital-automation-schedulesub"},t.trigger?.timezone??"")),a("span",{className:"capital-automation-cell","data-cell":"next"},a("span",{className:"capital-automation-nextmain"},g.value),a("span",{className:"capital-automation-nextsub"},g.sub)),a("span",{className:"capital-automation-cell"},a(ft,{state:t.state,running:b}))),a("div",{className:"capital-automation-trowmenu"},a(St,{task:t,open:o,onToggle:l,onClose:r,onEdit:s,onAction:d,onRequestConfirm:u,canRun:c,running:b,busy:x,disabled:v})))}function Me(i){let{tasks:t,onOpen:n,onAction:o,onRequestConfirm:l,onEdit:r,schedulerActive:s,storageReady:d,busyTaskId:u}=i,[c,x]=z(null),v=d&&s;return a("div",{className:"capital-automation-table","aria-label":e.taskSection},a("div",{className:"capital-automation-thead"},a("div",{className:"capital-automation-theadmain"},a("span",null,e.taskSection),a("span",null,e.triggerSummary),a("span",null,e.nextRun),a("span",null,e.stateLabel)),a("span",null)),t.map(w=>a($e,{key:w.id,task:w,onOpen:n,menuOpen:c===w.id,onMenuToggle:()=>x(b=>b===w.id?null:w.id),onMenuClose:()=>x(null),onEdit:r,onAction:o,onRequestConfirm:l,canRun:v,busy:u===w.id,mutationsDisabled:!d})))}function Le(i){let{task:t,onOpen:n,onEnable:o,busy:l,disabled:r}=i;return a("article",{className:"capital-automation-template"},a("button",{type:"button",className:"capital-automation-templatemain",onClick:()=>n(t.id)},a(da,{task:t,size:38}),a("span",{className:"capital-automation-templatebody"},a("span",{className:"capital-automation-templatetitlerow"},a("strong",null,t.title),a("span",{className:"capital-automation-tag","data-tone":Ua(t),title:sa(t.category)},gt(sa(t.category)))),a("span",{className:"capital-automation-templatedesc"},t.description||e.subtitle))),a("div",{className:"capital-automation-templatefoot"},a("span",{className:"capital-automation-templatemeta"},a(Ba,{size:12}),`${e.templateMeta} \xB7 ${yt(t.trigger)}`),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"primary",onClick:()=>o(t),disabled:l||r},a(Ha,{size:12}),l?e.templateAdding:e.templateAdd)))}function Ia(i){let{title:t,body:n,action:o,actionLabel:l,icon:r}=i;return a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(r??$a,{size:19})),a("h3",null,t),a("p",null,n),o&&l?a("button",{type:"button",className:"capital-automation-btn",onClick:o},l):null)}function S(i){let{width:t="100%",height:n=10,radius:o=6}=i;return a("span",{className:"capital-automation-skeleton",style:{width:t,height:n,borderRadius:o},"aria-hidden":"true"})}function zt(){return a("section",{className:"capital-automation-card capital-automation-history","aria-hidden":"true"},a("div",{className:"capital-automation-historyhead"},a("div",{className:"capital-automation-historytitle"},a(S,{width:92,height:14}),a(S,{width:52,height:11})),a("div",{className:"capital-automation-historystats"},a(S,{width:64,height:12}),a(S,{width:64,height:12}),a(S,{width:56,height:12}))),a("div",{className:"capital-automation-skeletontimeline"},Array.from({length:xa},(i,t)=>a(S,{key:t,height:6+t*11%22,radius:2}))),a("div",{className:"capital-automation-timelinelabels"},a(S,{width:34,height:9}),a(S,{width:34,height:9})))}function Oa(i){let{trailing:t=[210,132]}=i;return a("div",{className:"capital-automation-sectionhead"},a(S,{width:78,height:14}),a(S,{width:210,height:11}),t.length===0?null:a("div",{className:"capital-automation-sectiontools"},t.map((n,o)=>a(S,{key:o,width:n,height:o===0?28:30,radius:999}))))}function Be(){return a("div",{className:"capital-automation-trow capital-automation-skeletonrow","aria-hidden":"true"},a("div",{className:"capital-automation-trowmain"},a("span",{className:"capital-automation-cell capital-automation-identity"},a(S,{width:34,height:34,radius:10}),a("span",{className:"capital-automation-skeletonstack"},a(S,{width:"52%",height:12}),a(S,{width:"82%",height:9}),a(S,{width:92,height:16,radius:999}))),a("span",{className:"capital-automation-cell","data-cell":"schedule"},a(S,{width:"64%",height:10}),a(S,{width:"42%",height:8})),a("span",{className:"capital-automation-cell","data-cell":"next"},a(S,{width:"58%",height:10}),a(S,{width:"36%",height:8})),a("span",{className:"capital-automation-cell"},a(S,{width:52,height:22,radius:999}))),a("div",{className:"capital-automation-trowmenu"},a(S,{width:18,height:18,radius:6})))}function _e(i){let{rows:t=4}=i;return a("div",{className:"capital-automation-table","aria-hidden":"true"},a("div",{className:"capital-automation-thead"},a("div",{className:"capital-automation-theadmain"},a(S,{width:"52%",height:9}),a(S,{width:"58%",height:9}),a(S,{width:"56%",height:9}),a(S,{width:44,height:9})),a("span",null)),Array.from({length:t},(n,o)=>a(Be,{key:o})))}function He(){return a("div",{className:"capital-automation-template capital-automation-skeletontemplate","aria-hidden":"true"},a("div",{className:"capital-automation-skeletontemplatemain"},a(S,{width:38,height:38,radius:11}),a("div",{className:"capital-automation-skeletonstack"},a(S,{width:"58%",height:11}),a(S,{width:"100%",height:9}),a(S,{width:"76%",height:9}))),a("div",{className:"capital-automation-templatefoot"},a(S,{width:118,height:11}),a(S,{width:64,height:28,radius:999})))}function Pe(){return a("div",{className:"capital-automation-run capital-automation-skeletonrun","aria-hidden":"true"},a("div",{className:"capital-automation-runhead"},a("div",{className:"capital-automation-runmain"},a("div",{className:"capital-automation-runline"},a(S,{width:168,height:11}),a(S,{width:54,height:10,radius:999})),a("div",{className:"capital-automation-runmetaline"},a(S,{width:86,height:9}),a(S,{width:58,height:9}),a(S,{width:104,height:9}))),a("div",{className:"capital-automation-runactions"},a(S,{width:64,height:26,radius:999}))))}function Ft(i){let{children:t}=i;return a("div",{className:"capital-automation-loading","aria-busy":"true"},a("span",{className:"capital-automation-skeletonlabel",role:"status","aria-live":"polite"},e.loading),t)}function Ue(){return a(Ft,null,a(zt),a("section",{className:"capital-automation-section"},a(Oa),a(_e,{rows:4})),a("section",{className:"capital-automation-section"},a(Oa,{trailing:[64]}),a("div",{className:"capital-automation-templates"},[0,1,2].map(i=>a(He,{key:i})))))}function qe(){return a(Ft,null,a(zt),a("section",{className:"capital-automation-section"},a(Oa,{trailing:[260]}),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-runs"},[0,1,2,3].map(i=>a(Pe,{key:i}))))))}function je(i){let{tasks:t,templates:n,runs:o,onOpenTask:l,onNewTask:r,onEnableTemplate:s,onAction:d,onRequestConfirm:u,onEdit:c,onGoRuns:x,onRequestCancelRun:v,schedulerActive:w,storageReady:b,busyTaskId:g}=i,[N,h]=z("all"),[f,k]=z(""),F=t.filter(p=>L(p.lastRun)),O=n.filter(p=>!L(p.lastRun)),D=t.filter(p=>!L(p.lastRun)&&!(p.origin==="builtin"&&p.state==="dormant")),E=D.filter(p=>{if(N==="custom"&&p.origin!=="custom"||N!=="all"&&N!=="custom"&&p.category!==N)return!1;if(f.trim().length===0)return!0;let _=f.trim().toLowerCase();return`${p.title} ${p.description??""} ${p.instruction??""}`.toLowerCase().includes(_)}),B={all:D.length,custom:D.filter(p=>p.origin==="custom").length,news:D.filter(p=>p.category==="news").length,market:D.filter(p=>p.category==="market").length,review:D.filter(p=>p.category==="review").length,research:D.filter(p=>p.category==="research").length},y=["all","custom","news","market","review","research"];return a("div",null,a(Ct,{runs:o,onViewAll:x}),a("section",{className:"capital-automation-section"},a("div",{className:"capital-automation-sectionhead"},a("h2",null,e.taskSection),a("span",null,e.taskSectionHint),a("div",{className:"capital-automation-sectiontools"},a("div",{className:"capital-automation-filters",role:"group","aria-label":e.filterLabel},y.map(p=>a(Rt,{key:p,label:p==="all"?e.filterAll:p==="custom"?e.filterCustom:sa(p),count:B[p],active:N===p,onClick:()=>h(p)}))),a("label",{className:"capital-automation-search"},a(ot,{size:13}),a("input",{type:"search",value:f,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,onChange:p=>k(p.target.value)})))),F.length>0?a("div",{className:"capital-automation-running",role:"status"},F.map(p=>a("div",{key:p.id,className:"capital-automation-runningrow"},a("span",{className:"capital-automation-live"},a("span",{className:"capital-automation-livedot"}),e.status.running),a(da,{task:p,size:28}),a("button",{type:"button",className:"capital-automation-tasktitle",style:{padding:0,border:0,background:"transparent",cursor:"pointer"},onClick:()=>l(p.id)},p.title),a("span",{className:"capital-automation-runmeta"},`${e.runningSince} ${ht(p.lastRun.startedAt??p.lastRun.queuedAt)} \xB7 ${e.steps} ${p.lastRun.steps} \xB7 ${e.tools} ${p.lastRun.toolCalls}`),a("span",{className:"capital-automation-runningactions"},a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"danger",onClick:()=>v(p,p.lastRun)},e.cancelRun),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm",onClick:()=>l(p.id)},e.details))))):null,E.length>0?a(Me,{tasks:E,onOpen:l,onAction:d,onRequestConfirm:u,onEdit:c,schedulerActive:w,storageReady:b,busyTaskId:g}):D.length===0?F.length>0?null:a(Ia,{title:O.length>0?e.emptyTasksTitle:e.emptyNoTemplates,body:O.length>0?e.emptyTasksBody:e.emptyNoTemplatesBody,action:O.length===0?r:void 0,actionLabel:O.length===0?e.newTask:void 0}):a(Ia,{title:e.emptyFiltered,body:e.emptyTasksBody,action:()=>{h("all"),k("")},actionLabel:e.clearFilter})),O.length>0?a("section",{className:"capital-automation-section"},a("div",{className:"capital-automation-sectionhead"},a("h2",null,e.templateSection)),a("div",{className:"capital-automation-templates"},O.map(p=>a(Le,{key:p.id,task:p,onOpen:l,onEnable:s,busy:g===p.id,disabled:!b})))):null)}function Ge(i){let{value:t,onChange:n,disabled:o}=i,[l,r]=z(!1),s=Array.isArray(t)?t:[],d=h=>s.includes(h),u=h=>s.length===h.length&&h.every(d),c=u([1,2,3,4,5]),x=u([6,7]),v=u(la.map(h=>h.value)),w=s.length===0?e.weekdayNone:v?e.weekdayEvery:c?e.weekdayWorkdayQuick:x?e.weekdayWeekendQuick:la.filter(h=>d(h.value)).map(h=>h.label).join("\u3001");j(()=>{o===!0&&l&&r(!1)},[o,l]);let b=[{id:"workday",label:e.weekdayWorkdayQuick},{id:"weekend",label:e.weekdayWeekendQuick},{type:"separator",id:"weekday-separator"},...la.map(h=>({id:`weekday-${h.value}`,label:`\u5468${h.label}`}))],g=[...s.map(h=>`weekday-${h}`),...c?["workday"]:[],...x?["weekend"]:[]],N=h=>{if(h==="workday"){n([1,2,3,4,5]);return}if(h==="weekend"){n([6,7]);return}let f=Number(h.slice(8));if(!la.some(F=>F.value===f))return;let k=d(f)?s.filter(F=>F!==f):[...s,f].sort((F,O)=>F-O);k.length>0&&n(k)};return a(wa,{open:l,anchor:a("button",{type:"button",className:"capital-automation-select capital-automation-triggerpick",disabled:o,"aria-label":`${e.weekdayField}\uFF1A${w}`,"aria-haspopup":"menu","aria-expanded":l?"true":"false",title:`${e.weekdayField}\uFF1A${w}`,onClick:()=>r(h=>!h)},a("span",{className:"capital-automation-selectvalue"},w),a(Ma,{size:14})),items:b,selectedIds:g,onSelect:N,onClose:()=>r(!1),align:"start",portal:!0})}function Ve(i){let{value:t,onChange:n,disabled:o}=i,[l,r]=z(!1),s=t==="last"?"last":Number(t??1),d=s==="last"?e.monthlyLast:s===1?e.monthlyFirst:s===15?e.monthlyMid:e.dayOfMonth.replace("{n}",String(s)),u=s==="last"?"last":s===1?"first":s===15?"mid":"custom";j(()=>{o===!0&&l&&r(!1)},[o,l]);let c=[{id:"first",label:e.monthlyFirst},{id:"mid",label:e.monthlyMid},{id:"last",label:e.monthlyLast},{id:"custom",label:e.monthlyCustom,submenu:Array.from({length:31},(v,w)=>({id:`monthly-day-${w+1}`,label:e.dayOfMonth.replace("{n}",String(w+1))}))}],x=v=>{if(v==="first"){n(1),r(!1);return}if(v==="mid"){n(15),r(!1);return}if(v==="last"){n("last"),r(!1);return}v.startsWith("monthly-day-")&&(n(Number(v.slice(12))),r(!1))};return a(wa,{open:l,className:"capital-automation-monthpick",anchor:a("button",{type:"button",className:"capital-automation-select capital-automation-triggerpick",disabled:o,"aria-label":`${e.monthlyField}\uFF1A${d}`,"aria-haspopup":"menu","aria-expanded":l?"true":"false",title:`${e.monthlyField}\uFF1A${d}`,onClick:()=>r(v=>!v)},a("span",{className:"capital-automation-selectvalue"},d),a(Ma,{size:14})),items:c,selectedId:u,onSelect:x,onClose:()=>r(!1),align:"start",portal:!1})}function At(i){let{trigger:t,onChange:n,disabled:o,meta:l,errorFor:r,touch:s}=i,d=f=>n(ca({...t,...f})),u=f=>n(ke(f,t)),c=f=>typeof r=="function"?r(f):void 0,x=f=>{typeof s=="function"&&s(f)},v=c("time"),w=c("timezone"),b=c("weekdays"),g=c("date"),N=[v,w,b,g].filter(f=>typeof f=="string"&&f.length>0),h=Object.entries(e.cadence).map(([f,k])=>({value:f,label:k}));return a("div",{className:"capital-automation-triggerbox","data-cadence":t.cadence,"data-invalid":N.length>0?"true":void 0},a("div",{className:"capital-automation-triggerhead"},a("div",{className:"capital-automation-triggerfield"},a("span",{className:"capital-automation-triggerlabel"},e.cadenceField),a(ua,{value:t.cadence,options:h,onChange:u,disabled:o,label:e.cadenceField}),a("div",{className:"capital-automation-triggerdetail","data-cadence":t.cadence},t.cadence==="weekly"?a("div",{className:"capital-automation-triggerfield"},a("span",{className:"capital-automation-triggerlabel"},e.weekdayField),a(Ge,{value:t.weekdays??[],onChange:f=>d({weekdays:f}),disabled:o})):t.cadence==="monthly"?a("div",{className:"capital-automation-triggerfield"},a("span",{className:"capital-automation-triggerlabel"},e.dayField),a(Ve,{value:t.dayOfMonth??1,onChange:f=>d({dayOfMonth:f}),disabled:o})):t.cadence==="once"?a("div",{className:"capital-automation-triggerfield"},a("span",{className:"capital-automation-triggerlabel"},e.dayField),a("input",{type:"date",className:"capital-automation-triggerdate",value:t.date??"",disabled:o,title:e.onceHint,"aria-label":e.dayField,"aria-invalid":g?"true":void 0,"data-invalid":g?"true":void 0,onChange:f=>d({date:f.target.value}),onBlur:()=>x("date")})):null)),a("div",{className:"capital-automation-triggerfield"},a("span",{className:"capital-automation-triggerlabel"},e.timeField),a("input",{type:"time",className:"capital-automation-triggertime",value:t.time,disabled:o,"aria-label":e.timeField,"aria-invalid":v?"true":void 0,"data-invalid":v?"true":void 0,onChange:f=>d({time:f.target.value}),onBlur:()=>x("time")}))),a("div",{className:"capital-automation-triggersettings"},a("span",{className:"capital-automation-triggerzone"},a("span",{className:"capital-automation-triggerlabel"},e.timezoneField),a(ua,{value:t.timezone,options:fe(t.timezone),onChange:f=>d({timezone:f}),disabled:o,label:e.timezoneField,size:"sm",align:"end"})),a("label",{className:"capital-automation-triggerswitch"},a(st,{checked:t.tradingDaysOnly===!0,onChange:f=>d({tradingDaysOnly:f}),label:e.tradingDaysField,disabled:o}),a("span",null,e.tradingDaysField))),N.length>0?a("div",{className:"capital-automation-triggererrors"},N.map(f=>a("span",{key:f,className:"capital-automation-fielderror",role:"alert"},f))):null,l?.calendar?.available===!1?a("p",{className:"capital-automation-hint"},e.nextRunUnavailable):null)}function aa(i){let{label:t,hint:n,checked:o,onChange:l,disabled:r}=i;return a("div",{className:"capital-automation-switchrow"},a("div",null,a("span",null,t),n?a("small",null,n):null),a(st,{checked:o===!0,onChange:l,label:t,disabled:r}))}function It(i){let{label:t,note:n,error:o}=i,l=typeof o=="string"&&o.length>0;return a("span",{className:"capital-automation-fieldhead"},a("span",{className:"capital-automation-fieldlabel"},t),l?a("span",{className:"capital-automation-fielderror",role:"alert"},o):n?a("span",{className:"capital-automation-fieldhint"},n):null)}function Da(i){let{value:t,onChange:n,onBlur:o,placeholder:l,disabled:r,ariaLabel:s,invalid:d,className:u,maxLength:c}=i,x=q(null),v=typeof c=="number"?c:void 0;j(()=>{let g=x.current;if(g==null)return;let N=t??"";document.activeElement!==g&&g.innerText!==N&&(g.innerText=N)},[t]);let w=g=>(g.innerText??"").replace(/\r\n?/g,`
|
|
405
|
+
`),b=g=>{let N=w(g);if(v!==void 0&&Array.from(N).length>v){N=Array.from(N).slice(0,v).join(""),g.innerText=N;let h=document.createRange();h.selectNodeContents(g),h.collapse(!1);let f=window.getSelection();f?.removeAllRanges(),f?.addRange(h)}N.length===0&&g.innerHTML!==""&&(g.innerHTML=""),n(N)};return a("div",{ref:x,className:u,contentEditable:r===!0?"false":"true",role:"textbox","aria-multiline":"true","aria-label":s,"aria-invalid":d?"true":void 0,"data-placeholder":l,spellCheck:!1,suppressContentEditableWarning:!0,onInput:g=>b(g.currentTarget),onBlur:g=>{b(g.currentTarget),typeof o=="function"&&o()},onPaste:g=>{let N=g.clipboardData?.getData("text/plain");if(typeof N!="string")return;g.preventDefault();let h=window.getSelection();if(h===null||h.rangeCount===0)return;h.deleteFromDocument();let f=h.getRangeAt(0),k=document.createTextNode(N);f.insertNode(k),f.setStartAfter(k),f.collapse(!0),h.removeAllRanges(),h.addRange(f),b(g.currentTarget)}})}function ra(i){let{label:t,hint:n,note:o,error:l,children:r}=i,s=typeof l=="string"&&l.length>0;return a("label",{className:"capital-automation-field","data-invalid":s?"true":void 0},a(It,{label:t,note:o,error:l}),r,n?a("span",{className:"capital-automation-hint"},n):null)}function ua(i){let{value:t,options:n,onChange:o,disabled:l,label:r,block:s,size:d,align:u="start",title:c}=i,[x,v]=z(!1),w=q(null),b=n.map(F=>({id:String(F.value),label:F.label,disabled:F.disabled===!0})),g=String(t??""),N=b.find(F=>F.id===g)??b[0];j(()=>{l===!0&&x&&v(!1)},[l,x]);let h=()=>v(!1),f=F=>{v(!1),w.current?.focus?.({preventScroll:!0}),F!==g&&o(F)},k=a("button",{ref:w,type:"button",className:"capital-automation-select","data-block":s===!0?"true":void 0,"data-size":d,disabled:l,"aria-label":N?.label?`${r}\uFF1A${N.label}`:r,"aria-haspopup":"menu","aria-expanded":x?"true":"false",title:c??N?.label,onClick:()=>v(F=>!F)},a("span",{className:"capital-automation-selectvalue",title:c??N?.label},N?.label??""),a(Ma,{size:d==="sm"?12:14}));return a(wa,{open:x,anchor:k,items:b,selectedId:g,onSelect:f,onClose:h,align:u,portal:!0})}function nt(i){let{label:t,hint:n,note:o,error:l,ariaLabel:r,block:s=!0,title:d,...u}=i,c=typeof l=="string"&&l.length>0;return a("div",{className:"capital-automation-field",title:d,"data-invalid":c?"true":void 0},a(It,{label:t,note:o,error:l}),a(ua,{...u,label:r??t,block:s,title:d}),n?a("span",{className:"capital-automation-hint"},n):null)}function Z(i){let{label:t,value:n,min:o,max:l,disabled:r,onChange:s,error:d,onBlur:u}=i;return a(ra,{label:t,error:d},a("input",{type:"number",min:o,max:l,value:n,disabled:r,"aria-invalid":d?"true":void 0,onChange:c=>s(Number(c.target.value)),onBlur:u}))}function We(i){let{value:t,counts:n,onChange:o}=i,l=[["all",e.runFilterAll],["active",e.runFilterActive],["succeeded",e.runFilterSucceeded],["failed",e.runFilterFailed]];return a("div",{className:"capital-automation-filters",role:"group","aria-label":e.runFilterLabel},l.map(([r,s])=>a(Rt,{key:r,label:s,count:n[r],active:t===r,onClick:()=>o(r)})))}function Ke(i){let{runs:t,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:r,onGoTasks:s,onNewTask:d,busy:u}=i,[c,x]=z("all"),v={all:t.length,active:t.filter(b=>L(b)).length,succeeded:t.filter(b=>b.status==="succeeded").length,failed:t.filter(b=>ta(b.status)).length},w=t.filter(b=>c==="active"?L(b):c==="succeeded"?b.status==="succeeded":c==="failed"?ta(b.status):!0);return a("div",null,a(Ct,{runs:t,showLink:!1}),a("section",{className:"capital-automation-section"},a("div",{className:"capital-automation-sectionhead"},a("h2",null,e.runsTitle),a("span",null,e.runsHint),a("div",{className:"capital-automation-sectiontools"},a(We,{value:c,counts:v,onChange:x}))),t.length===0?a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(Ba,{size:19})),a("h3",null,e.runsEmptyTitle),a("p",null,e.runsEmptyBody),a("div",{style:{display:"flex",gap:8,marginTop:8}},a("button",{type:"button",className:"capital-automation-btn",onClick:s},e.runsEmptyAction),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",onClick:d},e.newTask))):w.length===0?a(Ia,{title:e.emptyFiltered,body:e.filterNoRuns,action:()=>x("all"),actionLabel:e.clearFilter}):a("section",{className:"capital-automation-card capital-automation-panel"},a(Ga,{runs:w,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:r,busy:u}),t.length>=200?a("p",{className:"capital-automation-hint",style:{paddingTop:10}},e.runsLimitHint.replace("{n}","200")):null)))}function Ye(i){let{detail:t,meta:n,onGoRuns:o,onCancelRun:l,onOpenSession:r}=i,s=t.runs[0],d=wt(t.task),u=me(s,t.task.trigger.timezone),c=t.runs.some(g=>L(g)),x=c?e.status.running:ut(t.task.state),v=t.task.origin==="builtin"?e.origin.builtin:e.origin.custom,w=`${pe(t.task.trigger)}${t.task.trigger.tradingDaysOnly===!0?` \xB7 ${e.tradingDaysField}`:""}`,b=t.task.trigger.cadence==="once"?e.triggerHintOnce:t.task.trigger.tradingDaysOnly===!0?e.triggerHint:e.triggerHintNatural;return a("div",{className:"capital-automation-overview"},a("div",{className:"capital-automation-statgrid"},a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.stateLabel),a("span",{className:"capital-automation-statvalue","data-tone":c?"running":void 0},x),a("span",{className:"capital-automation-statsub"},v)),a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.nextRun),a("span",{className:"capital-automation-statvalue"},d.value),a("span",{className:"capital-automation-statsub"},d.sub)),a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.lastResult),a("span",{className:"capital-automation-statvalue","data-tone":u.tone},u.value),a("span",{className:"capital-automation-statsub"},u.sub)),a("div",{className:"capital-automation-stat",title:b},a("span",{className:"capital-automation-statlabel"},e.triggerSummary),a("span",{className:"capital-automation-statvalue"},w),a("span",{className:"capital-automation-statsub"},`${t.task.trigger.time} \xB7 ${t.task.trigger.timezone}`))),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.detailRecentRuns.replace("{n}",String(et))),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"ghost",onClick:o},e.detailAllRuns,a(La,{size:13}))),a(Ga,{runs:t.runs.slice(0,et),tasks:[t.task],onCancel:l,onOpenSession:r,compact:!0})),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.environment)),a("div",{className:"capital-automation-kv"},a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.presetLabel),a("span",{className:"capital-automation-kvvalue"},e.presetValue)),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.workspaceField),a("span",{className:"capital-automation-kvvalue"},ge(n,t.task.workspaceId))),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.categoryField),a("span",{className:"capital-automation-kvvalue"},sa(t.task.category)))),a("section",{className:"capital-automation-technical"},a("h4",{className:"capital-automation-technicaltitle"},e.techInfo),a("dl",null,a("dt",null,e.profileKey),a("dd",{title:"profileKey \u662F profile \u540D\u79F0\u7684\u7A33\u5B9A\u54C8\u5E0C\uFF1B\u4E0E session \u6807\u9898\u91CC\u7684 run id \u65E0\u5173\u3002"},n?.profile?.key??"\u2014"),a("dt",null,e.presetLabel),a("dd",null,e.presetValue),a("dt",null,e.policyField),a("dd",null,n?.execution?.policy??"automation-v1"),a("dt",null,e.cwdKind),a("dd",{title:"\u5F53\u524D\u56FA\u5B9A\u4E3A profile\uFF08\u4E13\u5C5E\u81EA\u52A8\u5316\u5DE5\u4F5C\u533A\uFF09\uFF1B\u6CA1\u6709 storage \u7B49\u5176\u4ED6\u6765\u6E90\u3002"},n?.execution?.cwdKind??"profile"),a("dt",null,"profile \u540D\u79F0"),a("dd",null,n?.profile?.name??"\u2014"),a("dt",null,e.calendarField),a("dd",null,ce(n?.calendar))))))}function Ze(i){let{draft:t,setDraft:n,meta:o,busy:l,dirty:r,save:s,reset:d,disabled:u}=i,c=t,{issues:x,errorFor:v,touch:w,touchAll:b,clear:g}=Tt(c,c.id),N=q(null),h=v("title"),f=v("instruction"),k=C=>n(A=>({...A,...typeof C=="function"?C(A):C})),F=()=>{if(Object.keys(x).length>0){b(),setTimeout(()=>{N.current?.querySelector('[data-invalid="true"] input, [data-invalid="true"] .capital-automation-texteditor')?.focus?.()},0);return}s()},O=Y(o,"runTimeoutMinutes",[5,120]),D=Y(o,"idleTimeoutMinutes",[1,30]),E=Y(o,"maxSteps",[10,2e3]),B=Y(o,"maxToolCalls",[10,6e3]),y=a(ra,{label:e.instructionField,error:f},a(Da,{className:"capital-automation-texteditor",value:c.instruction,disabled:l||u,placeholder:e.instructionPlaceholder,ariaLabel:e.instructionField,invalid:f?!0:void 0,onChange:C=>k({instruction:C}),onBlur:()=>w("instruction")})),p=a("div",{className:"capital-automation-instructionside"},a(nt,{label:e.workspaceField,value:c.workspaceId??"",options:ja(o,c.workspaceId).map(C=>({value:C.id,label:C.title})),disabled:l||u,onChange:C=>k({workspaceId:C})}),o?.workspaceError?a("p",{className:"capital-automation-hint","data-tone":"error"},e.workspaceUnavailable):null,a("div",null,a("span",{className:"capital-automation-formlabel"},e.triggerField),a(At,{trigger:c.trigger,disabled:l||u,onChange:C=>k({trigger:C}),meta:o,errorFor:v,touch:w}))),_=a("details",{className:"capital-automation-advanced"},a("summary",null,e.advanced),a("div",{className:"capital-automation-advancedbody"},a("div",{className:"capital-automation-formgrid"},a(Z,{label:e.runTimeout,value:c.limits.runTimeoutMinutes,min:O[0],max:O[1],disabled:l||u,error:v("runTimeoutMinutes"),onBlur:()=>w("runTimeoutMinutes"),onChange:C=>k(A=>({limits:{...A.limits,runTimeoutMinutes:C}}))}),a(Z,{label:e.idleTimeout,value:c.limits.idleTimeoutMinutes,min:D[0],max:D[1],disabled:l||u,error:v("idleTimeoutMinutes"),onBlur:()=>w("idleTimeoutMinutes"),onChange:C=>k(A=>({limits:{...A.limits,idleTimeoutMinutes:C}}))}),a(Z,{label:e.maxSteps,value:c.limits.maxSteps,min:E[0],max:E[1],disabled:l||u,error:v("maxSteps"),onBlur:()=>w("maxSteps"),onChange:C=>k(A=>({limits:{...A.limits,maxSteps:C}}))}),a(Z,{label:e.maxToolCalls,value:c.limits.maxToolCalls,min:B[0],max:B[1],disabled:l||u,error:v("maxToolCalls"),onBlur:()=>w("maxToolCalls"),onChange:C=>k(A=>({limits:{...A.limits,maxToolCalls:C}}))})),a("p",{className:"capital-automation-hint"},e.budgetHint))),G=a("div",null,a("span",{className:"capital-automation-formlabel"},e.notifyField),a("div",{className:"capital-automation-switchlist"},a(aa,{label:e.notifyInApp,checked:c.notifications.inApp,disabled:l||u,onChange:C=>k(A=>({notifications:{...A.notifications,inApp:C}}))}),a(aa,{label:e.notifyFailure,checked:c.notifications.onFailure,disabled:l||u,onChange:C=>k(A=>({notifications:{...A.notifications,onFailure:C}}))}),a(aa,{label:e.notifySuccess,checked:c.notifications.onSuccess,disabled:l||u,onChange:C=>k(A=>({notifications:{...A.notifications,onSuccess:C}}))})),a("p",{className:"capital-automation-hint"},e.notifyHint));return a("div",{className:"capital-automation-form",ref:N},a("div",{className:"capital-automation-titlerow"},a(ra,{label:e.titleField,error:h,note:e.charCount.replace("{n}",String(Array.from(c.title??"").length)).replace("{max}",String(Aa))},a("input",{value:c.title,maxLength:Aa,disabled:l||u,"aria-invalid":h?"true":void 0,onChange:C=>k({title:C.target.value}),onBlur:()=>w("title")})),a(nt,{label:e.categoryField,title:c.origin==="builtin"?e.categoryFixed:void 0,value:c.category,options:Object.entries(e.category).map(([C,A])=>({value:C,label:A})),disabled:l||u||c.origin==="builtin",onChange:C=>k({category:C})})),a(ra,{label:e.descriptionField,note:e.charCount.replace("{n}",String(Array.from(c.description??"").length)).replace("{max}",String(va))},a(Da,{className:"capital-automation-texteditor capital-automation-descriptioninput",value:c.description??"",maxLength:va,disabled:l||u,placeholder:e.descriptionPlaceholder,ariaLabel:e.descriptionField,onChange:C=>k({description:C})})),a("div",{className:"capital-automation-instructionrow"},y,p),_,G,a("div",{className:"capital-automation-formactions","data-sticky":"true"},a("span",{className:"capital-automation-formstatus"},u?e.storageUnavailable:r?e.dirty:e.noDirty),a("button",{type:"button",className:"capital-automation-btn",disabled:l||!r,onClick:()=>{g(),d()}},e.cancel),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",disabled:l||!r||u,onClick:F},l==="save"?e.saving:e.save)))}function Qe(i){let{detail:t,busy:n,onMarkTaskRead:o}=i,l=t.notifications,r=l.filter(s=>s.readAt===void 0).length;return a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.detailTaskNotifications),r>0?a("button",{type:"button",className:"capital-automation-btn","data-size":"sm",disabled:n,onClick:o},e.markTaskRead):null),l.length===0?a("p",{className:"capital-automation-hint"},e.notificationsEmpty):a("div",null,l.map(s=>a(Ot,{key:s.id,item:s}))))}function Ot(i){let{item:t,onClick:n,onOpenTask:o}=i,l=typeof n=="function"&&t.taskId!==void 0;return a(l?"button":"div",{type:l?"button":void 0,className:"capital-automation-notification","data-clickable":l?"true":"false",onClick:l?n:void 0},a("span",{className:"capital-automation-notificationicon","data-tone":za(t.kind)},za(t.kind)==="error"?a(rt,{size:15}):za(t.kind)==="warn"?a(Yt,{size:15}):a(Ea,{size:15})),a("span",{className:"capital-automation-notificationbody"},a("span",{className:"capital-automation-notificationtitle"},t.title,t.readAt===void 0?a("span",{className:"capital-automation-count"},e.unread):null),a("span",{className:"capital-automation-notificationmessage"},Re(t)),a("span",{className:"capital-automation-notificationtime"},qa(t.createdAt))),o!==void 0&&t.taskId!==void 0?a("span",{className:"capital-automation-hint"},e.notificationOpenTask):null)}function Je(i){return a("div",{className:"capital-automation-detailbar"},a("button",{type:"button",className:"capital-automation-back",onClick:i.onBack},a(Ut,{size:14}),e.backToTasks))}function Xe(i){let{detail:t,meta:n,api:o,onChanged:l,openSession:r,tab:s,onTab:d,onRequestConfirm:u,onRequestCancelRun:c,schedulerActive:x,storageReady:v}=i,[w,b]=z(null),[g,N]=z(""),[h,f]=z(""),[k,F]=z(""),[O,D]=z(!1),E=q(null);if(j(()=>{b(t.task?{...t.task,trigger:ca(t.task.trigger),limits:{...t.task.limits},notifications:{...t.task.notifications}}:null)},[t]),j(()=>{let R=t.task?.id??null;E.current!==R&&(E.current=R,f(""),F(""))},[t]),w===null)return a("p",{className:"capital-automation-empty"},e.loading);let B=w,y=v!==!1,p=t.runs.some(R=>L(R)),_=t.runs.find(R=>L(R)),G=t.notifications.filter(R=>R.readAt===void 0).length,C=Se(w,t.task),A=y&&x===!0&&!p,J=R=>b(I=>({...I,...typeof R=="function"?R(I):R}));async function V(R,I,M){if(!g){N(R),F("");try{await I(),await l(t.task.id),f(M)}catch(K){F(K.message??e.errorGeneric)}finally{N("")}}}async function pa(){await V("save",async()=>{await o.patch(t.task.id,ya(B))},e.saved)}async function ea(){let R=t.task.state==="active"?"pause":"activate";await V(R,async()=>{await o.action(t.task.id,R)},R==="pause"?e.paused.replace("{title}",t.task.title):mt(t.task))}async function ia(){await V("run",async()=>{await o.run(t.task.id)},e.runSubmitted.replace("{title}",t.task.title))}async function X(){let R=t.notifications.filter(I=>I.readAt===void 0).map(I=>I.id);R.length!==0&&await V("read-notifications",async()=>{await o.markRead({ids:R})},e.markReadDone)}async function H(){await V("copy",async()=>{await o.action(t.task.id,"copy")},e.copied.replace("{title}",t.task.title))}let ma=p?a("button",{type:"button",className:"capital-automation-btn","data-variant":"danger",disabled:g||!y||_===void 0,onClick:()=>{_!==void 0&&c(_)}},e.cancelRun):a("button",{type:"button",className:"capital-automation-btn","data-variant":t.task.state==="active"?"primary":void 0,disabled:g||!A,title:x===!1?e.schedulerBlocked:p?e.runBlocked:void 0,onClick:()=>{ia()}},a(_a,{size:14}),e.runNow),W=()=>{b({...t.task,trigger:ca(t.task.trigger),limits:{...t.task.limits},notifications:{...t.task.notifications}}),F(""),f("")};return a("div",null,a("div",{className:"capital-automation-hero"},a(da,{task:B,large:!0}),a("div",{className:"capital-automation-herobody"},a("div",{className:"capital-automation-herotitle"},a("h2",null,t.task.title),a(ft,{state:t.task.state,running:p}),G>0?a("span",{className:"capital-automation-count",title:e.unread},String(G)):null),a("p",{className:"capital-automation-herodesc"},t.task.description||e.subtitle)),a("div",{className:"capital-automation-heroactions"},ma,p?null:a("button",{type:"button",className:"capital-automation-btn","data-variant":t.task.state==="active"?void 0:"primary",disabled:g||!y,onClick:()=>{ea()}},a(pt(t.task),{size:14}),dt(t.task)),a(St,{task:t.task,open:O,onToggle:()=>D(R=>!R),onClose:()=>D(!1),onEdit:()=>{D(!1),d("config")},onAction:(R,I)=>{I==="run"?ia():I==="copy"?H():(I==="activate"||I==="pause")&&ea()},onRequestConfirm:(R,I)=>{D(!1),u(R,I)},canRun:A,running:p,busy:g.length>0,disabled:!y,align:"end"}))),a("div",{className:"capital-automation-detailtabs",role:"tablist","aria-label":e.details},[["overview",e.overview],["config",e.config],["runs",e.runs],["notifications",e.notifications]].map(([R,I])=>a("button",{key:R,type:"button",role:"tab",className:"capital-automation-detailtab","aria-selected":s===R?"true":"false",onClick:()=>d(R)},I))),h.length>0||k.length>0?a("div",{style:{paddingTop:12}},h.length>0?a("p",{className:"capital-automation-notice",role:"status"},h):null,k.length>0?a("p",{className:"capital-automation-error",role:"alert"},k):null):null,p?a("p",{className:"capital-automation-hint",style:{paddingTop:10}},e.configWhileRunning):null,a("div",{className:"capital-automation-detailbody"},s==="overview"?a(Ye,{detail:t,meta:n,onGoRuns:()=>d("runs"),onCancelRun:c,onOpenSession:r}):null,s==="config"?a(Ze,{draft:w,setDraft:b,meta:n,busy:g,dirty:C,save:pa,reset:W,disabled:!y}):null,s==="runs"?a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.runs),a("span",{className:"capital-automation-hint"},e.taskRunsLimit)),a(Ga,{runs:t.runs,tasks:[t.task],onCancel:R=>c(R),onOpenSession:r,busy:g.length>0})):null,s==="notifications"?a(Qe,{detail:t,busy:g.length>0,onMarkTaskRead:()=>{X()}}):null))}function ai(i){let{open:t,onClose:n,api:o,onCreated:l,meta:r}=i,[s,d]=z(it),[u,c]=z(!1),[x,v]=z(""),{issues:w,errorFor:b,touch:g,touchAll:N}=Tt(s,t),h=b("title"),f=b("instruction");j(()=>{t&&(d(it()),c(!1),v(""))},[t]);let k=y=>d(p=>({...p,...typeof y=="function"?y(p):y})),F=Y(r,"runTimeoutMinutes",[5,120]),O=Y(r,"idleTimeoutMinutes",[1,30]),D=Y(r,"maxSteps",[10,2e3]),E=Y(r,"maxToolCalls",[10,6e3]);async function B(){if(Object.keys(w).length>0){N();return}c(!0),v("");try{let y=await o.create(ya(s));l(y?.task?.id??null)}catch(y){v(y.message??e.errorGeneric)}finally{c(!1)}}return t?a(Pa,{open:t,onClose:()=>{u||n()},title:e.newTaskTitle,closeLabel:e.close,className:"capital-automation-modal capital-automation-modal-wizard",contentClassName:"capital-automation-modal-content",footer:a("div",{className:"capital-automation-formactions",style:{borderTop:0,paddingTop:0}},a("button",{type:"button",className:"capital-automation-btn",disabled:u,onClick:n},e.cancel),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",disabled:u||r?.storage?.state==="unavailable",onClick:B},u?e.creating:e.create))},a("div",{className:"capital-automation-wizard"},a("div",{className:"capital-automation-modalheadline","data-invalid":h?"true":void 0},a(da,{task:s,size:42}),a("input",{className:"capital-automation-modaltitleinput",value:s.title,maxLength:Aa,placeholder:e.titlePlaceholder,"aria-label":e.titleField,"aria-invalid":h?"true":void 0,onChange:y=>k({title:y.target.value}),onBlur:()=>g("title")})),h?a("span",{className:"capital-automation-fielderror",role:"alert"},h):null,a("p",{className:"capital-automation-hint"},e.newTaskHint),a(ra,{label:e.descriptionField,note:e.charCount.replace("{n}",String(Array.from(s.description??"").length)).replace("{max}",String(va))},a("input",{value:s.description,maxLength:va,placeholder:e.descriptionPlaceholder,onChange:y=>k({description:y.target.value})})),a("div",null,a("span",{className:"capital-automation-formlabel"},e.triggerField),a(At,{trigger:s.trigger,onChange:y=>k({trigger:y}),meta:r,errorFor:b,touch:g})),a("div",null,a("span",{className:"capital-automation-formlabel"},e.instructionField),a("div",{className:"capital-automation-promptfield","data-invalid":f?"true":void 0},a("div",{className:"capital-automation-promptbox"},a(Da,{className:"capital-automation-texteditor",value:s.instruction,placeholder:e.instructionPlaceholder,ariaLabel:e.instructionField,invalid:f?!0:void 0,onChange:y=>k({instruction:y}),onBlur:()=>g("instruction")}),a("div",{className:"capital-automation-prompttoolbar"},a("div",{className:"capital-automation-toolbarfield"},a(Vt,{size:13}),a("span",null,e.workspaceField),a(ua,{value:s.workspaceId??"",options:ja(r,s.workspaceId).map(y=>({value:y.id,label:y.title})),onChange:y=>k({workspaceId:y}),label:e.workspaceField,size:"sm",align:"end"})),a("div",{className:"capital-automation-toolbarfield"},a("span",null,e.categoryField),a(ua,{value:s.category,options:Object.entries(e.category).map(([y,p])=>({value:y,label:p})),onChange:y=>k({category:y}),label:e.categoryField,size:"sm",align:"end"})),a("span",{className:"capital-automation-presetchip",title:e.presetHint},a(lt,{size:12}),e.presetValue))),f?a("span",{className:"capital-automation-fielderror",role:"alert"},f):null)),r?.workspaceError?a("p",{className:"capital-automation-hint","data-tone":"error"},e.workspaceUnavailable):null,a("details",{className:"capital-automation-advanced"},a("summary",null,e.advanced),a("div",{className:"capital-automation-advancedbody"},a("div",{className:"capital-automation-formgrid"},a(Z,{label:e.runTimeout,value:s.limits.runTimeoutMinutes,min:F[0],max:F[1],error:b("runTimeoutMinutes"),onBlur:()=>g("runTimeoutMinutes"),onChange:y=>k(p=>({limits:{...p.limits,runTimeoutMinutes:y}}))}),a(Z,{label:e.idleTimeout,value:s.limits.idleTimeoutMinutes,min:O[0],max:O[1],error:b("idleTimeoutMinutes"),onBlur:()=>g("idleTimeoutMinutes"),onChange:y=>k(p=>({limits:{...p.limits,idleTimeoutMinutes:y}}))}),a(Z,{label:e.maxSteps,value:s.limits.maxSteps,min:D[0],max:D[1],error:b("maxSteps"),onBlur:()=>g("maxSteps"),onChange:y=>k(p=>({limits:{...p.limits,maxSteps:y}}))}),a(Z,{label:e.maxToolCalls,value:s.limits.maxToolCalls,min:E[0],max:E[1],error:b("maxToolCalls"),onBlur:()=>g("maxToolCalls"),onChange:y=>k(p=>({limits:{...p.limits,maxToolCalls:y}}))})),a("p",{className:"capital-automation-hint"},e.advancedHint))),a("div",null,a("span",{className:"capital-automation-formlabel"},e.notifyField),a("div",{className:"capital-automation-switchlist"},a(aa,{label:e.notifyInApp,checked:s.notifications.inApp,onChange:y=>k(p=>({notifications:{...p.notifications,inApp:y}}))}),a(aa,{label:e.notifyFailure,checked:s.notifications.onFailure,onChange:y=>k(p=>({notifications:{...p.notifications,onFailure:y}}))}),a(aa,{label:e.notifySuccess,checked:s.notifications.onSuccess,onChange:y=>k(p=>({notifications:{...p.notifications,onSuccess:y}}))})),a("p",{className:"capital-automation-hint"},e.notifyHint)),x.length>0?a("p",{className:"capital-automation-error",role:"alert"},x):null)):null}function ti(i){let{confirm:t,busy:n,error:o,onCancel:l,onConfirm:r}=i,s=t!==null,d=t?.kind==="cancel-run",u=t?.kind==="delete",c=d?e.cancelRunConfirmTitle:u?e.confirmDeleteTitle:e.confirmHibernateTitle,x=d?e.cancelRunConfirmBody:u?e.confirmDeleteBody:e.confirmHibernateBody,v=d?e.cancelRunConfirm:u?e.confirmDelete:e.confirmHibernate;return a(Pa,{open:s,onClose:()=>{n||l()},title:c,closeLabel:e.close,className:"capital-automation-modal capital-automation-modal-narrow",footer:a("div",{className:"capital-automation-formactions",style:{borderTop:0,paddingTop:0}},a("button",{type:"button",className:"capital-automation-btn",disabled:n,onClick:l},e.cancel),a("button",{type:"button",className:"capital-automation-btn","data-variant":"danger",disabled:n,onClick:r},n?e.processing:v))},a("div",null,a("p",{className:"capital-automation-policy"},x),o.length>0?a("p",{className:"capital-automation-error",role:"alert",style:{marginTop:8}},o):null))}function ei(i){let{open:t,onClose:n,notifications:o,onMarkAllRead:l,onOpenTask:r,busy:s}=i,d=o.filter(u=>u.readAt===void 0).length;return a(Pa,{open:t,onClose:n,title:e.notificationsTitle,closeLabel:e.close,className:"capital-automation-modal",contentClassName:"capital-automation-modal-content",footer:a("div",{className:"capital-automation-formactions",style:{borderTop:0,paddingTop:0}},a("span",{className:"capital-automation-formstatus"},d>0?e.notificationsUnread.replace("{n}",String(d)):o.length>0?e.allRead:e.notificationsEmpty),a("button",{type:"button",className:"capital-automation-btn",disabled:s||d===0,onClick:l},e.markRead),a("button",{type:"button",className:"capital-automation-btn","data-variant":"primary",onClick:n},e.close))},o.length===0?a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(Ea,{size:19})),a("h3",null,e.notificationsEmpty),a("p",null,e.notificationsHint)):a("div",null,a("p",{className:"capital-automation-hint",style:{marginBottom:4}},e.notificationsHint),o.map(u=>a(Ot,{key:u.id,item:u,onOpenTask:r,onClick:u.taskId===void 0?void 0:()=>r(u.taskId)}))))}function ii(i){let{api:t,openSession:n}=i,[o,l]=z(null),[r,s]=z([]),[d,u]=z([]),[c,x]=z([]),[v,w]=z(0),[b,g]=z(null),[N,h]=z(null),[f,k]=z("tasks"),[F,O]=z("overview"),[D,E]=z(!1),[B,y]=z(!1),[p,_]=z(null),[G,C]=z(!1),[A,J]=z(""),[V,pa]=z(null),[ea,ia]=z(!1),[X,H]=z(""),[ma,W]=z(""),R=q(!1),I=q([]),M=q(null),K=q(null),na=q(0),P=q(0),Va=q(null);j(()=>{if(X.length===0)return;let m=setTimeout(()=>H(""),3200);return()=>clearTimeout(m)},[X]);async function U(){if(K.current!==null)return K.current;let m=na.current+1;na.current=m;let T=(async()=>{try{let[$,Qa,Ja,fa]=await Promise.all([t.meta(),t.tasks(),t.runs("?limit=200"),t.notifications()]);if(!R.current||m!==na.current)return;let Ca=Array.isArray(Qa.tasks)?Qa.tasks:[];l($),I.current=Ca,s(Ca),u(Array.isArray(Ja.runs)?Ja.runs:[]),x(Array.isArray(fa.notifications)?fa.notifications:[]),w(typeof fa.unread=="number"?fa.unread:0),W("");let ba=M.current,ha=ba!==null&&Ca.some(Pt=>Pt.id===ba)?ba:null;ha!==ba&&(M.current=ha,P.current+=1,h(null),g(ha),ha===null&&O("overview"))}catch($){R.current&&m===na.current&&W($.message??e.errorGeneric)}})();K.current=T;try{await T}finally{K.current===T&&(K.current=null)}}async function ga(m){let T=P.current+1;P.current=T;try{let $=await t.detail(m);if(!R.current||T!==P.current||M.current!==m)return;h($)}catch($){R.current&&T===P.current&&M.current===m&&W($.message??e.errorGeneric)}}function Na(){let m=Va.current;m!==null&&typeof m.scrollTo=="function"&&m.scrollTo({top:0,behavior:"auto"})}function Q(m,T="overview"){M.current=m,P.current+=1,O(T),h(null),g(m),k("tasks"),Na()}function Dt(){M.current=null,P.current+=1,h(null),g(null),O("overview"),Na()}function Ta(m){m===f&&m==="tasks"&&M.current!==null||(m==="runs"&&M.current!==null&&(M.current=null,P.current+=1,h(null),g(null)),k(m),Na())}function oa(m,T,$){J(""),_({kind:m,task:T,run:$})}async function Wa(m,T){if(V===null){pa(m.id),W("");try{if(T==="run")await t.run(m.id),H(e.runSubmitted.replace("{title}",m.title));else if(T==="copy"){let $=await t.action(m.id,"copy");if(H(e.copied.replace("{title}",m.title)),$?.task?.id){await U(),Q($.task.id,"config");return}}else await t.action(m.id,T),H(T==="pause"?e.paused.replace("{title}",m.title):mt(m));await U(),M.current===m.id&&await ga(m.id)}catch($){W($.message??e.errorGeneric)}finally{pa(null)}}}async function Et(m){await Wa(m,"activate")}async function $t(){if(p===null||G)return;let{kind:m,task:T}=p;C(!0),J("");try{m==="cancel-run"?(await t.cancel(p.run.id),H(e.runCanceled)):m==="delete"?(await t.remove(T.id),H(e.deleted.replace("{title}",T.title))):(await t.action(T.id,"hibernate"),H(e.hibernated.replace("{title}",T.title))),_(null),J(""),await U(),M.current===T.id&&await ga(T.id)}catch($){J($.message??e.errorGeneric)}finally{C(!1)}}async function Mt(){if(!ea){ia(!0);try{await t.markRead({all:!0}),H(e.markReadDone),await U()}catch(m){W(m.message??e.errorGeneric)}finally{ia(!1)}}}async function Lt(m){if(y(!1),I.current.some(T=>T.id===m)){Q(m);return}await U(),I.current.some(T=>T.id===m)&&Q(m)}j(()=>{R.current=!0,U();let m=setInterval(()=>{document.visibilityState!=="hidden"&&U()},15e3),T=()=>{document.visibilityState==="visible"&&U()};return document.addEventListener?.("visibilitychange",T),()=>{R.current=!1,na.current+=1,P.current+=1,K.current=null,clearInterval(m),document.removeEventListener?.("visibilitychange",T)}},[]),j(()=>{if(b===null){h(null),P.current+=1;return}return h(null),ga(b),()=>{P.current+=1}},[b]);let Ka=o?.scheduler?.state==="active",Ya=o?.storage?.state!=="unavailable",Bt=r.filter(m=>m.origin==="builtin"&&m.state==="dormant"),_t=r.find(m=>m.id===b),Ht=f==="tasks"&&b!==null,Za=o===null&&ma.length===0;return a("div",{className:"capital-automation-page"},Ht?null:a(Oe,{tab:f,onTab:Ta,onNewTask:()=>E(!0),unread:v,onOpenInbox:()=>y(!0)}),a(De,{meta:o,loadError:ma,onRetry:()=>{U()}}),a("div",{className:"capital-automation-scroll",ref:Va},a("div",{className:"capital-automation-container"},f==="tasks"?b!==null?a("div",null,a(Je,{onBack:Dt}),N===null?a("div",{className:"capital-automation-empty"},e.loading):a(Xe,{detail:N,meta:o,api:t,openSession:n,tab:F,onTab:O,onRequestConfirm:oa,onRequestCancelRun:m=>oa("cancel-run",_t??{id:m.taskId,title:m.taskTitle},m),schedulerActive:Ka,storageReady:Ya,onChanged:async m=>{await U();let T=m??M.current;T!==null&&M.current===T&&await ga(T)}})):Za?a(Ue):a(je,{tasks:r,templates:Bt,runs:d,onOpenTask:Q,onNewTask:()=>E(!0),onEnableTemplate:m=>{Et(m)},onAction:(m,T)=>{Wa(m,T)},onRequestConfirm:oa,onEdit:m=>Q(m,"config"),onGoRuns:()=>Ta("runs"),onRequestCancelRun:(m,T)=>oa("cancel-run",m,T),schedulerActive:Ka,storageReady:Ya,busyTaskId:V}):Za?a(qe):a(Ke,{runs:d,tasks:r,onCancel:m=>oa("cancel-run",{id:m.taskId,title:m.taskTitle},m),onOpenSession:n,onOpenTask:m=>{I.current.some(T=>T.id===m)&&Q(m)},onGoTasks:()=>Ta("tasks"),onNewTask:()=>E(!0),busy:G}))),a(ai,{open:D,onClose:()=>E(!1),api:t,meta:o,onCreated:async m=>{E(!1),H(e.created),await U(),m!==null&&I.current.some(T=>T.id===m)&&Q(m)}}),a(ei,{open:B,onClose:()=>y(!1),notifications:c,onMarkAllRead:()=>{Mt()},onOpenTask:m=>{Lt(m)},busy:ea}),a(ti,{confirm:p,busy:G,error:A,onCancel:()=>{G||(_(null),J(""))},onConfirm:()=>{$t()}}),X.length>0?a("div",{className:"capital-automation-toast",role:"status"},X):null)}function ni(){return a($a,{width:18,height:18})}function oi(i){let t=se(),n=o=>{try{i.get("uiWorkspace")?.openSession?.(o)}catch{}};i.effect(()=>re(),`${Fa}: styles`),i.slots.inject("main",()=>i.slots.register({name:"main",key:at,inject:()=>({api:t,openSession:n})},ii)),i.slots.inject("sidebar.panellist",()=>i.slots.register({name:"sidebar.panellist",id:at,order:11,label:()=>e.panel},ni)),i.logger?.info?.(`${Fa}: \u5BA2\u6237\u7AEF\u534A\u8FB9\u5DF2\u6302\u8F7D\uFF08\u9875\u9762 + \u4FA7\u680F\u5165\u53E3\uFF09`)}exports.name=Fa;exports.inject=["slots"];exports.apply=oi;
|
|
359
406
|
return module.exports
|
|
360
407
|
},
|
|
361
408
|
})
|