+20
-5
@@ -659,6 +659,13 @@ /** | ||
| '{{$header.name}} are built-ins) - e.g. shape a Slack message and point callbackUrl ' + | ||
| 'at a Slack webhook. Actions: add, list, remove.', | ||
| "at a Slack webhook. destination 'email' emails the owner instead (throttled, no " + | ||
| "callback); destination 'push' sends Web Push notifications to every device the " + | ||
| 'owner enabled in the console (console.otterkit.com -> webhook -> Notifications). ' + | ||
| 'Actions: add, list, remove.', | ||
| inputSchema: { | ||
| subdomain: z.string().describe('A live webhook endpoint'), | ||
| action: z.enum(['add', 'list', 'remove']), | ||
| destination: z | ||
| .enum(['url', 'email', 'push']) | ||
| .optional() | ||
| .describe("add: where matches go - 'url' (default, needs callbackUrl), 'email' (throttled owner email), or 'push' (Web Push to the owner's enabled devices, max 1/min per rule)"), | ||
| callbackUrl: z.string().optional().describe('add: URL matching requests are delivered to'), | ||
@@ -705,3 +712,4 @@ method: z.string().optional().describe('add: only match this HTTP method'), | ||
| } | ||
| if (!args.callbackUrl) | ||
| const destination = args.destination ?? 'url'; | ||
| if (destination === 'url' && !args.callbackUrl) | ||
| return err('callback_url_required'); | ||
@@ -720,4 +728,5 @@ const match = {}; | ||
| const ct = args.transformContentType ? { contentType: args.transformContentType } : {}; | ||
| return ok(await createWait(args.subdomain, token, { | ||
| callbackUrl: args.callbackUrl, | ||
| const created = await createWait(args.subdomain, token, { | ||
| destination, | ||
| ...(destination === 'url' ? { callbackUrl: args.callbackUrl } : {}), | ||
| requireVerified: args.requireVerified, | ||
@@ -727,3 +736,9 @@ match, | ||
| ...(args.script ? { script: { source: args.script, ...ct } } : {}), | ||
| })); | ||
| }); | ||
| return ok(created.destination === 'push' | ||
| ? { | ||
| ...created, | ||
| setup: 'Pushes deliver to devices the owner enabled: console.otterkit.com -> webhook -> Notifications -> Enable on this device.', | ||
| } | ||
| : created); | ||
| } | ||
@@ -730,0 +745,0 @@ catch (e) { |
+4
-2
@@ -11,2 +11,4 @@ export interface WaitView { | ||
| }; | ||
| /** 'url' delivers to callbackUrl; 'email'/'push' notify the owner. */ | ||
| destination?: 'url' | 'email' | 'push'; | ||
| /** Only fire on requests whose inbound signature verified 'valid'. */ | ||
@@ -49,4 +51,4 @@ requireVerified?: boolean; | ||
| export declare function createWait(subdomain: string, token: string, body: { | ||
| /** 'url' (default) delivers to callbackUrl; 'email' notifies the owner. */ | ||
| destination?: 'url' | 'email'; | ||
| /** 'url' (default) delivers to callbackUrl; 'email'/'push' notify the owner. */ | ||
| destination?: 'url' | 'email' | 'push'; | ||
| /** Only fire on requests whose inbound signature verified 'valid'. */ | ||
@@ -53,0 +55,0 @@ requireVerified?: boolean; |
+1
-1
| { | ||
| "name": "otterkit", | ||
| "version": "0.41.0", | ||
| "version": "0.42.0", | ||
| "description": "OtterKit CLI - provision and connect tunnels for AI agents", | ||
@@ -5,0 +5,0 @@ "mcpName": "io.github.useotterkit/otterkit", |
Sorry, the diff of this file is too big to display
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
AI-detected potential code anomaly
Supply chain riskAI has identified unusual behaviors that may pose a security risk.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
296088
1.28%6851
0.97%