feat: multi-agent routing + multi-account providers

This commit is contained in:
Peter Steinberger
2026-01-06 18:25:37 +00:00
parent 50d4b17417
commit dbfa316d19
129 changed files with 3760 additions and 1126 deletions

View File

@@ -161,7 +161,7 @@ const DEFAULT_CRON_FORM: CronFormState = {
payloadKind: "systemEvent",
payloadText: "",
deliver: false,
channel: "last",
provider: "last",
to: "",
timeoutSeconds: "",
postToMainPrefix: "",

View File

@@ -73,7 +73,7 @@ export function buildCronPayload(form: CronFormState) {
kind: "agentTurn";
message: string;
deliver?: boolean;
channel?:
provider?:
| "last"
| "whatsapp"
| "telegram"
@@ -85,7 +85,7 @@ export function buildCronPayload(form: CronFormState) {
timeoutSeconds?: number;
} = { kind: "agentTurn", message };
if (form.deliver) payload.deliver = true;
if (form.channel) payload.channel = form.channel;
if (form.provider) payload.provider = form.provider;
if (form.to.trim()) payload.to = form.to.trim();
const timeoutSeconds = toNumber(form.timeoutSeconds, 0);
if (timeoutSeconds > 0) payload.timeoutSeconds = timeoutSeconds;

View File

@@ -271,7 +271,7 @@ export type CronPayload =
thinking?: string;
timeoutSeconds?: number;
deliver?: boolean;
channel?:
provider?:
| "last"
| "whatsapp"
| "telegram"

View File

@@ -162,7 +162,7 @@ export type CronFormState = {
payloadKind: "systemEvent" | "agentTurn";
payloadText: string;
deliver: boolean;
channel:
provider:
| "last"
| "whatsapp"
| "telegram"

View File

@@ -174,12 +174,12 @@ export function renderCron(props: CronProps) {
/>
</label>
<label class="field">
<span>Channel</span>
<span>Provider</span>
<select
.value=${props.form.channel}
.value=${props.form.provider}
@change=${(e: Event) =>
props.onFormChange({
channel: (e.target as HTMLSelectElement).value as CronFormState["channel"],
provider: (e.target as HTMLSelectElement).value as CronFormState["provider"],
})}
>
<option value="last">Last</option>