Files
openclaw/extensions/signal/api.ts
Jesse Merhi 4a2a600809 feat(channels): add channel-owned setup contracts (#112176)
* feat(channels): add channel-owned setup contracts

* test(channels): align legacy setup fixtures

* chore(channels): regenerate config and SDK baselines after rebase

* fix(update): run fresh doctor after current-process core changes

* fix(channels): align add pre-scan with execution precedence

* style(cli): format channels-cli test additions

* fix(channels): restore option-before-positional channel resolution via metadata arity scan

* fix(channels): keep help flags out of metadata arity escalation

* test(update): mock fresh post-update doctor in current-process suites

* style: format review fixes and correct entrypoint mock type

* fix(channels): register only modern contract options for dual-publishing plugins

* test(update): align downgrade suites with fresh-doctor child invocation

* docs(channels): record empty-contract and input-forwarding invariants

* fix(line): keep the shipped --token switch as a channel access token alias

* fix(signal): stop treating exact cross-family loopback endpoints as bind-aligned

* chore(config): regenerate docs config baselines after second rebase

* style: format rebased channels add tests

* fix(channels): enforce field-key and flag-name agreement in setup contracts

* fix(signal): detect container endpoints for bare --http-url setup

* fix(signal): ignore unconfigured accounts in transport collision checks

* fix(channels): validate negated setup flags in contract and normalizer

* fix(signal): preserve existing transport kind when setup detection is unreachable

* style(signal): use direct boolean check in collision guard

* style(signal): type test config literals

* docs(update): record two-read design of fresh-doctor validation gate

* fix(channels): satisfy post-rebase architecture gates

* docs: refresh channel setup map

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-22 19:57:42 -04:00

75 lines
2.1 KiB
TypeScript

// Signal API module exposes the plugin public contract.
export { signalPlugin } from "./src/channel.js";
export { signalSetupPlugin } from "./src/channel.setup.js";
export {
listEnabledSignalAccounts,
listSignalAccountIds,
resolveDefaultSignalAccountId,
type ResolvedSignalAccount,
resolveSignalAccount,
} from "./src/accounts.js";
export {
markdownToSignalText,
markdownToSignalTextChunks,
type SignalFormattedText,
type SignalTextStyleRange,
} from "./src/format.js";
export {
formatSignalPairingIdLine,
formatSignalSenderDisplay,
formatSignalSenderId,
isSignalSenderAllowed,
looksLikeUuid,
normalizeSignalAllowRecipient,
resolveSignalPeerId,
resolveSignalRecipient,
resolveSignalSender,
type SignalSender,
} from "./src/identity.js";
export {
extractSignalCliArchive,
installSignalCli,
looksLikeArchive,
type NamedAsset,
pickAsset,
type ReleaseAsset,
type SignalInstallResult,
} from "./src/install-signal-cli.js";
export { signalMessageActions } from "./src/message-actions.js";
export { type MonitorSignalOpts, monitorSignalProvider } from "./src/monitor.js";
export { looksLikeSignalTargetId, normalizeSignalMessagingTarget } from "./src/normalize.js";
export {
type ResolvedSignalOutboundTarget,
resolveSignalOutboundTarget,
} from "./src/outbound-session.js";
export { probeSignal, type SignalProbe } from "./src/probe.js";
export {
type ResolvedSignalReactionLevel,
resolveSignalReactionLevel,
type SignalReactionLevel,
} from "./src/reaction-level.js";
export {
removeReactionSignal,
sendReactionSignal,
type SignalReactionOpts,
type SignalReactionResult,
} from "./src/send-reactions.js";
export {
sendMessageSignal,
sendReadReceiptSignal,
sendTypingSignal,
type SignalReceiptType,
type SignalRpcOpts,
type SignalSendOpts,
type SignalSendResult,
} from "./src/send.js";
export { normalizeSignalAccountInput } from "./src/setup-core.js";
export {
detectSignalTransport,
prepareSignalManagedNativeTransport,
probeSignalTransport,
type SignalManagedNativeTransport,
type SignalTransportProbeResult,
writeSignalAccountTransport,
} from "./src/setup-transport.js";