fix(mattermost): centralize model picker page parsing · openclaw/openclaw@c4a5bba
steipete
·
2026-05-29
·
via Recent Commits to openclaw:main
File tree
extensions/mattermost/src/mattermost
| Original file line number | Diff line number | Diff line change |
|---|
@@ -137,6 +137,20 @@ describe("Mattermost model picker", () => {
|
137 | 137 | }); |
138 | 138 | |
139 | 139 | it("does not coerce partial page strings in signed picker contexts", () => { |
| 140 | +expect( |
| 141 | +parseMattermostModelPickerContext({ |
| 142 | +oc_model_picker: true, |
| 143 | +action: "list", |
| 144 | +ownerUserId: "user-1", |
| 145 | +provider: "openai", |
| 146 | +page: "+02", |
| 147 | +}), |
| 148 | +).toEqual({ |
| 149 | +action: "list", |
| 150 | +ownerUserId: "user-1", |
| 151 | +provider: "openai", |
| 152 | +page: 2, |
| 153 | +}); |
140 | 154 | expect( |
141 | 155 | parseMattermostModelPickerContext({ |
142 | 156 | oc_model_picker: true, |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -4,6 +4,7 @@ import {
|
4 | 4 | type ModelsProviderData, |
5 | 5 | } from "openclaw/plugin-sdk/command-auth-native"; |
6 | 6 | import type { OpenClawConfig } from "openclaw/plugin-sdk/core"; |
| 7 | +import { parseStrictInteger } from "openclaw/plugin-sdk/number-runtime"; |
7 | 8 | import { normalizeProviderId } from "openclaw/plugin-sdk/provider-model-shared"; |
8 | 9 | import { loadSessionStore, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime"; |
9 | 10 | import { |
@@ -62,11 +63,8 @@ function readContextNumber(context: Record<string, unknown>, key: string): numbe
|
62 | 63 | if (typeof value === "number" && Number.isFinite(value)) { |
63 | 64 | return value; |
64 | 65 | } |
65 | | -if (typeof value === "string" && /^[+-]?\d+$/.test(value.trim())) { |
66 | | -const parsed = Number(value.trim()); |
67 | | -if (Number.isSafeInteger(parsed)) { |
68 | | -return parsed; |
69 | | -} |
| 66 | +if (typeof value === "string") { |
| 67 | +return parseStrictInteger(value); |
70 | 68 | } |
71 | 69 | return undefined; |
72 | 70 | } |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。