mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-29 19:01:44 +00:00
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
// Keep the external runtime API light so Jiti callers can resolve Matrix config
|
|
// helpers without traversing the full plugin-sdk/runtime graph or bootstrapping
|
|
// matrix-js-sdk during plain runtime-api import.
|
|
export * from "./src/auth-precedence.js";
|
|
export {
|
|
requiresExplicitMatrixDefaultAccount,
|
|
resolveMatrixDefaultOrOnlyAccountId,
|
|
} from "./src/account-selection.js";
|
|
export * from "./src/account-selection.js";
|
|
export * from "./src/env-vars.js";
|
|
export * from "./src/storage-paths.js";
|
|
export {
|
|
assertHttpUrlTargetsPrivateNetwork,
|
|
closeDispatcher,
|
|
createPinnedDispatcher,
|
|
resolvePinnedHostnameWithPolicy,
|
|
ssrfPolicyFromAllowPrivateNetwork,
|
|
type LookupFn,
|
|
type SsrFPolicy,
|
|
} from "openclaw/plugin-sdk/ssrf-runtime";
|
|
export {
|
|
setMatrixThreadBindingIdleTimeoutBySessionKey,
|
|
setMatrixThreadBindingMaxAgeBySessionKey,
|
|
} from "./src/matrix/thread-bindings-shared.js";
|
|
export { setMatrixRuntime } from "./src/runtime.js";
|
|
export { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store";
|
|
export type {
|
|
ChannelDirectoryEntry,
|
|
ChannelMessageActionContext,
|
|
OpenClawConfig,
|
|
PluginRuntime,
|
|
RuntimeLogger,
|
|
RuntimeEnv,
|
|
WizardPrompter,
|
|
} from "openclaw/plugin-sdk/matrix-runtime-shared";
|
|
export { formatZonedTimestamp } from "openclaw/plugin-sdk/matrix-runtime-shared";
|
|
|
|
export function chunkTextForOutbound(text: string, limit: number): string[] {
|
|
const chunks: string[] = [];
|
|
let remaining = text;
|
|
while (remaining.length > limit) {
|
|
const window = remaining.slice(0, limit);
|
|
const splitAt = Math.max(window.lastIndexOf("\n"), window.lastIndexOf(" "));
|
|
const breakAt = splitAt > 0 ? splitAt : limit;
|
|
chunks.push(remaining.slice(0, breakAt).trimEnd());
|
|
remaining = remaining.slice(breakAt).trimStart();
|
|
}
|
|
if (remaining.length > 0 || text.length === 0) {
|
|
chunks.push(remaining);
|
|
}
|
|
return chunks;
|
|
}
|