@leg3ndy/otto-bridge 0.7.1 → 0.7.2

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/README.md CHANGED
@@ -33,12 +33,12 @@ Enquanto o pacote nao estiver publicado, voce pode gerar um tarball local:
33
33
 
34
34
  ```bash
35
35
  npm pack
36
- npm install -g ./leg3ndy-otto-bridge-0.7.1.tgz
36
+ npm install -g ./leg3ndy-otto-bridge-0.7.2.tgz
37
37
  ```
38
38
 
39
- No `0.7.1`, `playwright` deixa de ser opcional no `otto-bridge`. O primeiro `npm install -g @leg3ndy/otto-bridge` pode demorar mais porque instala o browser persistente usado pelo WhatsApp Web e pelos fluxos web em background do bridge.
39
+ No `0.7.2`, `playwright` segue como dependencia obrigatoria no `otto-bridge`. O primeiro `npm install -g @leg3ndy/otto-bridge` pode demorar mais porque instala o browser persistente usado pelo WhatsApp Web e pelos fluxos web em background do bridge.
40
40
 
41
- No macOS, o `0.7.1` passa a preferir o provider `macos-helper`, um helper WKWebView sem Dock para o WhatsApp Web. Se voce quiser forcar o runtime antigo com Chromium/Playwright, use `OTTO_BRIDGE_WHATSAPP_RUNTIME_PROVIDER=embedded-playwright`.
41
+ No macOS, o `0.7.2` passa a preferir o provider `macos-helper`, um helper `WKWebView` sem Dock para o WhatsApp Web. O helper agora sobe com user-agent de Chrome moderno para evitar o bloqueio do WhatsApp ao detectar Safari/WebKit. Se voce quiser forcar o runtime antigo com Chromium/Playwright, use `OTTO_BRIDGE_WHATSAPP_RUNTIME_PROVIDER=embedded-playwright`.
42
42
 
43
43
  ## Publicacao
44
44
 
@@ -108,7 +108,7 @@ otto-bridge run --executor clawd-cursor --clawd-url http://127.0.0.1:3847
108
108
 
109
109
  ### WhatsApp Web em background
110
110
 
111
- Fluxo recomendado no `0.7.1`:
111
+ Fluxo recomendado no `0.7.2`:
112
112
 
113
113
  ```bash
114
114
  otto-bridge extensions --install whatsappweb
@@ -116,14 +116,29 @@ otto-bridge extensions --setup whatsappweb
116
116
  otto-bridge extensions --status whatsappweb
117
117
  ```
118
118
 
119
- O setup agora abre o login do WhatsApp Web em um browser persistente do proprio bridge. Depois do QR code, o Otto usa a sessao local em background, sem depender de aba visivel no Safari.
119
+ O setup agora abre o login do WhatsApp Web no helper/background browser do proprio bridge. Depois do QR code, o Otto usa a sessao local em background, sem depender de aba visivel no Safari.
120
120
 
121
- Contrato do `0.7.1`:
121
+ Contrato do `0.7.2`:
122
122
 
123
123
  - `otto-bridge extensions --setup whatsappweb`: autentica a sessao uma vez
124
124
  - `otto-bridge run`: mantem o browser persistente do WhatsApp vivo em background enquanto o runtime estiver ativo, sem depender de uma aba aberta no Safari
125
125
  - ao parar o `otto-bridge run`: o browser em background e desligado, mas a sessao local fica lembrada para o proximo boot
126
126
 
127
+ ## Handoff rapido do 0.7.2
128
+
129
+ Ja fechado no codigo:
130
+
131
+ - provider `macos-helper` dockless no macOS com fallback para `embedded-playwright`
132
+ - user-agent do helper ajustado para evitar bloqueio do WhatsApp por detecao de Safari/WebKit
133
+ - resultado final dos `device_job` agora e persistido como contexto mais forte para o proximo turno do Otto
134
+ - prompt bridge-aware no chat normal para ajudar o Otto a responder com base no que realmente aconteceu no device
135
+
136
+ Ainda precisa reteste em campo:
137
+
138
+ - fluxo completo do WhatsApp no helper `macos-helper`
139
+ - confirmacao de que o helper realmente passa do gate de compatibilidade do WhatsApp
140
+ - perguntas de follow-up como `o que voce mandou?` depois de uma acao local de mensagem
141
+
127
142
  ### Ver estado local
128
143
 
129
144
  ```bash
@@ -3,6 +3,7 @@ import Foundation
3
3
  import WebKit
4
4
 
5
5
  final class OttoWhatsAppHelper: NSObject, WKNavigationDelegate {
6
+ private static let chromeUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
6
7
  private let app = NSApplication.shared
7
8
  private let window: NSWindow
8
9
  private let webView: WKWebView
@@ -25,6 +26,7 @@ final class OttoWhatsAppHelper: NSObject, WKNavigationDelegate {
25
26
  window.isReleasedWhenClosed = false
26
27
  window.contentView = webView
27
28
  webView.navigationDelegate = self
29
+ webView.customUserAgent = Self.chromeUserAgent
28
30
  }
29
31
 
30
32
  func run() {
package/dist/types.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const BRIDGE_CONFIG_VERSION = 1;
2
- export const BRIDGE_VERSION = "0.7.1";
2
+ export const BRIDGE_VERSION = "0.7.2";
3
3
  export const BRIDGE_PACKAGE_NAME = "@leg3ndy/otto-bridge";
4
4
  export const DEFAULT_API_BASE_URL = "http://localhost:8000";
5
5
  export const DEFAULT_POLL_INTERVAL_MS = 3000;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leg3ndy/otto-bridge",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Local companion for Otto Bridge device pairing and WebSocket runtime.",