timbot 2026.3.12-beta.2 → 2026.3.12

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/README.en.md CHANGED
@@ -45,7 +45,7 @@ All options are under `channels.timbot` in the OpenClaw config.
45
45
  | `typingText` | Placeholder text while the bot is generating (in non-streaming mode, sent as a placeholder message then modified; in streaming mode, used as CompatibleText) | `正在思考中...` |
46
46
  | `streamingMode` | Streaming mode: `off` / `text_modify` / `custom_modify` / `tim_stream` | `off` |
47
47
  | `fallbackPolicy` | Streaming fallback policy: `strict` (no fallback) / `final_text` (degrade to final text on failure) | `strict` |
48
- | `overflowPolicy` | What to do when a streaming reply gets too large: `stop` (stop and send a notice, default) / `split` (continue by hard-splitting into follow-up messages) | `stop` |
48
+ | `overflowPolicy` | What to do when a streaming reply gets too large: `stop` (stop and send a notice) / `split` (continue by splitting into follow-up messages, default) | `split` |
49
49
 
50
50
  ### DM Policy
51
51
 
@@ -92,10 +92,10 @@ openclaw config set channels.timbot.streamingMode off
92
92
  # Set fallback policy to degrade to final text on failure
93
93
  openclaw config set channels.timbot.fallbackPolicy final_text
94
94
 
95
- # Stop and send a notice when streaming output gets too large (default)
95
+ # Stop and send a notice when streaming output gets too large
96
96
  openclaw config set channels.timbot.overflowPolicy stop
97
97
 
98
- # Continue by hard-splitting long output into follow-up messages
98
+ # Continue by splitting long output into follow-up messages (default)
99
99
  openclaw config set channels.timbot.overflowPolicy split
100
100
 
101
101
  # Customize typing placeholder text
package/README.md CHANGED
@@ -21,6 +21,11 @@ Local testing, streaming mode selection, and webhook replay examples are documen
21
21
 
22
22
  ## Changelog
23
23
 
24
+ ### 2026.3.12
25
+
26
+ - docs: 补充流式模式依赖上游 partial 输出的说明与可观测性日志
27
+ - chore: 添加调试配置命令与本地 webhook 测试脚本
28
+
24
29
  ### 2026.3.10
25
30
 
26
31
  - feat: 流式消息支持,新增 `streamingMode` 配置(`off` / `text_modify` / `custom_modify` / `tim_stream`)
package/README.zh-CN.md CHANGED
@@ -45,7 +45,7 @@ bash install-timbot.sh
45
45
  | `typingText` | 机器人生成中占位文案(非流式模式下通过发送占位消息 + modify 实现;流式模式下作为 CompatibleText) | `正在思考中...` |
46
46
  | `streamingMode` | 流式模式:`off` / `text_modify` / `custom_modify` / `tim_stream` | `off` |
47
47
  | `fallbackPolicy` | 流式失败兜底策略:`strict`(不降级)/ `final_text`(降级为最终文本) | `strict` |
48
- | `overflowPolicy` | 流式超限后的处理策略:`stop`(停止并提示,默认)/ `split`(按长度强行分段续发) | `stop` |
48
+ | `overflowPolicy` | 流式超限后的处理策略:`stop`(停止并提示)/ `split`(按长度分段续发,默认) | `split` |
49
49
 
50
50
  ### 私聊策略(dm)
51
51
 
@@ -93,10 +93,10 @@ openclaw config set channels.timbot.streamingMode off
93
93
  # 设置失败兜底策略为降级发送最终文本
94
94
  openclaw config set channels.timbot.fallbackPolicy final_text
95
95
 
96
- # 长文本超限后直接停止并提示(默认)
96
+ # 长文本超限后直接停止并提示
97
97
  openclaw config set channels.timbot.overflowPolicy stop
98
98
 
99
- # 长文本超限后按长度继续分段发送
99
+ # 长文本超限后按长度继续分段发送(默认)
100
100
  openclaw config set channels.timbot.overflowPolicy split
101
101
 
102
102
  # 自定义占位文案
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EACV,qBAAqB,EAMtB,MAAM,YAAY,CAAC;AAWpB,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,EAAE,CAIlE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAMzE;AAoBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,GAAG,EAAE,cAAc,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,qBAAqB,CA4DxB;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,cAAc,GAAG,qBAAqB,EAAE,CAItF"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EACV,qBAAqB,EAMtB,MAAM,YAAY,CAAC;AAYpB,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,EAAE,CAIlE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,cAAc,GAAG,MAAM,CAMzE;AAoBD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,GAAG,EAAE,cAAc,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,qBAAqB,CA6DxB;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,cAAc,GAAG,qBAAqB,EAAE,CAItF"}
@@ -1,4 +1,5 @@
1
1
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk";
2
+ import { normalizeOptionalText } from "./config-text.js";
2
3
  import { logSimple } from "./logger.js";
3
4
  const DEFAULT_API_DOMAIN = "console.tim.qq.com";
4
5
  function listConfiguredAccountIds(cfg) {
@@ -42,12 +43,12 @@ export function resolveTimbotAccount(params) {
42
43
  const merged = mergeTimbotAccountConfig(params.cfg, accountId);
43
44
  const enabled = baseEnabled && merged.enabled !== false;
44
45
  // 从合并后的配置中提取字段
45
- const sdkAppId = merged.sdkAppId?.trim() || undefined;
46
- const identifier = merged.identifier?.trim() || undefined;
47
- const secretKey = merged.secretKey?.trim() || undefined;
48
- const botAccount = merged.botAccount?.trim() || undefined;
49
- const apiDomain = merged.apiDomain?.trim() || DEFAULT_API_DOMAIN;
50
- const token = merged.token?.trim() || undefined;
46
+ const sdkAppId = normalizeOptionalText(merged.sdkAppId);
47
+ const identifier = normalizeOptionalText(merged.identifier);
48
+ const secretKey = normalizeOptionalText(merged.secretKey);
49
+ const botAccount = normalizeOptionalText(merged.botAccount);
50
+ const apiDomain = normalizeOptionalText(merged.apiDomain) || DEFAULT_API_DOMAIN;
51
+ const token = normalizeOptionalText(merged.token);
51
52
  const streamingMode = merged.streamingMode === "custom_modify"
52
53
  ? "custom_modify"
53
54
  : merged.streamingMode === "text_modify"
@@ -59,6 +60,7 @@ export function resolveTimbotAccount(params) {
59
60
  ? "final_text"
60
61
  : "strict";
61
62
  const overflowPolicy = merged.overflowPolicy === "split"
63
+ || !merged.overflowPolicy
62
64
  ? "split"
63
65
  : "stop";
64
66
  // 配置完整需要 sdkAppId + secretKey(identifier 可选,默认使用 administrator)
@@ -76,7 +78,7 @@ export function resolveTimbotAccount(params) {
76
78
  }
77
79
  return {
78
80
  accountId,
79
- name: merged.name?.trim() || undefined,
81
+ name: normalizeOptionalText(merged.name),
80
82
  enabled,
81
83
  configured,
82
84
  sdkAppId,
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAU7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEhD,SAAS,wBAAwB,CAAC,GAAmB;IACnD,MAAM,QAAQ,GAAI,GAAG,CAAC,QAAQ,EAAE,MAAmC,EAAE,QAAQ,CAAC;IAC9E,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAmB;IACtD,MAAM,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAmB;IAC/D,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAkC,CAAC;IACtE,IAAI,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE;QAAE,OAAO,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACpF,MAAM,GAAG,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAChE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAmB,EACnB,SAAiB;IAEjB,MAAM,QAAQ,GAAI,GAAG,CAAC,QAAQ,EAAE,MAAmC,EAAE,QAAQ,CAAC;IAC9E,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,QAAQ,CAAC,SAAS,CAAoC,CAAC;AAChE,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAmB,EAAE,SAAiB;IACtE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAiB,CAAC;IACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IACvE,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;IAEvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAGpC;IACC,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAkC,CAAC;IAC7E,MAAM,WAAW,GAAG,YAAY,EAAE,OAAO,KAAK,KAAK,CAAC;IACpD,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,WAAW,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC;IAExD,eAAe;IACf,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC;IAChF,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,KAAK,eAAe;QACtC,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,aAAa;YACtC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,YAAY;gBACrC,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,KAAK,CAAC;IAChB,MAAM,cAAc,GAClB,MAAM,CAAC,cAAc,KAAK,YAAY;QACpC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,QAAQ,CAAC;IACf,MAAM,cAAc,GAClB,MAAM,CAAC,cAAc,KAAK,OAAO;WAC5B,CAAC,MAAM,CAAC,cAAc;QACzB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,CAAC;IAEb,gEAAgE;IAChE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;IAElD,aAAa;IACb,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,EAAE,aAAa,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS;QACT,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC;QACxC,OAAO;QACP,UAAU;QACV,QAAQ;QACR,UAAU;QACV,SAAS;QACT,UAAU;QACV,SAAS;QACT,KAAK;QACL,aAAa;QACb,cAAc;QACd,cAAc;QACd,MAAM,EAAE,MAAM;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAmB;IAC3D,OAAO,oBAAoB,CAAC,GAAG,CAAC;SAC7B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;SAC5D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
@@ -16,7 +16,7 @@ const accountSchema = {
16
16
  name: { type: "string" },
17
17
  enabled: { type: "boolean" },
18
18
  webhookPath: { type: "string" },
19
- sdkAppId: { type: "string" },
19
+ sdkAppId: { oneOf: [{ type: "string" }, { type: "number" }] },
20
20
  identifier: { type: "string" },
21
21
  secretKey: { type: "string" },
22
22
  botAccount: { type: "string" },
@@ -40,7 +40,7 @@ export const timbotConfigSchema = {
40
40
  name: { type: "string" },
41
41
  enabled: { type: "boolean" },
42
42
  webhookPath: { type: "string" },
43
- sdkAppId: { type: "string" },
43
+ sdkAppId: { oneOf: [{ type: "string" }, { type: "number" }] },
44
44
  identifier: { type: "string" },
45
45
  secretKey: { type: "string" },
46
46
  botAccount: { type: "string" },
@@ -1 +1 @@
1
- {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/config-schema.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;QAC9E,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC3D;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE;QAC9F,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;QAClE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,EAAE,EAAE,QAAQ;KACb;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,MAAM,EAAE;QACN,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE;YAC9F,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;YAClE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,EAAE,EAAE,QAAQ;YACZ,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,aAAa;aACpC;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
1
+ {"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../src/config-schema.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;QAC9E,SAAS,EAAE;YACT,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;SAC3D;KACF;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;QAC7D,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE;QAC9F,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;QAClE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,EAAE,EAAE,QAAQ;KACb;IACD,oBAAoB,EAAE,KAAK;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,MAAM,EAAE;QACN,OAAO,EAAE,yCAAyC;QAClD,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;YAC7D,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACzB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC9B,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE;YAC9F,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE;YAClE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;YAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC7B,EAAE,EAAE,QAAQ;YACZ,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClC,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,aAAa;aACpC;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function normalizeOptionalText(value: unknown): string | undefined;
2
+ //# sourceMappingURL=config-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-text.d.ts","sourceRoot":"","sources":["../../src/config-text.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAWxE"}
@@ -0,0 +1,11 @@
1
+ export function normalizeOptionalText(value) {
2
+ if (typeof value === "string") {
3
+ const trimmed = value.trim();
4
+ return trimmed || undefined;
5
+ }
6
+ if (typeof value === "number" && Number.isFinite(value)) {
7
+ return String(value);
8
+ }
9
+ return undefined;
10
+ }
11
+ //# sourceMappingURL=config-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-text.js","sourceRoot":"","sources":["../../src/config-text.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,OAAO,IAAI,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/monitor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,KAAK,EACV,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AAiBpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF,CAAC;AAqcF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,qBAAqB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG/D;AAkFD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAGhF;AAg0CD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAWnF;AAED,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,OAAO,CAAC,CAuHlB"}
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../src/monitor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,KAAK,EACV,qBAAqB,EAKtB,MAAM,YAAY,CAAC;AAmBpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF,CAAC;AAiYF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE;IAC9C,OAAO,EAAE,qBAAqB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG/D;AAkFD,wBAAsB,sBAAsB,CAAC,MAAM,EAAE;IACnD,OAAO,EAAE,qBAAqB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAGhF;AA8iDD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,IAAI,CAWnF;AAED,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,OAAO,CAAC,CAuHlB"}