@allbluecn/web-app 0.23.7 → 0.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/components/ai/global-harness-sidebar/__tests__/global-ai-prompts.test.ts +0 -2
- package/src/components/harness/ai-chat-history/components/conversation-item.tsx +6 -0
- package/src/components/harness/ai-chat-history/types.ts +4 -0
- package/src/components/harness/chat-ui.tsx +20 -0
- package/src/components/harness/composer/harness-composer.tsx +57 -20
- package/src/components/harness/composer/harness-engine-control.tsx +129 -0
- package/src/components/harness/harness-workbench-page.tsx +140 -18
- package/src/components/layout/sidebar-03/app-sidebar.tsx +2 -9
- package/src/config/sidebar-routes.tsx +0 -13
- package/src/lib/changelog/sdk-versions.ts +1 -1
- package/src/lib/hotkeys/__tests__/registry.test.ts +4 -11
- package/src/lib/hotkeys/registry.ts +0 -8
- package/src/paraglide/README.md +1 -1
- package/src/paraglide/messages/_index.d.ts +12 -2
- package/src/paraglide/messages/_index.js +12 -2
- package/src/paraglide/messages/{agent_desktop_title.d.ts → harness_engine_cloud.d.ts} +5 -5
- package/src/paraglide/messages/harness_engine_cloud.js +29 -0
- package/src/paraglide/messages/harness_engine_label.d.ts +16 -0
- package/src/paraglide/messages/harness_engine_label.js +29 -0
- package/src/paraglide/messages/harness_engine_local.d.ts +16 -0
- package/src/paraglide/messages/harness_engine_local.js +29 -0
- package/src/paraglide/messages/harness_engine_localbadge1.d.ts +17 -0
- package/src/paraglide/messages/harness_engine_localbadge1.js +30 -0
- package/src/paraglide/messages/harness_engine_localhint1.d.ts +17 -0
- package/src/paraglide/messages/harness_engine_localhint1.js +30 -0
- package/src/paraglide/messages/harness_engine_localnoattachments2.d.ts +17 -0
- package/src/paraglide/messages/harness_engine_localnoattachments2.js +30 -0
- package/src/paraglide/messages/harness_engine_switchlocked1.d.ts +17 -0
- package/src/paraglide/messages/harness_engine_switchlocked1.js +30 -0
- package/src/paraglide/messages/harness_localworkspace_choose1.d.ts +17 -0
- package/src/paraglide/messages/harness_localworkspace_choose1.js +30 -0
- package/src/paraglide/messages/harness_localworkspace_dialogdescription2.d.ts +17 -0
- package/src/paraglide/messages/harness_localworkspace_dialogdescription2.js +30 -0
- package/src/paraglide/messages/harness_localworkspace_dialogtitle2.d.ts +17 -0
- package/src/paraglide/messages/harness_localworkspace_dialogtitle2.js +30 -0
- package/src/paraglide/messages/harness_localworkspace_manage1.d.ts +17 -0
- package/src/paraglide/messages/harness_localworkspace_manage1.js +30 -0
- package/src/paraglide/messages/harness_localworkspace_required1.d.ts +17 -0
- package/src/paraglide/messages/harness_localworkspace_required1.js +30 -0
- package/src/routeTree.gen.ts +0 -23
- package/src/routes/_nav/harness/$threadId.lazy.tsx +19 -2
- package/src/routes/_nav/harness/$threadId.tsx +8 -2
- package/src/server/__tests__/chat-conversations.test.ts +13 -3
- package/src/server/__tests__/desktop-bootstrap.test.ts +0 -1
- package/src/server/ai-gateway/__tests__/local-agent-adapter.test.ts +110 -0
- package/src/server/ai-gateway/__tests__/unified-router-local-agent.test.ts +63 -0
- package/src/server/ai-gateway/chat-handler.ts +68 -2
- package/src/server/ai-gateway/chat-stream-builder.ts +52 -0
- package/src/server/ai-gateway/local-agent-adapter.ts +232 -0
- package/src/server/ai-gateway/unified-router.ts +49 -6
- package/src/server/serverFns/chat/conversations.ts +122 -1
- package/src/components/desktop-agent/__tests__/agent-chat.test.tsx +0 -194
- package/src/components/desktop-agent/agent-chat.tsx +0 -222
- package/src/lib/desktop-agent/__tests__/connection.test.ts +0 -310
- package/src/lib/desktop-agent/__tests__/errors.test.ts +0 -43
- package/src/lib/desktop-agent/connection.ts +0 -93
- package/src/lib/desktop-agent/errors.ts +0 -21
- package/src/paraglide/messages/agent_desktop_title.js +0 -29
- package/src/paraglide/messages/common_hotkey_desc_agentabort1.d.ts +0 -17
- package/src/paraglide/messages/common_hotkey_desc_agentabort1.js +0 -30
- package/src/routes/-tests/agent-gate.test.ts +0 -45
- package/src/routes/_nav/agent/route.lazy.tsx +0 -63
- package/src/routes/_nav/agent/route.tsx +0 -21
- /package/src/components/{desktop-agent → harness/local-agent}/__tests__/agent-tool-card.test.tsx +0 -0
- /package/src/components/{desktop-agent → harness/local-agent}/__tests__/agent-workspace-card.test.tsx +0 -0
- /package/src/components/{desktop-agent → harness/local-agent}/agent-tool-card.tsx +0 -0
- /package/src/components/{desktop-agent → harness/local-agent}/agent-workspace-card.tsx +0 -0
|
@@ -32,7 +32,7 @@ import { NavKnowledge } from "@/components/layout/sidebar-03/nav-knowledge";
|
|
|
32
32
|
import { NavWorkspace } from "@/components/layout/sidebar-03/nav-workspace";
|
|
33
33
|
import { UserMenu } from "@/components/layout/sidebar-03/user-menu";
|
|
34
34
|
import { AnimatedThemeToggler } from '@/components/magicui/animated-theme-toggler'
|
|
35
|
-
import {
|
|
35
|
+
import { workspaceRoutes } from "@/config/sidebar-routes";
|
|
36
36
|
import type { Route } from "@/config/sidebar-routes";
|
|
37
37
|
import { PresenceAvatarStack } from "@/components/layout/sidebar-03/presence-avatar-stack";
|
|
38
38
|
import { SidebarSearchTrigger } from "@/components/layout/sidebar-03/nav-search-trigger"
|
|
@@ -40,7 +40,6 @@ import { NavSecondary } from "@/components/layout/sidebar-03/nav-secondary"
|
|
|
40
40
|
import { PluginNavItems } from '@/components/plugin-slots/plugin-nav-items'
|
|
41
41
|
import { isDesktopEdition } from "@/lib/edition-desktop";
|
|
42
42
|
import { getDesktopBridge } from "@/lib/desktop-bridge-types";
|
|
43
|
-
import { useDesktopAgentPresence } from "@/lib/desktop-agent/use-desktop-agent-presence";
|
|
44
43
|
|
|
45
44
|
// presence 渲染工厂(§8.2 消费者两文件之一):nav-main 按 route.id 查
|
|
46
45
|
// MODULE_ROUTES 得 module key 后回调;module 级单例 map,identity 稳定。
|
|
@@ -48,16 +47,10 @@ const routes: Route[] = workspaceRoutes.map((route) => ({
|
|
|
48
47
|
...route,
|
|
49
48
|
presence: (module: string) => <PresenceAvatarStack module={module} />,
|
|
50
49
|
}));
|
|
51
|
-
// 桌面壳追加本地文件助手入口(P3-B5):module 级常量保 identity 稳定
|
|
52
|
-
const routesWithDesktopAgent: Route[] = [...routes, desktopAgentRoute];
|
|
53
50
|
|
|
54
51
|
export function DashboardSidebar() {
|
|
55
52
|
const { state } = useSidebar();
|
|
56
53
|
const isCollapsed = state === "collapsed";
|
|
57
|
-
// 本地文件助手入口门控(与 /_nav/agent 路由同源判定):SSR / hydration 首帧恒
|
|
58
|
-
// pending(不渲染该项,首帧一致),挂载后桌面壳恢复;云 Web / OSS 恒不可见
|
|
59
|
-
const desktopAgentPresence = useDesktopAgentPresence();
|
|
60
|
-
const navRoutes = desktopAgentPresence === "present" ? routesWithDesktopAgent : routes;
|
|
61
54
|
// 桌面壳(Electron hiddenInset):红绿灯悬浮在窗口左上角,顶栏重排为
|
|
62
55
|
// 「第一行红绿灯让位 + 右侧按钮组(整行可拖动窗口)、第二行 logo」。
|
|
63
56
|
// web/云端 SaaS 布局不变(isDesktopEdition 为构建期常量,死分支消除)。
|
|
@@ -156,7 +149,7 @@ export function DashboardSidebar() {
|
|
|
156
149
|
)}
|
|
157
150
|
</SidebarHeader>
|
|
158
151
|
<SidebarContent className="gap-4 px-2 py-4">
|
|
159
|
-
<DashboardNavigation routes={
|
|
152
|
+
<DashboardNavigation routes={routes} />
|
|
160
153
|
<NavWorkspace />
|
|
161
154
|
<NavKnowledge />
|
|
162
155
|
<PluginNavItems />
|
|
@@ -26,7 +26,6 @@ import {
|
|
|
26
26
|
Bug,
|
|
27
27
|
PenTool,
|
|
28
28
|
ListTodo,
|
|
29
|
-
FolderSearch,
|
|
30
29
|
} from "lucide-react";
|
|
31
30
|
|
|
32
31
|
export type RouteSubItem = {
|
|
@@ -102,15 +101,3 @@ export const workspaceRoutes: Route[] = [
|
|
|
102
101
|
link: "/tasks",
|
|
103
102
|
},
|
|
104
103
|
];
|
|
105
|
-
|
|
106
|
-
/**
|
|
107
|
-
* 本地文件助手(桌面本地优先 P3-B5):依赖桌面壳 AgentService,不进上方常驻列表——
|
|
108
|
-
* app-sidebar 经 useDesktopAgentPresence(桌面构建 + desktopBridge,mounted 模式)
|
|
109
|
-
* 判定后条件追加,云 Web / OSS 恒不可见(与 /_nav/agent 路由门控同源)。
|
|
110
|
-
*/
|
|
111
|
-
export const desktopAgentRoute: Route = {
|
|
112
|
-
id: "desktop-agent",
|
|
113
|
-
title: m.agent_desktop_title,
|
|
114
|
-
icon: <FolderSearch className="size-4" />,
|
|
115
|
-
link: "/agent",
|
|
116
|
-
};
|
|
@@ -112,7 +112,7 @@ export const SDK_GROUPS: SdkGroup[] = [
|
|
|
112
112
|
"items": [
|
|
113
113
|
{
|
|
114
114
|
"name": "@allbluecn/web-app",
|
|
115
|
-
"version": "v0.
|
|
115
|
+
"version": "v0.24.1",
|
|
116
116
|
"lastUpdate": "Nov 1, 2026",
|
|
117
117
|
"source": "apps/web/package.json",
|
|
118
118
|
"docsUrl": "https://github.com/allbluecn/allblue"
|
|
@@ -23,8 +23,8 @@ import { appHotkeys, findAppHotkeyConflicts, formatAppHotkeyForBadge, CATEGORY_O
|
|
|
23
23
|
const DECLARED_IDS = Object.keys(appHotkeys) as AppHotkeyId[]
|
|
24
24
|
|
|
25
25
|
describe("appHotkeys(defineAppHotkeys 官方声明)", () => {
|
|
26
|
-
it("恰好
|
|
27
|
-
expect(DECLARED_IDS).toHaveLength(
|
|
26
|
+
it("恰好 25 条声明,且 id 与迁移前注册表对齐", () => {
|
|
27
|
+
expect(DECLARED_IDS).toHaveLength(25)
|
|
28
28
|
expect(DECLARED_IDS).toEqual(
|
|
29
29
|
expect.arrayContaining([
|
|
30
30
|
"shortcuts-panel",
|
|
@@ -34,7 +34,6 @@ describe("appHotkeys(defineAppHotkeys 官方声明)", () => {
|
|
|
34
34
|
"copy-message",
|
|
35
35
|
"chat-prev",
|
|
36
36
|
"chat-next",
|
|
37
|
-
"agent-abort",
|
|
38
37
|
"command-palette",
|
|
39
38
|
"toggle-theme",
|
|
40
39
|
"goto-dashboard",
|
|
@@ -83,15 +82,9 @@ describe("appHotkeys(defineAppHotkeys 官方声明)", () => {
|
|
|
83
82
|
}
|
|
84
83
|
})
|
|
85
84
|
|
|
86
|
-
it("非序列条目为
|
|
85
|
+
it("非序列条目为 9 条 chord(Mod+/ 等)", () => {
|
|
87
86
|
const chords = DECLARED_IDS.map((id) => appHotkeys[id]!).filter((e) => typeof e.hotkey === "string")
|
|
88
|
-
expect(chords).toHaveLength(
|
|
89
|
-
})
|
|
90
|
-
|
|
91
|
-
it("agent-abort(本地文件助手中止运行):Mod+. 聊天分类——输入框内同样生效(ignoreInputs auto 对 Mod 组合放行)", () => {
|
|
92
|
-
const entry = appHotkeys["agent-abort"]
|
|
93
|
-
expect(entry.hotkey).toBe("Mod+.")
|
|
94
|
-
expect(entry.meta).toEqual({ descriptionKey: "common_hotkey_desc_agentAbort", category: "聊天" })
|
|
87
|
+
expect(chords).toHaveLength(9)
|
|
95
88
|
})
|
|
96
89
|
|
|
97
90
|
it("现网声明零冲突(findAppHotkeyConflicts)", () => {
|
|
@@ -74,14 +74,6 @@ export const appHotkeys = defineAppHotkeys({
|
|
|
74
74
|
hotkey: "ArrowDown",
|
|
75
75
|
meta: { descriptionKey: "common_hotkey_desc_chatNext", category: "聊天" },
|
|
76
76
|
},
|
|
77
|
-
// 本地文件助手(桌面 P3-B5)中止运行:绑定点 components/desktop-agent/agent-chat.tsx
|
|
78
|
-
// (仅运行中 enabled)。Mod+. 取 macOS「Command-句点 = 取消」惯例;Escape 已被
|
|
79
|
-
// close-panel 全局占用(同 scope 即冲突)。Mod 组合在 ignoreInputs auto 下输入框
|
|
80
|
-
// 内同样生效(边输入边中止)
|
|
81
|
-
"agent-abort": {
|
|
82
|
-
hotkey: "Mod+.",
|
|
83
|
-
meta: { descriptionKey: "common_hotkey_desc_agentAbort", category: "聊天" },
|
|
84
|
-
},
|
|
85
77
|
"command-palette": {
|
|
86
78
|
hotkey: "Mod+K",
|
|
87
79
|
meta: { descriptionKey: "common_hotkey_desc_commandPalette", category: "导航" },
|
package/src/paraglide/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Auto-generated i18n message functions. Import `messages.js` to use translated strings.
|
|
4
4
|
|
|
5
|
-
Compiled from: `/Users/urmynami/HelloAI/AllBlue-Workspace/AllBlue/.worktrees/feat-local-
|
|
5
|
+
Compiled from: `/Users/urmynami/HelloAI/AllBlue-Workspace/AllBlue/.worktrees/feat-harness-local-agent/apps/web/project.inlang`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
## What is this folder?
|
|
@@ -26,7 +26,6 @@ export * from "./agent_desktop_errorgeneric1.js";
|
|
|
26
26
|
export * from "./agent_desktop_errorunauthorized1.js";
|
|
27
27
|
export * from "./agent_desktop_errorunavailable1.js";
|
|
28
28
|
export * from "./agent_desktop_pagedescription1.js";
|
|
29
|
-
export * from "./agent_desktop_title.js";
|
|
30
29
|
export * from "./agent_desktop_toolcountfiles2.js";
|
|
31
30
|
export * from "./agent_desktop_toolcounthits2.js";
|
|
32
31
|
export * from "./agent_desktop_toolcountlines2.js";
|
|
@@ -1837,7 +1836,6 @@ export * from "./common_hotkey_cat_chat.js";
|
|
|
1837
1836
|
export * from "./common_hotkey_cat_edit.js";
|
|
1838
1837
|
export * from "./common_hotkey_cat_navigation.js";
|
|
1839
1838
|
export * from "./common_hotkey_cat_view.js";
|
|
1840
|
-
export * from "./common_hotkey_desc_agentabort1.js";
|
|
1841
1839
|
export * from "./common_hotkey_desc_chatnext1.js";
|
|
1842
1840
|
export * from "./common_hotkey_desc_chatprev1.js";
|
|
1843
1841
|
export * from "./common_hotkey_desc_closepanel1.js";
|
|
@@ -2548,9 +2546,21 @@ export * from "./harness_dock_storyempty1.js";
|
|
|
2548
2546
|
export * from "./harness_dock_storynotfound2.js";
|
|
2549
2547
|
export * from "./harness_dock_todo.js";
|
|
2550
2548
|
export * from "./harness_dock_unknownresource1.js";
|
|
2549
|
+
export * from "./harness_engine_cloud.js";
|
|
2550
|
+
export * from "./harness_engine_label.js";
|
|
2551
|
+
export * from "./harness_engine_local.js";
|
|
2552
|
+
export * from "./harness_engine_localbadge1.js";
|
|
2553
|
+
export * from "./harness_engine_localhint1.js";
|
|
2554
|
+
export * from "./harness_engine_localnoattachments2.js";
|
|
2555
|
+
export * from "./harness_engine_switchlocked1.js";
|
|
2551
2556
|
export * from "./harness_exportspec1.js";
|
|
2552
2557
|
export * from "./harness_exportspechtml2.js";
|
|
2553
2558
|
export * from "./harness_ghostthinking1.js";
|
|
2559
|
+
export * from "./harness_localworkspace_choose1.js";
|
|
2560
|
+
export * from "./harness_localworkspace_dialogdescription2.js";
|
|
2561
|
+
export * from "./harness_localworkspace_dialogtitle2.js";
|
|
2562
|
+
export * from "./harness_localworkspace_manage1.js";
|
|
2563
|
+
export * from "./harness_localworkspace_required1.js";
|
|
2554
2564
|
export * from "./harness_media_code.js";
|
|
2555
2565
|
export * from "./harness_media_nocode1.js";
|
|
2556
2566
|
export * from "./harness_media_nospec1.js";
|
|
@@ -28,7 +28,6 @@ export * from './agent_desktop_errorgeneric1.js'
|
|
|
28
28
|
export * from './agent_desktop_errorunauthorized1.js'
|
|
29
29
|
export * from './agent_desktop_errorunavailable1.js'
|
|
30
30
|
export * from './agent_desktop_pagedescription1.js'
|
|
31
|
-
export * from './agent_desktop_title.js'
|
|
32
31
|
export * from './agent_desktop_toolcountfiles2.js'
|
|
33
32
|
export * from './agent_desktop_toolcounthits2.js'
|
|
34
33
|
export * from './agent_desktop_toolcountlines2.js'
|
|
@@ -1839,7 +1838,6 @@ export * from './common_hotkey_cat_chat.js'
|
|
|
1839
1838
|
export * from './common_hotkey_cat_edit.js'
|
|
1840
1839
|
export * from './common_hotkey_cat_navigation.js'
|
|
1841
1840
|
export * from './common_hotkey_cat_view.js'
|
|
1842
|
-
export * from './common_hotkey_desc_agentabort1.js'
|
|
1843
1841
|
export * from './common_hotkey_desc_chatnext1.js'
|
|
1844
1842
|
export * from './common_hotkey_desc_chatprev1.js'
|
|
1845
1843
|
export * from './common_hotkey_desc_closepanel1.js'
|
|
@@ -2550,9 +2548,21 @@ export * from './harness_dock_storyempty1.js'
|
|
|
2550
2548
|
export * from './harness_dock_storynotfound2.js'
|
|
2551
2549
|
export * from './harness_dock_todo.js'
|
|
2552
2550
|
export * from './harness_dock_unknownresource1.js'
|
|
2551
|
+
export * from './harness_engine_cloud.js'
|
|
2552
|
+
export * from './harness_engine_label.js'
|
|
2553
|
+
export * from './harness_engine_local.js'
|
|
2554
|
+
export * from './harness_engine_localbadge1.js'
|
|
2555
|
+
export * from './harness_engine_localhint1.js'
|
|
2556
|
+
export * from './harness_engine_localnoattachments2.js'
|
|
2557
|
+
export * from './harness_engine_switchlocked1.js'
|
|
2553
2558
|
export * from './harness_exportspec1.js'
|
|
2554
2559
|
export * from './harness_exportspechtml2.js'
|
|
2555
2560
|
export * from './harness_ghostthinking1.js'
|
|
2561
|
+
export * from './harness_localworkspace_choose1.js'
|
|
2562
|
+
export * from './harness_localworkspace_dialogdescription2.js'
|
|
2563
|
+
export * from './harness_localworkspace_dialogtitle2.js'
|
|
2564
|
+
export * from './harness_localworkspace_manage1.js'
|
|
2565
|
+
export * from './harness_localworkspace_required1.js'
|
|
2556
2566
|
export * from './harness_media_code.js'
|
|
2557
2567
|
export * from './harness_media_nocode1.js'
|
|
2558
2568
|
export * from './harness_media_nospec1.js'
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* | output |
|
|
3
3
|
* | --- |
|
|
4
|
-
* | "
|
|
4
|
+
* | "Cloud model" |
|
|
5
5
|
*
|
|
6
|
-
* @param {
|
|
6
|
+
* @param {Harness_Engine_CloudInputs} inputs
|
|
7
7
|
* @param {{ locale?: "zh" | "en" }} options
|
|
8
8
|
* @returns {LocalizedString}
|
|
9
9
|
*/
|
|
10
|
-
export const
|
|
10
|
+
export const harness_engine_cloud: ((inputs?: Harness_Engine_CloudInputs, options?: {
|
|
11
11
|
locale?: "zh" | "en";
|
|
12
|
-
}) => LocalizedString) & import("../runtime.js").MessageMetadata<
|
|
12
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Engine_CloudInputs, {
|
|
13
13
|
locale?: "zh" | "en";
|
|
14
14
|
}, {}>;
|
|
15
15
|
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
16
|
-
export type
|
|
16
|
+
export type Harness_Engine_CloudInputs = {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Engine_CloudInputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_engine_cloud = /** @type {(inputs: Harness_Engine_CloudInputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`云端模型`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_engine_cloud = /** @type {(inputs: Harness_Engine_CloudInputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Cloud model`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "Cloud model" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Engine_CloudInputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
export const harness_engine_cloud = /** @type {((inputs?: Harness_Engine_CloudInputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Engine_CloudInputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_engine_cloud(inputs)
|
|
28
|
+
return zh_harness_engine_cloud(inputs)
|
|
29
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* | output |
|
|
3
|
+
* | --- |
|
|
4
|
+
* | "Engine" |
|
|
5
|
+
*
|
|
6
|
+
* @param {Harness_Engine_LabelInputs} inputs
|
|
7
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
8
|
+
* @returns {LocalizedString}
|
|
9
|
+
*/
|
|
10
|
+
export const harness_engine_label: ((inputs?: Harness_Engine_LabelInputs, options?: {
|
|
11
|
+
locale?: "zh" | "en";
|
|
12
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Engine_LabelInputs, {
|
|
13
|
+
locale?: "zh" | "en";
|
|
14
|
+
}, {}>;
|
|
15
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
16
|
+
export type Harness_Engine_LabelInputs = {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Engine_LabelInputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_engine_label = /** @type {(inputs: Harness_Engine_LabelInputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`执行引擎`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_engine_label = /** @type {(inputs: Harness_Engine_LabelInputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Engine`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "Engine" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Engine_LabelInputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
export const harness_engine_label = /** @type {((inputs?: Harness_Engine_LabelInputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Engine_LabelInputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_engine_label(inputs)
|
|
28
|
+
return zh_harness_engine_label(inputs)
|
|
29
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* | output |
|
|
3
|
+
* | --- |
|
|
4
|
+
* | "Local workspace" |
|
|
5
|
+
*
|
|
6
|
+
* @param {Harness_Engine_LocalInputs} inputs
|
|
7
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
8
|
+
* @returns {LocalizedString}
|
|
9
|
+
*/
|
|
10
|
+
export const harness_engine_local: ((inputs?: Harness_Engine_LocalInputs, options?: {
|
|
11
|
+
locale?: "zh" | "en";
|
|
12
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Engine_LocalInputs, {
|
|
13
|
+
locale?: "zh" | "en";
|
|
14
|
+
}, {}>;
|
|
15
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
16
|
+
export type Harness_Engine_LocalInputs = {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Engine_LocalInputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_engine_local = /** @type {(inputs: Harness_Engine_LocalInputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`本地工作区`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_engine_local = /** @type {(inputs: Harness_Engine_LocalInputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Local workspace`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "Local workspace" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Engine_LocalInputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
export const harness_engine_local = /** @type {((inputs?: Harness_Engine_LocalInputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Engine_LocalInputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_engine_local(inputs)
|
|
28
|
+
return zh_harness_engine_local(inputs)
|
|
29
|
+
});
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { harness_engine_localbadge1 as "harness_engine_localBadge" };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Harness_Engine_Localbadge1Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "Local read-only" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Harness_Engine_Localbadge1Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const harness_engine_localbadge1: ((inputs?: Harness_Engine_Localbadge1Inputs, options?: {
|
|
14
|
+
locale?: "zh" | "en";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Engine_Localbadge1Inputs, {
|
|
16
|
+
locale?: "zh" | "en";
|
|
17
|
+
}, {}>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Engine_Localbadge1Inputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_engine_localbadge1 = /** @type {(inputs: Harness_Engine_Localbadge1Inputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`本地只读`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_engine_localbadge1 = /** @type {(inputs: Harness_Engine_Localbadge1Inputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Local read-only`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "Local read-only" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Engine_Localbadge1Inputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
const harness_engine_localbadge1 = /** @type {((inputs?: Harness_Engine_Localbadge1Inputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Engine_Localbadge1Inputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_engine_localbadge1(inputs)
|
|
28
|
+
return zh_harness_engine_localbadge1(inputs)
|
|
29
|
+
});
|
|
30
|
+
export { harness_engine_localbadge1 as "harness_engine_localBadge" }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { harness_engine_localhint1 as "harness_engine_localHint" };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Harness_Engine_Localhint1Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "pi only reads authorized folders; files are never uploaded" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Harness_Engine_Localhint1Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const harness_engine_localhint1: ((inputs?: Harness_Engine_Localhint1Inputs, options?: {
|
|
14
|
+
locale?: "zh" | "en";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Engine_Localhint1Inputs, {
|
|
16
|
+
locale?: "zh" | "en";
|
|
17
|
+
}, {}>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Engine_Localhint1Inputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_engine_localhint1 = /** @type {(inputs: Harness_Engine_Localhint1Inputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`pi 只读取授权目录,不上传文件`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_engine_localhint1 = /** @type {(inputs: Harness_Engine_Localhint1Inputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`pi only reads authorized folders; files are never uploaded`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "pi only reads authorized folders; files are never uploaded" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Engine_Localhint1Inputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
const harness_engine_localhint1 = /** @type {((inputs?: Harness_Engine_Localhint1Inputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Engine_Localhint1Inputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_engine_localhint1(inputs)
|
|
28
|
+
return zh_harness_engine_localhint1(inputs)
|
|
29
|
+
});
|
|
30
|
+
export { harness_engine_localhint1 as "harness_engine_localHint" }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { harness_engine_localnoattachments2 as "harness_engine_localNoAttachments" };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Harness_Engine_Localnoattachments2Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "Local Agent does not support attachments yet" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Harness_Engine_Localnoattachments2Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const harness_engine_localnoattachments2: ((inputs?: Harness_Engine_Localnoattachments2Inputs, options?: {
|
|
14
|
+
locale?: "zh" | "en";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Engine_Localnoattachments2Inputs, {
|
|
16
|
+
locale?: "zh" | "en";
|
|
17
|
+
}, {}>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Engine_Localnoattachments2Inputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_engine_localnoattachments2 = /** @type {(inputs: Harness_Engine_Localnoattachments2Inputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`本地 Agent 暂不支持附件`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_engine_localnoattachments2 = /** @type {(inputs: Harness_Engine_Localnoattachments2Inputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Local Agent does not support attachments yet`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "Local Agent does not support attachments yet" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Engine_Localnoattachments2Inputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
const harness_engine_localnoattachments2 = /** @type {((inputs?: Harness_Engine_Localnoattachments2Inputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Engine_Localnoattachments2Inputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_engine_localnoattachments2(inputs)
|
|
28
|
+
return zh_harness_engine_localnoattachments2(inputs)
|
|
29
|
+
});
|
|
30
|
+
export { harness_engine_localnoattachments2 as "harness_engine_localNoAttachments" }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { harness_engine_switchlocked1 as "harness_engine_switchLocked" };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Harness_Engine_Switchlocked1Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "This thread already has messages; start a new thread to switch engines" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Harness_Engine_Switchlocked1Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const harness_engine_switchlocked1: ((inputs?: Harness_Engine_Switchlocked1Inputs, options?: {
|
|
14
|
+
locale?: "zh" | "en";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Engine_Switchlocked1Inputs, {
|
|
16
|
+
locale?: "zh" | "en";
|
|
17
|
+
}, {}>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Engine_Switchlocked1Inputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_engine_switchlocked1 = /** @type {(inputs: Harness_Engine_Switchlocked1Inputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`该会话已有消息,切换引擎请新建会话`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_engine_switchlocked1 = /** @type {(inputs: Harness_Engine_Switchlocked1Inputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`This thread already has messages; start a new thread to switch engines`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "This thread already has messages; start a new thread to switch engines" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Engine_Switchlocked1Inputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
const harness_engine_switchlocked1 = /** @type {((inputs?: Harness_Engine_Switchlocked1Inputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Engine_Switchlocked1Inputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_engine_switchlocked1(inputs)
|
|
28
|
+
return zh_harness_engine_switchlocked1(inputs)
|
|
29
|
+
});
|
|
30
|
+
export { harness_engine_switchlocked1 as "harness_engine_switchLocked" }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { harness_localworkspace_choose1 as "harness_localWorkspace_choose" };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Harness_Localworkspace_Choose1Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "Choose folder" |
|
|
8
|
+
*
|
|
9
|
+
* @param {Harness_Localworkspace_Choose1Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const harness_localworkspace_choose1: ((inputs?: Harness_Localworkspace_Choose1Inputs, options?: {
|
|
14
|
+
locale?: "zh" | "en";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Localworkspace_Choose1Inputs, {
|
|
16
|
+
locale?: "zh" | "en";
|
|
17
|
+
}, {}>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
import { getLocale, experimentalStaticLocale } from '../runtime.js';
|
|
3
|
+
|
|
4
|
+
/** @typedef {import('../runtime.js').LocalizedString} LocalizedString */
|
|
5
|
+
|
|
6
|
+
/** @typedef {{}} Harness_Localworkspace_Choose1Inputs */
|
|
7
|
+
|
|
8
|
+
const zh_harness_localworkspace_choose1 = /** @type {(inputs: Harness_Localworkspace_Choose1Inputs) => LocalizedString} */ () => {
|
|
9
|
+
return /** @type {LocalizedString} */ (`选择目录`)
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const en_harness_localworkspace_choose1 = /** @type {(inputs: Harness_Localworkspace_Choose1Inputs) => LocalizedString} */ () => {
|
|
13
|
+
return /** @type {LocalizedString} */ (`Choose folder`)
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* | output |
|
|
18
|
+
* | --- |
|
|
19
|
+
* | "Choose folder" |
|
|
20
|
+
*
|
|
21
|
+
* @param {Harness_Localworkspace_Choose1Inputs} inputs
|
|
22
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
23
|
+
* @returns {LocalizedString}
|
|
24
|
+
*/
|
|
25
|
+
const harness_localworkspace_choose1 = /** @type {((inputs?: Harness_Localworkspace_Choose1Inputs, options?: { locale?: "zh" | "en" }) => LocalizedString) & import('../runtime.js').MessageMetadata<Harness_Localworkspace_Choose1Inputs, { locale?: "zh" | "en" }, {}>} */ ((inputs = {}, options = {}) => {
|
|
26
|
+
const locale = experimentalStaticLocale ?? options.locale ?? getLocale()
|
|
27
|
+
if (locale === "en") return en_harness_localworkspace_choose1(inputs)
|
|
28
|
+
return zh_harness_localworkspace_choose1(inputs)
|
|
29
|
+
});
|
|
30
|
+
export { harness_localworkspace_choose1 as "harness_localWorkspace_choose" }
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { harness_localworkspace_dialogdescription2 as "harness_localWorkspace_dialogDescription" };
|
|
2
|
+
export type LocalizedString = import("../runtime.js").LocalizedString;
|
|
3
|
+
export type Harness_Localworkspace_Dialogdescription2Inputs = {};
|
|
4
|
+
/**
|
|
5
|
+
* | output |
|
|
6
|
+
* | --- |
|
|
7
|
+
* | "pi can only read the folders listed below; revoke access at any time." |
|
|
8
|
+
*
|
|
9
|
+
* @param {Harness_Localworkspace_Dialogdescription2Inputs} inputs
|
|
10
|
+
* @param {{ locale?: "zh" | "en" }} options
|
|
11
|
+
* @returns {LocalizedString}
|
|
12
|
+
*/
|
|
13
|
+
declare const harness_localworkspace_dialogdescription2: ((inputs?: Harness_Localworkspace_Dialogdescription2Inputs, options?: {
|
|
14
|
+
locale?: "zh" | "en";
|
|
15
|
+
}) => LocalizedString) & import("../runtime.js").MessageMetadata<Harness_Localworkspace_Dialogdescription2Inputs, {
|
|
16
|
+
locale?: "zh" | "en";
|
|
17
|
+
}, {}>;
|