@v587d/capital-generation 2.13.1 → 2.13.2
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 +18 -0
- package/README.md +25 -26
- package/automation/client.js +28 -18
- package/automation/client.src.cjs +260 -136
- package/automation/package.json +1 -1
- 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:X,useRef:G,useState:T}=require("react"),{IconAlarmClockOutlineRegular:va,IconChecklistOutlineRegular:Fa,IconChevronLeftOutlineRegular:Ct,IconChevronRightOutlineRegular:$a,IconClockOutlineRegular:ya,IconCopyOutlineRegular:Rt,IconEditOutlineRegular:zt,IconEllipsisOutlineRegular:St,IconFolderOpenOutlineRegular:At,IconGaugeOutlineRegular:Ft,IconGlobeOutlineRegular:$t,IconInfoOutlineRegular:Ot,IconLightOutlineMedium:It,IconListPenOutlineRegular:Dt,IconPauseOutlineRegular:Et,IconPlayOutlineRegular:Za,IconPlusOutlineRegular:Ja,IconRefreshOutlineRegular:Mt,IconSearchOutlineRegular:Qa,IconSparkleRegular:Xa,IconTrashOutlineRegular:Lt,IconWarningOutlineRegular:at,Menu:_t,MenuItemButton:Va,Modal:Oa,Switch:tt}=require("@deepseek-ai/dsh-client-ui-primitives"),za="capital-automation",Ht="/capital-automation",Ka="capital-automation",Ya="capital-automation-css",Bt=["queued","starting","running"],qt=["failed","timed_out","blocked_requires_user","unknown_after_restart"],Ut={runTimeoutMinutes:30,idleTimeoutMinutes:5,maxSteps:300,maxToolCalls:1200},Ia=[{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"}],Pt=["Asia/Shanghai","Asia/Hong_Kong","Asia/Singapore","Asia/Tokyo","UTC","Europe/London","America/New_York","America/Los_Angeles"],ba=30,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\uFF0C\u4E0D\u6539\u53D8 Agent preset\uFF1B\u6240\u6709\u8FD0\u884C\u56FA\u5B9A\u4F7F\u7528 Capital \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",lastResult:"\u4E0A\u6B21\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:"Agent preset",presetValue:"capital-generation\uFF08\u81EA\u52A8\u6A21\u5F0F\uFF09",policy:"\u6267\u884C\u7B56\u7565",policyText:"\u56FA\u5B9A preset\uFF1Acapital-generation\uFF08Capital \u81EA\u52A8\u6A21\u5F0F\uFF09\u3002\u5DE5\u4F5C\u533A\u6765\u81EA\u5DF2\u6CE8\u518C\u5217\u8868\uFF1B\u672A\u9009\u62E9\u65F6\u4F7F\u7528\u4E13\u5C5E\u81EA\u52A8\u5316\u5DE5\u4F5C\u533A\u3002\u65E0\u4EBA\u503C\u5B88\u8FD0\u884C\u7981\u6B62\u63D0\u95EE\u3001\u5199\u6587\u4EF6\u4E0E shell \u63D0\u6743\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",version:"\u7248\u672C",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\u8FD0\u884C",detailNoRuns:"\u8FD8\u6CA1\u6709\u8FD0\u884C\u8BB0\u5F55\u3002",detailAllRuns:"\u67E5\u770B\u8FD0\u884C\u9875",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 jt(){if(typeof document>"u"||document.querySelector(`style[data-${Ya}]`))return()=>{};let i=document.createElement("style");return i.setAttribute(`data-${Ya}`,"true"),i.textContent=`
|
|
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=`
|
|
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(${ha}, 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); }
|
|
@@ -175,8 +175,6 @@ window.__ModuleLoader__.load({
|
|
|
175
175
|
.capital-automation-herotitle { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
|
|
176
176
|
.capital-automation-herotitle h2 { margin: 0; font-size: 22px; line-height: 30px; font-weight: 600; letter-spacing: .1px; overflow-wrap: anywhere; }
|
|
177
177
|
.capital-automation-herodesc { max-width: 760px; margin: 5px 0 0; color: var(--ca-muted); font-size: 12.5px; line-height: 19px; }
|
|
178
|
-
.capital-automation-herometa { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 14px; margin-top: 10px; color: var(--ca-muted); font-size: 11.5px; line-height: 18px; }
|
|
179
|
-
.capital-automation-herometa > span { display: inline-flex; align-items: center; gap: 5px; }
|
|
180
178
|
.capital-automation-heroactions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; flex: none; padding-top: 2px; }
|
|
181
179
|
.capital-automation-detailtabs { display: flex; align-items: center; gap: 26px; overflow-x: auto; overflow-y: hidden; border-bottom: .5px solid var(--ca-line); }
|
|
182
180
|
.capital-automation-detailtab { position: relative; flex: none; height: 42px; padding: 0 1px; border: 0; background: transparent; color: var(--ca-muted); font: inherit; font-size: 12.5px; font-weight: 500; cursor: pointer; }
|
|
@@ -195,11 +193,13 @@ window.__ModuleLoader__.load({
|
|
|
195
193
|
.capital-automation-statvalue[data-tone="ok"] { color: var(--ca-success-text); }
|
|
196
194
|
.capital-automation-statvalue[data-tone="error"] { color: var(--ca-error-text); }
|
|
197
195
|
.capital-automation-statvalue[data-tone="running"] { color: var(--ca-business-text); }
|
|
196
|
+
.capital-automation-statvalue[data-tone="warn"] { color: var(--ca-warn-text); }
|
|
198
197
|
.capital-automation-statsub { color: var(--ca-caption); font-size: 11px; line-height: 16px; }
|
|
199
198
|
.capital-automation-panel { padding: 16px 18px; }
|
|
200
199
|
.capital-automation-panelhead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-bottom: 12px; }
|
|
201
200
|
.capital-automation-panelhead h3 { margin: 0; font-size: 13.5px; line-height: 20px; font-weight: 600; }
|
|
202
201
|
.capital-automation-panelhead .capital-automation-btn { margin-left: auto; }
|
|
202
|
+
.capital-automation-panelhead .capital-automation-btn[data-variant="ghost"] { padding-right: 0; }
|
|
203
203
|
.capital-automation-kv { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 18px; }
|
|
204
204
|
.capital-automation-kvitem { min-width: 0; }
|
|
205
205
|
.capital-automation-kvlabel { display: block; color: var(--ca-caption); font-size: 11px; line-height: 16px; }
|
|
@@ -213,25 +213,35 @@ 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-formnote { display: flex; align-items: flex-start; gap: 7px; padding: 9px 11px; border: .5px solid var(--ca-line); border-radius: 10px; background: var(--ca-field); color: var(--ca-muted); font-size: 11.5px; line-height: 18px; }
|
|
217
|
+
.capital-automation-formnote svg { flex: none; margin-top: 2px; }
|
|
216
218
|
.capital-automation-formgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
|
|
217
219
|
.capital-automation-field { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
|
|
218
220
|
.capital-automation-field > span { color: var(--ca-muted); font-size: 11.5px; line-height: 17px; }
|
|
219
|
-
.capital-automation-field input, .capital-automation-field
|
|
220
|
-
.capital-automation-field input
|
|
221
|
+
.capital-automation-field input, .capital-automation-field textarea { 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
|
+
.capital-automation-field input { height: 34px; }
|
|
221
223
|
.capital-automation-field textarea { min-height: 110px; padding: 9px 10px; line-height: 19px; resize: vertical; }
|
|
222
|
-
.capital-automation-field input:hover, .capital-automation-field
|
|
223
|
-
.capital-automation-field input:focus-visible, .capital-automation-field
|
|
224
|
-
.capital-automation-field input:disabled, .capital-automation-field
|
|
224
|
+
.capital-automation-field input:hover, .capital-automation-field textarea:hover { border-color: var(--ca-line); }
|
|
225
|
+
.capital-automation-field input:focus-visible, .capital-automation-field textarea:focus-visible { border-color: var(--ca-business); outline: 2px solid color-mix(in srgb, var(--ca-business) 22%, transparent); outline-offset: 0; }
|
|
226
|
+
.capital-automation-field input:disabled, .capital-automation-field textarea:disabled { color: var(--ca-muted); opacity: .8; }
|
|
227
|
+
.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
|
+
.capital-automation-select:hover:not(:disabled) { background: var(--ca-hover); }
|
|
229
|
+
.capital-automation-select[data-block="true"] { width: 100%; }
|
|
230
|
+
.capital-automation-select[data-size="sm"] { height: 28px; padding: 0 8px 0 9px; border-radius: 8px; font-size: 11.5px; }
|
|
231
|
+
.capital-automation-select:focus-visible { outline: 2px solid var(--dsw-focus-ring-color, var(--ca-business)); outline-offset: 0; }
|
|
232
|
+
.capital-automation-select:disabled { opacity: .5; cursor: not-allowed; }
|
|
233
|
+
.capital-automation-selectvalue { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
234
|
+
.capital-automation-select > svg { flex: none; color: var(--ca-muted); }
|
|
225
235
|
.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); }
|
|
226
236
|
.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); }
|
|
227
237
|
.capital-automation-formstatus { margin-right: auto; color: var(--ca-caption); font-size: 11.5px; line-height: 18px; }
|
|
228
238
|
.capital-automation-triggerbox { display: flex; flex-direction: column; gap: 12px; padding: 13px 14px; border: .5px solid var(--ca-line); border-radius: 14px; background: var(--ca-field); }
|
|
229
239
|
.capital-automation-triggerrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
|
|
230
240
|
.capital-automation-triggerclock { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: linear-gradient(135deg, #5b9dff, #2563eb); color: #fff; flex: none; }
|
|
231
|
-
.capital-automation-triggerrow label { display: inline-flex; align-items: center; gap: 6px; color: var(--ca-muted); font-size: 12px; }
|
|
232
|
-
.capital-automation-triggerrow input
|
|
241
|
+
.capital-automation-triggerrow label, .capital-automation-triggerfield { display: inline-flex; align-items: center; gap: 6px; color: var(--ca-muted); font-size: 12px; }
|
|
242
|
+
.capital-automation-triggerrow input { box-sizing: border-box; height: 32px; padding: 0 9px; border: .5px solid var(--ca-line-soft); border-radius: 9px; background: var(--ca-card); color: var(--dsw-alias-label-primary); font: inherit; font-size: 12px; }
|
|
233
243
|
.capital-automation-triggerrow input[type="time"] { width: 112px; }
|
|
234
|
-
.capital-automation-triggerrow select { max-width: 190px; }
|
|
244
|
+
.capital-automation-triggerrow .capital-automation-select { max-width: 190px; height: 32px; background: var(--ca-card); }
|
|
235
245
|
.capital-automation-weekdays { display: flex; flex-wrap: wrap; gap: 4px; }
|
|
236
246
|
.capital-automation-weekday { width: 30px; height: 30px; padding: 0; border: .5px solid var(--ca-line-soft); border-radius: 999px; background: transparent; color: var(--ca-muted); font: inherit; font-size: 11.5px; cursor: pointer; }
|
|
237
247
|
.capital-automation-weekday:hover:not(:disabled) { border-color: var(--ca-line); color: var(--dsw-alias-label-primary); }
|
|
@@ -302,14 +312,14 @@ window.__ModuleLoader__.load({
|
|
|
302
312
|
.capital-automation-promptbox textarea { box-sizing: border-box; width: 100%; min-height: 120px; max-height: 320px; padding: 13px 14px; border: 0; outline: 0; background: transparent; color: var(--dsw-alias-label-primary); font: inherit; font-size: 13px; line-height: 21px; resize: vertical; }
|
|
303
313
|
.capital-automation-promptbox textarea::placeholder { color: var(--ca-caption); }
|
|
304
314
|
.capital-automation-prompttoolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 10px; border-top: .5px solid var(--ca-line); }
|
|
305
|
-
.capital-automation-prompttoolbar label { display: inline-flex; align-items: center; gap: 5px; color: var(--ca-muted); font-size: 11.5px; }
|
|
306
|
-
.capital-automation-prompttoolbar select { max-width: 168px;
|
|
315
|
+
.capital-automation-prompttoolbar label, .capital-automation-toolbarfield { display: inline-flex; align-items: center; gap: 5px; color: var(--ca-muted); font-size: 11.5px; }
|
|
316
|
+
.capital-automation-prompttoolbar .capital-automation-select { max-width: 168px; background: var(--ca-card); }
|
|
307
317
|
.capital-automation-prompttoolbar .capital-automation-presetchip { margin-left: auto; }
|
|
308
318
|
.capital-automation-presetchip { display: inline-flex; align-items: center; gap: 5px; height: 26px; padding: 0 9px; border-radius: 999px; background: color-mix(in srgb, var(--ca-business) 12%, var(--ca-card)); color: var(--ca-business-text); font-size: 11px; font-weight: 500; white-space: nowrap; }
|
|
309
319
|
.capital-automation-checklist { display: flex; flex-direction: column; gap: 2px; }
|
|
310
|
-
.capital-automation-technical { margin-top:
|
|
311
|
-
.capital-automation-
|
|
312
|
-
.capital-automation-technical dl { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; margin:
|
|
320
|
+
.capital-automation-technical { margin-top: 14px; padding-top: 12px; border-top: .5px solid var(--ca-line); color: var(--ca-caption); font-size: 11px; line-height: 17px; }
|
|
321
|
+
.capital-automation-technicaltitle { margin: 0 0 7px; color: var(--ca-muted); font-size: 11.5px; line-height: 17px; font-weight: 500; }
|
|
322
|
+
.capital-automation-technical dl { display: grid; grid-template-columns: auto 1fr; gap: 3px 10px; margin: 0; }
|
|
313
323
|
.capital-automation-technical dt { color: var(--ca-caption); }
|
|
314
324
|
.capital-automation-technical dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--ca-muted); }
|
|
315
325
|
.capital-automation-page :focus-visible { outline: 2px solid var(--dsw-focus-ring-color, var(--ca-business)); outline-offset: 2px; }
|
|
@@ -345,7 +355,7 @@ window.__ModuleLoader__.load({
|
|
|
345
355
|
.capital-automation-heroactions { padding-left: 0; }
|
|
346
356
|
.capital-automation-modal-content { max-height: calc(100dvh - 112px); }
|
|
347
357
|
}
|
|
348
|
-
`,document.head.appendChild(i),()=>i.remove()}function Gt(){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(`${Ht}${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 Da(i){return e.status[i]??i}function et(i){return e.state[i]??i}function it(i){return i?.state==="active"?e.pause:i?.state==="dormant"?e.add:e.activate}function Vt(i){return i?.state==="active"?Et:i?.state==="dormant"?Ja:Za}function nt(i){return(i?.state==="dormant"?e.added:e.activated).replace("{title}",i?.title??"")}function ta(i){return e.category[i]??i}function ot(i,t=12){let n=String(i??""),o=Array.from(n);return o.length>t?`${o.slice(0,t).join("")}\u2026`:n}function Kt(i){return e.mode[i]??i}function Yt(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&&Bt.includes(i.status)}function ea(i){return qt.includes(i)}function Ea(i){return i?.origin==="custom"?"custom":i?.category??"news"}function Wt(i){return i?.origin==="custom"?Xa:i?.sourceBuiltinId==="morning-brief"?It:i?.category==="market"?Ft:i?.category==="review"?Dt:i?.category==="research"?Qa:$t}function ra(i){let{task:t,size:n=34,large:o=!1}=i,l=Wt(t),s=o?44:n;return a("span",{className:"capital-automation-glyph","data-tone":Ea(t),style:{width:s,height:s,borderRadius:o?13:10}},a(l,{size:o?22:17}))}function lt(i){let{state:t,running:n}=i,o=n?e.status.running:et(t);return a("span",{className:"capital-automation-state","data-state":n?"running":t},a("span",{className:"capital-automation-statedot"}),o)}function Zt(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 Ma(i,t){return Zt(i,{short:!0,timeZone:t})}function rt(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 ha(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 Ca(i){return new Intl.DateTimeFormat("zh-CN",{month:"short",day:"numeric"}).format(i)}function sa(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=>Ia.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 Jt(i){return i?.cadence==="weekly"?`\u6BCF\u5468 ${(i.weekdays??[]).slice().sort((n,o)=>n-o).map(n=>Ia.find(o=>o.value===n)?.label??"").join("\u3001")}`:i?.cadence==="monthly"?`\u6BCF\u6708 ${i.dayOfMonth??1} \u65E5`:"\u6BCF\u5929"}function La(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 Qt(i,t){return typeof t!="string"||t.length===0?e.workspaceDefault:La(i,t).find(n=>n.id===t)?.title??e.workspaceMissing}function la(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 Xt(i,t){let n=la({...t,cadence:i});return i==="weekly"&&(n.weekdays??[]).length===0&&(n.weekdays=[1,3,5]),n}function Wa(){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:{...Ut},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:la(i.trigger),mode:i.mode,workspaceId:i.workspaceId??"",limits:i.limits,notifications:i.notifications}}function ae(i,t){return JSON.stringify(xa(i))===JSON.stringify(xa(t))}function te(i){let t=new Date;t.setHours(0,0,0,0),t.setDate(t.getDate()-(ba-1));let n=[],o=new Map;for(let m=0;m<ba;m+=1){let r=new Date(t);r.setDate(t.getDate()+m);let p=`${r.getFullYear()}-${r.getMonth()}-${r.getDate()}`,b={date:r,key:p,runs:[]};n.push(b),o.set(p,b)}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),ea(m.status)&&(s+=1),u+=1;let p=`${r.getFullYear()}-${r.getMonth()}-${r.getDate()}`,b=o.get(p);b!==void 0&&b.runs.push(m)}return{days:n,success:l,failure:s,total:u}}function ee(i){return i.runs.some(t=>L(t))?"active":i.runs.some(t=>ea(t.status))?"error":i.runs.some(t=>t.status==="succeeded")?"ok":i.runs.length>0?"warn":null}function Ra(i){return i==="run_failed"||i==="run_timeout"?"error":i==="scheduler_standby"||i==="calendar_unavailable"?"warn":"neutral"}function ie(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 ne(i,t){return!ae(i,t)}function st(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 K(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:s,failure:u,total:m}=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(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($a,{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 p=ee(r);return a("div",{key:r.key,className:"capital-automation-timeline-day",title:`${Ca(r.date)}\uFF1A${r.runs.length} \u6B21\u8FD0\u884C`},p===null?null:a("span",{className:"capital-automation-timeline-dot","data-tone":p}))})),a("div",{className:"capital-automation-timelinelabels"},a("span",null,Ca(l[0].date)),a("span",null,Ca(l[l.length-1].date))),m===0?a("p",{className:"capital-automation-historyempty"},e.historyEmpty):null)}function oe(i){let{status:t}=i;return a("span",{className:"capital-automation-runstatus","data-status":t},a("span",{className:"capital-automation-rundot"}),Da(t))}function le(i){let{run:t,task:n,onCancel:o,onOpenSession:l,onOpenTask:s,busy:u}=i,m=L(t),r=Array.isArray(t.errors)?t.errors.length:0,[p,b]=T(!1),C=`capital-automation-run-errors-${t.id}`;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(oe,{status:t.status})),a("div",{className:"capital-automation-runmetaline"},a("span",{className:"capital-automation-runmeta"},`${Ma(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} ${rt(t.durationMs)}`):null,a("span",{className:"capital-automation-runmeta"},`${e.steps} ${t.steps} \xB7 ${e.tools} ${t.toolCalls}`))),a("div",{className:"capital-automation-runactions"},r>0?a("button",{type:"button",className:"capital-automation-runerrorbadge","data-tone":ea(t.status)?"error":"warn","aria-expanded":p?"true":"false","aria-controls":C,"aria-label":`${e.runErrors.replace("{n}",String(r))}\uFF0C${p?e.hideErrorDetails:e.showErrorDetails}`,title:p?e.hideErrorDetails:e.showErrorDetails,onClick:()=>b(h=>!h)},a(at,{size:12}),e.runErrors.replace("{n}",String(r)),a($a,{size:12})):null,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",onClick:()=>l(t.sessionId)},e.openSession):null)),p&&r>0?a("div",{id:C,className:"capital-automation-runerrors",role:"region","aria-label":e.errorDetailsLabel},t.errors.map((h,y)=>a("div",{key:`${t.id}-error-${y}`,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 _a(i){let{runs:t,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:s,busy:u,compact:m}=i,r=new Map(n.map(p=>[p.id,p]));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(ya,{size:19})),a("h3",null,e.detailNoRuns),a("p",null,e.runsEmptyBody)):a("div",{className:"capital-automation-runs"},t.map(p=>a(le,{key:p.id,run:p,task:r.get(p.taskId),onCancel:o,onOpenSession:l,onOpenTask:s,busy:u})))}function re(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 se(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(re,{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(Ja,{size:14}),a("span",{className:"capital-automation-btnlabel"},e.newTask))))))}function ce(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 ut(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 ue(i){let{task:t}=i,n=[[ta(t.category),Ea(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},ot(o))))}function pt(i){let{task:t,open:n,onToggle:o,onClose:l,onEdit:s,onAction:u,onRequestConfirm:m,canRun:r,running:p,busy:b,disabled:C,align:h="end"}=i,y=t.state==="active"?"pause":"activate",R=b||C===!0,z=[{id:"edit",label:e.edit,icon:a(zt,{size:14}),disabled:b},{id:y,label:it(t),icon:a(Vt(t),{size:14}),disabled:R},{id:"run",label:e.runNow,icon:a(Za,{size:14}),disabled:R||!r||p},...t.origin==="builtin"?[{id:"copy",label:e.copy,icon:a(Rt,{size:14}),disabled:R}]:[]],S=[];return t.origin==="builtin"&&t.state!=="dormant"&&S.push(a(Va,{key:"hibernate",separatorBefore:!0,icon:a(Mt,{size:14}),disabled:R||p,onSelect:()=>{l(),m("hibernate",t)}},e.hibernate)),t.origin==="custom"&&S.push(a(Va,{key:"remove",danger:!0,separatorBefore:!0,icon:a(Lt,{size:14}),disabled:R||p,onSelect:()=>{l(),m("delete",t)}},e.remove)),a(_t,{open:n,anchor:a("button",{type:"button",className:"capital-automation-iconbtn",disabled:b,title:e.more,"aria-label":`${e.more}\uFF1A${t.title}`,"aria-haspopup":"menu","aria-expanded":n?"true":"false",onClick:o},a(St,{size:16})),items:z,children:S,onSelect:f=>{if(l(),f==="edit"){s(t.id);return}u(t,f)},onClose:l,align:h,portal:!0})}function pe(i){let{task:t,onOpen:n,menuOpen:o,onMenuToggle:l,onMenuClose:s,onEdit:u,onAction:m,onRequestConfirm:r,canRun:p,busy:b,mutationsDisabled:C}=i,h=t.lastRun,y=L(h),R=t.nextRunLocal??(t.nextRunUnavailable?e.calendarUnavailable:e.never);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(ra,{task:t}),a("span",{className:"capital-automation-identitytext"},a("span",{className:"capital-automation-tasktitlerow"},a("span",{className:"capital-automation-tasktitle"},t.title),a(ue,{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"},sa(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"},R),a("span",{className:"capital-automation-nextsub"},t.nextRunAt?ha(t.nextRunAt):t.nextRunUnavailable?e.nextRunUnavailable:e.never)),a("span",{className:"capital-automation-cell"},a(lt,{state:t.state,running:y}))),a("div",{className:"capital-automation-trowmenu"},a(pt,{task:t,open:o,onToggle:l,onClose:s,onEdit:u,onAction:m,onRequestConfirm:r,canRun:p,running:y,busy:b,disabled:C})))}function de(i){let{tasks:t,onOpen:n,onAction:o,onRequestConfirm:l,onEdit:s,schedulerActive:u,storageReady:m,busyTaskId:r}=i,[p,b]=T(null),C=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(h=>a(pe,{key:h.id,task:h,onOpen:n,menuOpen:p===h.id,onMenuToggle:()=>b(y=>y===h.id?null:h.id),onMenuClose:()=>b(null),onEdit:s,onAction:o,onRequestConfirm:l,canRun:C,busy:r===h.id,mutationsDisabled:!m})))}function me(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(ra,{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":Ea(t),title:ta(t.category)},ot(ta(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(ya,{size:12}),`${e.templateMeta} \xB7 ${sa(t.trigger)}`),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"primary",onClick:()=>o(t),disabled:l||s},l?e.templateAdding:e.templateAdd)))}function Sa(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 w(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 dt(){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(w,{width:92,height:14}),a(w,{width:52,height:11})),a("div",{className:"capital-automation-historystats"},a(w,{width:64,height:12}),a(w,{width:64,height:12}),a(w,{width:56,height:12}))),a("div",{className:"capital-automation-skeletontimeline"},Array.from({length:ba},(i,t)=>a(w,{key:t,height:6+t*11%22,radius:2}))),a("div",{className:"capital-automation-timelinelabels"},a(w,{width:34,height:9}),a(w,{width:34,height:9})))}function Aa(i){let{trailing:t=[210,132]}=i;return a("div",{className:"capital-automation-sectionhead"},a(w,{width:78,height:14}),a(w,{width:210,height:11}),t.length===0?null:a("div",{className:"capital-automation-sectiontools"},t.map((n,o)=>a(w,{key:o,width:n,height:o===0?28:30,radius:999}))))}function ge(){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(w,{width:34,height:34,radius:10}),a("span",{className:"capital-automation-skeletonstack"},a(w,{width:"52%",height:12}),a(w,{width:"82%",height:9}),a(w,{width:92,height:16,radius:999}))),a("span",{className:"capital-automation-cell","data-cell":"schedule"},a(w,{width:"64%",height:10}),a(w,{width:"42%",height:8})),a("span",{className:"capital-automation-cell","data-cell":"next"},a(w,{width:"58%",height:10}),a(w,{width:"36%",height:8})),a("span",{className:"capital-automation-cell"},a(w,{width:52,height:22,radius:999}))),a("div",{className:"capital-automation-trowmenu"},a(w,{width:18,height:18,radius:6})))}function fe(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(w,{width:"52%",height:9}),a(w,{width:"58%",height:9}),a(w,{width:"56%",height:9}),a(w,{width:44,height:9})),a("span",null)),Array.from({length:t},(n,o)=>a(ge,{key:o})))}function be(){return a("div",{className:"capital-automation-template capital-automation-skeletontemplate","aria-hidden":"true"},a("div",{className:"capital-automation-skeletontemplatemain"},a(w,{width:38,height:38,radius:11}),a("div",{className:"capital-automation-skeletonstack"},a(w,{width:"58%",height:11}),a(w,{width:"100%",height:9}),a(w,{width:"76%",height:9}))),a("div",{className:"capital-automation-templatefoot"},a(w,{width:118,height:11}),a(w,{width:64,height:28,radius:999})))}function he(){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(w,{width:168,height:11}),a(w,{width:54,height:10,radius:999})),a("div",{className:"capital-automation-runmetaline"},a(w,{width:86,height:9}),a(w,{width:58,height:9}),a(w,{width:104,height:9}))),a("div",{className:"capital-automation-runactions"},a(w,{width:64,height:26,radius:999}))))}function mt(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 xe(){return a(mt,null,a(dt),a("section",{className:"capital-automation-section"},a(Aa),a(fe,{rows:4})),a("section",{className:"capital-automation-section"},a(Aa,{trailing:[64]}),a("div",{className:"capital-automation-templates"},[0,1,2].map(i=>a(be,{key:i})))))}function ve(){return a(mt,null,a(dt),a("section",{className:"capital-automation-section"},a(Aa,{trailing:[260]}),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-runs"},[0,1,2,3].map(i=>a(he,{key:i}))))))}function ye(i){let{tasks:t,templates:n,runs:o,onOpenTask:l,onNewTask:s,onEnableTemplate:u,onAction:m,onRequestConfirm:r,onEdit:p,onGoRuns:b,onRequestCancelRun:C,schedulerActive:h,storageReady:y,busyTaskId:R}=i,[z,S]=T("all"),[f,d]=T(""),k=t.filter(g=>L(g.lastRun)),A=n.filter(g=>!L(g.lastRun)),I=t.filter(g=>!L(g.lastRun)&&!(g.origin==="builtin"&&g.state==="dormant")),$=I.filter(g=>{if(z==="custom"&&g.origin!=="custom"||z!=="all"&&z!=="custom"&&g.category!==z)return!1;if(f.trim().length===0)return!0;let O=f.trim().toLowerCase();return`${g.title} ${g.description??""} ${g.instruction??""}`.toLowerCase().includes(O)}),Q={all:I.length,custom:I.filter(g=>g.origin==="custom").length,news:I.filter(g=>g.category==="news").length,market:I.filter(g=>g.category==="market").length,review:I.filter(g=>g.category==="review").length,research:I.filter(g=>g.category==="research").length},_=["all","custom","news","market","review","research"];return a("div",null,a(ct,{runs:o,onViewAll:b}),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},_.map(g=>a(ut,{key:g,label:g==="all"?e.filterAll:g==="custom"?e.filterCustom:ta(g),count:Q[g],active:z===g,onClick:()=>S(g)}))),a("label",{className:"capital-automation-search"},a(Qa,{size:13}),a("input",{type:"search",value:f,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,onChange:g=>d(g.target.value)})))),k.length>0?a("div",{className:"capital-automation-running",role:"status"},k.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(ra,{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} ${ha(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:()=>C(g,g.lastRun)},e.cancelRun),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm",onClick:()=>l(g.id)},e.details))))):null,$.length>0?a(de,{tasks:$,onOpen:l,onAction:m,onRequestConfirm:r,onEdit:p,schedulerActive:h,storageReady:y,busyTaskId:R}):I.length===0?k.length>0?null:a(Sa,{title:A.length>0?e.emptyTasksTitle:e.emptyNoTemplates,body:A.length>0?e.emptyTasksBody:e.emptyNoTemplatesBody,action:A.length===0?s:void 0,actionLabel:A.length===0?e.newTask:void 0}):a(Sa,{title:e.emptyFiltered,body:e.emptyTasksBody,action:()=>{S("all"),d("")},actionLabel:e.clearFilter})),A.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"},A.map(g=>a(me,{key:g.id,task:g,onOpen:l,onEnable:u,busy:R===g.id,disabled:!y})))):null)}function gt(i){let{trigger:t,onChange:n,disabled:o,meta:l}=i,s=r=>n(la({...t,...r})),u=r=>{let p=Xt(r,t);n(p)},m=r=>{let p=new Set(t.weekdays??[]);if(p.has(r)){if(p.size<=1)return;p.delete(r)}else p.add(r);s({weekdays:[...p].sort((b,C)=>b-C)})};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("label",null,a("span",null,"\u91CD\u590D"),a("select",{value:t.cadence,disabled:o,onChange:r=>u(r.target.value)},Object.entries(e.cadence).map(([r,p])=>a("option",{key:r,value:r},p)))),a("label",null,a("span",null,e.timeField),a("input",{type:"time",value:t.time,disabled:o,onChange:r=>s({time:r.target.value})})),a("label",null,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},Ia.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("label",null,a("span",null,e.dayField),a("select",{value:t.dayOfMonth??1,disabled:o,onChange:r=>s({dayOfMonth:Number(r.target.value)})},Array.from({length:28},(r,p)=>p+1).map(r=>a("option",{key:r,value:r},e.dayOfMonth.replace("{n}",String(r)))))):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(tt,{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"},`${sa(t)} \xB7 ${t.timezone}`),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:s}=i;return a("div",{className:"capital-automation-switchrow"},a("div",null,a("span",null,t),n?a("small",null,n):null),a(tt,{checked:o===!0,onChange:l,label:t,disabled:s}))}function V(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 Y(i){let{label:t,value:n,min:o,max:l,disabled:s,onChange:u}=i;return a(V,{label:t},a("input",{type:"number",min:o,max:l,value:n,disabled:s,onChange:m=>u(Number(m.target.value))}))}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(([s,u])=>a(ut,{key:s,label:u,count:n[s],active:t===s,onClick:()=>o(s)})))}function ke(i){let{runs:t,tasks:n,onCancel:o,onOpenSession:l,onOpenTask:s,onGoTasks:u,onNewTask:m,busy:r}=i,[p,b]=T("all"),C={all:t.length,active:t.filter(y=>L(y)).length,succeeded:t.filter(y=>y.status==="succeeded").length,failed:t.filter(y=>ea(y.status)).length},h=t.filter(y=>p==="active"?L(y):p==="succeeded"?y.status==="succeeded":p==="failed"?ea(y.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:p,counts:C,onChange:b}))),t.length===0?a("div",{className:"capital-automation-empty"},a("span",{className:"capital-automation-emptyicon"},a(ya,{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))):h.length===0?a(Sa,{title:e.emptyFiltered,body:e.filterNoRuns,action:()=>b("all"),actionLabel:e.clearFilter}):a("section",{className:"capital-automation-card capital-automation-panel"},a(_a,{runs:h,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 Ne(i){let{detail:t,meta:n,onGoRuns:o}=i,l=t.runs[0],s=t.task.nextRunLocal??(t.task.nextRunUnavailable?e.calendarUnavailable:e.never),u=t.runs.some(r=>L(r)),m=u?e.status.running:et(t.task.state);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":u?"running":void 0},m),a("span",{className:"capital-automation-statsub"},t.task.origin==="builtin"?e.origin.builtin:e.origin.custom)),a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.nextRun),a("span",{className:"capital-automation-statvalue"},s),a("span",{className:"capital-automation-statsub"},t.task.nextRunAt?ha(t.task.nextRunAt):t.task.nextRunUnavailable?e.nextRunUnavailable:e.never)),a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.lastResult),a("span",{className:"capital-automation-statvalue","data-tone":l?.status==="succeeded"?"ok":l&&ea(l.status)?"error":void 0},l?Da(l.status):e.neverRun),a("span",{className:"capital-automation-statsub"},l?`${Ma(l.queuedAt,t.task.trigger.timezone)}${typeof l.durationMs=="number"?` \xB7 ${rt(l.durationMs)}`:""}`:e.never)),a("div",{className:"capital-automation-stat"},a("span",{className:"capital-automation-statlabel"},e.triggerSummary),a("span",{className:"capital-automation-statvalue"},Jt(t.task.trigger)),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.triggerSummary),a("span",{className:"capital-automation-hint"},t.task.trigger.tradingDaysOnly===!0?e.triggerHint:e.triggerHintNatural)),a("div",{className:"capital-automation-kv"},a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.triggerField),a("span",{className:"capital-automation-kvvalue"},sa(t.task.trigger))),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.timezoneField),a("span",{className:"capital-automation-kvvalue"},t.task.trigger.timezone)),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.nextRun),a("span",{className:"capital-automation-kvvalue"},`${s}${t.task.nextRunAt?` \xB7 ${ha(t.task.nextRunAt)}`:""}`)),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.stateLabel),a("span",{className:"capital-automation-kvvalue"},`${m}${t.task.trigger.tradingDaysOnly?` \xB7 ${e.tradingDaysField}`:""}`)))),a("section",{className:"capital-automation-card capital-automation-panel"},a("div",{className:"capital-automation-panelhead"},a("h3",null,e.detailRecentRuns),a("button",{type:"button",className:"capital-automation-btn","data-size":"sm","data-variant":"ghost",onClick:o},e.detailAllRuns,a($a,{size:13}))),a(_a,{runs:t.runs.slice(0,3),tasks:[t.task],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"},Qt(n,t.task.workspaceId))),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.categoryField),a("span",{className:"capital-automation-kvvalue"},ta(t.task.category))),a("div",{className:"capital-automation-kvitem"},a("span",{className:"capital-automation-kvlabel"},e.modeField),a("span",{className:"capital-automation-kvvalue"},Kt(t.task.mode)))),a("div",{className:"capital-automation-policy",style:{marginTop:14}},a("p",null,e.policyText),a("p",null,e.budgetHint)),a("details",{className:"capital-automation-technical"},a("summary",null,e.techInfo),a("dl",null,a("dt",null,e.profileKey),a("dd",null,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",null,n?.execution?.cwdKind??"profile"),a("dt",null,"profile"),a("dd",null,n?.profile?.name??"\u2014"),a("dt",null,e.calendarField),a("dd",null,Yt(n?.calendar)),a("dt",null,e.version),a("dd",null,n?.version?`v${n.version}`:"\u2014")))))}function Te(i){let{draft:t,setDraft:n,meta:o,busy:l,dirty:s,save:u,reset:m,disabled:r}=i,p=t,b=f=>n(d=>({...d,...typeof f=="function"?f(d):f})),C=K(o,"runTimeoutMinutes",[5,120]),h=K(o,"idleTimeoutMinutes",[1,30]),y=K(o,"maxSteps",[10,2e3]),R=K(o,"maxToolCalls",[10,6e3]),z=a("details",{className:"capital-automation-advanced"},a("summary",null,e.advanced),a("div",{className:"capital-automation-advancedbody"},a("div",{className:"capital-automation-formgrid"},a(V,{label:e.workspaceField},a("select",{value:p.workspaceId??"",disabled:l||r,onChange:f=>b({workspaceId:f.target.value})},La(o,p.workspaceId).map(f=>a("option",{key:f.id,value:f.id},f.title)))),a(V,{label:e.modeField,hint:e.modeHint},a("select",{value:p.mode,disabled:l||r,onChange:f=>b({mode:f.target.value})},Object.entries(e.mode).map(([f,d])=>a("option",{key:f,value:f},d))))),a("div",{className:"capital-automation-formgrid"},a(Y,{label:e.runTimeout,value:p.limits.runTimeoutMinutes,min:C[0],max:C[1],disabled:l||r,onChange:f=>b(d=>({limits:{...d.limits,runTimeoutMinutes:f}}))}),a(Y,{label:e.idleTimeout,value:p.limits.idleTimeoutMinutes,min:h[0],max:h[1],disabled:l||r,onChange:f=>b(d=>({limits:{...d.limits,idleTimeoutMinutes:f}}))}),a(Y,{label:e.maxSteps,value:p.limits.maxSteps,min:y[0],max:y[1],disabled:l||r,onChange:f=>b(d=>({limits:{...d.limits,maxSteps:f}}))}),a(Y,{label:e.maxToolCalls,value:p.limits.maxToolCalls,min:R[0],max:R[1],disabled:l||r,onChange:f=>b(d=>({limits:{...d.limits,maxToolCalls:f}}))})),a("p",{className:"capital-automation-hint"},e.budgetHint),o?.workspaceError?a("p",{className:"capital-automation-hint","data-tone":"error"},e.workspaceUnavailable):null)),S=a("div",null,a("span",{className:"capital-automation-formlabel"},e.notifyField),a("div",{className:"capital-automation-switchlist"},a(aa,{label:e.notifyInApp,checked:p.notifications.inApp,disabled:l||r,onChange:f=>b(d=>({notifications:{...d.notifications,inApp:f}}))}),a(aa,{label:e.notifyFailure,checked:p.notifications.onFailure,disabled:l||r,onChange:f=>b(d=>({notifications:{...d.notifications,onFailure:f}}))}),a(aa,{label:e.notifySuccess,checked:p.notifications.onSuccess,disabled:l||r,onChange:f=>b(d=>({notifications:{...d.notifications,onSuccess:f}}))})),a("p",{className:"capital-automation-hint"},e.notifyHint));return a("div",{className:"capital-automation-form"},a(V,{label:e.titleField},a("input",{value:p.title,disabled:l||r,onChange:f=>b({title:f.target.value})})),a(V,{label:e.descriptionField},a("textarea",{value:p.description??"",disabled:l||r,rows:3,onChange:f=>b({description:f.target.value})})),a(V,{label:e.categoryField,hint:p.origin==="builtin"?e.categoryFixed:void 0},a("select",{value:p.category,disabled:l||r||p.origin==="builtin",onChange:f=>b({category:f.target.value})},Object.entries(e.category).map(([f,d])=>a("option",{key:f,value:f},d)))),a(V,{label:e.instructionField},a("textarea",{value:p.instruction,disabled:l||r,rows:14,onChange:f=>b({instruction:f.target.value})})),a("div",null,a("span",{className:"capital-automation-formlabel"},e.triggerField),a(gt,{trigger:p.trigger,disabled:l||r,onChange:f=>b({trigger:f}),meta:o})),z,S,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 Ce(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(ft,{key:u.id,item:u}))))}function ft(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":Ra(t.kind)},Ra(t.kind)==="error"?a(at,{size:15}):Ra(t.kind)==="warn"?a(Ot,{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"},ie(t)),a("span",{className:"capital-automation-notificationtime"},Ma(t.createdAt))),o!==void 0&&t.taskId!==void 0?a("span",{className:"capital-automation-hint"},e.notificationOpenTask):null)}function Re(i){return a("div",{className:"capital-automation-detailbar"},a("button",{type:"button",className:"capital-automation-back",onClick:i.onBack},a(Ct,{size:14}),e.backToTasks))}function ze(i){let{detail:t,meta:n,api:o,onChanged:l,openSession:s,tab:u,onTab:m,onRequestConfirm:r,onRequestCancelRun:p,onOpenAllRuns:b,schedulerActive:C,storageReady:h}=i,[y,R]=T(null),[z,S]=T(""),[f,d]=T(""),[k,A]=T(""),[I,$]=T(!1),Q=G(null);if(X(()=>{R(t.task?{...t.task,trigger:la(t.task.trigger),limits:{...t.task.limits},notifications:{...t.task.notifications}}:null)},[t]),X(()=>{let v=t.task?.id??null;Q.current!==v&&(Q.current=v,d(""),A(""))},[t]),y===null)return a("p",{className:"capital-automation-empty"},e.loading);let _=y,g=h!==!1,O=t.runs.some(v=>L(v)),H=t.runs.find(v=>L(v)),ia=t.notifications.filter(v=>v.readAt===void 0).length,wa=ne(y,t.task),B=g&&C===!0&&!O,ka=v=>R(N=>({...N,...typeof v=="function"?v(N):v}));async function q(v,N,j){if(!z){S(v),A("");try{await N(),await l(t.task.id),d(j)}catch(Z){A(Z.message??e.errorGeneric)}finally{S("")}}}async function ca(){let v=st(_);if(v.length>0){A(v);return}await q("save",async()=>{await o.patch(t.task.id,xa(_))},e.saved)}async function na(){let v=t.task.state==="active"?"pause":"activate";await q(v,async()=>{await o.action(t.task.id,v)},v==="pause"?e.paused.replace("{title}",t.task.title):nt(t.task))}async function W(){await q("run",async()=>{await o.run(t.task.id)},e.runSubmitted.replace("{title}",t.task.title))}async function D(){let v=t.notifications.filter(N=>N.readAt===void 0).map(N=>N.id);v.length!==0&&await q("read-notifications",async()=>{await o.markRead({ids:v})},e.markReadDone)}async function ua(){await q("copy",async()=>{await o.action(t.task.id,"copy")},e.copied.replace("{title}",t.task.title))}let U=O?a("button",{type:"button",className:"capital-automation-btn","data-variant":"danger",disabled:z||!g||H===void 0,onClick:()=>{H!==void 0&&p(H)}},e.cancelRun):a("button",{type:"button",className:"capital-automation-btn","data-variant":t.task.state==="active"?"primary":void 0,disabled:z||!B,title:C===!1?e.schedulerBlocked:O?e.runBlocked:void 0,onClick:()=>{W()}},e.runNow),P=()=>{R({...t.task,trigger:la(t.task.trigger),limits:{...t.task.limits},notifications:{...t.task.notifications}}),A(""),d("")};return a("div",null,a("div",{className:"capital-automation-hero"},a(ra,{task:_,large:!0}),a("div",{className:"capital-automation-herobody"},a("div",{className:"capital-automation-herotitle"},a("h2",null,t.task.title),a(lt,{state:t.task.state,running:O}),ia>0?a("span",{className:"capital-automation-count",title:e.unread},String(ia)):null),a("p",{className:"capital-automation-herodesc"},t.task.description||e.subtitle),a("div",{className:"capital-automation-herometa"},a("span",null,a(ya,{size:13}),sa(t.task.trigger)),a("span",null,`${e.nextRun} ${t.task.nextRunLocal??(t.task.nextRunUnavailable?e.calendarUnavailable:e.never)}`),a("span",null,`${e.lastResult} ${t.runs[0]?Da(t.runs[0].status):e.never}`),a("span",null,ta(t.task.category)),t.task.origin==="builtin"?a("span",{className:"capital-automation-tag"},e.origin.builtin):a("span",{className:"capital-automation-tag","data-tone":"custom"},e.origin.custom))),a("div",{className:"capital-automation-heroactions"},U,O?null:a("button",{type:"button",className:"capital-automation-btn","data-variant":t.task.state==="active"?void 0:"primary",disabled:z||!g,onClick:()=>{na()}},it(t.task)),a(pt,{task:t.task,open:I,onToggle:()=>$(v=>!v),onClose:()=>$(!1),onEdit:()=>{$(!1),m("config")},onAction:(v,N)=>{N==="run"?W():N==="copy"?ua():(N==="activate"||N==="pause")&&na()},onRequestConfirm:(v,N)=>{$(!1),r(v,N)},canRun:B,running:O,busy:z.length>0,disabled:!g,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,N])=>a("button",{key:v,type:"button",role:"tab",className:"capital-automation-detailtab","aria-selected":u===v?"true":"false",onClick:()=>m(v)},N))),f.length>0||k.length>0?a("div",{style:{paddingTop:12}},f.length>0?a("p",{className:"capital-automation-notice",role:"status"},f):null,k.length>0?a("p",{className:"capital-automation-error",role:"alert"},k):null):null,O?a("p",{className:"capital-automation-hint",style:{paddingTop:10}},e.configWhileRunning):null,t.task.origin==="builtin"?a("p",{className:"capital-automation-hint",style:{paddingTop:8}},e.configBuiltinHint):null,a("div",{className:"capital-automation-detailbody"},u==="overview"?a(Ne,{detail:t,meta:n,onGoRuns:b}):null,u==="config"?a(Te,{draft:y,setDraft:R,meta:n,busy:z,dirty:wa,save:ca,reset:P,disabled:!g}):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(_a,{runs:t.runs,tasks:[t.task],onCancel:v=>p(v),onOpenSession:s,busy:z.length>0})):null,u==="notifications"?a(Ce,{detail:t,busy:z.length>0,onMarkTaskRead:()=>{D()}}):null))}function Se(i){let{open:t,onClose:n,api:o,onCreated:l,meta:s}=i,[u,m]=T(Wa),[r,p]=T(!1),[b,C]=T("");X(()=>{t&&(m(Wa()),p(!1),C(""))},[t]);let h=d=>m(k=>({...k,...typeof d=="function"?d(k):d})),y=K(s,"runTimeoutMinutes",[5,120]),R=K(s,"idleTimeoutMinutes",[1,30]),z=K(s,"maxSteps",[10,2e3]),S=K(s,"maxToolCalls",[10,6e3]);async function f(){let d=st(u);if(d.length>0){C(d);return}p(!0),C("");try{let k=await o.create(xa(u));l(k?.task?.id??null)}catch(k){C(k.message??e.errorGeneric)}finally{p(!1)}}return t?a(Oa,{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:f},r?e.creating:e.create))},a("div",{className:"capital-automation-wizard"},a("div",{className:"capital-automation-modalheadline"},a(ra,{task:u,size:42}),a("input",{className:"capital-automation-modaltitleinput",value:u.title,placeholder:e.titlePlaceholder,"aria-label":e.titleField,onChange:d=>h({title:d.target.value})})),a("p",{className:"capital-automation-hint"},e.newTaskHint),a(V,{label:e.descriptionField},a("input",{value:u.description,placeholder:e.descriptionPlaceholder,onChange:d=>h({description:d.target.value})})),a("div",null,a("span",{className:"capital-automation-formlabel"},e.triggerField),a(gt,{trigger:u.trigger,onChange:d=>h({trigger:d}),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:d=>h({instruction:d.target.value})}),a("div",{className:"capital-automation-prompttoolbar"},a("label",null,a(At,{size:13}),a("span",null,e.workspaceField),a("select",{value:u.workspaceId??"",onChange:d=>h({workspaceId:d.target.value})},La(s,u.workspaceId).map(d=>a("option",{key:d.id,value:d.id},d.title)))),a("label",null,a("span",null,e.categoryField),a("select",{value:u.category,onChange:d=>h({category:d.target.value})},Object.entries(e.category).map(([d,k])=>a("option",{key:d,value:d},k)))),a("label",null,a("span",null,e.modeField),a("select",{value:u.mode,onChange:d=>h({mode:d.target.value})},Object.entries(e.mode).map(([d,k])=>a("option",{key:d,value:d},k)))),a("span",{className:"capital-automation-presetchip",title:e.modeHint},a(Xa,{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(Y,{label:e.runTimeout,value:u.limits.runTimeoutMinutes,min:y[0],max:y[1],onChange:d=>h(k=>({limits:{...k.limits,runTimeoutMinutes:d}}))}),a(Y,{label:e.idleTimeout,value:u.limits.idleTimeoutMinutes,min:R[0],max:R[1],onChange:d=>h(k=>({limits:{...k.limits,idleTimeoutMinutes:d}}))}),a(Y,{label:e.maxSteps,value:u.limits.maxSteps,min:z[0],max:z[1],onChange:d=>h(k=>({limits:{...k.limits,maxSteps:d}}))}),a(Y,{label:e.maxToolCalls,value:u.limits.maxToolCalls,min:S[0],max:S[1],onChange:d=>h(k=>({limits:{...k.limits,maxToolCalls:d}}))})),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:u.notifications.inApp,onChange:d=>h(k=>({notifications:{...k.notifications,inApp:d}}))}),a(aa,{label:e.notifyFailure,checked:u.notifications.onFailure,onChange:d=>h(k=>({notifications:{...k.notifications,onFailure:d}}))}),a(aa,{label:e.notifySuccess,checked:u.notifications.onSuccess,onChange:d=>h(k=>({notifications:{...k.notifications,onSuccess:d}}))})),a("p",{className:"capital-automation-hint"},e.notifyHint)),b.length>0?a("p",{className:"capital-automation-error",role:"alert"},b):null)):null}function Ae(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",p=m?e.cancelRunConfirmTitle:r?e.confirmDeleteTitle:e.confirmHibernateTitle,b=m?e.cancelRunConfirmBody:r?e.confirmDeleteBody:e.confirmHibernateBody,C=m?e.cancelRunConfirm:r?e.confirmDelete:e.confirmHibernate;return a(Oa,{open:u,onClose:()=>{n||l()},title:p,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:C))},a("div",null,a("p",{className:"capital-automation-policy"},b),o.length>0?a("p",{className:"capital-automation-error",role:"alert",style:{marginTop:8}},o):null))}function Fe(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(Oa,{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(ft,{key:r.id,item:r,onOpenTask:s,onClick:r.taskId===void 0?void 0:()=>s(r.taskId)}))))}function $e(i){let{api:t,openSession:n}=i,[o,l]=T(null),[s,u]=T([]),[m,r]=T([]),[p,b]=T([]),[C,h]=T(0),[y,R]=T(null),[z,S]=T(null),[f,d]=T("tasks"),[k,A]=T("overview"),[I,$]=T(!1),[Q,_]=T(!1),[g,O]=T(null),[H,ia]=T(!1),[wa,B]=T(""),[ka,q]=T(null),[ca,na]=T(!1),[W,D]=T(""),[ua,U]=T(""),P=G(!1),v=G([]),N=G(null),j=G(null),Z=G(0),E=G(0),Ha=G(null);X(()=>{if(W.length===0)return;let c=setTimeout(()=>D(""),3200);return()=>clearTimeout(c)},[W]);async function M(){if(j.current!==null)return j.current;let c=Z.current+1;Z.current=c;let x=(async()=>{try{let[F,ja,Ga,ma]=await Promise.all([t.meta(),t.tasks(),t.runs("?limit=200"),t.notifications()]);if(!P.current||c!==Z.current)return;let Ta=Array.isArray(ja.tasks)?ja.tasks:[];l(F),v.current=Ta,u(Ta),r(Array.isArray(Ga.runs)?Ga.runs:[]),b(Array.isArray(ma.notifications)?ma.notifications:[]),h(typeof ma.unread=="number"?ma.unread:0),U("");let ga=N.current,fa=ga!==null&&Ta.some(Tt=>Tt.id===ga)?ga:null;fa!==ga&&(N.current=fa,E.current+=1,S(null),R(fa),fa===null&&A("overview"))}catch(F){P.current&&c===Z.current&&U(F.message??e.errorGeneric)}})();j.current=x;try{await x}finally{j.current===x&&(j.current=null)}}async function pa(c){let x=E.current+1;E.current=x;try{let F=await t.detail(c);if(!P.current||x!==E.current||N.current!==c)return;S(F)}catch(F){P.current&&x===E.current&&N.current===c&&U(F.message??e.errorGeneric)}}function Na(){let c=Ha.current;c!==null&&typeof c.scrollTo=="function"&&c.scrollTo({top:0,behavior:"auto"})}function J(c,x="overview"){N.current=c,E.current+=1,A(x),S(null),R(c),d("tasks"),Na()}function bt(){N.current=null,E.current+=1,S(null),R(null),A("overview"),Na()}function da(c){c===f&&c==="tasks"&&N.current!==null||(c==="runs"&&N.current!==null&&(N.current=null,E.current+=1,S(null),R(null)),d(c),Na())}function oa(c,x,F){B(""),O({kind:c,task:x,run:F})}async function Ba(c,x){if(ka===null){q(c.id),U("");try{if(x==="run")await t.run(c.id),D(e.runSubmitted.replace("{title}",c.title));else if(x==="copy"){let F=await t.action(c.id,"copy");if(D(e.copied.replace("{title}",c.title)),F?.task?.id){await M(),J(F.task.id,"config");return}}else await t.action(c.id,x),D(x==="pause"?e.paused.replace("{title}",c.title):nt(c));await M(),N.current===c.id&&await pa(c.id)}catch(F){U(F.message??e.errorGeneric)}finally{q(null)}}}async function ht(c){await Ba(c,"activate")}async function xt(){if(g===null||H)return;let{kind:c,task:x}=g;ia(!0),B("");try{c==="cancel-run"?(await t.cancel(g.run.id),D(e.runCanceled)):c==="delete"?(await t.remove(x.id),D(e.deleted.replace("{title}",x.title))):(await t.action(x.id,"hibernate"),D(e.hibernated.replace("{title}",x.title))),O(null),B(""),await M(),N.current===x.id&&await pa(x.id)}catch(F){B(F.message??e.errorGeneric)}finally{ia(!1)}}async function vt(){if(!ca){na(!0);try{await t.markRead({all:!0}),D(e.markReadDone),await M()}catch(c){U(c.message??e.errorGeneric)}finally{na(!1)}}}async function yt(c){if(_(!1),v.current.some(x=>x.id===c)){J(c);return}await M(),v.current.some(x=>x.id===c)&&J(c)}X(()=>{P.current=!0,M();let c=setInterval(()=>{document.visibilityState!=="hidden"&&M()},15e3),x=()=>{document.visibilityState==="visible"&&M()};return document.addEventListener?.("visibilitychange",x),()=>{P.current=!1,Z.current+=1,E.current+=1,j.current=null,clearInterval(c),document.removeEventListener?.("visibilitychange",x)}},[]),X(()=>{if(y===null){S(null),E.current+=1;return}return S(null),pa(y),()=>{E.current+=1}},[y]);let qa=o?.scheduler?.state==="active",Ua=o?.storage?.state!=="unavailable",wt=s.filter(c=>c.origin==="builtin"&&c.state==="dormant"),kt=s.find(c=>c.id===y),Nt=f==="tasks"&&y!==null,Pa=o===null&&ua.length===0;return a("div",{className:"capital-automation-page"},a("datalist",{id:"capital-automation-timezones"},Pt.map(c=>a("option",{key:c,value:c}))),Nt?null:a(se,{tab:f,onTab:da,onNewTask:()=>$(!0),unread:C,onOpenInbox:()=>_(!0)}),a(ce,{meta:o,loadError:ua,onRetry:()=>{M()}}),a("div",{className:"capital-automation-scroll",ref:Ha},a("div",{className:"capital-automation-container"},f==="tasks"?y!==null?a("div",null,a(Re,{onBack:bt}),z===null?a("div",{className:"capital-automation-empty"},e.loading):a(ze,{detail:z,meta:o,api:t,openSession:n,tab:k,onTab:A,onRequestConfirm:oa,onRequestCancelRun:c=>oa("cancel-run",kt??{id:c.taskId,title:c.taskTitle},c),onOpenAllRuns:()=>da("runs"),schedulerActive:qa,storageReady:Ua,onChanged:async c=>{await M();let x=c??N.current;x!==null&&N.current===x&&await pa(x)}})):Pa?a(xe):a(ye,{tasks:s,templates:wt,runs:m,onOpenTask:J,onNewTask:()=>$(!0),onEnableTemplate:c=>{ht(c)},onAction:(c,x)=>{Ba(c,x)},onRequestConfirm:oa,onEdit:c=>J(c,"config"),onGoRuns:()=>da("runs"),onRequestCancelRun:(c,x)=>oa("cancel-run",c,x),schedulerActive:qa,storageReady:Ua,busyTaskId:ka}):Pa?a(ve):a(ke,{runs:m,tasks:s,onCancel:c=>oa("cancel-run",{id:c.taskId,title:c.taskTitle},c),onOpenSession:n,onOpenTask:c=>{v.current.some(x=>x.id===c)&&J(c)},onGoTasks:()=>da("tasks"),onNewTask:()=>$(!0),busy:H}))),a(Se,{open:I,onClose:()=>$(!1),api:t,meta:o,onCreated:async c=>{$(!1),D(e.created),await M(),c!==null&&v.current.some(x=>x.id===c)&&J(c)}}),a(Fe,{open:Q,onClose:()=>_(!1),notifications:p,onMarkAllRead:()=>{vt()},onOpenTask:c=>{yt(c)},busy:ca}),a(Ae,{confirm:g,busy:H,error:wa,onCancel:()=>{H||(O(null),B(""))},onConfirm:()=>{xt()}}),W.length>0?a("div",{className:"capital-automation-toast",role:"status"},W):null)}function Oe(){return a(Fa,{width:18,height:18})}function Ie(i){let t=Gt(),n=o=>{try{i.get("uiWorkspace")?.openSession?.(o)}catch{}};i.effect(()=>jt(),`${za}: styles`),i.slots.inject("main",()=>i.slots.register({name:"main",key:Ka,inject:()=>({api:t,openSession:n})},$e)),i.slots.inject("sidebar.panellist",()=>i.slots.register({name:"sidebar.panellist",id:Ka,order:11,label:()=>e.panel},Oe)),i.logger?.info?.(`${za}: \u5BA2\u6237\u7AEF\u534A\u8FB9\u5DF2\u6302\u8F7D\uFF08\u9875\u9762 + \u4FA7\u680F\u5165\u53E3\uFF09`)}exports.name=za;exports.inject=["slots"];exports.apply=Ie;
|
|
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;
|
|
349
359
|
return module.exports
|
|
350
360
|
},
|
|
351
361
|
})
|