{"version":3,"sources":["../src/tools/notification.ts"],"names":["tool","z"],"mappings":";;;;;;AAGO,IAAM,aAAaA,QAAA,CAAK;AAAA,EAC7B,IAAA,EAAM,QAAA;AAAA,EACN,WAAA,EAAa,6DAAA;AAAA,EACb,WAAA,EAAaC,MAAE,MAAA,CAAO;AAAA,IACpB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,IAChB,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC3B,CAAA;AAAA,EACD,QAAA,EAAU,OAAO,KAAA,KAAU;AACzB,IAAA,IAAI;AACF,MAAA,IAAI,EAAE,cAAA,IAAkB,MAAA,CAAA,EAAS,OAAO,IAAA,CAAK,SAAA,CAAU,EAAE,MAAA,EAAQ,OAAA,EAAS,KAAA,EAAO,2BAAA,EAA6B,CAAA;AAC9G,MAAA,IAAI,OAAO,YAAA,CAAa,UAAA;AACxB,MAAA,IAAI,IAAA,KAAS,SAAA,EAAW,IAAA,GAAO,MAAM,aAAa,iBAAA,EAAkB;AACpE,MAAA,IAAI,IAAA,KAAS,SAAA,EAAW,OAAO,IAAA,CAAK,SAAA,CAAU,EAAE,MAAA,EAAQ,OAAA,EAAS,KAAA,EAAO,mBAAA,EAAqB,CAAA;AAC7F,MAAA,IAAI,YAAA,CAAa,KAAA,CAAM,KAAA,EAAO,EAAE,IAAA,EAAM,KAAA,CAAM,IAAA,EAAM,IAAA,EAAM,KAAA,CAAM,IAAA,IAAQ,eAAA,EAAiB,CAAA;AACvF,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IAC7C,SAAS,GAAA,EAAc;AAAE,MAAA,OAAO,IAAA,CAAK,UAAU,EAAE,MAAA,EAAQ,SAAS,KAAA,EAAQ,GAAA,CAAc,SAAS,CAAA;AAAA,IAAE;AAAA,EACrG;AACF,CAAC;AAEM,IAAM,cAAcD,QAAA,CAAK;AAAA,EAC9B,IAAA,EAAM,SAAA;AAAA,EACN,WAAA,EAAa,4EAAA;AAAA,EACb,WAAA,EAAaC,KAAA,CAAE,MAAA,CAAO,EAAE,SAASA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,CAAS,yBAAyB,GAAG,CAAA;AAAA,EAC1F,QAAA,EAAU,CAAC,KAAA,KAAU;AACnB,IAAA,IAAI;AACF,MAAA,IAAI,EAAE,SAAA,IAAa,SAAA,CAAA,EAAY,OAAO,IAAA,CAAK,SAAA,CAAU,EAAE,MAAA,EAAQ,OAAA,EAAS,KAAA,EAAO,uBAAA,EAAyB,CAAA;AACxG,MAAA,SAAA,CAAU,OAAA,CAAQ,MAAM,OAAO,CAAA;AAC/B,MAAA,OAAO,IAAA,CAAK,SAAA,CAAU,EAAE,MAAA,EAAQ,WAAW,CAAA;AAAA,IAC7C,SAAS,GAAA,EAAc;AAAE,MAAA,OAAO,IAAA,CAAK,UAAU,EAAE,MAAA,EAAQ,SAAS,KAAA,EAAQ,GAAA,CAAc,SAAS,CAAA;AAAA,IAAE;AAAA,EACrG;AACF,CAAC;AAEM,IAAM,kBAAA,GAAqB,CAAC,UAAA,EAAY,WAAW","file":"chunk-T3X5E3IF.cjs","sourcesContent":["import { tool } from '@strands-agents/sdk'\nimport { z } from 'zod'\n\nexport const notifyTool = tool({\n  name: 'notify',\n  description: 'Show a browser notification (requests permission if needed)',\n  inputSchema: z.object({\n    title: z.string(),\n    body: z.string().optional(),\n    icon: z.string().optional(),\n  }),\n  callback: async (input) => {\n    try {\n      if (!('Notification' in window)) return JSON.stringify({ status: 'error', error: 'Notifications unsupported' })\n      let perm = Notification.permission\n      if (perm !== 'granted') perm = await Notification.requestPermission()\n      if (perm !== 'granted') return JSON.stringify({ status: 'error', error: 'Permission denied' })\n      new Notification(input.title, { body: input.body, icon: input.icon || '/icon-192.png' })\n      return JSON.stringify({ status: 'success' })\n    } catch (err: unknown) { return JSON.stringify({ status: 'error', error: (err as Error).message }) }\n  },\n})\n\nexport const vibrateTool = tool({\n  name: 'vibrate',\n  description: 'Vibrate device (mobile). Pattern: array of ms durations (on/off/on/off...)',\n  inputSchema: z.object({ pattern: z.array(z.number()).describe('Vibration pattern in ms') }),\n  callback: (input) => {\n    try {\n      if (!('vibrate' in navigator)) return JSON.stringify({ status: 'error', error: 'Vibration unsupported' })\n      navigator.vibrate(input.pattern)\n      return JSON.stringify({ status: 'success' })\n    } catch (err: unknown) { return JSON.stringify({ status: 'error', error: (err as Error).message }) }\n  },\n})\n\nexport const NOTIFICATION_TOOLS = [notifyTool, vibrateTool]\n"]}