@xiaoqiong0v0/opencode-ssh-tool 0.5.1 → 0.6.0

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 (61) hide show
  1. package/README.md +27 -21
  2. package/dist/agent.d.ts +52 -0
  3. package/dist/agent.d.ts.map +1 -0
  4. package/dist/agent.js +250 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/base-session.d.ts +79 -13
  7. package/dist/base-session.d.ts.map +1 -1
  8. package/dist/base-session.js +246 -100
  9. package/dist/base-session.js.map +1 -1
  10. package/dist/config.d.ts +6 -2
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +16 -7
  13. package/dist/config.js.map +1 -1
  14. package/dist/constants.d.ts +14 -15
  15. package/dist/constants.d.ts.map +1 -1
  16. package/dist/constants.js +14 -15
  17. package/dist/constants.js.map +1 -1
  18. package/dist/i18n.d.ts +24 -14
  19. package/dist/i18n.d.ts.map +1 -1
  20. package/dist/i18n.js +37 -12
  21. package/dist/i18n.js.map +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +90 -73
  24. package/dist/index.js.map +1 -1
  25. package/dist/last-match.d.ts +11 -0
  26. package/dist/last-match.d.ts.map +1 -1
  27. package/dist/last-match.js +24 -0
  28. package/dist/last-match.js.map +1 -1
  29. package/dist/local-session.d.ts +0 -1
  30. package/dist/local-session.d.ts.map +1 -1
  31. package/dist/local-session.js +12 -8
  32. package/dist/local-session.js.map +1 -1
  33. package/dist/server-entry.d.ts +2 -0
  34. package/dist/server-entry.d.ts.map +1 -0
  35. package/dist/server-entry.js +61 -0
  36. package/dist/server-entry.js.map +1 -0
  37. package/dist/server-manager.d.ts +9 -9
  38. package/dist/server-manager.d.ts.map +1 -1
  39. package/dist/server-manager.js +109 -20
  40. package/dist/server-manager.js.map +1 -1
  41. package/dist/server.d.ts +3 -28
  42. package/dist/server.d.ts.map +1 -1
  43. package/dist/server.js +417 -275
  44. package/dist/server.js.map +1 -1
  45. package/dist/session.d.ts +0 -1
  46. package/dist/session.d.ts.map +1 -1
  47. package/dist/session.js +2 -9
  48. package/dist/session.js.map +1 -1
  49. package/dist/shell-adapter.d.ts +40 -2
  50. package/dist/shell-adapter.d.ts.map +1 -1
  51. package/dist/shell-adapter.js +252 -24
  52. package/dist/shell-adapter.js.map +1 -1
  53. package/dist/utils.d.ts +3 -1
  54. package/dist/utils.d.ts.map +1 -1
  55. package/dist/utils.js +29 -10
  56. package/dist/utils.js.map +1 -1
  57. package/dist/web/app.css +12 -7
  58. package/dist/web/app.js +11 -2
  59. package/dist/web/index.html +6 -3
  60. package/dist/web/xterm.css +218 -0
  61. package/package.json +3 -2
package/dist/config.js CHANGED
@@ -6,8 +6,9 @@ import { join } from "node:path";
6
6
  const DEFAULT_CONFIG = {
7
7
  server: {
8
8
  enabled: true,
9
- // 端口不设默认值:0 = 自动分配随机端口(避免冲突)
10
9
  port: 0,
10
+ streamTickMs: 100,
11
+ idleShutdownMs: 0,
11
12
  },
12
13
  history: {
13
14
  // 保留的消息对数(最小 1,保留最新)
@@ -30,17 +31,21 @@ const CONFIG_TEMPLATE = `{
30
31
  // HTTP 终端记录服务开关(默认 true)
31
32
  "server": {
32
33
  "enabled": true,
33
- // 端口:不设默认值。0 = 自动分配随机端口(推荐,避免冲突);可显式指定,如 8137
34
- "port": 0
34
+ // 端口:0 = 自动分配随机端口(推荐,避免冲突);可显式指定,如 8137
35
+ "port": 0,
36
+ // 流推送间隔(毫秒),默认 100。越小实时性越高但 WS 消息越频繁,最小 20
37
+ "streamTickMs": 100,
38
+ // 无任何会话连接时自动关闭超时(毫秒),0=不自动关闭。默认 0
39
+ "idleShutdownMs": 0
35
40
  },
36
41
  // 会话记录(命令+输出 消息对)管理:全部存文件(~/.opencode/plugins-cache/opencode-ssh-tool/<会话>/),随会话清理
37
42
  "history": {
38
43
  // 保留的消息对数上限(默认 100,最小 1)。超出时移除最旧的一对
39
44
  "maxMessages": 100
40
45
  },
41
- // 工具描述语言:"en" | "zh"(默认 "en",可用环境变量 SSH_TOOL_LANG 覆盖)
46
+ // 工具语言(工具描述 / CLI / agent·session 文案):"en" | "zh"(默认 "en",可用环境变量 SSH_TOOL_LANG 覆盖)
42
47
  "toolLang": "en",
43
- // Web 界面语言:"en" | "zh"(默认 "en",可用环境变量 SSH_TOOL_LANG 覆盖)
48
+ // Web 界面语言(仅页面 UI 文案):"en" | "zh"(默认 "en",可用环境变量 SSH_WEB_LANG 覆盖)
44
49
  "webLang": "en",
45
50
  // 权限自定义正则(追加到内置默认,控制"拒绝"与"需审批"命令)
46
51
  "permission": {
@@ -86,12 +91,16 @@ export function loadConfig() {
86
91
  const server = (raw.server ?? {});
87
92
  const history = (raw.history ?? {});
88
93
  const permission = (raw.permission ?? {});
89
- const toolLang = raw.toolLang === "zh" ? "zh" : "en";
90
- const webLang = raw.webLang === "zh" ? "zh" : "en";
94
+ // 语言:toolLang(工具)/ webLang(Web 界面)独立配置;向后兼容旧字段 lang(同时作为两者)
95
+ const legacyLang = raw.lang === "zh" ? "zh" : raw.lang === "en" ? "en" : undefined;
96
+ const toolLang = raw.toolLang === "zh" ? "zh" : raw.toolLang === "en" ? "en" : legacyLang ?? "en";
97
+ const webLang = raw.webLang === "zh" ? "zh" : raw.webLang === "en" ? "en" : legacyLang ?? "en";
91
98
  return {
92
99
  server: {
93
100
  enabled: server.enabled ?? DEFAULT_CONFIG.server.enabled,
94
101
  port: typeof server.port === "number" && Number.isFinite(server.port) ? server.port : DEFAULT_CONFIG.server.port,
102
+ streamTickMs: typeof server.streamTickMs === "number" && server.streamTickMs >= 20 ? server.streamTickMs : DEFAULT_CONFIG.server.streamTickMs,
103
+ idleShutdownMs: typeof server.idleShutdownMs === "number" && server.idleShutdownMs >= 0 ? server.idleShutdownMs : DEFAULT_CONFIG.server.idleShutdownMs,
95
104
  },
96
105
  history: {
97
106
  maxMessages: Math.max(1, history.maxMessages ?? DEFAULT_CONFIG.history.maxMessages),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -8,12 +8,15 @@ export declare const SHELL_META: RegExp;
8
8
  export declare const EXEC_TIMEOUT_MS = 30000;
9
9
  /** 静默窗口阈值:输出停止增长超过此时长视为命令完成 */
10
10
  export declare const QUIET_WINDOW_MS = 500;
11
+ /**
12
+ * 交互模式判定阈值(毫秒):命令提交时终端仍 busy,距上次提交不足此时长视为连续快速命令(排队等待执行),
13
+ * 超过此时长仍 busy 视为用户正在给运行中的交互程序输入(sudo 密码/REPL 等),按交互输入原样 send。
14
+ */
15
+ export declare const INTERACTIVE_BUSY_MS = 500;
11
16
  /** 动画检测阈值:连续输出超过此时长仍无哨兵/静默 → 判定仍在运行 */
12
17
  export declare const ANIMATION_WINDOW_MS = 5000;
13
18
  /** ssh2 认证超时(毫秒) */
14
19
  export declare const READY_TIMEOUT_MS = 10000;
15
- /** 注入生效等待超时:shell 执行注入命令并重绘提示符(输出首个标记)的最长等待 */
16
- export declare const SETTLE_TIMEOUT_MS = 3000;
17
20
  /** 注入总超时(含重试):超过此时长仍无首个标记则断连报错 */
18
21
  export declare const INJECT_TIMEOUT_MS = 30000;
19
22
  /** PTY 窗口尺寸(常规终端尺寸,避免 zsh 按超大缓冲重绘导致提示符/回显错位) */
@@ -23,26 +26,22 @@ export declare const PTY_COLS = 120;
23
26
  export declare const MAX_OUTPUT_LEN = 50000;
24
27
  /** 会话连续原始字节流上限(超过裁剪最旧部分) */
25
28
  export declare const RAW_LOG_MAX = 1048576;
26
- /** 工具描述语言环境变量(en | zh,默认 en) */
29
+ /** 工具语言环境变量(工具描述/CLI/session 文案,en | zh,默认 en) */
27
30
  export declare const LANG_ENV = "SSH_TOOL_LANG";
31
+ /** Web 界面语言环境变量(仅页面 UI 文案,en | zh,默认 en) */
32
+ export declare const WEB_LANG_ENV = "SSH_WEB_LANG";
28
33
  /** 插件缓存根目录(历史消息对存文件,随会话清理) */
29
34
  export declare const CACHE_DIR = ".opencode/plugins-cache/opencode-ssh-tool";
30
35
  /** 完成标记前缀(后续跟退出码 + ">",如 <SSH_DONE:0>) */
31
36
  export declare const DONE_TAG = "<SSH_DONE:";
32
- /** 完成标记完整正则(内部于 shell-adapter 私有,避免 lastIndex 全局状态污染) */
33
- /** 完成标记字符串:给定退出码 */
34
- export declare const doneTag: (ec: number | string) => string;
35
- /** 注入确认 token:shell 执行注入脚本末尾的 echo 输出,用于确认注入完成 */
36
- export declare const INJECT_TOKEN = "__SSH_INJECT_DONE__";
37
37
  /** shell 类型探测前缀:probeCommand 回显 <前缀>$0 */
38
38
  export declare const SHELL_ID_PREFIX = "__SHELL_ID__";
39
39
  /** 探测输出匹配正则 */
40
40
  export declare const SHELL_ID_RE: RegExp;
41
- /** bash/zsh 注入脚本内部变量名(bash 历史号守卫;zsh precmd) */
42
- export declare const VAR_LAST_HIST = "__SSH_LAST_HIST";
43
- /** pwsh 注入脚本内部变量名(pending 标记 / history id / 嵌套等级 / 原 ReadLine) */
44
- export declare const VAR_PENDING = "__SSH_PENDING";
45
- export declare const VAR_HID = "__SSH_HID";
46
- export declare const VAR_NESTED = "__SSH_NESTED";
47
- export declare const VAR_ORIG_RL = "__SSH_ORIG_RL";
41
+ /**
42
+ * 独立 HTTP 服务协议/代码版本号:插件的 server/agent 协议或服务端逻辑变更时递增。
43
+ * server-entry 启动时写入 server.json(proto 字段),ensureServer 发现既有服务版本不符时
44
+ * 杀掉旧进程重启,防止 detached 持久进程一直跑旧代码导致行为不生效(如 busy 卡死)。
45
+ */
46
+ export declare const SERVER_PROTO_VERSION = 12;
48
47
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,kCAAkC;AAClC,eAAO,MAAM,cAAc,QAC0F,CAAA;AAErH,6BAA6B;AAC7B,eAAO,MAAM,IAAI,QACsmB,CAAA;AAEvnB,qCAAqC;AACrC,eAAO,MAAM,UAAU,QAAgB,CAAA;AAEvC,2BAA2B;AAC3B,eAAO,MAAM,eAAe,QAAS,CAAA;AAErC,+BAA+B;AAC/B,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC,uCAAuC;AACvC,eAAO,MAAM,mBAAmB,OAAQ,CAAA;AAExC,oBAAoB;AACpB,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,OAAQ,CAAA;AAEtC,kCAAkC;AAClC,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC,gDAAgD;AAChD,eAAO,MAAM,QAAQ,KAAK,CAAA;AAC1B,eAAO,MAAM,QAAQ,MAAM,CAAA;AAE3B,qBAAqB;AACrB,eAAO,MAAM,cAAc,QAAS,CAAA;AAEpC,4BAA4B;AAC5B,eAAO,MAAM,WAAW,UAAY,CAAA;AAEpC,gCAAgC;AAChC,eAAO,MAAM,QAAQ,kBAAkB,CAAA;AAEvC,8BAA8B;AAC9B,eAAO,MAAM,SAAS,8CAA8C,CAAA;AAIpE,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,eAAe,CAAA;AAEpC,yDAAyD;AAEzD,oBAAoB;AACpB,eAAO,MAAM,OAAO,OAAQ,MAAM,GAAG,MAAM,KAAG,MAA4B,CAAA;AAE1E,kDAAkD;AAClD,eAAO,MAAM,YAAY,wBAAwB,CAAA;AAEjD,0CAA0C;AAC1C,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,eAAe;AACf,eAAO,MAAM,WAAW,QAAqB,CAAA;AAE7C,gDAAgD;AAChD,eAAO,MAAM,aAAa,oBAAoB,CAAA;AAE9C,kEAAkE;AAClE,eAAO,MAAM,WAAW,kBAAkB,CAAA;AAC1C,eAAO,MAAM,OAAO,cAAc,CAAA;AAClC,eAAO,MAAM,UAAU,iBAAiB,CAAA;AACxC,eAAO,MAAM,WAAW,kBAAkB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,kCAAkC;AAClC,eAAO,MAAM,cAAc,QAC0F,CAAA;AAErH,6BAA6B;AAC7B,eAAO,MAAM,IAAI,QACsmB,CAAA;AAEvnB,qCAAqC;AACrC,eAAO,MAAM,UAAU,QAAgB,CAAA;AAEvC,2BAA2B;AAC3B,eAAO,MAAM,eAAe,QAAS,CAAA;AAErC,+BAA+B;AAC/B,eAAO,MAAM,eAAe,MAAM,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC,uCAAuC;AACvC,eAAO,MAAM,mBAAmB,OAAQ,CAAA;AAExC,oBAAoB;AACpB,eAAO,MAAM,gBAAgB,QAAS,CAAA;AAEtC,kCAAkC;AAClC,eAAO,MAAM,iBAAiB,QAAS,CAAA;AAEvC,gDAAgD;AAChD,eAAO,MAAM,QAAQ,KAAK,CAAA;AAC1B,eAAO,MAAM,QAAQ,MAAM,CAAA;AAE3B,qBAAqB;AACrB,eAAO,MAAM,cAAc,QAAS,CAAA;AAEpC,4BAA4B;AAC5B,eAAO,MAAM,WAAW,UAAY,CAAA;AAEpC,kDAAkD;AAClD,eAAO,MAAM,QAAQ,kBAAkB,CAAA;AAEvC,4CAA4C;AAC5C,eAAO,MAAM,YAAY,iBAAiB,CAAA;AAE1C,8BAA8B;AAC9B,eAAO,MAAM,SAAS,8CAA8C,CAAA;AAIpE,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,eAAe,CAAA;AAEpC,0CAA0C;AAC1C,eAAO,MAAM,eAAe,iBAAiB,CAAA;AAE7C,eAAe;AACf,eAAO,MAAM,WAAW,QAAqB,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAA"}
package/dist/constants.js CHANGED
@@ -9,12 +9,15 @@ export const SHELL_META = /[;|&`$()<>]/;
9
9
  export const EXEC_TIMEOUT_MS = 30_000;
10
10
  /** 静默窗口阈值:输出停止增长超过此时长视为命令完成 */
11
11
  export const QUIET_WINDOW_MS = 500;
12
+ /**
13
+ * 交互模式判定阈值(毫秒):命令提交时终端仍 busy,距上次提交不足此时长视为连续快速命令(排队等待执行),
14
+ * 超过此时长仍 busy 视为用户正在给运行中的交互程序输入(sudo 密码/REPL 等),按交互输入原样 send。
15
+ */
16
+ export const INTERACTIVE_BUSY_MS = 500;
12
17
  /** 动画检测阈值:连续输出超过此时长仍无哨兵/静默 → 判定仍在运行 */
13
18
  export const ANIMATION_WINDOW_MS = 5_000;
14
19
  /** ssh2 认证超时(毫秒) */
15
20
  export const READY_TIMEOUT_MS = 10_000;
16
- /** 注入生效等待超时:shell 执行注入命令并重绘提示符(输出首个标记)的最长等待 */
17
- export const SETTLE_TIMEOUT_MS = 3_000;
18
21
  /** 注入总超时(含重试):超过此时长仍无首个标记则断连报错 */
19
22
  export const INJECT_TIMEOUT_MS = 30_000;
20
23
  /** PTY 窗口尺寸(常规终端尺寸,避免 zsh 按超大缓冲重绘导致提示符/回显错位) */
@@ -24,27 +27,23 @@ export const PTY_COLS = 120;
24
27
  export const MAX_OUTPUT_LEN = 50_000;
25
28
  /** 会话连续原始字节流上限(超过裁剪最旧部分) */
26
29
  export const RAW_LOG_MAX = 1_048_576;
27
- /** 工具描述语言环境变量(en | zh,默认 en) */
30
+ /** 工具语言环境变量(工具描述/CLI/session 文案,en | zh,默认 en) */
28
31
  export const LANG_ENV = "SSH_TOOL_LANG";
32
+ /** Web 界面语言环境变量(仅页面 UI 文案,en | zh,默认 en) */
33
+ export const WEB_LANG_ENV = "SSH_WEB_LANG";
29
34
  /** 插件缓存根目录(历史消息对存文件,随会话清理) */
30
35
  export const CACHE_DIR = ".opencode/plugins-cache/opencode-ssh-tool";
31
36
  // ===== 终端注入协议标记 =====
32
37
  /** 完成标记前缀(后续跟退出码 + ">",如 <SSH_DONE:0>) */
33
38
  export const DONE_TAG = "<SSH_DONE:";
34
- /** 完成标记完整正则(内部于 shell-adapter 私有,避免 lastIndex 全局状态污染) */
35
- /** 完成标记字符串:给定退出码 */
36
- export const doneTag = (ec) => `<SSH_DONE:${ec}>`;
37
- /** 注入确认 token:shell 执行注入脚本末尾的 echo 输出,用于确认注入完成 */
38
- export const INJECT_TOKEN = "__SSH_INJECT_DONE__";
39
39
  /** shell 类型探测前缀:probeCommand 回显 <前缀>$0 */
40
40
  export const SHELL_ID_PREFIX = "__SHELL_ID__";
41
41
  /** 探测输出匹配正则 */
42
42
  export const SHELL_ID_RE = /\b__SHELL_ID__\b/;
43
- /** bash/zsh 注入脚本内部变量名(bash 历史号守卫;zsh precmd) */
44
- export const VAR_LAST_HIST = "__SSH_LAST_HIST";
45
- /** pwsh 注入脚本内部变量名(pending 标记 / history id / 嵌套等级 / 原 ReadLine) */
46
- export const VAR_PENDING = "__SSH_PENDING";
47
- export const VAR_HID = "__SSH_HID";
48
- export const VAR_NESTED = "__SSH_NESTED";
49
- export const VAR_ORIG_RL = "__SSH_ORIG_RL";
43
+ /**
44
+ * 独立 HTTP 服务协议/代码版本号:插件的 server/agent 协议或服务端逻辑变更时递增。
45
+ * server-entry 启动时写入 server.json(proto 字段),ensureServer 发现既有服务版本不符时
46
+ * 杀掉旧进程重启,防止 detached 持久进程一直跑旧代码导致行为不生效(如 busy 卡死)。
47
+ */
48
+ export const SERVER_PROTO_VERSION = 12;
50
49
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GACzB,mHAAmH,CAAA;AAErH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,IAAI,GACf,qnBAAqnB,CAAA;AAEvnB,qCAAqC;AACrC,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AAEvC,2BAA2B;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAA;AAErC,+BAA+B;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC,uCAAuC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAA;AAExC,oBAAoB;AACpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAEtC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AAEtC,kCAAkC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEvC,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAE3B,qBAAqB;AACrB,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AAEpC,4BAA4B;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAA;AAEpC,gCAAgC;AAChC,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAA;AAEvC,8BAA8B;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,2CAA2C,CAAA;AAEpE,uBAAuB;AAEvB,0CAA0C;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAA;AAEpC,yDAAyD;AAEzD,oBAAoB;AACpB,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EAAmB,EAAU,EAAE,CAAC,aAAa,EAAE,GAAG,CAAA;AAE1E,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAEjD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAE7C,eAAe;AACf,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAA;AAE7C,gDAAgD;AAChD,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAE9C,kEAAkE;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAA;AAC1C,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAA;AAClC,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,CAAA;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GACzB,mHAAmH,CAAA;AAErH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,IAAI,GACf,qnBAAqnB,CAAA;AAEvnB,qCAAqC;AACrC,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAA;AAEvC,2BAA2B;AAC3B,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAA;AAErC,+BAA+B;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAEtC,uCAAuC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAA;AAExC,oBAAoB;AACpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAEtC,kCAAkC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAEvC,gDAAgD;AAChD,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAE3B,qBAAqB;AACrB,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;AAEpC,4BAA4B;AAC5B,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAA;AAEpC,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,eAAe,CAAA;AAEvC,4CAA4C;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAA;AAE1C,8BAA8B;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,2CAA2C,CAAA;AAEpE,uBAAuB;AAEvB,0CAA0C;AAC1C,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAA;AAEpC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAA;AAE7C,eAAe;AACf,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAA;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAA"}
package/dist/i18n.d.ts CHANGED
@@ -4,11 +4,17 @@ export type FlatKey = {
4
4
  [K in keyof typeof T]: (typeof T)[K] extends Record<Lang, string> ? K : never;
5
5
  }[keyof typeof T];
6
6
  /**
7
- * 读取当前语言:环境变量 SSH_TOOL_LANG 优先,否则用配置语言(默认 en)
7
+ * 读取工具语言:环境变量 SSH_TOOL_LANG 优先,否则配置 toolLang(默认 en)
8
8
  * @param configured 配置文件 toolLang 值
9
9
  * @returns 语言标识
10
10
  */
11
- export declare function getLang(configured?: Lang): Lang;
11
+ export declare function getToolLang(configured?: Lang): Lang;
12
+ /**
13
+ * 读取 Web 界面语言:环境变量 SSH_WEB_LANG 优先,否则配置 webLang(默认 en)
14
+ * @param configured 配置文件 webLang 值
15
+ * @returns 语言标识
16
+ */
17
+ export declare function getWebLang(configured?: Lang): Lang;
12
18
  /** 工具描述与参数说明字典 */
13
19
  export declare const T: {
14
20
  readonly submitted: {
@@ -271,10 +277,6 @@ Examples:
271
277
  readonly en: "Loading...";
272
278
  readonly zh: "加载中...";
273
279
  };
274
- readonly web_load_failed: {
275
- readonly en: "Failed to load records";
276
- readonly zh: "记录加载失败";
277
- };
278
280
  readonly web_session_gone: {
279
281
  readonly en: "Session not found or disconnected";
280
282
  readonly zh: "会话不存在或已断开";
@@ -295,18 +297,10 @@ Examples:
295
297
  readonly en: "commands";
296
298
  readonly zh: "条命令";
297
299
  };
298
- readonly web_auto_refresh: {
299
- readonly en: "auto-refresh every 2s";
300
- readonly zh: "每 2s 自动刷新";
301
- };
302
300
  readonly web_no_session: {
303
301
  readonly en: "No terminal. Use term_cli connect (SSH) or term_cli local first.";
304
302
  readonly zh: "无终端会话,请先用 term_cli connect(SSH)或 term_cli local 建立。";
305
303
  };
306
- readonly web_running: {
307
- readonly en: "[running] ";
308
- readonly zh: "[运行中] ";
309
- };
310
304
  readonly web_new_messages: {
311
305
  readonly en: "↓ New messages";
312
306
  readonly zh: "↓ 新消息";
@@ -323,6 +317,10 @@ Examples:
323
317
  readonly en: "Keystroke";
324
318
  readonly zh: "快捷键";
325
319
  };
320
+ readonly web_raw: {
321
+ readonly en: "Raw";
322
+ readonly zh: "原始";
323
+ };
326
324
  readonly disconnected_ok: {
327
325
  readonly en: "Terminal closed ({host}).";
328
326
  readonly zh: "终端已断开({host})。";
@@ -343,6 +341,18 @@ Examples:
343
341
  readonly en: "Not connected";
344
342
  readonly zh: "未连接";
345
343
  };
344
+ readonly cmd_busy: {
345
+ readonly en: "Previous command still running; poll with `term_cli status` first";
346
+ readonly zh: "上一条命令仍在运行,请先用 `term_cli status` 查询状态";
347
+ };
348
+ readonly cmd_continuation: {
349
+ readonly en: "Command would enter shell continuation (unclosed quote/backtick/escape); aborted";
350
+ readonly zh: "命令会导致 shell 进入续行等待(引号/反引号/转义未闭合),已中止";
351
+ };
352
+ readonly shell_probe_timeout: {
353
+ readonly en: "Shell probe timed out (shell not ready within 30s); connection aborted";
354
+ readonly zh: "Shell 探测超时(30s 内 shell 未就绪),连接终止";
355
+ };
346
356
  };
347
357
  /** 取某语言下的一条文案 */
348
358
  export declare function tr(key: FlatKey, lang: Lang): string;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAE9B,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG;KAAG,CAAC,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAA;AAavH;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,UAAU,GAAE,IAAW,GAAG,IAAI,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,IAAW,GAAG,IAAI,CAExD;AAED,kBAAkB;AAClB,eAAO,MAAM,CAAC;aACZ,SAAS;iBACP,EAAE,EAAE,4HAA4H;iBAChI,EAAE,EAAE,8DAA8D;;aAEpE,OAAO;iBACL,EAAE,EAAE,cAAc;iBAClB,EAAE,EAAE,YAAY;;aAElB,gBAAgB;iBACd,EAAE,EAAE,kCAAkC;iBACtC,EAAE,EAAE,sBAAsB;;aAE5B,wBAAwB;iBACtB,EAAE,EAAE,6BAA6B;iBACjC,EAAE,EAAE,UAAU;;aAEhB,QAAQ;iBACN,EAAE,EAAE,uXAAuX;iBAC3X,EAAE,EAAE,2NAA2N;;aAEjO,aAAa;iBACX,EAAE,EAAE,kIAAkI;iBACtI,EAAE,EAAE,2FAA2F;;aAEjG,aAAa;iBACX,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCP;iBACG,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCP;;aAEC,MAAM;iBACJ,EAAE,EAAE,iBAAiB;iBACrB,EAAE,EAAE,QAAQ;;aAEd,cAAc;iBACZ,EAAE,EAAE,0BAA0B;iBAC9B,EAAE,EAAE,sBAAsB;;aAE5B,iBAAiB;iBACf,EAAE,EAAE,mEAAmE;iBACvE,EAAE,EAAE,gEAAgE;;aAEtE,kBAAkB;iBAChB,EAAE,EAAE,oBAAoB;iBACxB,EAAE,EAAE,gBAAgB;;aAEtB,eAAe;iBACb,EAAE,EAAE,+CAA+C;iBACnD,EAAE,EAAE,4CAA4C;;aAElD,cAAc;iBACZ,EAAE,EAAE,0CAA0C;iBAC9C,EAAE,EAAE,uCAAuC;;aAE7C,cAAc;iBACZ,EAAE,EAAE,kCAAkC;iBACtC,EAAE,EAAE,+BAA+B;;aAErC,gBAAgB;iBACd,EAAE,EAAE,gBAAgB;iBACpB,EAAE,EAAE,MAAM;;aAEZ,aAAa;iBACX,EAAE,EAAE,mBAAmB;iBACvB,EAAE,EAAE,QAAQ;;aAEd,WAAW;iBACT,EAAE,EAAE,wBAAwB;iBAC5B,EAAE,EAAE,aAAa;;aAEnB,OAAO;iBAAI,EAAE,EAAE,MAAM;iBAAE,EAAE,EAAE,IAAI;;aAC/B,OAAO;iBAAI,EAAE,EAAE,MAAM;iBAAE,EAAE,EAAE,IAAI;;aAC/B,YAAY;iBAAI,EAAE,EAAE,WAAW;iBAAE,EAAE,EAAE,KAAK;;aAC1C,OAAO;iBAAI,EAAE,EAAE,MAAM;iBAAE,EAAE,EAAE,IAAI;;aAC/B,UAAU;iBAAI,EAAE,EAAE,SAAS;iBAAE,EAAE,EAAE,KAAK;;aACtC,QAAQ;iBAAI,EAAE,EAAE,OAAO;iBAAE,EAAE,EAAE,IAAI;;aACjC,OAAO;iBAAI,EAAE,EAAE,MAAM;iBAAE,EAAE,EAAE,IAAI;;aAC/B,UAAU;iBAAI,EAAE,EAAE,SAAS;iBAAE,EAAE,EAAE,IAAI;;aACrC,cAAc;iBAAI,EAAE,EAAE,YAAY;iBAAE,EAAE,EAAE,MAAM;;aAC9C,eAAe;iBAAI,EAAE,EAAE,aAAa;iBAAE,EAAE,EAAE,MAAM;;aAChD,cAAc;iBAAI,EAAE,EAAE,YAAY;iBAAE,EAAE,EAAE,SAAS;;aACjD,kBAAkB;iBAAI,EAAE,EAAE,gBAAgB;iBAAE,EAAE,EAAE,MAAM;;aACtD,WAAW;iBAAI,EAAE,EAAE,UAAU;iBAAE,EAAE,EAAE,KAAK;;aACxC,aAAa;iBACX,EAAE,EAAE,wCAAwC;iBAC5C,EAAE,EAAE,aAAa;;aAEnB,aAAa;iBACX,EAAE,EAAE,yEAAyE;iBAC7E,EAAE,EAAE,qDAAqD;;aAE3D,gBAAgB;iBACd,EAAE,EAAE,sBAAsB;iBAC1B,EAAE,EAAE,SAAS;;aAEf,YAAY;iBACV,EAAE,EAAE,2GAA2G;iBAC/G,EAAE,EAAE,8CAA8C;;aAEpD,WAAW;iBACT,EAAE,EAAE,sBAAsB;iBAC1B,EAAE,EAAE,cAAc;;aAEpB,UAAU;iBACR,EAAE,EAAE,kEAAkE;iBACtE,EAAE,EAAE,oDAAoD;;aAE1D,kBAAkB;iBAChB,EAAE,EAAE,uBAAuB;iBAC3B,EAAE,EAAE,UAAU;;aAEhB,aAAa;iBACX,EAAE,EAAE,eAAe;iBACnB,EAAE,EAAE,MAAM;;aAEZ,WAAW;iBACT,EAAE,EAAE,kBAAkB;iBACtB,EAAE,EAAE,MAAM;;aAEZ,oBAAoB;iBAClB,EAAE,EAAE,uBAAuB;iBAC3B,EAAE,EAAE,OAAO;;aAEb,gBAAgB;iBACd,EAAE,EAAE,+FAA+F;iBACnG,EAAE,EAAE,8CAA8C;;aAEpD,gBAAgB;iBACd,EAAE,EAAE,8GAA8G;iBAClH,EAAE,EAAE,+CAA+C;;aAErD,mBAAmB;iBACjB,EAAE,EAAE,8BAA8B;iBAClC,EAAE,EAAE,mBAAmB;;aAEzB,kBAAkB;iBAChB,EAAE,EAAE,6BAA6B;iBACjC,EAAE,EAAE,gBAAgB;;aAEtB,aAAa;iBACX,EAAE,EAAE,6CAA6C;iBACjD,EAAE,EAAE,8BAA8B;;aAEpC,kBAAkB;iBAChB,EAAE,EAAE,8CAA8C;iBAClD,EAAE,EAAE,6BAA6B;;aAEnC,SAAS;iBAAI,EAAE,EAAE,kBAAkB;iBAAE,EAAE,EAAE,MAAM;;aAC/C,WAAW;iBAAI,EAAE,EAAE,YAAY;iBAAE,EAAE,EAAE,QAAQ;;aAC7C,gBAAgB;iBAAI,EAAE,EAAE,mCAAmC;iBAAE,EAAE,EAAE,WAAW;;aAC5E,QAAQ;iBAAI,EAAE,EAAE,MAAM;iBAAE,EAAE,EAAE,IAAI;;aAChC,aAAa;iBAAI,EAAE,EAAE,WAAW;iBAAE,EAAE,EAAE,IAAI;;aAC1C,SAAS;iBAAI,EAAE,EAAE,OAAO;iBAAE,EAAE,EAAE,IAAI;;aAClC,YAAY;iBAAI,EAAE,EAAE,UAAU;iBAAE,EAAE,EAAE,KAAK;;aACzC,cAAc;iBAAI,EAAE,EAAE,kEAAkE;iBAAE,EAAE,EAAE,qDAAqD;;aACnJ,gBAAgB;iBAAI,EAAE,EAAE,gBAAgB;iBAAE,EAAE,EAAE,OAAO;;aACrD,mBAAmB;iBAAI,EAAE,EAAE,8BAA8B;iBAAE,EAAE,EAAE,SAAS;;aAC1E,mBAAmB;iBAAI,EAAE,EAAE,sCAAsC;iBAAE,EAAE,EAAE,sBAAsB;;aAC3F,cAAc;iBAAI,EAAE,EAAE,WAAW;iBAAE,EAAE,EAAE,KAAK;;aAC5C,OAAO;iBAAI,EAAE,EAAE,KAAK;iBAAE,EAAE,EAAE,IAAI;;aAC9B,eAAe;iBACb,EAAE,EAAE,2BAA2B;iBAC/B,EAAE,EAAE,gBAAgB;;aAEtB,qBAAqB;iBACnB,EAAE,EAAE,8BAA8B;iBAClC,EAAE,EAAE,mBAAmB;;aAEzB,mBAAmB;iBACjB,EAAE,EAAE,0CAA0C;iBAC9C,EAAE,EAAE,uBAAuB;;aAE7B,yBAAyB;iBACvB,EAAE,EAAE,gDAAgD;iBACpD,EAAE,EAAE,0BAA0B;;aAEhC,iBAAiB;iBACf,EAAE,EAAE,eAAe;iBACnB,EAAE,EAAE,KAAK;;aAEX,QAAQ;iBACN,EAAE,EAAE,mEAAmE;iBACvE,EAAE,EAAE,sCAAsC;;aAE5C,gBAAgB;iBACd,EAAE,EAAE,kFAAkF;iBACtF,EAAE,EAAE,sCAAsC;;aAE5C,mBAAmB;iBACjB,EAAE,EAAE,wEAAwE;iBAC5E,EAAE,EAAE,kCAAkC;;CAEhC,CAAA;AAEV,iBAAiB;AACjB,wBAAgB,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAEnD"}
package/dist/i18n.js CHANGED
@@ -1,18 +1,33 @@
1
1
  // 多语言:工具描述与参数说明的 en/zh 字典,默认英文
2
- import { LANG_ENV } from "./constants.js";
2
+ // 语言分两类:工具语言(工具描述/CLI/agent·session 文案)与 Web 界面语言(仅页面 UI 文案)
3
+ import { LANG_ENV, WEB_LANG_ENV } from "./constants.js";
3
4
  /**
4
- * 读取当前语言:环境变量 SSH_TOOL_LANG 优先,否则用配置语言(默认 en)
5
- * @param configured 配置文件 toolLang 值
5
+ * 环境变量取值优先于配置(仅接受 en/zh,非法值回退配置)
6
+ * @param env 环境变量原始值
7
+ * @param configured 配置文件语言值
6
8
  * @returns 语言标识
7
9
  */
8
- export function getLang(configured = "en") {
9
- const env = process.env[LANG_ENV];
10
- if (env === "zh")
11
- return "zh";
12
- if (env === "en")
13
- return "en";
10
+ function readLang(env, configured) {
11
+ if (env === "zh" || env === "en")
12
+ return env;
14
13
  return configured;
15
14
  }
15
+ /**
16
+ * 读取工具语言:环境变量 SSH_TOOL_LANG 优先,否则配置 toolLang(默认 en)
17
+ * @param configured 配置文件 toolLang 值
18
+ * @returns 语言标识
19
+ */
20
+ export function getToolLang(configured = "en") {
21
+ return readLang(process.env[LANG_ENV], configured);
22
+ }
23
+ /**
24
+ * 读取 Web 界面语言:环境变量 SSH_WEB_LANG 优先,否则配置 webLang(默认 en)
25
+ * @param configured 配置文件 webLang 值
26
+ * @returns 语言标识
27
+ */
28
+ export function getWebLang(configured = "en") {
29
+ return readLang(process.env[WEB_LANG_ENV], configured);
30
+ }
16
31
  /** 工具描述与参数说明字典 */
17
32
  export const T = {
18
33
  submitted: {
@@ -230,19 +245,17 @@ Examples:
230
245
  },
231
246
  web_title: { en: "Terminal Records", zh: "终端记录" },
232
247
  web_loading: { en: "Loading...", zh: "加载中..." },
233
- web_load_failed: { en: "Failed to load records", zh: "记录加载失败" },
234
248
  web_session_gone: { en: "Session not found or disconnected", zh: "会话不存在或已断开" },
235
249
  web_time: { en: "Time", zh: "时间" },
236
250
  web_terminals: { en: "terminals", zh: "终端" },
237
251
  web_local: { en: "local", zh: "本地" },
238
252
  web_commands: { en: "commands", zh: "条命令" },
239
- web_auto_refresh: { en: "auto-refresh every 2s", zh: "每 2s 自动刷新" },
240
253
  web_no_session: { en: "No terminal. Use term_cli connect (SSH) or term_cli local first.", zh: "无终端会话,请先用 term_cli connect(SSH)或 term_cli local 建立。" },
241
- web_running: { en: "[running] ", zh: "[运行中] " },
242
254
  web_new_messages: { en: "↓ New messages", zh: "↓ 新消息" },
243
255
  web_delete_terminal: { en: "Delete disconnected terminal", zh: "删除已断开终端" },
244
256
  web_cmd_placeholder: { en: "Enter command (Shift+Enter new line)", zh: "输入命令(Shift+Enter 换行)" },
245
257
  web_send_ctrlc: { en: "Keystroke", zh: "快捷键" },
258
+ web_raw: { en: "Raw", zh: "原始" },
246
259
  disconnected_ok: {
247
260
  en: "Terminal closed ({host}).",
248
261
  zh: "终端已断开({host})。",
@@ -263,6 +276,18 @@ Examples:
263
276
  en: "Not connected",
264
277
  zh: "未连接",
265
278
  },
279
+ cmd_busy: {
280
+ en: "Previous command still running; poll with `term_cli status` first",
281
+ zh: "上一条命令仍在运行,请先用 `term_cli status` 查询状态",
282
+ },
283
+ cmd_continuation: {
284
+ en: "Command would enter shell continuation (unclosed quote/backtick/escape); aborted",
285
+ zh: "命令会导致 shell 进入续行等待(引号/反引号/转义未闭合),已中止",
286
+ },
287
+ shell_probe_timeout: {
288
+ en: "Shell probe timed out (shell not ready within 30s); connection aborted",
289
+ zh: "Shell 探测超时(30s 内 shell 未就绪),连接终止",
290
+ },
266
291
  };
267
292
  /** 取某语言下的一条文案 */
268
293
  export function tr(key, lang) {
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAOzC;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,UAAU,GAAS,IAAI;IAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAC7B,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,kBAAkB;AAClB,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,SAAS,EAAE;QACT,EAAE,EAAE,4HAA4H;QAChI,EAAE,EAAE,8DAA8D;KACnE;IACD,OAAO,EAAE;QACP,EAAE,EAAE,cAAc;QAClB,EAAE,EAAE,YAAY;KACjB;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,kCAAkC;QACtC,EAAE,EAAE,sBAAsB;KAC3B;IACD,wBAAwB,EAAE;QACxB,EAAE,EAAE,6BAA6B;QACjC,EAAE,EAAE,UAAU;KACf;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,uXAAuX;QAC3X,EAAE,EAAE,2NAA2N;KAChO;IACD,aAAa,EAAE;QACb,EAAE,EAAE,kIAAkI;QACtI,EAAE,EAAE,2FAA2F;KAChG;IACD,aAAa,EAAE;QACb,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCP;QACG,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCP;KACE;IACD,MAAM,EAAE;QACN,EAAE,EAAE,iBAAiB;QACrB,EAAE,EAAE,QAAQ;KACb;IACD,cAAc,EAAE;QACd,EAAE,EAAE,0BAA0B;QAC9B,EAAE,EAAE,sBAAsB;KAC3B;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,mEAAmE;QACvE,EAAE,EAAE,gEAAgE;KACrE;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,oBAAoB;QACxB,EAAE,EAAE,gBAAgB;KACrB;IACD,eAAe,EAAE;QACf,EAAE,EAAE,+CAA+C;QACnD,EAAE,EAAE,4CAA4C;KACjD;IACD,cAAc,EAAE;QACd,EAAE,EAAE,0CAA0C;QAC9C,EAAE,EAAE,uCAAuC;KAC5C;IACD,cAAc,EAAE;QACd,EAAE,EAAE,kCAAkC;QACtC,EAAE,EAAE,+BAA+B;KACpC;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,gBAAgB;QACpB,EAAE,EAAE,MAAM;KACX;IACD,aAAa,EAAE;QACb,EAAE,EAAE,mBAAmB;QACvB,EAAE,EAAE,QAAQ;KACb;IACD,WAAW,EAAE;QACX,EAAE,EAAE,wBAAwB;QAC5B,EAAE,EAAE,aAAa;KAClB;IACD,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;IACjC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;IACjC,YAAY,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE;IAC5C,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;IACjC,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE;IACxC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE;IACnC,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;IACjC,UAAU,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE;IACvC,cAAc,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE;IAChD,eAAe,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE;IAClD,cAAc,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE;IACnD,kBAAkB,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE;IACxD,WAAW,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE;IAC1C,aAAa,EAAE;QACb,EAAE,EAAE,wCAAwC;QAC5C,EAAE,EAAE,aAAa;KAClB;IACD,aAAa,EAAE;QACb,EAAE,EAAE,yEAAyE;QAC7E,EAAE,EAAE,qDAAqD;KAC1D;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,sBAAsB;QAC1B,EAAE,EAAE,SAAS;KACd;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,2GAA2G;QAC/G,EAAE,EAAE,8CAA8C;KACnD;IACD,WAAW,EAAE;QACX,EAAE,EAAE,sBAAsB;QAC1B,EAAE,EAAE,cAAc;KACnB;IACD,UAAU,EAAE;QACV,EAAE,EAAE,kEAAkE;QACtE,EAAE,EAAE,oDAAoD;KACzD;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,UAAU;KACf;IACD,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,EAAE,EAAE,MAAM;KACX;IACD,WAAW,EAAE;QACX,EAAE,EAAE,kBAAkB;QACtB,EAAE,EAAE,MAAM;KACX;IACD,oBAAoB,EAAE;QACpB,EAAE,EAAE,uBAAuB;QAC3B,EAAE,EAAE,OAAO;KACZ;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,+FAA+F;QACnG,EAAE,EAAE,8CAA8C;KACnD;IACD,gBAAgB,EAAE;QAChB,EAAE,EAAE,8GAA8G;QAClH,EAAE,EAAE,+CAA+C;KACpD;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,8BAA8B;QAClC,EAAE,EAAE,mBAAmB;KACxB;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,6BAA6B;QACjC,EAAE,EAAE,gBAAgB;KACrB;IACD,aAAa,EAAE;QACb,EAAE,EAAE,6CAA6C;QACjD,EAAE,EAAE,8BAA8B;KACnC;IACD,kBAAkB,EAAE;QAClB,EAAE,EAAE,8CAA8C;QAClD,EAAE,EAAE,6BAA6B;KAClC;IACD,SAAS,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE;IACjD,WAAW,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/C,eAAe,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/D,gBAAgB,EAAE,EAAE,EAAE,EAAE,mCAAmC,EAAE,EAAE,EAAE,WAAW,EAAE;IAC9E,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;IAClC,aAAa,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE;IAC5C,SAAS,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE;IACpC,YAAY,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE;IAC3C,gBAAgB,EAAE,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,WAAW,EAAE;IAClE,cAAc,EAAE,EAAE,EAAE,EAAE,kEAAkE,EAAE,EAAE,EAAE,qDAAqD,EAAE;IACrJ,WAAW,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE;IAC/C,gBAAgB,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE;IACvD,mBAAmB,EAAE,EAAE,EAAE,EAAE,8BAA8B,EAAE,EAAE,EAAE,SAAS,EAAE;IAC5E,mBAAmB,EAAE,EAAE,EAAE,EAAE,sCAAsC,EAAE,EAAE,EAAE,sBAAsB,EAAE;IAC7F,cAAc,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE;IAC9C,eAAe,EAAE;QACf,EAAE,EAAE,2BAA2B;QAC/B,EAAE,EAAE,gBAAgB;KACrB;IACD,qBAAqB,EAAE;QACrB,EAAE,EAAE,8BAA8B;QAClC,EAAE,EAAE,mBAAmB;KACxB;IACD,mBAAmB,EAAE;QACnB,EAAE,EAAE,0CAA0C;QAC9C,EAAE,EAAE,uBAAuB;KAC5B;IACD,yBAAyB,EAAE;QACzB,EAAE,EAAE,gDAAgD;QACpD,EAAE,EAAE,0BAA0B;KAC/B;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,eAAe;QACnB,EAAE,EAAE,KAAK;KACV;CACO,CAAA;AAEV,iBAAiB;AACjB,MAAM,UAAU,EAAE,CAAC,GAAY,EAAE,IAAU;IACzC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;AACrB,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAgNvD,eAAO,MAAM,eAAe,EAAE,MAyU7B,CAAA;eAGc,eAAe"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAiOvD,eAAO,MAAM,eAAe,EAAE,MA0U7B,CAAA;eAGc,eAAe"}