@fses/workbench-app 0.2.20 → 0.2.21

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.
@@ -80,7 +80,7 @@
80
80
  "schemaVersion": 1,
81
81
  "workbenchApp": {
82
82
  "name": "@fses/workbench-app",
83
- "sourceGitCommit": "9f43b1563c5b69d58d38ed28bea11169e7aba660",
84
- "version": "0.2.20"
83
+ "sourceGitCommit": "8c714b4c93097289628d5a795f67c9c433b2296a",
84
+ "version": "0.2.21"
85
85
  }
86
86
  }
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as ne, ref as _, computed as w, onBeforeUnmount as fe, openBlock as l, createElementBlock as r, createElementVNode as s, toDisplayString as i, unref as o, normalizeClass as x, Fragment as y, renderList as k, createVNode as A, createBlock as M, withCtx as ee, createCommentVNode as P, withModifiers as te } from "vue";
2
2
  import { d as n, D as _e } from "./cardFactory-D5dyYSC3.js";
3
3
  import { ChevronRight as se, Plus as ae } from "lucide-vue-next";
4
- import { b as xe, w as Ce, c as C, S as ie, _ as ve, r as ge, a as $, d as we, e as ye } from "./customCardCatalog-DcoxF7gK.js";
4
+ import { b as xe, w as Ce, c as C, S as ie, _ as ve, r as ge, a as $, d as we, e as ye } from "./customCardCatalog-D8woQgB9.js";
5
5
  import "@fses/workbench-card";
6
6
  import { CARD_CATEGORIES as oe, CARD_REGISTRY as le } from "@fses/workbench-card/registry";
7
7
  import "@fses/workbench-card/renderers";
8
- import { _ as re, u as ke, a as Ae, b as Se, c as Ie } from "./index-CytMrt6f.js";
8
+ import { _ as re, u as ke, a as Ae, b as Se, c as Ie } from "./index-C1Y_OWV9.js";
9
9
  const Ee = { class: "workbench-fde-card-catalog flex h-full min-h-[420px] flex-col gap-3" }, We = { class: "flex items-center justify-between gap-3" }, Fe = { class: "min-w-0" }, De = {
10
10
  class: "truncate text-xs font-semibold text-slate-950",
11
11
  "data-i18n": "FWA.80dc1787571398044"
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as t, openBlock as n, createElementBlock as s } from "vue";
2
- import { u as c, _ as r } from "./index-CytMrt6f.js";
2
+ import { u as c, _ as r } from "./index-C1Y_OWV9.js";
3
3
  import { W as a, a as _ } from "./index-DkGYPLLJ.js";
4
4
  const i = /* @__PURE__ */ t({
5
5
  __name: "WorkbenchDiagnosticsFooter",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as g, ref as p, computed as _, openBlock as o, createElementBlock as i, createElementVNode as n, toDisplayString as s, unref as f, Fragment as r, renderList as d, createCommentVNode as k } from "vue";
2
- import { u as m, W as v, _ as b } from "./index-CytMrt6f.js";
2
+ import { u as m, W as v, _ as b } from "./index-C1Y_OWV9.js";
3
3
  const h = { class: "workbench-diagnostics-page" }, w = { class: "workbench-diagnostics-page__header" }, y = ["disabled"], C = { class: "workbench-diagnostics-page__summary" }, x = { class: "workbench-diagnostics-page__section" }, D = {
4
4
  key: 0,
5
5
  class: "workbench-diagnostics-page__section"
@@ -7,7 +7,7 @@ import { FsesAiChat as Zb, canShowRecommendationFieldConfig as e1 } from "@fses/
7
7
  import "@fses/ai-chat/chart-card/from-markdown";
8
8
  import { resolveCardRecommendationFieldLabel as Lo } from "@fses/ai-chat/utils/card-recommendation-field-label";
9
9
  import "@fses/ai-chat/utils/card-recommendation-source";
10
- import { _ as fn, r as Bg, D as ol, n as Oo, d as t1, f as n1, s as r1, w as a1, e as Nm, g as o1, p as i1, h as s1, i as l1, a as c1, b as u1, j as d1, k as f1, l as m1, m as h1, o as g1, q as p1, t as v1, v as b1, x as y1, u as w1, y as Pm, z as _1, A as x1, B as C1, C as k1, E as A1 } from "./index-CytMrt6f.js";
10
+ import { _ as fn, r as Bg, D as ol, n as Oo, d as t1, f as n1, s as r1, w as a1, e as Nm, g as o1, p as i1, h as s1, i as l1, a as c1, b as u1, j as d1, k as f1, l as m1, m as h1, o as g1, q as p1, t as v1, v as b1, x as y1, u as w1, y as Pm, z as _1, A as x1, B as C1, C as k1, E as A1 } from "./index-C1Y_OWV9.js";
11
11
  import "./normalizeWorkbenchExtensions-Ccv3n3fC.js";
12
12
  import "@microsoft/fetch-event-source";
13
13
  import { S as Tg, T as st, U as In, V as dl, X as zc, b as Af, Y as Eg, Z as gl, _ as S1, $ as Yt, a0 as ce, a1 as ut, a2 as er, a3 as Vn, a4 as I1, a5 as et, a6 as pa, a7 as qc, a8 as pl, a9 as Sf, aa as su, ab as Dg, ac as jc, ad as us, ae as il, af as Ua, ag as F1, ah as M1, ai as W1, aj as $m, ak as Md, al as Om, am as Hm, an as Gm, ao as R1, ap as Wd, aq as B1, ar as wc, as as zm, at as T1, au as E1, av as Lg, aw as Ng, ax as D1, ay as L1, az as N1, aA as P1, aB as qm, aC as jm, aD as Vm, aE as Um, d as Pg, aF as as, aG as If, aH as $g, aI as $1, h as O1, aJ as H1, aK as G1, aL as z1, aM as Km, aN as q1, aO as Ym, aP as j1, aQ as Xm, aR as Og, aS as ef, aT as Hg, aU as V1, r as U1, aV as Gg, aW as K1, aX as Y1, f as zg, aY as Rd, aZ as X1, a_ as Q1, e as J1, a$ as Z1, b0 as ey, b1 as ty, b2 as ny, b3 as ry, b4 as ay, b5 as oy, b6 as iy, b7 as Qm, b8 as sy, b9 as ly, ba as cy, bb as uy, bc as dy, bd as fy, be as my, bf as hy, bg as gy, bh as py, bi as vy, bj as by, bk as yy } from "./useWorkbenchRuntime-CJLqEtgU.js";
@@ -19,7 +19,7 @@ import { i as Iy, d as vl, e as Fy, p as My, R as Wy, f as Ry, h as qa, n as By,
19
19
  import "pinia";
20
20
  import "gridstack/dist/gridstack.css";
21
21
  import { GridStack as Ug } from "gridstack";
22
- import { c as Wa, w as $y, S as Oy, _ as Hy, a as eh, e as Gy, d as zy, r as qy, f as jy } from "./customCardCatalog-DcoxF7gK.js";
22
+ import { c as Wa, w as $y, S as Oy, _ as Hy, a as eh, e as Gy, d as zy, r as qy, f as jy } from "./customCardCatalog-D8woQgB9.js";
23
23
  function Vy(e) {
24
24
  return e ? "h-full min-h-0" : "h-screen min-h-0 overflow-hidden";
25
25
  }
@@ -4,7 +4,7 @@ import "@fses/workbench-card";
4
4
  import "@fses/workbench-card/registry";
5
5
  import { WorkbenchBlockRenderer as se } from "@fses/workbench-card/renderers";
6
6
  import { s as ne, e as de } from "./normalizeWorkbenchExtensions-Ccv3n3fC.js";
7
- import { _ as ce } from "./index-CytMrt6f.js";
7
+ import { _ as ce } from "./index-C1Y_OWV9.js";
8
8
  import { X as ue, AlertCircle as pe, Check as me } from "lucide-vue-next";
9
9
  import { clsx as be } from "clsx";
10
10
  import { twMerge as fe } from "tailwind-merge";
@@ -1,113 +1,116 @@
1
- import { D as s, F as o, G as r, H as t, I as n, A as c, J as l, K as i, L as p, B as A, M as C, N as d, O as m, P as u, Q as E, R as g, S as h, T as R, U as W, V as k, X as _, Y as S, Z as b, $ as T, a0 as P, C as v, p as M, y as f, r as L, e as y, h as O, i as D, s as N, g as B, a1 as I, u as H, w as x } from "./index-CytMrt6f.js";
2
- import { D as K, L as F, S as G, j as U, k as V, a as Y, m as z, n as X, o as j, h as q, g as J, f as Q, p as Z, q as $, s as ee, t as ae, l as se, u as oe, v as re, w as te, x as ne, y as ce, r as le, z as ie } from "./cardFactory-D5dyYSC3.js";
3
- import { c as Ae } from "./canvasFacade-ZFqB_i7z.js";
4
- import { D as de, i as me, j as ue, k as Ee, l as ge, m as he, n as Re, o as We, c as ke, a as _e, p as Se, q as be, e as Te, s as Pe, t as ve, v as Me, w as fe, x as Le, y as ye, z as Oe, A as De, B as Ne, C as Be, E as Ie, F as He, G as xe, H as we, I as Ke, J as Fe, K as Ge, L as Ue, M as Ve, N as Ye, O as ze, P as Xe, u as je, b as qe, Q as Je, R as Qe } from "./useWorkbenchRuntime-CJLqEtgU.js";
5
- import { W as $e, a as ea, b as aa, c as sa, d as oa } from "./normalizeWorkbenchExtensions-Ccv3n3fC.js";
1
+ import { D as s, F as o, G as r, H as t, I as n, A as c, J as l, K as i, L as p, B as A, M as C, N as d, O as m, P as E, Q as u, R as g, S as h, T as R, U as W, V as _, X as k, Y as P, Z as S, $ as b, a0 as T, C as v, p as f, y as M, r as L, e as y, h as O, i as N, s as D, g as I, a1 as B, u as H, w as x } from "./index-C1Y_OWV9.js";
2
+ import { WORKBENCH_APP_I18N_PROJECTS as K, resolveWorkbenchI18nProjects as F } from "./i18n/index.js";
3
+ import { D as U, L as V, S as Y, j, k as z, a as X, m as q, n as J, o as Q, h as Z, g as $, f as ee, p as ae, q as se, s as oe, t as re, l as te, u as ne, v as ce, w as le, x as ie, y as pe, r as Ae, z as Ce } from "./cardFactory-D5dyYSC3.js";
4
+ import { c as me } from "./canvasFacade-ZFqB_i7z.js";
5
+ import { D as ue, i as ge, j as he, k as Re, l as We, m as _e, n as ke, o as Pe, c as Se, a as be, p as Te, q as ve, e as fe, s as Me, t as Le, v as ye, w as Oe, x as Ne, y as De, z as Ie, A as Be, B as He, C as xe, E as we, F as Ke, G as Fe, H as Ge, I as Ue, J as Ve, K as Ye, L as je, M as ze, N as Xe, O as qe, P as Je, u as Qe, b as Ze, Q as $e, R as ea } from "./useWorkbenchRuntime-CJLqEtgU.js";
6
+ import { W as sa, a as oa, b as ra, c as ta, d as na } from "./normalizeWorkbenchExtensions-Ccv3n3fC.js";
6
7
  export {
7
- de as DEEP_AGENT_TOOL_DISPLAY_NAMES,
8
- me as DEEP_AGENT_VISIBLE_PROGRESS_TEXTS,
9
- K as DEFAULT_LOGICAL_CARD_PRESET_SIZES,
8
+ ue as DEEP_AGENT_TOOL_DISPLAY_NAMES,
9
+ ge as DEEP_AGENT_VISIBLE_PROGRESS_TEXTS,
10
+ U as DEFAULT_LOGICAL_CARD_PRESET_SIZES,
10
11
  s as DEFAULT_WORKBENCH_CARD_STYLE_CONFIG,
11
- F as LOGICAL_CANVAS_COLUMNS,
12
- G as SNAP_UNIT,
12
+ V as LOGICAL_CANVAS_COLUMNS,
13
+ Y as SNAP_UNIT,
13
14
  o as WORKBENCH_APP_CONTEXT_KEY,
15
+ K as WORKBENCH_APP_I18N_PROJECTS,
14
16
  r as WORKBENCH_APP_PACKAGE_NAME,
15
17
  t as WORKBENCH_APP_VERSION,
16
- $e as WORKBENCH_CUSTOM_CARD_CATALOG,
18
+ sa as WORKBENCH_CUSTOM_CARD_CATALOG,
17
19
  n as WORKBENCH_HOST_CONTEXT_KEY,
18
- ea as WORKBENCH_TEMPLATE_WEATHER_CAPABILITY_ID,
19
- aa as WORKBENCH_TEMPLATE_WEATHER_COMPONENT_REF,
20
- sa as WORKBENCH_TEMPLATE_WEATHER_PREVIEW_URL,
20
+ oa as WORKBENCH_TEMPLATE_WEATHER_CAPABILITY_ID,
21
+ ra as WORKBENCH_TEMPLATE_WEATHER_COMPONENT_REF,
22
+ ta as WORKBENCH_TEMPLATE_WEATHER_PREVIEW_URL,
21
23
  c as WorkbenchAppHost,
22
24
  l as WorkbenchApplication,
23
25
  i as WorkbenchShell,
24
26
  p as WorkbenchWorkspaceCore,
25
- ue as applyDeepAgentPreambleMessageToTurn,
26
- Ee as applyDeepAgentProcessEventToTurn,
27
- ge as approveMemory,
28
- U as canvasLogicalHeight,
27
+ he as applyDeepAgentPreambleMessageToTurn,
28
+ Re as applyDeepAgentProcessEventToTurn,
29
+ We as approveMemory,
30
+ j as canvasLogicalHeight,
29
31
  A as cardStyleConfigFromSnapshotVisualConfig,
30
- V as clampLogicalRect,
31
- Y as compactLogicalBlocksAfterInsert,
32
- z as compactLogicalRows,
33
- X as createBrowserStorageAdapter,
34
- Ae as createCanvasApiFacade,
35
- he as createConversationMemoryCandidate,
32
+ z as clampLogicalRect,
33
+ X as compactLogicalBlocksAfterInsert,
34
+ q as compactLogicalRows,
35
+ J as createBrowserStorageAdapter,
36
+ me as createCanvasApiFacade,
37
+ _e as createConversationMemoryCandidate,
36
38
  C as createDefaultWorkbenchIdentityAdapter,
37
39
  d as createDefaultWorkbenchRouterAdapter,
38
40
  m as createDefaultWorkbenchStorageAdapter,
39
- Re as createManualMemoryCandidate,
40
- u as createWorkbenchAppContext,
41
- E as createWorkbenchAppTestAdapters,
42
- We as createWorkbenchCanvasBus,
41
+ ke as createManualMemoryCandidate,
42
+ E as createWorkbenchAppContext,
43
+ u as createWorkbenchAppTestAdapters,
44
+ Pe as createWorkbenchCanvasBus,
43
45
  g as createWorkbenchEndpointResolver,
44
46
  h as createWorkbenchFeatureRoute,
45
47
  R as createWorkbenchHostContext,
46
- ke as createWorkbenchRuntimeScope,
47
- _e as createWorkbenchRuntimeStoreDefinition,
48
+ Se as createWorkbenchRuntimeScope,
49
+ be as createWorkbenchRuntimeStoreDefinition,
48
50
  W as createWorkbenchServicePorts,
49
- oa as customComponentRegistry,
50
- Se as deepAgentToolDisplayName,
51
- j as defaultLogicalSize,
52
- k as defaultWorkbenchAgentTransportAdapter,
53
- q as defaultWorkbenchAssetAdapter,
54
- _ as defaultWorkbenchEndpointResolver,
55
- J as defaultWorkbenchLoggerAdapter,
56
- Q as defaultWorkbenchMessageAdapter,
57
- S as defaultWorkbenchPlatformRequestAdapter,
58
- b as defaultWorkbenchRealtimeAdapter,
59
- T as defaultWorkbenchUploadAdapter,
60
- be as deleteMemoryPermanently,
61
- Te as ensurePlatformUserSessionReady,
62
- Pe as extractConversationMemoryCandidates,
63
- Z as findAutoInsertLogicalRect,
64
- $ as findFreeLogicalRect,
65
- ve as forgetMemory,
66
- P as formatAmount,
67
- Me as getConversationContextSnapshot,
68
- ee as getLogicalScale,
69
- fe as getMemoryMarkdown,
51
+ na as customComponentRegistry,
52
+ Te as deepAgentToolDisplayName,
53
+ Q as defaultLogicalSize,
54
+ _ as defaultWorkbenchAgentTransportAdapter,
55
+ Z as defaultWorkbenchAssetAdapter,
56
+ k as defaultWorkbenchEndpointResolver,
57
+ $ as defaultWorkbenchLoggerAdapter,
58
+ ee as defaultWorkbenchMessageAdapter,
59
+ P as defaultWorkbenchPlatformRequestAdapter,
60
+ S as defaultWorkbenchRealtimeAdapter,
61
+ b as defaultWorkbenchUploadAdapter,
62
+ ve as deleteMemoryPermanently,
63
+ fe as ensurePlatformUserSessionReady,
64
+ Me as extractConversationMemoryCandidates,
65
+ ae as findAutoInsertLogicalRect,
66
+ se as findFreeLogicalRect,
67
+ Le as forgetMemory,
68
+ T as formatAmount,
69
+ ye as getConversationContextSnapshot,
70
+ oe as getLogicalScale,
71
+ Oe as getMemoryMarkdown,
70
72
  v as isDefaultWorkbenchCardStyleConfig,
71
- Le as isPossibleDeepAgentProgressMessagePrefix,
72
- ae as isSlotFree,
73
- ye as listAgentMemoryItems,
74
- Oe as listMemoryEvents,
75
- se as logicalRectToBlockLayout,
76
- oe as logicalToPixel,
77
- re as pixelToLogical,
78
- M as placeCardRecommendationDraftMessagesAfterTurnReplies,
79
- De as previewConversationMemoryCandidates,
80
- Ne as previewMemoryRecall,
81
- Be as previewRecentConversationMemory,
82
- Ie as readCanvasLocalSnapshot,
83
- te as rectsOverlap,
84
- He as refreshConversationContextSnapshot,
85
- xe as rejectMemory,
86
- we as removeDeepAgentMessageProcessGroups,
87
- Ke as removeTemporaryPreambleProcessGroup,
88
- ne as repackLogicalBlocksPreserveSize,
89
- ce as resolveAutoInsertLogicalRect,
90
- f as resolveBrowserWorkbenchEntryParams,
73
+ Ne as isPossibleDeepAgentProgressMessagePrefix,
74
+ re as isSlotFree,
75
+ De as listAgentMemoryItems,
76
+ Ie as listMemoryEvents,
77
+ te as logicalRectToBlockLayout,
78
+ ne as logicalToPixel,
79
+ ce as pixelToLogical,
80
+ f as placeCardRecommendationDraftMessagesAfterTurnReplies,
81
+ Be as previewConversationMemoryCandidates,
82
+ He as previewMemoryRecall,
83
+ xe as previewRecentConversationMemory,
84
+ we as readCanvasLocalSnapshot,
85
+ le as rectsOverlap,
86
+ Ke as refreshConversationContextSnapshot,
87
+ Fe as rejectMemory,
88
+ Ge as removeDeepAgentMessageProcessGroups,
89
+ Ue as removeTemporaryPreambleProcessGroup,
90
+ ie as repackLogicalBlocksPreserveSize,
91
+ pe as resolveAutoInsertLogicalRect,
92
+ M as resolveBrowserWorkbenchEntryParams,
91
93
  L as resolveFdeSkillVisibleColumnTitle,
92
- le as resolveInitialLogicalRect,
94
+ Ae as resolveInitialLogicalRect,
93
95
  y as resolveWorkbenchCompletedStatusContent,
94
96
  O as resolveWorkbenchCompletedStatusPatch,
95
- D as returnItemPayloadSignature,
96
- Fe as reviewConversationMemories,
97
- Ge as saveSimplifiedConversationMemory,
98
- N as shouldAutoRefreshWorkbenchDataBinding,
99
- ie as snapLogical,
100
- Ue as splitDeepAgentProgressMessage,
101
- B as syncWorkbenchChatStructuredMessageFields,
102
- Ve as toggleConversationProcessCollapsed,
103
- Ye as updateMemoryContent,
104
- ze as updateMemoryMarkdown,
105
- Xe as updateMemoryPolicy,
106
- I as useWorkbenchAppContext,
97
+ F as resolveWorkbenchI18nProjects,
98
+ N as returnItemPayloadSignature,
99
+ Ve as reviewConversationMemories,
100
+ Ye as saveSimplifiedConversationMemory,
101
+ D as shouldAutoRefreshWorkbenchDataBinding,
102
+ Ce as snapLogical,
103
+ je as splitDeepAgentProgressMessage,
104
+ I as syncWorkbenchChatStructuredMessageFields,
105
+ ze as toggleConversationProcessCollapsed,
106
+ Xe as updateMemoryContent,
107
+ qe as updateMemoryMarkdown,
108
+ Je as updateMemoryPolicy,
109
+ B as useWorkbenchAppContext,
107
110
  H as useWorkbenchHostContext,
108
- je as useWorkbenchRuntime,
109
- qe as useWorkbenchRuntimeStore,
110
- Je as workbenchCanvasBus,
111
+ Qe as useWorkbenchRuntime,
112
+ Ze as useWorkbenchRuntimeStore,
113
+ $e as workbenchCanvasBus,
111
114
  x as workbenchDataBindingRefreshApi,
112
- Qe as writeCanvasLocalSnapshot
115
+ ea as writeCanvasLocalSnapshot
113
116
  };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @fileoverview workbench-app 国际化公共合同 - 汇总包内运行态及其依赖所需的项目。
3
+ * @author seadon
4
+ * @created 2026-09-01
5
+ */
6
+ /**
7
+ * workbench-app 及其包内依赖默认需要的国际化项目。
8
+ * 新增包内依赖的国际化项目时,只应在这里增加项目编码。
9
+ */
10
+ export declare const WORKBENCH_APP_I18N_PROJECTS: readonly ["FWA", "FAC", "FWC", "FRA"];
11
+ export type WorkbenchAppI18nProject = typeof WORKBENCH_APP_I18N_PROJECTS[number];
12
+ /**
13
+ * 合并宿主项目和 workbench-app 项目,并按首次出现顺序去重。
14
+ * @param hostProjects - 宿主自身需要加载的国际化项目。
15
+ * @returns 供 locale-message 使用的项目编码列表。
16
+ */
17
+ export declare function resolveWorkbenchI18nProjects(hostProjects?: readonly string[]): string[];
@@ -0,0 +1,14 @@
1
+ const r = Object.freeze([
2
+ "FWA",
3
+ "FAC",
4
+ "FWC",
5
+ "FRA"
6
+ ]);
7
+ function n(e = []) {
8
+ const t = [...e, ...r];
9
+ return [...new Set(t.map((o) => o.trim()).filter(Boolean))];
10
+ }
11
+ export {
12
+ r as WORKBENCH_APP_I18N_PROJECTS,
13
+ n as resolveWorkbenchI18nProjects
14
+ };
@@ -1,3 +1,4 @@
1
+ import "./i18n/index.js";
1
2
  import { toRefs as Fe, shallowReadonly as Y, inject as ye, defineComponent as M, provide as G, openBlock as k, createElementBlock as W, renderSlot as O, createElementVNode as D, normalizeClass as ie, normalizeStyle as q, withModifiers as He, unref as J, createCommentVNode as U, createVNode as T, Transition as $e, withCtx as H, shallowRef as re, onMounted as ke, watch as Ee, onBeforeUnmount as L, toDisplayString as Ke, createBlock as V, resolveDynamicComponent as ne, Fragment as qe, renderList as Ue, computed as Ie, defineAsyncComponent as Q, ref as xe, h as Le } from "vue";
2
3
  import { d as u, f as Ae, g as _e, h as Re, i as Ve } from "./cardFactory-D5dyYSC3.js";
3
4
  import { n as Ge, w as ze } from "./normalizeWorkbenchExtensions-Ccv3n3fC.js";
@@ -6,7 +7,7 @@ import { fetchEventSource as Ye } from "@microsoft/fetch-event-source";
6
7
  import { r as Je, e as Xe, d as Ze, f as et, g as tt, c as rt, a as nt, W as ot, h as st } from "./useWorkbenchRuntime-CJLqEtgU.js";
7
8
  import "./canvasFacade-ZFqB_i7z.js";
8
9
  import { useRoute as at } from "vue-router";
9
- const it = "0.2.20", ce = "workbench-app-version";
10
+ const it = "0.2.21", ce = "workbench-app-version";
10
11
  function ct() {
11
12
  if (typeof document > "u" || document.querySelector(`meta[name="${ce}"]`)) return !1;
12
13
  const e = document.createElement("meta");
@@ -22,7 +23,7 @@ function dt(e) {
22
23
  extensions: Y(n)
23
24
  };
24
25
  }
25
- function sn() {
26
+ function an() {
26
27
  const e = ye(We);
27
28
  if (!e)
28
29
  throw new Error("useWorkbenchAppContext must be used inside WorkbenchWorkspaceCore");
@@ -217,7 +218,7 @@ const F = /* @__PURE__ */ M({
217
218
  key: i.id
218
219
  }))), 128));
219
220
  }
220
- }), an = /* @__PURE__ */ M({
221
+ }), cn = /* @__PURE__ */ M({
221
222
  __name: "WorkbenchAppHost",
222
223
  props: {
223
224
  adapters: {},
@@ -301,8 +302,8 @@ const F = /* @__PURE__ */ M({
301
302
  _: 3
302
303
  }, 8, ["adapters", "config", "extensions"]));
303
304
  }
304
- }), Ct = "workbench.builtin.card-center", Wt = "workbench.card-center", le = "workbench.card-center.drawer", vt = "workbench.card-center.open", cn = "workbench.card-center.insert-system-card", dn = "workbench.card-center.insert-custom-card", ln = "workbench.card-center.config-dialog-change", St = Q(
305
- () => import("./WorkbenchCardCenterDrawer-CWBuBD04.js")
305
+ }), Ct = "workbench.builtin.card-center", Wt = "workbench.card-center", le = "workbench.card-center.drawer", vt = "workbench.card-center.open", dn = "workbench.card-center.insert-system-card", ln = "workbench.card-center.insert-custom-card", un = "workbench.card-center.config-dialog-change", St = Q(
306
+ () => import("./WorkbenchCardCenterDrawer-BxRFAZDG.js")
306
307
  );
307
308
  function Pt() {
308
309
  return {
@@ -330,7 +331,7 @@ function Pt() {
330
331
  version: "1.0.0"
331
332
  };
332
333
  }
333
- const Tt = "workbench.optional.diagnostics", Nt = "workbench.diagnostics.route", Ot = "workbench.diagnostics.refresh", Dt = "workbench.diagnostics.refreshed", ue = Q(() => import("./WorkbenchDiagnosticsPage-D0mWFNWS.js")), Mt = Q(() => import("./WorkbenchDiagnosticsFooter-BxpwRNMe.js"));
334
+ const Tt = "workbench.optional.diagnostics", Nt = "workbench.diagnostics.route", Ot = "workbench.diagnostics.refresh", Dt = "workbench.diagnostics.refreshed", ue = Q(() => import("./WorkbenchDiagnosticsPage-OdYSvQ2O.js")), Mt = Q(() => import("./WorkbenchDiagnosticsFooter-BXQJLBMu.js"));
334
335
  function Bt() {
335
336
  return {
336
337
  id: Tt,
@@ -587,7 +588,7 @@ function Se(e = {}) {
587
588
  }
588
589
  };
589
590
  }
590
- const un = Se();
591
+ const fn = Se();
591
592
  function cr(e, t = {}) {
592
593
  const r = e.endpointResolver ?? Se(t);
593
594
  return {
@@ -1007,7 +1008,7 @@ function Te(e, t = {}) {
1007
1008
  services: o.services
1008
1009
  };
1009
1010
  }
1010
- const fn = /* @__PURE__ */ M({
1011
+ const hn = /* @__PURE__ */ M({
1011
1012
  __name: "WorkbenchApplication",
1012
1013
  props: {
1013
1014
  adapters: {},
@@ -1046,7 +1047,7 @@ const fn = /* @__PURE__ */ M({
1046
1047
  });
1047
1048
  const o = ze(r.extensions);
1048
1049
  Ve(t.adapters, t.config, o);
1049
- const s = Q(() => import("./Workspace-DwnUU7_7.js"));
1050
+ const s = Q(() => import("./Workspace-C4Co3cIc.js"));
1050
1051
  return (a, i) => (k(), V(J(s), {
1051
1052
  "embed-in-portal": t.embedInPortal
1052
1053
  }, {
@@ -1058,7 +1059,7 @@ const fn = /* @__PURE__ */ M({
1058
1059
  }, 8, ["embed-in-portal"]));
1059
1060
  }
1060
1061
  });
1061
- function hn(e = {}) {
1062
+ function mn(e = {}) {
1062
1063
  const t = /* @__PURE__ */ new Map();
1063
1064
  return {
1064
1065
  agentTransportAdapter: {
@@ -1120,7 +1121,7 @@ const wr = [
1120
1121
  "thinkingProcessMessages",
1121
1122
  "workbenchTurnId"
1122
1123
  ];
1123
- function mn(e, t) {
1124
+ function pn(e, t) {
1124
1125
  for (const r of wr)
1125
1126
  e[r] = t[r];
1126
1127
  }
@@ -1162,7 +1163,7 @@ function Er(e, t) {
1162
1163
  const r = yr(t), n = kr(t);
1163
1164
  return me(e, r) ? r : me(e, n) ? n : n || Ne(t) || r || Oe(t.id);
1164
1165
  }
1165
- function pn(e) {
1166
+ function gn(e) {
1166
1167
  for (const t of e.appendedMessages.values()) {
1167
1168
  if (!t.cardRecommendationDraft) continue;
1168
1169
  const r = Er(e.messages, t);
@@ -1188,7 +1189,7 @@ function Ar(e) {
1188
1189
  const r = t.replace(/完成(?:,用时 .*)?$/u, "").trim();
1189
1190
  return u("FWA.cc001787570980831", { p0: r });
1190
1191
  }
1191
- function gn(e, t) {
1192
+ function bn(e, t) {
1192
1193
  return {
1193
1194
  content: Ar(e),
1194
1195
  loading: !1,
@@ -1245,7 +1246,7 @@ function _r(e) {
1245
1246
  Me(t.queryResult || s)
1246
1247
  ].join(":");
1247
1248
  }
1248
- function bn(e) {
1249
+ function wn(e) {
1249
1250
  const t = N(e), r = typeof t.type == "string" ? t.type : "";
1250
1251
  if (r === "card_recommendations_ready") {
1251
1252
  const n = Array.isArray(t.recommendations) ? t.recommendations : [], o = st({
@@ -1301,14 +1302,14 @@ function Tr(e, t, r) {
1301
1302
  function Nr(e, t) {
1302
1303
  return v(e == null ? void 0 : e.params) || v(e) || v(t) || v(t == null ? void 0 : t.source) || v(t == null ? void 0 : t.data) || x(t == null ? void 0 : t.recognition) || x(t == null ? void 0 : t.meta);
1303
1304
  }
1304
- function wn(e, t) {
1305
+ function yn(e, t) {
1305
1306
  if (!e) return !1;
1306
1307
  const r = Sr(e);
1307
1308
  if (!r || Pr(r) || Tr(e, t, r)) return !1;
1308
1309
  const n = typeof (e == null ? void 0 : e.status) == "string" ? e.status.trim().toLowerCase() : "";
1309
1310
  return !(Rr.has(n) || Be(r) && Nr(e, t));
1310
1311
  }
1311
- function yn(e) {
1312
+ function kn(e) {
1312
1313
  var n;
1313
1314
  const t = (n = e.title) == null ? void 0 : n.trim(), r = t ? Or(t) : void 0;
1314
1315
  return r || u("FWA.56db1787570894461", { p0: e.index + 1 });
@@ -1372,7 +1373,7 @@ const Mr = ["data-workbench-feature-state"], Br = { key: 0 }, Fr = { key: 1 }, H
1372
1373
  ], 8, Mr));
1373
1374
  }
1374
1375
  }), qr = /* @__PURE__ */ se(Kr, [["__scopeId", "data-v-6723ad51"]]);
1375
- function kn(e) {
1376
+ function En(e) {
1376
1377
  return {
1377
1378
  component: M({
1378
1379
  name: "WorkbenchFeatureRouteHost",
@@ -1396,10 +1397,10 @@ function kn(e) {
1396
1397
  function ee(e, t = {}, r = "-") {
1397
1398
  return Number.isFinite(e) ? new Intl.NumberFormat("zh-CN", t).format(e) : r;
1398
1399
  }
1399
- function En(e, t = "") {
1400
+ function In(e, t = "") {
1400
1401
  return t === "percent" ? `${(e * 100).toFixed(1)}%` : t === "currency" ? Math.abs(e) >= 1e8 ? u("FWA.15b51787570950350", { p0: (e / 1e8).toFixed(2) }) : Math.abs(e) >= 1e4 ? u("FWA.e1c91787570950875", { p0: (e / 1e4).toFixed(1) }) : `¥${ee(e)}` : ee(e);
1401
1402
  }
1402
- function In(e, t = {}) {
1403
+ function An(e, t = {}) {
1403
1404
  return e === 0 ? "-" : ee(e, t);
1404
1405
  }
1405
1406
  function be(e = {}) {
@@ -1483,7 +1484,7 @@ function be(e = {}) {
1483
1484
  };
1484
1485
  return Lr(t);
1485
1486
  }
1486
- function An(e) {
1487
+ function _n(e) {
1487
1488
  if (typeof window > "u")
1488
1489
  return be({ routeQuery: e });
1489
1490
  const t = be({
@@ -1576,7 +1577,7 @@ const E = {
1576
1577
  textureColor: "#ffffff",
1577
1578
  motion: "none",
1578
1579
  density: "standard"
1579
- }, _n = [
1580
+ }, Rn = [
1580
1581
  {
1581
1582
  key: "radius",
1582
1583
  label: u("FWA.71e11787571689316"),
@@ -1663,7 +1664,7 @@ function z(e) {
1663
1664
  density: K("density", t.density)
1664
1665
  };
1665
1666
  }
1666
- function Rn(e) {
1667
+ function Cn(e) {
1667
1668
  const t = z(e);
1668
1669
  return t.radius === E.radius && t.border === E.border && t.shadow === E.shadow && t.texture === E.texture && t.textureColor === E.textureColor && t.motion === E.motion && t.density === E.density;
1669
1670
  }
@@ -1683,7 +1684,7 @@ const Qr = {
1683
1684
  standard: "standard",
1684
1685
  expanded: "loose"
1685
1686
  };
1686
- function Cn(e) {
1687
+ function Wn(e) {
1687
1688
  const t = z(e);
1688
1689
  return {
1689
1690
  cardStyle: {
@@ -1695,7 +1696,7 @@ function Cn(e) {
1695
1696
  }
1696
1697
  };
1697
1698
  }
1698
- function Wn(e) {
1699
+ function vn(e) {
1699
1700
  const t = te(e == null ? void 0 : e.cardStyle), r = te(t.shell);
1700
1701
  if (Object.keys(r).length > 0)
1701
1702
  return z(r);
@@ -1710,62 +1711,62 @@ function Wn(e) {
1710
1711
  density: s
1711
1712
  });
1712
1713
  }
1713
- const vn = "@fses/workbench-app";
1714
+ const Sn = "@fses/workbench-app";
1714
1715
  export {
1715
1716
  ar as $,
1716
- an as A,
1717
- Wn as B,
1718
- Rn as C,
1717
+ cn as A,
1718
+ vn as B,
1719
+ Cn as C,
1719
1720
  E as D,
1720
- Cn as E,
1721
+ Wn as E,
1721
1722
  We as F,
1722
- vn as G,
1723
+ Sn as G,
1723
1724
  it as H,
1724
1725
  oe as I,
1725
- fn as J,
1726
+ hn as J,
1726
1727
  wt as K,
1727
1728
  ut as L,
1728
1729
  sr as M,
1729
1730
  nr as N,
1730
1731
  or as O,
1731
1732
  dt as P,
1732
- hn as Q,
1733
+ mn as Q,
1733
1734
  Se as R,
1734
- kn as S,
1735
+ En as S,
1735
1736
  Te as T,
1736
1737
  cr as U,
1737
1738
  tr as V,
1738
1739
  Ot as W,
1739
- un as X,
1740
+ fn as X,
1740
1741
  ve as Y,
1741
1742
  ir as Z,
1742
1743
  se as _,
1743
- cn as a,
1744
- In as a0,
1745
- sn as a1,
1746
- dn as b,
1747
- ln as c,
1748
- _n as d,
1744
+ dn as a,
1745
+ An as a0,
1746
+ an as a1,
1747
+ ln as b,
1748
+ un as c,
1749
+ Rn as d,
1749
1750
  Ar as e,
1750
- En as f,
1751
- mn as g,
1752
- gn as h,
1753
- bn as i,
1751
+ In as f,
1752
+ pn as g,
1753
+ bn as h,
1754
+ wn as i,
1754
1755
  jt as j,
1755
1756
  Ut as k,
1756
1757
  xt as l,
1757
1758
  Lt as m,
1758
1759
  z as n,
1759
1760
  Qt as o,
1760
- pn as p,
1761
+ gn as p,
1761
1762
  qt as q,
1762
- yn as r,
1763
- wn as s,
1763
+ kn as r,
1764
+ yn as s,
1764
1765
  $t as t,
1765
1766
  j as u,
1766
1767
  Kt as v,
1767
1768
  Sr as w,
1768
1769
  vt as x,
1769
- An as y,
1770
+ _n as y,
1770
1771
  le as z
1771
1772
  };
package/dist/index.d.ts CHANGED
@@ -6,6 +6,8 @@
6
6
  import './styles/workbench-app.css';
7
7
  import './version';
8
8
  export { WORKBENCH_APP_VERSION } from './version';
9
+ export { resolveWorkbenchI18nProjects, WORKBENCH_APP_I18N_PROJECTS } from './i18n';
10
+ export type { WorkbenchAppI18nProject } from './i18n';
9
11
  export { default as WorkbenchWorkspaceCore } from './components/WorkbenchWorkspaceCore.vue';
10
12
  export { default as WorkbenchAppHost } from './components/WorkbenchAppHost.vue';
11
13
  export { default as WorkbenchApplication } from './components/WorkbenchApplication.vue';
package/dist/version.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * @author seadon
5
5
  * @created 2026-08-17
6
6
  */
7
- export declare const WORKBENCH_APP_VERSION = "0.2.20";
7
+ export declare const WORKBENCH_APP_VERSION = "0.2.21";
8
8
  export declare const WORKBENCH_APP_VERSION_META_NAME = "workbench-app-version";
9
9
  /**
10
10
  * 将当前包版本写入页面 head 的 meta 标签。
package/package.json CHANGED
@@ -70,6 +70,10 @@
70
70
  "import": "./dist/fses-workbench-app.js",
71
71
  "types": "./dist/fde-runtime/runtime/fdeSkillDisplayLabel.d.ts"
72
72
  },
73
+ "./i18n": {
74
+ "import": "./dist/i18n/index.js",
75
+ "types": "./dist/i18n/index.d.ts"
76
+ },
73
77
  "./plugin": {
74
78
  "import": "./dist/plugin/index.js",
75
79
  "types": "./dist/plugin/index.d.ts"
@@ -147,5 +151,5 @@
147
151
  },
148
152
  "type": "module",
149
153
  "types": "./dist/index.d.ts",
150
- "version": "0.2.20"
154
+ "version": "0.2.21"
151
155
  }