@fulgurjs/federation 6.13.3 → 6.13.5

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.
Files changed (52) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/bridge-app-react.js +4 -4
  3. package/dist/bridge-app-vue.js +5 -5
  4. package/dist/bridge-core.cjs +4 -1
  5. package/dist/bridge-core.js +4 -4
  6. package/dist/bridge-errors.cjs +5 -2
  7. package/dist/bridge-errors.js +2 -2
  8. package/dist/bridge-host-react.cjs +7 -4
  9. package/dist/bridge-host-react.js +9 -7
  10. package/dist/bridge-host-vue.cjs +7 -4
  11. package/dist/bridge-host-vue.js +9 -7
  12. package/dist/bridge-session-auto.js +2 -2
  13. package/dist/{chunk-H46PAH5S.js → chunk-ATU42YF3.js} +1 -1
  14. package/dist/{chunk-HWCJILPW.js → chunk-EGXWY5NW.js} +5 -4
  15. package/dist/{chunk-MZLWIJ6V.js → chunk-EK5JODE4.js} +2 -2
  16. package/dist/{chunk-7OOPFHL3.js → chunk-FXG2TWSA.js} +1 -1
  17. package/dist/{chunk-5ZXA4FPA.js → chunk-NX3HRELG.js} +1 -1
  18. package/dist/{chunk-VBPOHJUI.js → chunk-Y7YANGLN.js} +1 -1
  19. package/dist/cli.js +1 -1
  20. package/dist/context.js +2 -2
  21. package/dist/index.cjs +2 -2
  22. package/dist/index.js +2 -2
  23. package/dist/react-adapter.cjs +1 -1
  24. package/dist/react-adapter.js +2 -2
  25. package/dist/runtime.js +13 -13
  26. package/dist/vue-adapter.cjs +1 -1
  27. package/dist/vue-adapter.js +2 -2
  28. package/docs/en/reference/errors.md +3 -0
  29. package/docs/zh/reference/errors.md +3 -0
  30. package/examples/templates/react-host-vue-remote/pnpm-lock.yaml +7 -7
  31. package/examples/templates/react-host-vue-remote/pnpm-workspace.yaml +1 -1
  32. package/examples/templates/react-host-vue-remote/react-host/package.json +1 -1
  33. package/examples/templates/react-host-vue-remote/vue-remote/package.json +1 -1
  34. package/examples/templates/react-react/host/package.json +1 -1
  35. package/examples/templates/react-react/pnpm-lock.yaml +7 -7
  36. package/examples/templates/react-react/pnpm-workspace.yaml +1 -1
  37. package/examples/templates/react-react/remote/package.json +1 -1
  38. package/examples/templates/showcase/pnpm-lock.yaml +11 -11
  39. package/examples/templates/showcase/pnpm-workspace.yaml +1 -1
  40. package/examples/templates/showcase/react-host/package.json +1 -1
  41. package/examples/templates/showcase/react-remote/package.json +1 -1
  42. package/examples/templates/showcase/vue-host/package.json +1 -1
  43. package/examples/templates/showcase/vue-remote/package.json +1 -1
  44. package/examples/templates/vue-host-react-remote/pnpm-lock.yaml +7 -7
  45. package/examples/templates/vue-host-react-remote/pnpm-workspace.yaml +1 -1
  46. package/examples/templates/vue-host-react-remote/react-remote/package.json +1 -1
  47. package/examples/templates/vue-host-react-remote/vue-host/package.json +1 -1
  48. package/examples/templates/vue-vue/host/package.json +1 -1
  49. package/examples/templates/vue-vue/pnpm-lock.yaml +7 -7
  50. package/examples/templates/vue-vue/pnpm-workspace.yaml +1 -1
  51. package/examples/templates/vue-vue/remote/package.json +1 -1
  52. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # 当前发布说明
2
2
 
3
+ ## 6.13.5
4
+
5
+ - 五个独立模板与包内资产精确依赖已发布的基础修复包 6.13.4;锁文件通过 registry 实际解析,五套干净副本均完成冻结安装和构建。
6
+ - 最终 CLI 包版本为 6.13.5,模板实际插件依赖为 6.13.4;插件实现与 6.13.4 一致,仅版本标识、模板资产和发布说明变化。
7
+
8
+ ## 6.13.4
9
+
10
+ - 桥接宿主包装错误时原样保留非 Error 拒绝值;默认 Vue/React 桥接占位与卸载日志使用脱敏摘要。
11
+ - 修复运行时调试出口重新暴露原始远程入口的问题;入口摘要去掉凭据、query/hash,失败摘要和插件日志清理标注的敏感值,原始 cause 不变。
12
+ - 合并重复诊断格式与钩子日志,保持既有体积预算;补充非 Error 身份、调试摘要及两种框架默认提示的回归。
13
+ - 五个模板依赖已发布的 6.13.3;本版本是诊断补强的基础包,后续模板资产版本再统一依赖本版。
14
+
3
15
  ## 6.13.3
4
16
 
5
17
  - 修复 `bindStoreToApp` 在内联 `defineStore` 与 Pinia getter 组合时的泛型推导,保留真实 store 字段、方法和容器约束;使用真实 Pinia 的正反例检查。
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-6OB47FSR.js";
4
4
  import {
5
5
  markBridgeMount
6
- } from "./chunk-MZLWIJ6V.js";
7
- import "./chunk-HWCJILPW.js";
8
- import "./chunk-H46PAH5S.js";
9
- import "./chunk-5ZXA4FPA.js";
6
+ } from "./chunk-EK5JODE4.js";
7
+ import "./chunk-EGXWY5NW.js";
8
+ import "./chunk-ATU42YF3.js";
9
+ import "./chunk-NX3HRELG.js";
10
10
 
11
11
  // src/bridge-app-react.ts
12
12
  import { Component, createElement, useEffect } from "react";
@@ -3,16 +3,16 @@ import {
3
3
  } from "./chunk-6OB47FSR.js";
4
4
  import {
5
5
  sameLocation
6
- } from "./chunk-VBPOHJUI.js";
6
+ } from "./chunk-Y7YANGLN.js";
7
7
  import {
8
8
  markBridgeMount
9
- } from "./chunk-MZLWIJ6V.js";
9
+ } from "./chunk-EK5JODE4.js";
10
10
  import {
11
11
  routingChannelNotProvidedError,
12
12
  routingSyncError
13
- } from "./chunk-HWCJILPW.js";
14
- import "./chunk-H46PAH5S.js";
15
- import "./chunk-5ZXA4FPA.js";
13
+ } from "./chunk-EGXWY5NW.js";
14
+ import "./chunk-ATU42YF3.js";
15
+ import "./chunk-NX3HRELG.js";
16
16
 
17
17
  // src/bridge-router-sync.ts
18
18
  function collapseConsecutiveReports(report) {
@@ -36,6 +36,9 @@ module.exports = __toCommonJS(bridge_core_exports);
36
36
  function diagnosticUrl(text) {
37
37
  return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
38
38
  }
39
+ function diagnosticMessage(error) {
40
+ return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
41
+ }
39
42
  var FgError = class extends Error {
40
43
  code;
41
44
  details;
@@ -94,7 +97,7 @@ function invalidBridgeContractError(spec, mod) {
94
97
  );
95
98
  }
96
99
  function bridgeLifecycleError(phase, spec, cause, extra) {
97
- const raw = cause instanceof Error ? cause.message : String(cause ?? "unknown");
100
+ const raw = diagnosticMessage(cause);
98
101
  const fixes = {
99
102
  getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
100
103
  mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
@@ -8,10 +8,10 @@ import {
8
8
  releaseBridgeSession,
9
9
  resolveBridgeContext,
10
10
  withBridgeTimeout
11
- } from "./chunk-MZLWIJ6V.js";
12
- import "./chunk-HWCJILPW.js";
13
- import "./chunk-H46PAH5S.js";
14
- import "./chunk-5ZXA4FPA.js";
11
+ } from "./chunk-EK5JODE4.js";
12
+ import "./chunk-EGXWY5NW.js";
13
+ import "./chunk-ATU42YF3.js";
14
+ import "./chunk-NX3HRELG.js";
15
15
  export {
16
16
  acquireBridgeSession,
17
17
  assertBridgeContract,
@@ -38,6 +38,9 @@ module.exports = __toCommonJS(bridge_errors_exports);
38
38
  function diagnosticUrl(text) {
39
39
  return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
40
40
  }
41
+ function diagnosticMessage(error) {
42
+ return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
43
+ }
41
44
  var FgError = class extends Error {
42
45
  code;
43
46
  details;
@@ -85,7 +88,7 @@ function invalidBridgeContractError(spec, mod) {
85
88
  );
86
89
  }
87
90
  function bridgeLifecycleError(phase, spec, cause, extra) {
88
- const raw = cause instanceof Error ? cause.message : String(cause ?? "unknown");
91
+ const raw = diagnosticMessage(cause);
89
92
  const fixes = {
90
93
  getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
91
94
  mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
@@ -102,7 +105,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
102
105
  }
103
106
  function bridgeHostError(phase, spec, cause) {
104
107
  if (cause instanceof FgError) return cause;
105
- return bridgeLifecycleError(phase, spec, cause instanceof Error ? cause : String(cause));
108
+ return bridgeLifecycleError(phase, spec, cause);
106
109
  }
107
110
  function bridgeSessionMismatchError(spec, controlled, actual, extra) {
108
111
  const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
@@ -10,8 +10,8 @@ import {
10
10
  routingNavigationError,
11
11
  routingProtocolError,
12
12
  routingSyncError
13
- } from "./chunk-HWCJILPW.js";
14
- import "./chunk-5ZXA4FPA.js";
13
+ } from "./chunk-EGXWY5NW.js";
14
+ import "./chunk-NX3HRELG.js";
15
15
  export {
16
16
  BridgeErrorCodes,
17
17
  bridgeHostError,
@@ -29,6 +29,9 @@ var import_react = require("react");
29
29
  function diagnosticUrl(text) {
30
30
  return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
31
31
  }
32
+ function diagnosticMessage(error) {
33
+ return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
34
+ }
32
35
  var FgError = class extends Error {
33
36
  code;
34
37
  details;
@@ -109,7 +112,7 @@ function invalidBridgeContractError(spec, mod) {
109
112
  );
110
113
  }
111
114
  function bridgeLifecycleError(phase, spec, cause, extra) {
112
- const raw = cause instanceof Error ? cause.message : String(cause ?? "unknown");
115
+ const raw = diagnosticMessage(cause);
113
116
  const fixes = {
114
117
  getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
115
118
  mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
@@ -126,7 +129,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
126
129
  }
127
130
  function bridgeHostError(phase, spec, cause) {
128
131
  if (cause instanceof FgError) return cause;
129
- return bridgeLifecycleError(phase, spec, cause instanceof Error ? cause : String(cause));
132
+ return bridgeLifecycleError(phase, spec, cause);
130
133
  }
131
134
  function bridgeSessionMismatchError(spec, controlled, actual, extra) {
132
135
  const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
@@ -605,7 +608,7 @@ var SECONDARY_BUTTON_STYLE = {
605
608
  function DefaultBridgeErrorView({ error, retry, blocked }) {
606
609
  const err = error;
607
610
  const code = err?.code ?? "UNKNOWN";
608
- const message = err?.message ?? String(error ?? "unknown error");
611
+ const message = diagnosticMessage(error ?? "unknown error");
609
612
  return (0, import_react.createElement)("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
610
613
  (0, import_react.createElement)("p", { key: "t", style: { margin: "0 0 4px", fontWeight: 600 } }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
611
614
  (0, import_react.createElement)("p", { key: "m", style: MESSAGE_STYLE }, message),
@@ -720,7 +723,7 @@ function createReactBridgeAppWithLoader(loadRemote) {
720
723
  c.unmount(el);
721
724
  } catch (e) {
722
725
  const err = bridgeHostError("unmount", spec, e);
723
- console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", err);
726
+ console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", diagnosticMessage(err));
724
727
  blockedRef.current = true;
725
728
  setError(err);
726
729
  setStatus("error");
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  RoutingChannel,
3
3
  assertBridgeRoutingProtocol
4
- } from "./chunk-VBPOHJUI.js";
4
+ } from "./chunk-Y7YANGLN.js";
5
5
  import {
6
6
  acquireBridgeSession,
7
7
  assertBridgeContract,
@@ -10,14 +10,16 @@ import {
10
10
  releaseBridgeSession,
11
11
  resolveBridgeContext,
12
12
  withBridgeTimeout
13
- } from "./chunk-MZLWIJ6V.js";
13
+ } from "./chunk-EK5JODE4.js";
14
14
  import {
15
15
  bridgeHostError
16
- } from "./chunk-HWCJILPW.js";
16
+ } from "./chunk-EGXWY5NW.js";
17
17
  import {
18
18
  provideAppContext
19
- } from "./chunk-H46PAH5S.js";
20
- import "./chunk-5ZXA4FPA.js";
19
+ } from "./chunk-ATU42YF3.js";
20
+ import {
21
+ diagnosticMessage
22
+ } from "./chunk-NX3HRELG.js";
21
23
 
22
24
  // src/bridge-host-react.ts
23
25
  import {
@@ -64,7 +66,7 @@ var SECONDARY_BUTTON_STYLE = {
64
66
  function DefaultBridgeErrorView({ error, retry, blocked }) {
65
67
  const err = error;
66
68
  const code = err?.code ?? "UNKNOWN";
67
- const message = err?.message ?? String(error ?? "unknown error");
69
+ const message = diagnosticMessage(error ?? "unknown error");
68
70
  return createElement("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
69
71
  createElement("p", { key: "t", style: { margin: "0 0 4px", fontWeight: 600 } }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
70
72
  createElement("p", { key: "m", style: MESSAGE_STYLE }, message),
@@ -179,7 +181,7 @@ function createReactBridgeAppWithLoader(loadRemote) {
179
181
  c.unmount(el);
180
182
  } catch (e) {
181
183
  const err = bridgeHostError("unmount", spec, e);
182
- console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", err);
184
+ console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF1A", diagnosticMessage(err));
183
185
  blockedRef.current = true;
184
186
  setError(err);
185
187
  setStatus("error");
@@ -29,6 +29,9 @@ var import_vue = require("vue");
29
29
  function diagnosticUrl(text) {
30
30
  return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
31
31
  }
32
+ function diagnosticMessage(error) {
33
+ return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
34
+ }
32
35
  var FgError = class extends Error {
33
36
  code;
34
37
  details;
@@ -109,7 +112,7 @@ function invalidBridgeContractError(spec, mod) {
109
112
  );
110
113
  }
111
114
  function bridgeLifecycleError(phase, spec, cause, extra) {
112
- const raw = cause instanceof Error ? cause.message : String(cause ?? "unknown");
115
+ const raw = diagnosticMessage(cause);
113
116
  const fixes = {
114
117
  getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
115
118
  mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
@@ -126,7 +129,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
126
129
  }
127
130
  function bridgeHostError(phase, spec, cause) {
128
131
  if (cause instanceof FgError) return cause;
129
- return bridgeLifecycleError(phase, spec, cause instanceof Error ? cause : String(cause));
132
+ return bridgeLifecycleError(phase, spec, cause);
130
133
  }
131
134
  function bridgeSessionMismatchError(spec, controlled, actual, extra) {
132
135
  const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
@@ -614,7 +617,7 @@ var BridgeErrorPlaceholder = /* @__PURE__ */ (0, import_vue.defineComponent)({
614
617
  return () => {
615
618
  const err = props.error;
616
619
  const code = err?.code ?? "UNKNOWN";
617
- const message = err?.message ?? String(props.error ?? "unknown error");
620
+ const message = diagnosticMessage(props.error ?? "unknown error");
618
621
  return (0, import_vue.h)("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
619
622
  (0, import_vue.h)("p", { style: "margin:0 0 4px;font-weight:600" }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
620
623
  (0, import_vue.h)("p", { style: "margin:0 0 8px;word-break:break-all" }, message),
@@ -696,7 +699,7 @@ function createVueBridgeAppWithLoader(loadRemote, automaticSession) {
696
699
  } catch (e) {
697
700
  const err = bridgeHostError("unmount", spec, e);
698
701
  containerBlocked = true;
699
- console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", err);
702
+ console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", diagnosticMessage(err));
700
703
  error.value = err;
701
704
  status.value = "error";
702
705
  return false;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  RoutingChannel,
3
3
  assertBridgeRoutingProtocol
4
- } from "./chunk-VBPOHJUI.js";
4
+ } from "./chunk-Y7YANGLN.js";
5
5
  import {
6
6
  acquireBridgeSession,
7
7
  assertBridgeContract,
@@ -10,15 +10,17 @@ import {
10
10
  releaseBridgeSession,
11
11
  resolveBridgeContext,
12
12
  withBridgeTimeout
13
- } from "./chunk-MZLWIJ6V.js";
13
+ } from "./chunk-EK5JODE4.js";
14
14
  import {
15
15
  bridgeHostError
16
- } from "./chunk-HWCJILPW.js";
16
+ } from "./chunk-EGXWY5NW.js";
17
17
  import {
18
18
  clearAppContext,
19
19
  provideAppContext
20
- } from "./chunk-H46PAH5S.js";
21
- import "./chunk-5ZXA4FPA.js";
20
+ } from "./chunk-ATU42YF3.js";
21
+ import {
22
+ diagnosticMessage
23
+ } from "./chunk-NX3HRELG.js";
22
24
 
23
25
  // src/bridge-host-vue.ts
24
26
  import { defineComponent, h, onActivated, onBeforeUnmount, onDeactivated, onMounted, ref, shallowRef, toRaw, watch } from "vue";
@@ -68,7 +70,7 @@ var BridgeErrorPlaceholder = /* @__PURE__ */ defineComponent({
68
70
  return () => {
69
71
  const err = props.error;
70
72
  const code = err?.code ?? "UNKNOWN";
71
- const message = err?.message ?? String(props.error ?? "unknown error");
73
+ const message = diagnosticMessage(props.error ?? "unknown error");
72
74
  return h("div", { style: ERROR_STYLE, "data-fulgurjs-error": code }, [
73
75
  h("p", { style: "margin:0 0 4px;font-weight:600" }, `\u6865\u63A5\u5E94\u7528\u52A0\u8F7D\u5931\u8D25\uFF08\u9519\u8BEF\u7801 ${code}\uFF09`),
74
76
  h("p", { style: "margin:0 0 8px;word-break:break-all" }, message),
@@ -150,7 +152,7 @@ function createVueBridgeAppWithLoader(loadRemote, automaticSession) {
150
152
  } catch (e) {
151
153
  const err = bridgeHostError("unmount", spec, e);
152
154
  containerBlocked = true;
153
- console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", err);
155
+ console.error("[fulgurjs] \u6865\u63A5\u5E94\u7528\u5378\u8F7D\u5931\u8D25\uFF0C\u8BE5\u5BB9\u5668\u5DF2\u5C01\u9501\uFF08\u540C\u9875\u53EA\u80FD\u5237\u65B0\u6062\u590D\uFF09\uFF1A", diagnosticMessage(err));
154
156
  error.value = err;
155
157
  status.value = "error";
156
158
  return false;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  clearAppContext
3
- } from "./chunk-H46PAH5S.js";
4
- import "./chunk-5ZXA4FPA.js";
3
+ } from "./chunk-ATU42YF3.js";
4
+ import "./chunk-NX3HRELG.js";
5
5
 
6
6
  // src/bridge-session-auto.ts
7
7
  import { effectScope, ref, shallowRef, watch } from "vue";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  FgError
3
- } from "./chunk-5ZXA4FPA.js";
3
+ } from "./chunk-NX3HRELG.js";
4
4
 
5
5
  // src/context.ts
6
6
  var ContextErrorCodes = {
@@ -1,6 +1,7 @@
1
1
  import {
2
- FgError
3
- } from "./chunk-5ZXA4FPA.js";
2
+ FgError,
3
+ diagnosticMessage
4
+ } from "./chunk-NX3HRELG.js";
4
5
 
5
6
  // src/bridge-errors.ts
6
7
  var BridgeErrorCodes = {
@@ -38,7 +39,7 @@ function invalidBridgeContractError(spec, mod) {
38
39
  );
39
40
  }
40
41
  function bridgeLifecycleError(phase, spec, cause, extra) {
41
- const raw = cause instanceof Error ? cause.message : String(cause ?? "unknown");
42
+ const raw = diagnosticMessage(cause);
42
43
  const fixes = {
43
44
  getContext: "\u4FEE\u6CD5: \u2460 getContext \u5FC5\u987B\u662F\u540C\u6B65\u3001\u65E0\u526F\u4F5C\u7528\u7684 getter\uFF08\u4E0D\u5F97\u8FD4\u56DE Promise/thenable\uFF09\uFF1B\n \u2461 \u8FD4\u56DE\u503C\u987B\u662F\u5305\u542B\u672C\u6B21\u4F1A\u8BDD\u5FEB\u7167\u7684\u5BF9\u8C61\uFF08\u53D7\u63A7 sessionKey \u65F6\u987B\u542B\u76F8\u540C sessionKey\uFF09\uFF1B\n \u2462 \u5F02\u6B65\u83B7\u53D6\u7528\u6237\u8D44\u6599\u8BF7\u5728\u5BBF\u4E3B\u5B8C\u6210\u540E\u518D\u8BA9\u6865\u63A5\u7EC4\u4EF6\u8FDB\u5165\u53EF\u6302\u8F7D\u72B6\u6001\u3002",
44
45
  mount: "\u4FEE\u6CD5: \u2460 \u67E5\u770B\u6839\u56E0\u4E2D\u5B50\u5E94\u7528 mount \u7684\u539F\u59CB\u9519\u8BEF\uFF08\u5DE5\u5382\u629B\u9519\u6216\u9996\u6B21\u6E32\u67D3\u5931\u8D25\uFF09\uFF1B\n \u2461 \u540C\u4E00\u5BB9\u5668\u672A\u5378\u8F7D\u524D\u91CD\u590D mount \u662F\u5951\u7EA6\u8FDD\u4F8B\u2014\u2014\u5148 unmount \u518D mount\uFF1B\n \u2462 \u4FEE\u590D\u540E\u70B9\u51FB\u300C\u91CD\u8BD5\u52A0\u8F7D\u300D\u5728\u540C\u9875\u91CD\u5EFA\u6302\u8F7D\u3002",
@@ -55,7 +56,7 @@ function bridgeLifecycleError(phase, spec, cause, extra) {
55
56
  }
56
57
  function bridgeHostError(phase, spec, cause) {
57
58
  if (cause instanceof FgError) return cause;
58
- return bridgeLifecycleError(phase, spec, cause instanceof Error ? cause : String(cause));
59
+ return bridgeLifecycleError(phase, spec, cause);
59
60
  }
60
61
  function bridgeSessionMismatchError(spec, controlled, actual, extra) {
61
62
  const actualText = actual === void 0 ? "undefined\uFF08\u9875\u9762\u5C1A\u65E0 AppContext\uFF09" : typeof actual === "string" ? `"${actual}"` : String(actual);
@@ -3,10 +3,10 @@ import {
3
3
  bridgeSessionMismatchError,
4
4
  invalidBridgeContractError,
5
5
  invalidSessionKeyError
6
- } from "./chunk-HWCJILPW.js";
6
+ } from "./chunk-EGXWY5NW.js";
7
7
  import {
8
8
  clearAppContext
9
- } from "./chunk-H46PAH5S.js";
9
+ } from "./chunk-ATU42YF3.js";
10
10
 
11
11
  // src/bridge-core.ts
12
12
  function assertBridgeContract(spec, mod) {
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-TSXZ7TWA.js";
4
4
  import {
5
5
  ErrorCodes
6
- } from "./chunk-5ZXA4FPA.js";
6
+ } from "./chunk-NX3HRELG.js";
7
7
 
8
8
  // src/page-providers.ts
9
9
  function isComponentLoader(value) {
@@ -3,7 +3,7 @@ function diagnosticUrl(text) {
3
3
  return text.replace(/(https?:\/\/)(?:[^\s/@]+@)?([^\s?#"'<>,。;))\]]+)(?:[?#][^\s"'<>,。;))\]]*)?/g, "$1$2");
4
4
  }
5
5
  function diagnosticMessage(error) {
6
- return diagnosticUrl(String(error && typeof error === "object" && "message" in error ? error.message : error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
6
+ return diagnosticUrl(String(error?.message ?? error)).replace(/\b(token|password|cookie|authorization)["']?\s*[:=]\s*["']?(?:Bearer\s+)?[^\s,;"'}]+/gi, "$1=[redacted]");
7
7
  }
8
8
  var FgError = class extends Error {
9
9
  code;
@@ -3,7 +3,7 @@ import {
3
3
  routingNavigationError,
4
4
  routingProtocolError,
5
5
  routingSyncError
6
- } from "./chunk-HWCJILPW.js";
6
+ } from "./chunk-EGXWY5NW.js";
7
7
 
8
8
  // src/bridge-router-core.ts
9
9
  var MAX_REDIRECT_PER_REQUEST = 5;
package/dist/cli.js CHANGED
@@ -3187,7 +3187,7 @@ var RUNTIME_VERSION;
3187
3187
  var init_version = __esm({
3188
3188
  "src/version.ts"() {
3189
3189
  "use strict";
3190
- RUNTIME_VERSION = "6.13.3";
3190
+ RUNTIME_VERSION = "6.13.5";
3191
3191
  }
3192
3192
  });
3193
3193
 
package/dist/context.js CHANGED
@@ -4,8 +4,8 @@ import {
4
4
  getAppContext,
5
5
  provideAppContext,
6
6
  requireAppContext
7
- } from "./chunk-H46PAH5S.js";
8
- import "./chunk-5ZXA4FPA.js";
7
+ } from "./chunk-ATU42YF3.js";
8
+ import "./chunk-NX3HRELG.js";
9
9
  export {
10
10
  ContextErrorCodes,
11
11
  clearAppContext,