Skip to content

Instantly share code, notes, and snippets.

@syndkit
syndkit / syndkit-signal-ingress-ux-fixes-one-more.patch
Created March 3, 2026 23:16
Syndkit Signal ingress UX: block draft <name> fallthrough + include matchId on add-match replies + update help
--- a/app/api/openclaw/signal-ingress/route.ts
+++ b/app/api/openclaw/signal-ingress/route.ts
@@ -272,6 +272,7 @@
| { kind: 'live'; max: number }
| { kind: 'approve'; matchId: string }
| { kind: 'draft_match'; matchId: string };
+ | { kind: 'draft_name'; name: string }
function parseFastCommand(raw: string): FastCommand | null {
const text = raw.trim();
@syndkit
syndkit / syndkit-signal-ingress-fix-syndkit-scope-no-direct-db.patch
Created March 3, 2026 21:52
Fix Signal ingress: derive Syndkit dealId via control endpoint (avoid direct fuzzy DB query causing Postgres syntax error)
*** Begin Patch
*** Update File: app/api/openclaw/signal-ingress/route.ts
@@
-async function resolveSyndkitDealId(userId: string): Promise<string | null> {
- const rows = await db
- .select({ id: deals.id })
- .from(deals)
- .where(
- and(
- eq(deals.userId, userId),
@syndkit
syndkit / syndkit-fix-missing-resolveSyndkitDealId.patch
Created March 3, 2026 21:27
Fix: define resolveSyndkitDealId used by Signal ingress fast-path
*** Begin Patch
*** Update File: app/api/openclaw/signal-ingress/route.ts
@@
function formatRun(run: any): string {
@@
}
+
+async function resolveSyndkitDealId(userId: string): Promise<string | null> {
+ // Best-effort: find a deal whose name or company matches "syndkit".
+ // This keeps Signal UX deal-scoped without requiring the user to specify deal every time.
@syndkit
syndkit / syndkit-signal-ingress-syndkit-scope-and-ux-logic.patch
Created March 3, 2026 21:12
Syndkit Signal ingress: default deal scoping + humanized dry-run wording
*** Begin Patch
*** Update File: app/api/openclaw/signal-ingress/route.ts
@@
- const fast = parseFastCommand(incomingText);
+ const fast = parseFastCommand(incomingText);
if (fast) {
let replyText = '';
let ok = true;
+
+ // Default to Syndkit-only scope for Signal UX, unless explicitly overridden.
@syndkit
syndkit / syndkit-signal-ingress-fast-commands.patch
Created March 3, 2026 20:20
Syndkit Signal ingress: fast commands + confirmation-gated fundraising intents
*** Begin Patch
*** Update File: app/api/openclaw/signal-ingress/route.ts
@@
import { parseConsigliereAliasMap, resolveMappedPrimaryIdentity } from '@/lib/consigliere/identity-alias';
export const dynamic = 'force-dynamic';
@@
interface SignalIngressPayload {
text?: string;
message?: string;