@mobileai/react-native 0.9.10 → 0.9.11

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.
Files changed (74) hide show
  1. package/README.md +11 -0
  2. package/lib/module/components/AIAgent.js +513 -36
  3. package/lib/module/components/AIAgent.js.map +1 -1
  4. package/lib/module/components/AgentChatBar.js +320 -13
  5. package/lib/module/components/AgentChatBar.js.map +1 -1
  6. package/lib/module/config/endpoints.js +22 -0
  7. package/lib/module/config/endpoints.js.map +1 -0
  8. package/lib/module/core/systemPrompt.js +126 -100
  9. package/lib/module/core/systemPrompt.js.map +1 -1
  10. package/lib/module/services/AudioInputService.js +9 -0
  11. package/lib/module/services/AudioInputService.js.map +1 -1
  12. package/lib/module/services/flags/FlagService.js +1 -1
  13. package/lib/module/services/flags/FlagService.js.map +1 -1
  14. package/lib/module/services/telemetry/TelemetryService.js +39 -13
  15. package/lib/module/services/telemetry/TelemetryService.js.map +1 -1
  16. package/lib/module/services/telemetry/device.js +80 -10
  17. package/lib/module/services/telemetry/device.js.map +1 -1
  18. package/lib/module/support/EscalationSocket.js +46 -7
  19. package/lib/module/support/EscalationSocket.js.map +1 -1
  20. package/lib/module/support/SupportChatModal.js +516 -0
  21. package/lib/module/support/SupportChatModal.js.map +1 -0
  22. package/lib/module/support/TicketStore.js +93 -0
  23. package/lib/module/support/TicketStore.js.map +1 -0
  24. package/lib/module/support/escalateTool.js +39 -13
  25. package/lib/module/support/escalateTool.js.map +1 -1
  26. package/lib/module/support/index.js.map +1 -1
  27. package/lib/typescript/src/components/AIAgent.d.ts +24 -1
  28. package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
  29. package/lib/typescript/src/components/AgentChatBar.d.ts +24 -2
  30. package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -1
  31. package/lib/typescript/src/config/endpoints.d.ts +18 -0
  32. package/lib/typescript/src/config/endpoints.d.ts.map +1 -0
  33. package/lib/typescript/src/core/systemPrompt.d.ts +4 -13
  34. package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -1
  35. package/lib/typescript/src/core/types.d.ts +1 -1
  36. package/lib/typescript/src/core/types.d.ts.map +1 -1
  37. package/lib/typescript/src/hooks/useAction.d.ts +2 -2
  38. package/lib/typescript/src/hooks/useAction.d.ts.map +1 -1
  39. package/lib/typescript/src/index.d.ts +1 -1
  40. package/lib/typescript/src/index.d.ts.map +1 -1
  41. package/lib/typescript/src/services/AudioInputService.d.ts.map +1 -1
  42. package/lib/typescript/src/services/telemetry/TelemetryService.d.ts.map +1 -1
  43. package/lib/typescript/src/services/telemetry/device.d.ts +15 -4
  44. package/lib/typescript/src/services/telemetry/device.d.ts.map +1 -1
  45. package/lib/typescript/src/support/EscalationSocket.d.ts +7 -1
  46. package/lib/typescript/src/support/EscalationSocket.d.ts.map +1 -1
  47. package/lib/typescript/src/support/SupportChatModal.d.ts +19 -0
  48. package/lib/typescript/src/support/SupportChatModal.d.ts.map +1 -0
  49. package/lib/typescript/src/support/TicketStore.d.ts +34 -0
  50. package/lib/typescript/src/support/TicketStore.d.ts.map +1 -0
  51. package/lib/typescript/src/support/escalateTool.d.ts +15 -1
  52. package/lib/typescript/src/support/escalateTool.d.ts.map +1 -1
  53. package/lib/typescript/src/support/index.d.ts +1 -1
  54. package/lib/typescript/src/support/index.d.ts.map +1 -1
  55. package/lib/typescript/src/support/types.d.ts +15 -0
  56. package/lib/typescript/src/support/types.d.ts.map +1 -1
  57. package/package.json +5 -1
  58. package/src/components/AIAgent.tsx +507 -36
  59. package/src/components/AgentChatBar.tsx +355 -9
  60. package/src/config/endpoints.ts +22 -0
  61. package/src/core/systemPrompt.ts +126 -100
  62. package/src/core/types.ts +1 -1
  63. package/src/hooks/useAction.ts +2 -2
  64. package/src/index.ts +1 -0
  65. package/src/services/AudioInputService.ts +9 -0
  66. package/src/services/flags/FlagService.ts +1 -1
  67. package/src/services/telemetry/TelemetryService.ts +40 -13
  68. package/src/services/telemetry/device.ts +88 -11
  69. package/src/support/EscalationSocket.ts +47 -8
  70. package/src/support/SupportChatModal.tsx +527 -0
  71. package/src/support/TicketStore.ts +100 -0
  72. package/src/support/escalateTool.ts +47 -13
  73. package/src/support/index.ts +1 -0
  74. package/src/support/types.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"names":["logger","getDeviceId","LOG_TAG","murmurhash3_32_gc","key","seed","remainder","bytes","h1","h1b","c1","c2","k1","i","length","charCodeAt","FlagService","assignments","fetched","constructor","hostUrl","fetch","analyticsKey","userId","res","ok","Error","status","data","json","flags","assignAll","info","err","warn","message","assignVariant","userIdentifier","flagKey","variants","rollout","hash","cumulative","identifier","newAssignments","flag","getFlag","defaultValue","debug","getAllFlags"],"sourceRoot":"../../../../src","sources":["services/flags/FlagService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","getDeviceId","LOG_TAG","murmurhash3_32_gc","key","seed","remainder","bytes","h1","h1b","c1","c2","k1","i","length","charCodeAt","FlagService","assignments","fetched","constructor","hostUrl","fetch","analyticsKey","userId","res","ok","Error","status","data","json","flags","assignAll","info","err","warn","message","assignVariant","userIdentifier","flagKey","variants","rollout","hash","cumulative","identifier","newAssignments","flag","getFlag","defaultValue","debug","getAllFlags"],"sourceRoot":"../../../../src","sources":["services/flags/FlagService.ts"],"mappings":"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","ignoreList":[]}
@@ -12,21 +12,45 @@
12
12
 
13
13
  import { AppState, Platform } from 'react-native';
14
14
  import { logger } from "../../utils/logger.js";
15
+ import { ENDPOINTS } from "../../config/endpoints.js";
15
16
  import { scrubPII } from "./PiiScrubber.js";
16
17
  import { FlagService } from "../flags/FlagService.js";
17
18
 
18
19
  // Optional: AsyncStorage for offline event persistence
19
20
  // SDK works without it — just loses crash recovery for queued events
20
- let AsyncStorageModule = null;
21
- try {
22
- AsyncStorageModule = require('@react-native-async-storage/async-storage').default;
23
- } catch {
24
- // Not installed — offline queue persistence disabled
21
+ let _asyncStorage = null;
22
+ let _asyncStorageLoaded = false;
23
+ function loadAsyncStorage() {
24
+ if (_asyncStorageLoaded) return _asyncStorage;
25
+ _asyncStorageLoaded = true;
26
+ try {
27
+ // Suppress the RN red box that AsyncStorage triggers when its native module
28
+ // isn't linked ("NativeModule: AsyncStorage is null").
29
+ const origError = console.error;
30
+ console.error = (...args) => {
31
+ const msg = args[0];
32
+ if (typeof msg === 'string' && msg.includes('AsyncStorage')) return;
33
+ origError.apply(console, args);
34
+ };
35
+ try {
36
+ const mod = require('@react-native-async-storage/async-storage');
37
+ _asyncStorage = mod.default ?? mod;
38
+ } finally {
39
+ console.error = origError;
40
+ }
41
+ // Verify the native module actually works by checking for the native bridge
42
+ if (!_asyncStorage || typeof _asyncStorage.getItem !== 'function') {
43
+ _asyncStorage = null;
44
+ }
45
+ } catch {
46
+ // Not installed — offline queue persistence disabled
47
+ }
48
+ return _asyncStorage;
25
49
  }
26
50
 
27
51
  // ─── Constants ─────────────────────────────────────────────────
28
52
 
29
- const CLOUD_API_URL = 'https://api.maiagent.dev/v1/events';
53
+ const CLOUD_API_URL = ENDPOINTS.telemetryIngest;
30
54
  const STORAGE_KEY = '@mobileai/telemetry_queue';
31
55
  const DEFAULT_FLUSH_INTERVAL_MS = 30_000;
32
56
  const DEFAULT_MAX_BATCH_SIZE = 50;
@@ -69,7 +93,7 @@ export class TelemetryService {
69
93
  this.sessionId = generateSessionId();
70
94
 
71
95
  // Extract base URL for flags API (e.g. drop /v1/events)
72
- let baseUrl = 'https://api.maiagent.dev';
96
+ let baseUrl = new URL(ENDPOINTS.escalation).origin;
73
97
  try {
74
98
  if (config.analyticsProxyUrl) {
75
99
  baseUrl = new URL(config.analyticsProxyUrl).origin;
@@ -199,7 +223,7 @@ export class TelemetryService {
199
223
  analyticsKey: this.config.analyticsKey ?? '',
200
224
  appId: Platform.OS,
201
225
  // Consumer can override via config later
202
- deviceId: getDeviceId(),
226
+ deviceId: getDeviceId() ?? 'unknown',
203
227
  sdkVersion: SDK_VERSION,
204
228
  events: eventsToSend
205
229
  };
@@ -226,9 +250,10 @@ export class TelemetryService {
226
250
 
227
251
  /** Save queued events to AsyncStorage for crash/restart recovery */
228
252
  async persistQueue() {
229
- if (!AsyncStorageModule) return;
253
+ const storage = loadAsyncStorage();
254
+ if (!storage) return;
230
255
  try {
231
- await AsyncStorageModule.setItem(STORAGE_KEY, JSON.stringify(this.queue));
256
+ await storage.setItem(STORAGE_KEY, JSON.stringify(this.queue));
232
257
  } catch {
233
258
  // AsyncStorage may not be available in all environments
234
259
  }
@@ -236,13 +261,14 @@ export class TelemetryService {
236
261
 
237
262
  /** Restore queued events from previous session */
238
263
  async restoreQueue() {
239
- if (!AsyncStorageModule) return;
264
+ const storage = loadAsyncStorage();
265
+ if (!storage) return;
240
266
  try {
241
- const stored = await AsyncStorageModule.getItem(STORAGE_KEY);
267
+ const stored = await storage.getItem(STORAGE_KEY);
242
268
  if (stored) {
243
269
  const events = JSON.parse(stored);
244
270
  this.queue = [...events, ...this.queue];
245
- await AsyncStorageModule.removeItem(STORAGE_KEY);
271
+ await storage.removeItem(STORAGE_KEY);
246
272
  logger.info(LOG_TAG, `Restored ${events.length} events from previous session`);
247
273
  }
248
274
  } catch {
@@ -1 +1 @@
1
- {"version":3,"names":["AppState","Platform","logger","scrubPII","FlagService","AsyncStorageModule","require","default","CLOUD_API_URL","STORAGE_KEY","DEFAULT_FLUSH_INTERVAL_MS","DEFAULT_MAX_BATCH_SIZE","SDK_VERSION","LOG_TAG","generateSessionId","Date","now","Math","random","toString","slice","getDeviceId","TelemetryService","queue","currentScreen","flushTimer","isFlushing","appStateSubscription","screen","isAgentActing","setAgentActing","active","constructor","config","sessionId","baseUrl","analyticsProxyUrl","URL","origin","flags","start","isEnabled","debug","restoreQueue","analyticsKey","fetch","catch","e","warn","message","interval","flushIntervalMs","setInterval","flush","addEventListener","state","track","device","OS","os","String","Version","sdk_version","info","stop","events_count","length","clearInterval","remove","type","data","sanitizedData","Object","fromEntries","entries","map","k","v","$flags","getAllFlags","event","timestamp","toISOString","push","maxSize","maxBatchSize","setScreen","screenName","prevScreen","prev_screen","eventsToSend","url","headers","analyticsProxyHeaders","batch","appId","deviceId","sdkVersion","events","response","method","body","JSON","stringify","ok","Error","status","error","persistQueue","setItem","stored","getItem","parse","removeItem"],"sourceRoot":"../../../../src","sources":["services/telemetry/TelemetryService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AppState","Platform","logger","ENDPOINTS","scrubPII","FlagService","_asyncStorage","_asyncStorageLoaded","loadAsyncStorage","origError","console","error","args","msg","includes","apply","mod","require","default","getItem","CLOUD_API_URL","telemetryIngest","STORAGE_KEY","DEFAULT_FLUSH_INTERVAL_MS","DEFAULT_MAX_BATCH_SIZE","SDK_VERSION","LOG_TAG","generateSessionId","Date","now","Math","random","toString","slice","getDeviceId","TelemetryService","queue","currentScreen","flushTimer","isFlushing","appStateSubscription","screen","isAgentActing","setAgentActing","active","constructor","config","sessionId","baseUrl","URL","escalation","origin","analyticsProxyUrl","flags","start","isEnabled","debug","restoreQueue","analyticsKey","fetch","catch","e","warn","message","interval","flushIntervalMs","setInterval","flush","addEventListener","state","track","device","OS","os","String","Version","sdk_version","info","stop","events_count","length","clearInterval","remove","type","data","sanitizedData","Object","fromEntries","entries","map","k","v","$flags","getAllFlags","event","timestamp","toISOString","push","maxSize","maxBatchSize","setScreen","screenName","prevScreen","prev_screen","eventsToSend","url","headers","analyticsProxyHeaders","batch","appId","deviceId","sdkVersion","events","response","method","body","JSON","stringify","ok","Error","status","persistQueue","storage","setItem","stored","parse","removeItem"],"sourceRoot":"../../../../src","sources":["services/telemetry/TelemetryService.ts"],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,89 @@
1
1
  "use strict";
2
2
 
3
- import { Platform } from 'react-native';
3
+ /**
4
+ * Persistent device ID — a UUID generated on first launch and stored in AsyncStorage.
5
+ * Unique per app install, survives across sessions.
6
+ *
7
+ * AsyncStorage is an optional peer dependency — if not installed, the ID
8
+ * persists only in memory for the current session.
9
+ */
10
+
11
+ const STORAGE_KEY = '@mobileai:device_id';
12
+ let _cachedId = null;
13
+ let _storageLoaded = false;
14
+ let _storage = null;
15
+ function loadStorage() {
16
+ if (_storageLoaded) return _storage;
17
+ _storageLoaded = true;
18
+ try {
19
+ // Suppress the RN red box that AsyncStorage triggers when its native module
20
+ // isn't linked ("NativeModule: AsyncStorage is null").
21
+ const origError = console.error;
22
+ console.error = (...args) => {
23
+ const msg = args[0];
24
+ if (typeof msg === 'string' && msg.includes('AsyncStorage')) return;
25
+ origError.apply(console, args);
26
+ };
27
+ try {
28
+ const mod = require('@react-native-async-storage/async-storage');
29
+ const candidate = mod.default ?? mod;
30
+ if (candidate && typeof candidate.getItem === 'function') {
31
+ _storage = candidate;
32
+ }
33
+ } finally {
34
+ console.error = origError;
35
+ }
36
+ } catch {
37
+ // Not installed — device ID won't persist across restarts
38
+ }
39
+ return _storage;
40
+ }
41
+ function generateUUID() {
42
+ if (typeof crypto !== 'undefined' && crypto.randomUUID) {
43
+ return crypto.randomUUID();
44
+ }
45
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
46
+ const r = Math.random() * 16 | 0;
47
+ const v = c === 'x' ? r : r & 0x3 | 0x8;
48
+ return v.toString(16);
49
+ });
50
+ }
4
51
 
5
52
  /**
6
- * Deterministic device ID based on platform info.
7
- * This ensures analytics and flags remain consistent across sessions
8
- * without collecting PII hardware identifiers.
53
+ * Returns the persistent device ID synchronously (from cache).
54
+ * Returns null if not yet initialized.
9
55
  */
10
56
  export function getDeviceId() {
11
- const raw = `${Platform.OS}_${Platform.Version}`;
12
- let hash = 0;
13
- for (let i = 0; i < raw.length; i++) {
14
- hash = (hash << 5) - hash + raw.charCodeAt(i);
15
- hash |= 0;
57
+ return _cachedId;
58
+ }
59
+
60
+ /**
61
+ * Initializes or retrieves the persistent device ID.
62
+ * Call once on app startup. Subsequent getDeviceId() calls are synchronous.
63
+ */
64
+ export async function initDeviceId() {
65
+ if (_cachedId) return _cachedId;
66
+ const storage = loadStorage();
67
+ if (storage) {
68
+ try {
69
+ const stored = await storage.getItem(STORAGE_KEY);
70
+ if (stored) {
71
+ _cachedId = stored;
72
+ return stored;
73
+ }
74
+ } catch {
75
+ // Storage read failed — continue with new ID
76
+ }
77
+ }
78
+ const newId = generateUUID();
79
+ _cachedId = newId;
80
+ if (storage) {
81
+ try {
82
+ await storage.setItem(STORAGE_KEY, newId);
83
+ } catch {
84
+ // Storage write failed — ID works for this session only
85
+ }
16
86
  }
17
- return `dev_${Math.abs(hash).toString(36)}`;
87
+ return newId;
18
88
  }
19
89
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","getDeviceId","raw","OS","Version","hash","i","length","charCodeAt","Math","abs","toString"],"sourceRoot":"../../../../src","sources":["services/telemetry/device.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAA,EAAW;EACpC,MAAMC,GAAG,GAAG,GAAGF,QAAQ,CAACG,EAAE,IAAIH,QAAQ,CAACI,OAAO,EAAE;EAChD,IAAIC,IAAI,GAAG,CAAC;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,GAAG,CAACK,MAAM,EAAED,CAAC,EAAE,EAAE;IACnCD,IAAI,GAAG,CAACA,IAAI,IAAI,CAAC,IAAIA,IAAI,GAAGH,GAAG,CAACM,UAAU,CAACF,CAAC,CAAC;IAC7CD,IAAI,IAAI,CAAC;EACX;EACA,OAAO,OAAOI,IAAI,CAACC,GAAG,CAACL,IAAI,CAAC,CAACM,QAAQ,CAAC,EAAE,CAAC,EAAE;AAC7C","ignoreList":[]}
1
+ {"version":3,"names":["STORAGE_KEY","_cachedId","_storageLoaded","_storage","loadStorage","origError","console","error","args","msg","includes","apply","mod","require","candidate","default","getItem","generateUUID","crypto","randomUUID","replace","c","r","Math","random","v","toString","getDeviceId","initDeviceId","storage","stored","newId","setItem"],"sourceRoot":"../../../../src","sources":["services/telemetry/device.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMA,WAAW,GAAG,qBAAqB;AAEzC,IAAIC,SAAwB,GAAG,IAAI;AACnC,IAAIC,cAAc,GAAG,KAAK;AAC1B,IAAIC,QAAa,GAAG,IAAI;AAExB,SAASC,WAAWA,CAAA,EAAQ;EAC1B,IAAIF,cAAc,EAAE,OAAOC,QAAQ;EACnCD,cAAc,GAAG,IAAI;EACrB,IAAI;IACF;IACA;IACA,MAAMG,SAAS,GAAGC,OAAO,CAACC,KAAK;IAC/BD,OAAO,CAACC,KAAK,GAAG,CAAC,GAAGC,IAAe,KAAK;MACtC,MAAMC,GAAG,GAAGD,IAAI,CAAC,CAAC,CAAC;MACnB,IAAI,OAAOC,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACC,QAAQ,CAAC,cAAc,CAAC,EAAE;MAC7DL,SAAS,CAACM,KAAK,CAACL,OAAO,EAAEE,IAAI,CAAC;IAChC,CAAC;IACD,IAAI;MACF,MAAMI,GAAG,GAAGC,OAAO,CAAC,2CAA2C,CAAC;MAChE,MAAMC,SAAS,GAAGF,GAAG,CAACG,OAAO,IAAIH,GAAG;MACpC,IAAIE,SAAS,IAAI,OAAOA,SAAS,CAACE,OAAO,KAAK,UAAU,EAAE;QACxDb,QAAQ,GAAGW,SAAS;MACtB;IACF,CAAC,SAAS;MACRR,OAAO,CAACC,KAAK,GAAGF,SAAS;IAC3B;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAEF,OAAOF,QAAQ;AACjB;AAEA,SAASc,YAAYA,CAAA,EAAW;EAC9B,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAACC,UAAU,EAAE;IACtD,OAAOD,MAAM,CAACC,UAAU,CAAC,CAAC;EAC5B;EACA,OAAO,sCAAsC,CAACC,OAAO,CAAC,OAAO,EAAGC,CAAC,IAAK;IACpE,MAAMC,CAAC,GAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAI,CAAC;IAClC,MAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAG,GAAGC,CAAC,GAAIA,CAAC,GAAG,GAAG,GAAI,GAAG;IACzC,OAAOG,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC;EACvB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAA,EAAkB;EAC3C,OAAO1B,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe2B,YAAYA,CAAA,EAAoB;EACpD,IAAI3B,SAAS,EAAE,OAAOA,SAAS;EAE/B,MAAM4B,OAAO,GAAGzB,WAAW,CAAC,CAAC;EAC7B,IAAIyB,OAAO,EAAE;IACX,IAAI;MACF,MAAMC,MAAqB,GAAG,MAAMD,OAAO,CAACb,OAAO,CAAChB,WAAW,CAAC;MAChE,IAAI8B,MAAM,EAAE;QACV7B,SAAS,GAAG6B,MAAM;QAClB,OAAOA,MAAM;MACf;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMC,KAAK,GAAGd,YAAY,CAAC,CAAC;EAC5BhB,SAAS,GAAG8B,KAAK;EAEjB,IAAIF,OAAO,EAAE;IACX,IAAI;MACF,MAAMA,OAAO,CAACG,OAAO,CAAChC,WAAW,EAAE+B,KAAK,CAAC;IAC3C,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,OAAOA,KAAK;AACd","ignoreList":[]}
@@ -25,6 +25,8 @@ export class EscalationSocket {
25
25
  constructor(options) {
26
26
  this.onReply = options.onReply;
27
27
  this.onError = options.onError;
28
+ this.onTypingChange = options.onTypingChange;
29
+ this.onTicketClosed = options.onTicketClosed;
28
30
  this.maxReconnectAttempts = options.maxReconnectAttempts ?? 3;
29
31
  }
30
32
  connect(wsUrl) {
@@ -32,6 +34,26 @@ export class EscalationSocket {
32
34
  this.intentionalClose = false;
33
35
  this.openConnection();
34
36
  }
37
+ sendText(text) {
38
+ if (this.ws?.readyState === 1) {
39
+ // WebSocket.OPEN
40
+ this.ws.send(JSON.stringify({
41
+ type: 'user_message',
42
+ content: text
43
+ }));
44
+ return true;
45
+ }
46
+ return false;
47
+ }
48
+ sendTypingStatus(isTyping) {
49
+ if (this.ws?.readyState === 1) {
50
+ this.ws.send(JSON.stringify({
51
+ type: isTyping ? 'typing_start' : 'typing_stop'
52
+ }));
53
+ return true;
54
+ }
55
+ return false;
56
+ }
35
57
  disconnect() {
36
58
  this.intentionalClose = true;
37
59
  if (this.reconnectTimer) {
@@ -52,27 +74,44 @@ export class EscalationSocket {
52
74
  return;
53
75
  }
54
76
  this.ws.onopen = () => {
55
- console.log('[EscalationSocket] Connected:', this.wsUrl);
77
+ console.log('[EscalationSocket] Connected to:', this.wsUrl);
56
78
  this.reconnectAttempts = 0;
57
79
  };
58
80
  this.ws.onmessage = event => {
59
81
  try {
60
- const msg = JSON.parse(String(event.data));
61
- if (msg.type === 'ping') return; // heartbeat — ignore
82
+ const rawData = String(event.data);
83
+ console.log('[EscalationSocket] Message received:', rawData);
84
+ const msg = JSON.parse(rawData);
85
+ if (msg.type === 'ping') {
86
+ console.log('[EscalationSocket] Heartbeat ping received');
87
+ return;
88
+ }
62
89
  if (msg.type === 'reply' && msg.reply) {
63
- this.onReply(msg.reply);
90
+ console.log('[EscalationSocket] Human reply received:', msg.reply);
91
+ this.onTypingChange?.(false);
92
+ this.onReply(msg.reply, msg.ticketId);
93
+ } else if (msg.type === 'typing_start') {
94
+ this.onTypingChange?.(true);
95
+ } else if (msg.type === 'typing_stop') {
96
+ this.onTypingChange?.(false);
97
+ } else if (msg.type === 'ticket_closed') {
98
+ console.log('[EscalationSocket] Ticket closed by agent');
99
+ this.onTypingChange?.(false);
100
+ this.onTicketClosed?.(msg.ticketId);
101
+ this.intentionalClose = true;
102
+ this.ws?.close();
64
103
  }
65
104
  } catch {
66
105
  // Non-JSON message — ignore
67
106
  }
68
107
  };
69
108
  this.ws.onerror = event => {
70
- console.error('[EscalationSocket] Error:', event);
109
+ console.error('[EscalationSocket] ❌ WebSocket error. URL was:', this.wsUrl, event);
71
110
  this.onError?.(event);
72
111
  };
73
- this.ws.onclose = () => {
112
+ this.ws.onclose = event => {
113
+ console.warn(`[EscalationSocket] Connection closed. Code=${event.code} Reason="${event.reason}" Intentional=${this.intentionalClose}`);
74
114
  if (this.intentionalClose) return;
75
- console.warn('[EscalationSocket] Connection closed unexpectedly');
76
115
  this.scheduleReconnect();
77
116
  };
78
117
  }
@@ -1 +1 @@
1
- {"version":3,"names":["EscalationSocket","ws","wsUrl","reconnectAttempts","reconnectTimer","intentionalClose","constructor","options","onReply","onError","maxReconnectAttempts","connect","openConnection","disconnect","clearTimeout","close","WebSocket","err","console","error","onopen","log","onmessage","event","msg","JSON","parse","String","data","type","reply","onerror","onclose","warn","scheduleReconnect","delay","Math","min","setTimeout"],"sourceRoot":"../../../src","sources":["support/EscalationSocket.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["EscalationSocket","ws","wsUrl","reconnectAttempts","reconnectTimer","intentionalClose","constructor","options","onReply","onError","onTypingChange","onTicketClosed","maxReconnectAttempts","connect","openConnection","sendText","text","readyState","send","JSON","stringify","type","content","sendTypingStatus","isTyping","disconnect","clearTimeout","close","WebSocket","err","console","error","onopen","log","onmessage","event","rawData","String","data","msg","parse","reply","ticketId","onerror","onclose","warn","code","reason","scheduleReconnect","delay","Math","min","setTimeout"],"sourceRoot":"../../../src","sources":["support/EscalationSocket.ts"],"mappings":"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","ignoreList":[]}