cognova 0.2.20 → 0.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{CCeM5lW2.js → -O86rjFZ.js} +1 -1
- package/.output/public/_nuxt/{BXxZokD_.js → -Q9J9PRu.js} +1 -1
- package/.output/public/_nuxt/{Hh9mv0Ek.js → 0DkCurh5.js} +1 -1
- package/.output/public/_nuxt/{CjJPkhbc.js → 49whOfsW.js} +1 -1
- package/.output/public/_nuxt/{DqR9SdeU.js → 4Vi9hKJC.js} +1 -1
- package/.output/public/_nuxt/{BoCU3mWu.js → 66GNa6MU.js} +1 -1
- package/.output/public/_nuxt/9dGxQN-2.js +1 -0
- package/.output/public/_nuxt/{DhlIWT8K.js → 9wWq016N.js} +1 -1
- package/.output/public/_nuxt/{BD5rPkc2.js → B04GYyxD.js} +1 -1
- package/.output/public/_nuxt/{DwrmFEZN.js → B0KPvVav.js} +1 -1
- package/.output/public/_nuxt/{Cywo6tZI.js → B1meh0Ci.js} +1 -1
- package/.output/public/_nuxt/{C5Cu9Fx6.js → B53zbEPa.js} +1 -1
- package/.output/public/_nuxt/{B20jNAhm.js → B6-aFDg7.js} +1 -1
- package/.output/public/_nuxt/{kkAMoB43.js → B6lgiDn1.js} +1 -1
- package/.output/public/_nuxt/{BgavRUl_.js → B7uuK82m.js} +1 -1
- package/.output/public/_nuxt/{BWqJInD3.js → B9OPrqTh.js} +1 -1
- package/.output/public/_nuxt/{DLHnP6tw.js → BA646MN4.js} +1 -1
- package/.output/public/_nuxt/{mzM4BGtv.js → BDhTzPPo.js} +1 -1
- package/.output/public/_nuxt/{CZNOaqeX.js → BDzVzzBM.js} +1 -1
- package/.output/public/_nuxt/{DTlSLSo1.js → BEkFNtxw.js} +3 -3
- package/.output/public/_nuxt/{B_hNqC64.js → BI7-RNYV.js} +1 -1
- package/.output/public/_nuxt/{rIgg2Arf.js → BN8XazaH.js} +3 -3
- package/.output/public/_nuxt/{TSYrPbLR.js → BNP0kT7B.js} +1 -1
- package/.output/public/_nuxt/{BhhMUror.js → BPfVf7kt.js} +1 -1
- package/.output/public/_nuxt/{BxsQlbgl.js → BQGDi8tM.js} +1 -1
- package/.output/public/_nuxt/{Br6epbzY.js → BUXewbUG.js} +1 -1
- package/.output/public/_nuxt/{Y59XKprr.js → BW0FZi7D.js} +1 -1
- package/.output/public/_nuxt/{Br81Sr2R.js → BXmijQzM.js} +1 -1
- package/.output/public/_nuxt/{C-78dDNd.js → BZFf3mr_.js} +1 -1
- package/.output/public/_nuxt/{C7hFztZL.js → BZx0xqxG.js} +1 -1
- package/.output/public/_nuxt/{DjsqyRqt.js → BbElT9yG.js} +1 -1
- package/.output/public/_nuxt/{BHUy5EAj.js → BjyHtuwq.js} +1 -1
- package/.output/public/_nuxt/{C4sG6rdW.js → BnfOmQBX.js} +1 -1
- package/.output/public/_nuxt/BoqEl-F1.js +1 -0
- package/.output/public/_nuxt/{C_A_NkeC.js → Bq2pktu_.js} +2 -2
- package/.output/public/_nuxt/{C2Gh3qqr.js → Br712gOY.js} +1 -1
- package/.output/public/_nuxt/{PamJNol9.js → Bs4sk8vv.js} +1 -1
- package/.output/public/_nuxt/{DL4EpgqQ.js → Bt87rSlM.js} +1 -1
- package/.output/public/_nuxt/{DFTEBTzZ.js → BtOA13zl.js} +1 -1
- package/.output/public/_nuxt/{TNpdJOlc.js → Bti4Nb4c.js} +1 -1
- package/.output/public/_nuxt/{BZ7DAtPi.js → Bu0HhyZq.js} +1 -1
- package/.output/public/_nuxt/{D867g6Ds.js → Bv25Wgb9.js} +1 -1
- package/.output/public/_nuxt/{CqS0zXYQ.js → BwMPB_Mu.js} +1 -1
- package/.output/public/_nuxt/{CS8SdmH2.js → BzkqPhn-.js} +1 -1
- package/.output/public/_nuxt/{BZm9w7en.js → C35LJkds.js} +1 -1
- package/.output/public/_nuxt/{DcJ0GstJ.js → C4VW2EjN.js} +1 -1
- package/.output/public/_nuxt/{C2-_hcwB.js → C6FzuEFH.js} +1 -1
- package/.output/public/_nuxt/{X0o5GcBb.js → C866FgGj.js} +1 -1
- package/.output/public/_nuxt/{BOCn_SGf.js → CBqC92gC.js} +3 -3
- package/.output/public/_nuxt/{D49P2RhG.js → CD2Wt775.js} +1 -1
- package/.output/public/_nuxt/{BzrhNhdT.js → CE491BHV.js} +1 -1
- package/.output/public/_nuxt/{BAY3_Hrq.js → CF8ziKf1.js} +1 -1
- package/.output/public/_nuxt/{B3OpTH_e.js → CFE6wnRK.js} +1 -1
- package/.output/public/_nuxt/{BVYYP4eQ.js → CFjVdIUR.js} +1 -1
- package/.output/public/_nuxt/{Dsuag_iW.js → CGPn0bIO.js} +1 -1
- package/.output/public/_nuxt/{BtrNCc2S.js → CKSWEIag.js} +1 -1
- package/.output/public/_nuxt/{BgIS9_ti.js → CL9cB3YW.js} +1 -1
- package/.output/public/_nuxt/{BWQ7zE01.js → CLUsxCN7.js} +1 -1
- package/.output/public/_nuxt/{CVVtVzXC.js → CM5aLXsq.js} +1 -1
- package/.output/public/_nuxt/{DZikIgHK.js → CN_jZBEh.js} +1 -1
- package/.output/public/_nuxt/{B-yW4SD3.js → CNgf0D2d.js} +1 -1
- package/.output/public/_nuxt/{CHbHVtCy.js → CPYFvNZ2.js} +1 -1
- package/.output/public/_nuxt/{PY5EGujn.js → CQTD64un.js} +1 -1
- package/.output/public/_nuxt/{DpSM97eH.js → CRLO8tx3.js} +1 -1
- package/.output/public/_nuxt/{DxE8r3r4.js → CTIUqf4N.js} +1 -1
- package/.output/public/_nuxt/{CLNcmNQS.js → CUDpi0L3.js} +1 -1
- package/.output/public/_nuxt/{C_doutX-.js → CY4SEsrB.js} +1 -1
- package/.output/public/_nuxt/{LR0kCjbe.js → CYAPNNGW.js} +1 -1
- package/.output/public/_nuxt/{CHnVFnBW.js → CZV2u8Xx.js} +1 -1
- package/.output/public/_nuxt/{CAVUAxNU.js → C_TYqFbT.js} +1 -1
- package/.output/public/_nuxt/{D3cEeQh7.js → CdIGoC9r.js} +1 -1
- package/.output/public/_nuxt/{U-eBrbR4.js → CiPQXVBy.js} +1 -1
- package/.output/public/_nuxt/{DEFWIjWl.js → Cif20myG.js} +1 -1
- package/.output/public/_nuxt/{DNAMjHbb.js → Ck1KJ2HV.js} +1 -1
- package/.output/public/_nuxt/{Cet4T_yO.js → CkSyHzm-.js} +1 -1
- package/.output/public/_nuxt/{CuvkTsqs.js → ClKTC8bU.js} +1 -1
- package/.output/public/_nuxt/CltqyXO5.js +1 -0
- package/.output/public/_nuxt/{BS1t375R.js → CmuSeGko.js} +1 -1
- package/.output/public/_nuxt/{CkrW8sGL.js → Cn_NBSuo.js} +1 -1
- package/.output/public/_nuxt/{C2OHaW6l.js → CvUov1Ey.js} +1 -1
- package/.output/public/_nuxt/{BQi8LIrn.js → CwY5tLRb.js} +1 -1
- package/.output/public/_nuxt/{C3xzleKP.js → CwoQ23uO.js} +1 -1
- package/.output/public/_nuxt/{1wCoXZ14.js → Cwoe6TAi.js} +1 -1
- package/.output/public/_nuxt/{CbDLhrNA.js → CxTuME0Z.js} +2 -2
- package/.output/public/_nuxt/{BGYoW3kO.js → Cyjm1APH.js} +1 -1
- package/.output/public/_nuxt/{C6Eoiclo.js → Cyo4VJ6S.js} +1 -1
- package/.output/public/_nuxt/{Be47YE2L.js → D-WxGaym.js} +1 -1
- package/.output/public/_nuxt/{0GqCtQ9S.js → D0SYimTY.js} +1 -1
- package/.output/public/_nuxt/{G_CsVlOR.js → D82AhPdI.js} +1 -1
- package/.output/public/_nuxt/{DVdnhfXT.js → D9dLxr1_.js} +1 -1
- package/.output/public/_nuxt/{C3szZmvA.js → D9jU4ocP.js} +1 -1
- package/.output/public/_nuxt/{C1oaoi1p.js → DAQeLqQw.js} +1 -1
- package/.output/public/_nuxt/{DM20WaLq.js → DDg2H-HK.js} +1 -1
- package/.output/public/_nuxt/{Co0UxVsx.js → DESvLlSI.js} +1 -1
- package/.output/public/_nuxt/{B9_vmatf.js → DFSB3QxC.js} +1 -1
- package/.output/public/_nuxt/{RlvwEbHv.js → DFqzAgzP.js} +1 -1
- package/.output/public/_nuxt/{Bj5e7QPz.js → DJuYHeIc.js} +1 -1
- package/.output/public/_nuxt/{D1reIfpX.js → DK0AJoGL.js} +1 -1
- package/.output/public/_nuxt/{XQNzmQy9.js → DQdWxVax.js} +1 -1
- package/.output/public/_nuxt/{z-MP0bB7.js → DRF-DnQg.js} +1 -1
- package/.output/public/_nuxt/{hCeWb_38.js → DUf0f355.js} +1 -1
- package/.output/public/_nuxt/{jTT1R-Vz.js → DWnLv2oh.js} +1 -1
- package/.output/public/_nuxt/{vCFAHwdt.js → DXkvGTEB.js} +1 -1
- package/.output/public/_nuxt/{CePKCqSb.js → DZncVjYt.js} +1 -1
- package/.output/public/_nuxt/{jC4pIK1p.js → DaAG12aj.js} +1 -1
- package/.output/public/_nuxt/{D2edadpd.js → Db66Rsfj.js} +1 -1
- package/.output/public/_nuxt/{B9Y3_B5G.js → DbLjznUU.js} +1 -1
- package/.output/public/_nuxt/{CxMuZEwX.js → Dfzca1IN.js} +1 -1
- package/.output/public/_nuxt/{MYeLvJGV.js → DhvuBruY.js} +1 -1
- package/.output/public/_nuxt/{Daf2MbWG.js → Dj9yr6QC.js} +1 -1
- package/.output/public/_nuxt/{_-TGPiLQ.js → DjJn4g73.js} +1 -1
- package/.output/public/_nuxt/{2J1KxdHv.js → DkAUrkyD.js} +1 -1
- package/.output/public/_nuxt/{DhN3_DYH.js → DkybthvX.js} +1 -1
- package/.output/public/_nuxt/{CkZT4LGq.js → DlNwSYeM.js} +1 -1
- package/.output/public/_nuxt/{pwJTkIQ4.js → Dm5HyQgM.js} +1 -1
- package/.output/public/_nuxt/{t8B72leH.js → Dn7zgQZh.js} +1 -1
- package/.output/public/_nuxt/{D41A2mE2.js → DoIqoxBH.js} +1 -1
- package/.output/public/_nuxt/{Bnn59-FS.js → Dqx39Omg.js} +1 -1
- package/.output/public/_nuxt/{8WMJQbWG.js → DrQVjmDX.js} +1 -1
- package/.output/public/_nuxt/{6VDUZECX.js → DuYzdzqK.js} +1 -1
- package/.output/public/_nuxt/{BLdMRpJD.js → DvZW6QuM.js} +1 -1
- package/.output/public/_nuxt/{CTGm_mc8.js → DxztGg8Y.js} +1 -1
- package/.output/public/_nuxt/{BTGeP1bA.js → EPFrlLUV.js} +1 -1
- package/.output/public/_nuxt/{hrPTRWjM.js → JsQhjNzl.js} +1 -1
- package/.output/public/_nuxt/{D_YGqvw_.js → NApXVVQD.js} +1 -1
- package/.output/public/_nuxt/{9Rw88G6h.js → OwiFxd0L.js} +1 -1
- package/.output/public/_nuxt/{BXdQ9ASJ.js → QAfF68DH.js} +1 -1
- package/.output/public/_nuxt/{CPwCTHun.js → QDt0Bhze.js} +1 -1
- package/.output/public/_nuxt/{DhSvBSt3.js → RF9kzKHY.js} +1 -1
- package/.output/public/_nuxt/{Dtr_0IbE.js → RzJhlhBq.js} +1 -1
- package/.output/public/_nuxt/{NKs0EGrh.js → SHHFgixe.js} +1 -1
- package/.output/public/_nuxt/V5ro_Ide.js +1 -0
- package/.output/public/_nuxt/{YZQjZgsH.js → Zge3ScOQ.js} +1 -1
- package/.output/public/_nuxt/{Bh0yGTzr.js → Zj8SE5Ja.js} +1 -1
- package/.output/public/_nuxt/{DHRexj9X.js → ZjXNlFkb.js} +1 -1
- package/.output/public/_nuxt/{DcYKh6QA.js → _5GQc09B.js} +1 -1
- package/.output/public/_nuxt/{CDcQ31Eh.js → aK4BeJQk.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/36770554-14f7-4f3a-add8-2f51436e3d25.json +1 -0
- package/.output/public/_nuxt/{C5gfF7J1.js → cQU5gXxh.js} +1 -1
- package/.output/public/_nuxt/{CxSijT71.js → cq8AG_FV.js} +1 -1
- package/.output/public/_nuxt/{o-s8JBm2.js → d2FXPfMj.js} +1 -1
- package/.output/public/_nuxt/{UuqXScSw.js → dD3g22lS.js} +1 -1
- package/.output/public/_nuxt/{subdxgSQ.js → f35n4CdE.js} +1 -1
- package/.output/public/_nuxt/{HStC1ZyE.js → gWMUdeHB.js} +1 -1
- package/.output/public/_nuxt/{CTQFGHjS.js → i2HesToX.js} +1 -1
- package/.output/public/_nuxt/{V04-MrLN.js → iIxC-lNx.js} +1 -1
- package/.output/public/_nuxt/{D1uV2uir.js → nRp8uM7H.js} +1 -1
- package/.output/public/_nuxt/{DP8t9VWs.js → oBlsjU0k.js} +1 -1
- package/.output/public/_nuxt/{-mGU8_Hv.js → rH7JJqZQ.js} +1 -1
- package/.output/public/_nuxt/{D_k1YwXm.js → tak9pMy9.js} +1 -1
- package/.output/public/_nuxt/{BrkEOLHu.js → vebhRA6y.js} +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{integrations-D5JWURiJ.mjs → integrations-Hf4O1jkW.mjs} +24 -77
- package/.output/server/chunks/build/integrations-Hf4O1jkW.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +1 -1
- package/.output/server/chunks/build/styles.mjs +4 -4
- package/.output/server/chunks/nitro/nitro.mjs +903 -996
- package/.output/server/package.json +1 -1
- package/app/pages/settings/integrations.vue +2 -23
- package/package.json +1 -1
- package/server/bridge/adapters/imessage.ts +12 -138
- package/shared/types/index.ts +0 -2
- package/.output/public/_nuxt/B9o6sFST.js +0 -1
- package/.output/public/_nuxt/CskGv_Km.js +0 -1
- package/.output/public/_nuxt/DTR31rjp.js +0 -1
- package/.output/public/_nuxt/Gyw_2f6x.js +0 -1
- package/.output/public/_nuxt/builds/meta/d528449f-50ac-4f95-b7da-122a1fdd6e85.json +0 -1
- package/.output/server/chunks/build/integrations-D5JWURiJ.mjs.map +0 -1
|
@@ -31,7 +31,6 @@ const bridgeConfigForm = reactive({
|
|
|
31
31
|
guildId: '',
|
|
32
32
|
channelId: '',
|
|
33
33
|
// iMessage
|
|
34
|
-
strategy: 'imsg' as 'imsg' | 'bluebubbles',
|
|
35
34
|
allowedNumbers: '',
|
|
36
35
|
blueBubblesUrl: '',
|
|
37
36
|
// Google
|
|
@@ -63,11 +62,6 @@ const discordListenModeOptions = [
|
|
|
63
62
|
{ value: 'all', label: 'All messages' }
|
|
64
63
|
]
|
|
65
64
|
|
|
66
|
-
const imessageStrategyOptions = [
|
|
67
|
-
{ value: 'imsg', label: 'Local (imsg CLI)' },
|
|
68
|
-
{ value: 'bluebubbles', label: 'BlueBubbles' }
|
|
69
|
-
]
|
|
70
|
-
|
|
71
65
|
const googleServiceOptions = [
|
|
72
66
|
{ value: 'gmail', label: 'Gmail' },
|
|
73
67
|
{ value: 'calendar', label: 'Calendar' },
|
|
@@ -137,7 +131,6 @@ function openBridgeConfig(bridge: Bridge) {
|
|
|
137
131
|
bridgeConfigForm.listenMode = 'mentions'
|
|
138
132
|
bridgeConfigForm.guildId = ''
|
|
139
133
|
bridgeConfigForm.channelId = ''
|
|
140
|
-
bridgeConfigForm.strategy = 'imsg'
|
|
141
134
|
bridgeConfigForm.allowedNumbers = ''
|
|
142
135
|
bridgeConfigForm.blueBubblesUrl = ''
|
|
143
136
|
bridgeConfigForm.enabledServices = []
|
|
@@ -160,7 +153,6 @@ function openBridgeConfig(bridge: Bridge) {
|
|
|
160
153
|
bridgeConfigForm.channelId = config.channelId || ''
|
|
161
154
|
break
|
|
162
155
|
case 'imessage':
|
|
163
|
-
bridgeConfigForm.strategy = config.strategy || 'imsg'
|
|
164
156
|
bridgeConfigForm.allowedNumbers = (config.allowedNumbers || []).join(', ')
|
|
165
157
|
bridgeConfigForm.blueBubblesUrl = config.blueBubblesUrl || ''
|
|
166
158
|
break
|
|
@@ -203,7 +195,6 @@ async function handleBridgeConfigSave() {
|
|
|
203
195
|
config.channelId = bridgeConfigForm.channelId || undefined
|
|
204
196
|
break
|
|
205
197
|
case 'imessage':
|
|
206
|
-
config.strategy = bridgeConfigForm.strategy
|
|
207
198
|
config.allowedNumbers = bridgeConfigForm.allowedNumbers
|
|
208
199
|
? bridgeConfigForm.allowedNumbers.split(',').map(s => s.trim()).filter(Boolean)
|
|
209
200
|
: undefined
|
|
@@ -626,21 +617,10 @@ onMounted(() => {
|
|
|
626
617
|
</UFormField>
|
|
627
618
|
</template>
|
|
628
619
|
|
|
629
|
-
<!-- iMessage -->
|
|
620
|
+
<!-- iMessage (BlueBubbles) -->
|
|
630
621
|
<template v-if="editingBridge?.platform === 'imessage'">
|
|
631
|
-
<UFormField
|
|
632
|
-
label="Strategy"
|
|
633
|
-
name="strategy"
|
|
634
|
-
>
|
|
635
|
-
<USelect
|
|
636
|
-
v-model="bridgeConfigForm.strategy"
|
|
637
|
-
:items="imessageStrategyOptions"
|
|
638
|
-
value-key="value"
|
|
639
|
-
class="w-full"
|
|
640
|
-
/>
|
|
641
|
-
</UFormField>
|
|
642
622
|
<div
|
|
643
|
-
v-if="
|
|
623
|
+
v-if="!secretKeys.includes('BLUEBUBBLES_PASSWORD')"
|
|
644
624
|
class="flex items-start gap-2 rounded-lg bg-error/10 border border-error/20 p-3 text-sm"
|
|
645
625
|
>
|
|
646
626
|
<UIcon
|
|
@@ -652,7 +632,6 @@ onMounted(() => {
|
|
|
652
632
|
</span>
|
|
653
633
|
</div>
|
|
654
634
|
<UFormField
|
|
655
|
-
v-if="bridgeConfigForm.strategy === 'bluebubbles'"
|
|
656
635
|
label="BlueBubbles URL"
|
|
657
636
|
name="blueBubblesUrl"
|
|
658
637
|
>
|
package/package.json
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { spawn, execFile } from 'child_process'
|
|
2
|
-
import type { ChildProcess } from 'child_process'
|
|
3
1
|
import { randomBytes } from 'crypto'
|
|
4
2
|
import type { BridgeAdapter, OutboundMessage, DeliveryResult, NormalizedMessage } from '../types'
|
|
5
3
|
import type { IMessageBridgeConfig } from '~~/shared/types'
|
|
@@ -7,14 +5,16 @@ import { getSecretValue } from '~~/server/utils/get-secret'
|
|
|
7
5
|
import { handleInboundMessage } from '../router'
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
|
-
* iMessage adapter
|
|
8
|
+
* iMessage adapter using BlueBubbles server.
|
|
11
9
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Automation permissions on the Mac.
|
|
10
|
+
* Communicates with a BlueBubbles server running on a Mac via its REST API.
|
|
11
|
+
* Receives messages via webhook push.
|
|
15
12
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
13
|
+
* Setup:
|
|
14
|
+
* 1. Install BlueBubbles on your Mac
|
|
15
|
+
* 2. Configure it to allow API access
|
|
16
|
+
* 3. Add BLUEBUBBLES_PASSWORD secret in Cognova settings
|
|
17
|
+
* 4. Set blueBubblesUrl in bridge config (or BLUEBUBBLES_URL secret)
|
|
18
18
|
*/
|
|
19
19
|
export class IMessageAdapter implements BridgeAdapter {
|
|
20
20
|
readonly platform = 'imessage' as const
|
|
@@ -22,11 +22,6 @@ export class IMessageAdapter implements BridgeAdapter {
|
|
|
22
22
|
private bridgeId: string
|
|
23
23
|
private config: IMessageBridgeConfig
|
|
24
24
|
private healthy = false
|
|
25
|
-
|
|
26
|
-
// imsg strategy
|
|
27
|
-
private watchProcess: ChildProcess | null = null
|
|
28
|
-
|
|
29
|
-
// BlueBubbles strategy
|
|
30
25
|
private bbUrl: string | null = null
|
|
31
26
|
private bbPassword: string | null = null
|
|
32
27
|
private webhookSecret: string
|
|
@@ -46,26 +41,16 @@ export class IMessageAdapter implements BridgeAdapter {
|
|
|
46
41
|
}
|
|
47
42
|
|
|
48
43
|
async start(): Promise<void> {
|
|
49
|
-
|
|
50
|
-
await this.startImsg()
|
|
51
|
-
else
|
|
52
|
-
await this.startBlueBubbles()
|
|
44
|
+
await this.startBlueBubbles()
|
|
53
45
|
}
|
|
54
46
|
|
|
55
47
|
async stop(): Promise<void> {
|
|
56
|
-
|
|
57
|
-
this.stopImsg()
|
|
58
|
-
else
|
|
59
|
-
await this.stopBlueBubbles()
|
|
60
|
-
|
|
48
|
+
await this.stopBlueBubbles()
|
|
61
49
|
this.healthy = false
|
|
62
50
|
}
|
|
63
51
|
|
|
64
52
|
async send(msg: OutboundMessage): Promise<DeliveryResult> {
|
|
65
|
-
|
|
66
|
-
return this.sendImsg(msg)
|
|
67
|
-
else
|
|
68
|
-
return this.sendBlueBubbles(msg)
|
|
53
|
+
return this.sendBlueBubbles(msg)
|
|
69
54
|
}
|
|
70
55
|
|
|
71
56
|
isHealthy(): boolean {
|
|
@@ -119,108 +104,7 @@ export class IMessageAdapter implements BridgeAdapter {
|
|
|
119
104
|
await handleInboundMessage(this.bridgeId, normalized)
|
|
120
105
|
}
|
|
121
106
|
|
|
122
|
-
// ───
|
|
123
|
-
|
|
124
|
-
private async startImsg(): Promise<void> {
|
|
125
|
-
if (process.platform !== 'darwin') {
|
|
126
|
-
throw new Error('imsg strategy requires macOS. Use "bluebubbles" on other platforms.')
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// Verify imsg is installed
|
|
130
|
-
await new Promise<void>((resolve, reject) => {
|
|
131
|
-
execFile('which', ['imsg'], (err) => {
|
|
132
|
-
if (err) reject(new Error('imsg not found. Install with: brew install steipete/tap/imsg'))
|
|
133
|
-
else resolve()
|
|
134
|
-
})
|
|
135
|
-
})
|
|
136
|
-
|
|
137
|
-
// Spawn the watcher
|
|
138
|
-
this.watchProcess = spawn('imsg', ['watch', '--json'], {
|
|
139
|
-
stdio: ['ignore', 'pipe', 'pipe']
|
|
140
|
-
})
|
|
141
|
-
|
|
142
|
-
let buffer = ''
|
|
143
|
-
this.watchProcess.stdout?.on('data', (chunk: Buffer) => {
|
|
144
|
-
console.log('[imessage] DEBUG: Received stdout data, length:', chunk.length)
|
|
145
|
-
buffer += chunk.toString()
|
|
146
|
-
const lines = buffer.split('\n')
|
|
147
|
-
buffer = lines.pop() || ''
|
|
148
|
-
|
|
149
|
-
for (const line of lines) {
|
|
150
|
-
if (!line.trim()) continue
|
|
151
|
-
console.log('[imessage] DEBUG: Processing line:', line.substring(0, 200))
|
|
152
|
-
try {
|
|
153
|
-
const msg = JSON.parse(line) as ImsgWatchMessage
|
|
154
|
-
void this.handleImsgMessage(msg).catch((err) => {
|
|
155
|
-
console.error('[imessage] Error processing imsg message:', err)
|
|
156
|
-
})
|
|
157
|
-
} catch {
|
|
158
|
-
console.warn('[imessage] Failed to parse imsg JSON line:', line.substring(0, 100))
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
})
|
|
162
|
-
|
|
163
|
-
this.watchProcess.stderr?.on('data', (chunk: Buffer) => {
|
|
164
|
-
console.error('[imessage] imsg stderr:', chunk.toString().trim())
|
|
165
|
-
})
|
|
166
|
-
|
|
167
|
-
this.watchProcess.on('exit', (code) => {
|
|
168
|
-
console.log(`[imessage] imsg watch exited with code ${code}`)
|
|
169
|
-
this.healthy = false
|
|
170
|
-
this.watchProcess = null
|
|
171
|
-
})
|
|
172
|
-
|
|
173
|
-
this.healthy = true
|
|
174
|
-
console.log('[imessage] imsg watcher started')
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
private stopImsg(): void {
|
|
178
|
-
if (this.watchProcess) {
|
|
179
|
-
this.watchProcess.kill('SIGTERM')
|
|
180
|
-
this.watchProcess = null
|
|
181
|
-
}
|
|
182
|
-
console.log('[imessage] imsg watcher stopped')
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
private async sendImsg(msg: OutboundMessage): Promise<DeliveryResult> {
|
|
186
|
-
return new Promise((resolve) => {
|
|
187
|
-
execFile('imsg', ['send', msg.recipient, msg.text], (err, _stdout, stderr) => {
|
|
188
|
-
if (err) {
|
|
189
|
-
resolve({ success: false, error: stderr || err.message })
|
|
190
|
-
} else {
|
|
191
|
-
resolve({ success: true })
|
|
192
|
-
}
|
|
193
|
-
})
|
|
194
|
-
})
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
private async handleImsgMessage(msg: ImsgWatchMessage): Promise<void> {
|
|
198
|
-
// Skip our own sent messages
|
|
199
|
-
if (msg.is_from_me) return
|
|
200
|
-
|
|
201
|
-
const sender = msg.sender || msg.chat_id || 'unknown'
|
|
202
|
-
|
|
203
|
-
// Filter by allowed numbers
|
|
204
|
-
if (this.config.allowedNumbers?.length) {
|
|
205
|
-
const normalized = sender.replace(/[\s\-()]/g, '')
|
|
206
|
-
if (!this.config.allowedNumbers.some(n => normalized.includes(n.replace(/[\s\-()]/g, ''))))
|
|
207
|
-
return
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
const normalizedMsg: NormalizedMessage = {
|
|
211
|
-
platform: 'imessage',
|
|
212
|
-
sender,
|
|
213
|
-
senderName: msg.sender_name || sender,
|
|
214
|
-
text: msg.text || '',
|
|
215
|
-
channelId: msg.chat_id,
|
|
216
|
-
platformMessageId: msg.guid,
|
|
217
|
-
raw: msg
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
await handleInboundMessage(this.bridgeId, normalizedMsg)
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
// ─── BlueBubbles strategy ──────────────────────
|
|
107
|
+
// ─── BlueBubbles ──────────────────────
|
|
224
108
|
|
|
225
109
|
private async startBlueBubbles(): Promise<void> {
|
|
226
110
|
this.bbUrl = this.config.blueBubblesUrl || await getSecretValue('BLUEBUBBLES_URL')
|
|
@@ -327,16 +211,6 @@ export class IMessageAdapter implements BridgeAdapter {
|
|
|
327
211
|
|
|
328
212
|
// ─── Types ─────────────────────────────────────
|
|
329
213
|
|
|
330
|
-
interface ImsgWatchMessage {
|
|
331
|
-
guid?: string
|
|
332
|
-
text?: string
|
|
333
|
-
sender?: string
|
|
334
|
-
sender_name?: string
|
|
335
|
-
chat_id?: string
|
|
336
|
-
is_from_me?: boolean
|
|
337
|
-
date?: string
|
|
338
|
-
}
|
|
339
|
-
|
|
340
214
|
interface BlueBubblesWebhookEvent {
|
|
341
215
|
type: string
|
|
342
216
|
data?: {
|
package/shared/types/index.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e,k as r,a6 as t}from"./BOCn_SGf.js";function a(o){return e(()=>r(o)?!!t(o)?.closest("form"):!0)}export{a as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as oe,aj as se,e as x,an as F,C as ne,M as r,ac as s,Z as o,w as n,a,al as b,am as B,ak as O,a0 as de,o as d,ab as f,_ as ie,aa as v,af as w,$ as re,ao as j,c as me}from"./BOCn_SGf.js";import{_ as ue}from"./MYeLvJGV.js";import{_ as pe}from"./6VDUZECX.js";import{_ as ce}from"./D_k1YwXm.js";import{_ as ge}from"./C4sG6rdW.js";import{_ as fe}from"./DqR9SdeU.js";import{_ as be}from"./BzrhNhdT.js";import"./D3cEeQh7.js";import"./B9o6sFST.js";import"./CuvkTsqs.js";import"./BWqJInD3.js";import"./jTT1R-Vz.js";import"./C6Eoiclo.js";import"./CxMuZEwX.js";import"./hrPTRWjM.js";import"./DZikIgHK.js";import"./DTR31rjp.js";import"./hCeWb_38.js";import"./BLdMRpJD.js";import"./V04-MrLN.js";const ve={class:"py-6"},ye={class:"flex items-center justify-between mb-6"},xe={key:0,class:"space-y-3"},he={key:1,class:"py-12 text-center"},we={key:2,class:"space-y-3"},_e=["onClick"],Ve={class:"flex items-center justify-between"},Ue={class:"flex items-center gap-3"},ke={class:"font-medium"},Ce={class:"text-sm text-dimmed ml-2"},Se={class:"flex items-center gap-3"},Ie={key:0,class:"text-xs text-dimmed mt-1 pl-8"},Be={class:"space-y-4"},Me={key:0,class:"flex items-start gap-2 rounded-lg bg-error/10 border border-error/20 p-3 text-sm"},Pe={class:"mt-1 space-y-0.5"},De={class:"text-xs bg-elevated px-1.5 py-0.5 rounded"},Ne={class:"flex justify-end gap-2 pt-4"},$e={class:"mb-4"},Ae={class:"flex justify-end gap-2 pt-6"},He={class:"flex items-center gap-2"},Te={class:"text-lg font-semibold"},Ee={class:"space-y-4"},Le={key:0,class:"flex items-start gap-2 rounded-lg bg-elevated p-3 text-sm"},Oe={class:"text-dimmed"},Fe={class:"bg-elevated px-1 py-0.5 rounded text-xs"},je={key:0,class:"flex items-start gap-2 rounded-lg bg-error/10 border border-error/20 p-3 text-sm"},ze={class:"space-y-2"},Re=["checked","onChange"],qe={class:"text-sm"},Ge={class:"grid grid-cols-2 gap-4"},Ke={class:"grid grid-cols-2 gap-4"},We={class:"flex justify-end gap-2 pt-4"},bl=oe({__name:"integrations",setup(Je){const y=se(),N=x([]),$=x(!1),_=x(!1),A=x(!1),V=x(!1),C=x(null),c=F({platform:"telegram",name:""}),U=x(!1),p=x(null),H=x(!1),l=F({name:"",botUsername:"",allowedChatIds:"",listenMode:"mentions",guildId:"",channelId:"",strategy:"imsg",allowedNumbers:"",blueBubblesUrl:"",enabledServices:[],account:"",imapHost:"",imapPort:"",smtpHost:"",smtpPort:"",emailAddress:""}),T=x([]);async function z(){try{const{data:i}=await $fetch("/api/secrets");T.value=i.map(e=>e.key)}catch{}}const R=[{value:"mentions",label:"Mentions & DMs"},{value:"dm",label:"DMs only"},{value:"all",label:"All messages"}],q=[{value:"imsg",label:"Local (imsg CLI)"},{value:"bluebubbles",label:"BlueBubbles"}],G=[{value:"gmail",label:"Gmail"},{value:"calendar",label:"Calendar"},{value:"drive",label:"Drive"},{value:"contacts",label:"Contacts"},{value:"tasks",label:"Tasks"}],K={telegram:"My Telegram Bot",discord:"My Discord Bot",imessage:"iMessage Bridge",google:"Google Suite",email:"Work Email"},M={telegram:["TELEGRAM_BOT_TOKEN"],discord:["DISCORD_BOT_TOKEN"],imessage:[],google:[],email:[]},P=[{value:"telegram",label:"Telegram",icon:"i-lucide-send"},{value:"discord",label:"Discord",icon:"i-lucide-message-circle"},{value:"imessage",label:"iMessage",icon:"i-lucide-smartphone"},{value:"google",label:"Google Suite",icon:"i-lucide-mail"},{value:"email",label:"Email (IMAP)",icon:"i-lucide-at-sign"}];function D(i){const e=M[i];if(!e.length)return[];const m=new Set(T.value);return e.filter(I=>!m.has(I))}const W={connected:"text-success",disconnected:"text-dimmed",error:"text-error",unconfigured:"text-dimmed"};async function S(){$.value=!0;try{const{data:i}=await $fetch("/api/bridges");N.value=i}catch{y.add({title:"Failed to load integrations",color:"error"})}$.value=!1}function J(i){p.value=i,l.name=i.name;const e=i.config?JSON.parse(i.config):{};switch(l.botUsername="",l.allowedChatIds="",l.listenMode="mentions",l.guildId="",l.channelId="",l.strategy="imsg",l.allowedNumbers="",l.blueBubblesUrl="",l.enabledServices=[],l.account="",l.imapHost="",l.imapPort="",l.smtpHost="",l.smtpPort="",l.emailAddress="",i.platform){case"telegram":l.botUsername=e.botUsername||"",l.allowedChatIds=(e.allowedChatIds||[]).join(", ");break;case"discord":l.listenMode=e.listenMode||"mentions",l.guildId=e.guildId||"",l.channelId=e.channelId||"";break;case"imessage":l.strategy=e.strategy||"imsg",l.allowedNumbers=(e.allowedNumbers||[]).join(", "),l.blueBubblesUrl=e.blueBubblesUrl||"";break;case"google":l.enabledServices=e.enabledServices||[],l.account=e.account||"";break;case"email":l.imapHost=e.imapHost||"",l.imapPort=e.imapPort?.toString()||"",l.smtpHost=e.smtpHost||"",l.smtpPort=e.smtpPort?.toString()||"",l.emailAddress=e.emailAddress||"";break}U.value=!0}async function Z(){if(!p.value)return;const i=p.value.platform;let e={};switch(p.value.config&&(e=JSON.parse(p.value.config)),i){case"telegram":e.botUsername=l.botUsername||void 0,e.allowedChatIds=l.allowedChatIds?l.allowedChatIds.split(",").map(m=>m.trim()).filter(Boolean):void 0;break;case"discord":e.listenMode=l.listenMode,e.guildId=l.guildId||void 0,e.channelId=l.channelId||void 0;break;case"imessage":e.strategy=l.strategy,e.allowedNumbers=l.allowedNumbers?l.allowedNumbers.split(",").map(m=>m.trim()).filter(Boolean):void 0,e.blueBubblesUrl=l.blueBubblesUrl||void 0;break;case"google":e.enabledServices=l.enabledServices,e.account=l.account||void 0;break;case"email":e.imapHost=l.imapHost||void 0,e.imapPort=l.imapPort?Number(l.imapPort):void 0,e.smtpHost=l.smtpHost||void 0,e.smtpPort=l.smtpPort?Number(l.smtpPort):void 0,e.emailAddress=l.emailAddress||void 0;break}H.value=!0;try{await $fetch(`/api/bridges/${p.value.id}`,{method:"PUT",body:{name:l.name,config:e}}),y.add({title:"Integration updated",color:"success"}),U.value=!1,await S()}catch(m){const I=m;y.add({title:"Failed to update integration",description:I.data?.message,color:"error"})}H.value=!1}function Q(){c.platform="telegram",c.name="",_.value=!0}async function X(){if(!c.name){y.add({title:"Name is required",color:"error"});return}const i=D(c.platform);if(i.length){y.add({title:"Missing required secrets",description:`Add ${i.join(", ")} in the Secrets tab first.`,color:"error"});return}A.value=!0;try{await $fetch("/api/bridges",{method:"POST",body:{platform:c.platform,name:c.name}}),y.add({title:"Integration created",color:"success"}),_.value=!1,await S()}catch(e){const m=e;y.add({title:"Failed to create integration",description:m.data?.message,color:"error"})}A.value=!1}async function Y(i){try{await $fetch(`/api/bridges/${i.id}`,{method:"PUT",body:{enabled:!i.enabled}}),await S()}catch{y.add({title:"Failed to update integration",color:"error"})}}function ee(i){C.value=i,V.value=!0}async function le(){if(C.value)try{await $fetch(`/api/bridges/${C.value.id}`,{method:"DELETE"}),y.add({title:"Integration deleted",color:"success"}),V.value=!1,C.value=null,await S()}catch{y.add({title:"Failed to delete integration",color:"error"})}}return ne(()=>{S(),z()}),(i,e)=>{const m=de,I=ue,k=ie,te=pe,E=ce,u=ge,g=fe,L=be;return d(),r("div",ve,[s("div",ye,[e[25]||(e[25]=s("div",null,[s("h3",{class:"text-lg font-semibold"}," Integrations "),s("p",{class:"text-sm text-dimmed"}," Connect external platforms to the message bridge. ")],-1)),o(m,{icon:"i-lucide-plus",onClick:Q},{default:n(()=>[...e[24]||(e[24]=[f(" Add Integration ",-1)])]),_:1})]),a($)?(d(),r("div",xe,[(d(),r(b,null,B(3,t=>o(I,{key:t,class:"h-16 w-full"})),64))])):a(N).length===0?(d(),r("div",he,[o(k,{name:"i-lucide-plug",class:"size-12 mx-auto mb-4 text-dimmed"}),e[26]||(e[26]=s("p",{class:"text-dimmed"}," No integrations configured. ",-1)),e[27]||(e[27]=s("p",{class:"text-sm text-dimmed mt-1"}," Connect Telegram, Discord, iMessage, or Google Suite. ",-1))])):(d(),r("div",we,[(d(!0),r(b,null,B(a(N),t=>(d(),r("div",{key:t.id,class:"border border-default rounded-lg px-4 py-3 cursor-pointer hover:bg-elevated/50 transition-colors",onClick:h=>J(t)},[s("div",Ve,[s("div",Ue,[o(k,{name:P.find(h=>h.value===t.platform)?.icon||"i-lucide-plug",class:"size-5 text-dimmed"},null,8,["name"]),s("div",null,[s("span",ke,w(t.name),1),s("span",Ce,w(P.find(h=>h.value===t.platform)?.label),1)])]),s("div",Se,[s("span",{class:re(["text-xs capitalize",W[t.healthStatus]||"text-dimmed"])},w(t.healthStatus),3),o(te,{"model-value":t.enabled,onClick:e[0]||(e[0]=j(()=>{},["stop"])),"onUpdate:modelValue":h=>Y(t)},null,8,["model-value","onUpdate:modelValue"]),o(m,{variant:"ghost",color:"error",icon:"i-lucide-trash-2",size:"xs",onClick:j(h=>ee(t),["stop"])},null,8,["onClick"])])]),t.healthMessage?(d(),r("p",Ie,w(t.healthMessage),1)):v("",!0)],8,_e))),128))])),o(L,{open:a(_),"onUpdate:open":e[4]||(e[4]=t=>O(_)?_.value=t:null)},{header:n(()=>[...e[28]||(e[28]=[s("h3",{class:"text-lg font-semibold"}," Add Integration ",-1)])]),body:n(()=>[s("div",Be,[o(u,{label:"Platform",name:"platform"},{default:n(()=>[o(E,{modelValue:a(c).platform,"onUpdate:modelValue":e[1]||(e[1]=t=>a(c).platform=t),items:P,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1}),D(a(c).platform).length?(d(),r("div",Me,[o(k,{name:"i-lucide-alert-triangle",class:"size-4 mt-0.5 text-error shrink-0"}),s("div",null,[e[29]||(e[29]=s("p",{class:"font-medium text-error"}," Missing required secrets ",-1)),e[30]||(e[30]=s("p",{class:"text-dimmed mt-1"}," Add the following in Settings → Secrets before creating: ",-1)),s("ul",Pe,[(d(!0),r(b,null,B(D(a(c).platform),t=>(d(),r("li",{key:t},[s("code",De,w(t),1)]))),128))])])])):v("",!0),o(u,{label:"Name",name:"name"},{default:n(()=>[o(g,{modelValue:a(c).name,"onUpdate:modelValue":e[2]||(e[2]=t=>a(c).name=t),placeholder:K[a(c).platform],class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),s("div",Ne,[o(m,{variant:"ghost",onClick:e[3]||(e[3]=t=>_.value=!1)},{default:n(()=>[...e[31]||(e[31]=[f(" Cancel ",-1)])]),_:1}),o(m,{loading:a(A),disabled:D(a(c).platform).length>0,onClick:X},{default:n(()=>[...e[32]||(e[32]=[f(" Create ",-1)])]),_:1},8,["loading","disabled"])])])]),_:1},8,["open"]),o(L,{open:a(V),"onUpdate:open":e[6]||(e[6]=t=>O(V)?V.value=t:null)},{header:n(()=>[...e[33]||(e[33]=[s("h3",{class:"text-lg font-semibold"}," Delete Integration ",-1)])]),body:n(()=>[s("p",$e,[e[34]||(e[34]=f(" Are you sure you want to delete ",-1)),s("strong",null,w(a(C)?.name),1),e[35]||(e[35]=f("? ",-1))]),e[38]||(e[38]=s("p",{class:"text-sm text-dimmed"}," This will remove the integration and all associated message history. ",-1)),s("div",Ae,[o(m,{variant:"ghost",onClick:e[5]||(e[5]=t=>V.value=!1)},{default:n(()=>[...e[36]||(e[36]=[f(" Cancel ",-1)])]),_:1}),o(m,{color:"error",onClick:le},{default:n(()=>[...e[37]||(e[37]=[f(" Delete ",-1)])]),_:1})])]),_:1},8,["open"]),o(L,{open:a(U),"onUpdate:open":e[23]||(e[23]=t=>O(U)?U.value=t:null)},{header:n(()=>[s("div",He,[o(k,{name:P.find(t=>t.value===a(p)?.platform)?.icon||"i-lucide-plug",class:"size-5"},null,8,["name"]),s("h3",Te," Configure "+w(a(p)?.name),1)])]),body:n(()=>[s("div",Ee,[a(p)&&M[a(p).platform].length?(d(),r("div",Le,[o(k,{name:"i-lucide-info",class:"size-4 mt-0.5 text-dimmed shrink-0"}),s("span",Oe,[e[39]||(e[39]=f(" Requires ",-1)),(d(!0),r(b,null,B(M[a(p).platform],(t,h)=>(d(),r(b,{key:t},[s("code",Fe,w(t),1),h<M[a(p).platform].length-1?(d(),r(b,{key:0},[f(", ")],64)):v("",!0)],64))),128)),e[40]||(e[40]=f(" in the Secrets tab. ",-1))])])):v("",!0),o(u,{label:"Name",name:"name"},{default:n(()=>[o(g,{modelValue:a(l).name,"onUpdate:modelValue":e[7]||(e[7]=t=>a(l).name=t),placeholder:"Integration name",class:"w-full"},null,8,["modelValue"])]),_:1}),a(p)?.platform==="telegram"?(d(),r(b,{key:1},[o(u,{label:"Bot Username",name:"botUsername",hint:"Without the @ prefix"},{default:n(()=>[o(g,{modelValue:a(l).botUsername,"onUpdate:modelValue":e[8]||(e[8]=t=>a(l).botUsername=t),placeholder:"my_bot",class:"w-full"},null,8,["modelValue"])]),_:1}),o(u,{label:"Allowed Chat IDs",name:"allowedChatIds",hint:"Comma-separated. Leave empty for all."},{default:n(()=>[o(g,{modelValue:a(l).allowedChatIds,"onUpdate:modelValue":e[9]||(e[9]=t=>a(l).allowedChatIds=t),placeholder:"123456, -100789",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):v("",!0),a(p)?.platform==="discord"?(d(),r(b,{key:2},[o(u,{label:"Listen Mode",name:"listenMode"},{default:n(()=>[o(E,{modelValue:a(l).listenMode,"onUpdate:modelValue":e[10]||(e[10]=t=>a(l).listenMode=t),items:R,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1}),o(u,{label:"Server ID",name:"guildId",hint:"Optional. Limit to one server."},{default:n(()=>[o(g,{modelValue:a(l).guildId,"onUpdate:modelValue":e[11]||(e[11]=t=>a(l).guildId=t),placeholder:"Discord server ID",class:"w-full"},null,8,["modelValue"])]),_:1}),o(u,{label:"Channel ID",name:"channelId",hint:"Optional. Limit to one channel (for 'all' mode)."},{default:n(()=>[o(g,{modelValue:a(l).channelId,"onUpdate:modelValue":e[12]||(e[12]=t=>a(l).channelId=t),placeholder:"Discord channel ID",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):v("",!0),a(p)?.platform==="imessage"?(d(),r(b,{key:3},[o(u,{label:"Strategy",name:"strategy"},{default:n(()=>[o(E,{modelValue:a(l).strategy,"onUpdate:modelValue":e[13]||(e[13]=t=>a(l).strategy=t),items:q,"value-key":"value",class:"w-full"},null,8,["modelValue"])]),_:1}),a(l).strategy==="bluebubbles"&&!a(T).includes("BLUEBUBBLES_PASSWORD")?(d(),r("div",je,[o(k,{name:"i-lucide-alert-triangle",class:"size-4 mt-0.5 text-error shrink-0"}),e[41]||(e[41]=s("span",{class:"text-dimmed"},[f(" BlueBubbles requires secret "),s("code",{class:"text-xs bg-elevated px-1.5 py-0.5 rounded"},"BLUEBUBBLES_PASSWORD"),f(" in the Secrets tab. ")],-1))])):v("",!0),a(l).strategy==="bluebubbles"?(d(),me(u,{key:1,label:"BlueBubbles URL",name:"blueBubblesUrl"},{default:n(()=>[o(g,{modelValue:a(l).blueBubblesUrl,"onUpdate:modelValue":e[14]||(e[14]=t=>a(l).blueBubblesUrl=t),placeholder:"http://192.168.1.100:1234",class:"w-full"},null,8,["modelValue"])]),_:1})):v("",!0),o(u,{label:"Allowed Numbers",name:"allowedNumbers",hint:"Comma-separated. Leave empty for all."},{default:n(()=>[o(g,{modelValue:a(l).allowedNumbers,"onUpdate:modelValue":e[15]||(e[15]=t=>a(l).allowedNumbers=t),placeholder:"+15551234567, +15559876543",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):v("",!0),a(p)?.platform==="google"?(d(),r(b,{key:4},[o(u,{label:"Enabled Services",name:"enabledServices"},{default:n(()=>[s("div",ze,[(d(),r(b,null,B(G,t=>s("label",{key:t.value,class:"flex items-center gap-2 cursor-pointer"},[s("input",{type:"checkbox",checked:a(l).enabledServices.includes(t.value),class:"rounded",onChange:h=>a(l).enabledServices.includes(t.value)?a(l).enabledServices=a(l).enabledServices.filter(ae=>ae!==t.value):a(l).enabledServices.push(t.value)},null,40,Re),s("span",qe,w(t.label),1)])),64))])]),_:1}),o(u,{label:"Google Account",name:"account",hint:"Email used with gogcli"},{default:n(()=>[o(g,{modelValue:a(l).account,"onUpdate:modelValue":e[16]||(e[16]=t=>a(l).account=t),placeholder:"user@gmail.com",class:"w-full"},null,8,["modelValue"])]),_:1})],64)):v("",!0),a(p)?.platform==="email"?(d(),r(b,{key:5},[o(u,{label:"Email Address",name:"emailAddress"},{default:n(()=>[o(g,{modelValue:a(l).emailAddress,"onUpdate:modelValue":e[17]||(e[17]=t=>a(l).emailAddress=t),placeholder:"user@example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),s("div",Ge,[o(u,{label:"IMAP Host",name:"imapHost"},{default:n(()=>[o(g,{modelValue:a(l).imapHost,"onUpdate:modelValue":e[18]||(e[18]=t=>a(l).imapHost=t),placeholder:"imap.example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),o(u,{label:"IMAP Port",name:"imapPort"},{default:n(()=>[o(g,{modelValue:a(l).imapPort,"onUpdate:modelValue":e[19]||(e[19]=t=>a(l).imapPort=t),placeholder:"993",class:"w-full"},null,8,["modelValue"])]),_:1})]),s("div",Ke,[o(u,{label:"SMTP Host",name:"smtpHost"},{default:n(()=>[o(g,{modelValue:a(l).smtpHost,"onUpdate:modelValue":e[20]||(e[20]=t=>a(l).smtpHost=t),placeholder:"smtp.example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),o(u,{label:"SMTP Port",name:"smtpPort"},{default:n(()=>[o(g,{modelValue:a(l).smtpPort,"onUpdate:modelValue":e[21]||(e[21]=t=>a(l).smtpPort=t),placeholder:"587",class:"w-full"},null,8,["modelValue"])]),_:1})])],64)):v("",!0),s("div",We,[o(m,{variant:"ghost",onClick:e[22]||(e[22]=t=>U.value=!1)},{default:n(()=>[...e[42]||(e[42]=[f(" Cancel ",-1)])]),_:1}),o(m,{loading:a(H),onClick:Z},{default:n(()=>[...e[43]||(e[43]=[f(" Save ",-1)])]),_:1},8,["loading"])])])]),_:1},8,["open"])])}}});export{bl as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{S as e}from"./BOCn_SGf.js";function a(r,u="reka"){return r||`${u}-${e?.()}`}export{a as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./BOCn_SGf.js";const s=globalThis.setInterval;export{s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"id":"d528449f-50ac-4f95-b7da-122a1fdd6e85","timestamp":1771895899471,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"integrations-D5JWURiJ.mjs","sources":["../../../../app/pages/settings/integrations.vue"],"names":["_ssrRenderAttrs","_mergeProps","_push","_parent","_unref","_ssrRenderList","_ssrInterpolate","_createVNode","_","_scopeId","_createBlock","_openBlock","_Fragment","_toDisplayString","_ssrIncludeBooleanAttr","_renderList"],"mappings":"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"}
|