@egain/ai-agent-sdk 0.1.0

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 (164) hide show
  1. package/README.md +295 -0
  2. package/dist/browser.js +22739 -0
  3. package/dist/core/AiAgent.d.ts +1126 -0
  4. package/dist/core/AiAgent.d.ts.map +1 -0
  5. package/dist/core/AiAgent.js +2037 -0
  6. package/dist/core/AiAgent.js.map +1 -0
  7. package/dist/core/api/ApiHelper.d.ts +433 -0
  8. package/dist/core/api/ApiHelper.d.ts.map +1 -0
  9. package/dist/core/api/ApiHelper.js +689 -0
  10. package/dist/core/api/ApiHelper.js.map +1 -0
  11. package/dist/core/api/CacheAdapter.d.ts +295 -0
  12. package/dist/core/api/CacheAdapter.d.ts.map +1 -0
  13. package/dist/core/api/CacheAdapter.js +298 -0
  14. package/dist/core/api/CacheAdapter.js.map +1 -0
  15. package/dist/core/auth/AnonymousAuthStrategy.d.ts +87 -0
  16. package/dist/core/auth/AnonymousAuthStrategy.d.ts.map +1 -0
  17. package/dist/core/auth/AnonymousAuthStrategy.js +257 -0
  18. package/dist/core/auth/AnonymousAuthStrategy.js.map +1 -0
  19. package/dist/core/auth/AuthProvider.d.ts +13 -0
  20. package/dist/core/auth/AuthProvider.d.ts.map +1 -0
  21. package/dist/core/auth/AuthProvider.js +2 -0
  22. package/dist/core/auth/AuthProvider.js.map +1 -0
  23. package/dist/core/auth/AuthStrategy.d.ts +74 -0
  24. package/dist/core/auth/AuthStrategy.d.ts.map +1 -0
  25. package/dist/core/auth/AuthStrategy.js +2 -0
  26. package/dist/core/auth/AuthStrategy.js.map +1 -0
  27. package/dist/core/auth/AuthenticationService.d.ts +226 -0
  28. package/dist/core/auth/AuthenticationService.d.ts.map +1 -0
  29. package/dist/core/auth/AuthenticationService.js +344 -0
  30. package/dist/core/auth/AuthenticationService.js.map +1 -0
  31. package/dist/core/auth/ClientCredentialsAuthStrategy.d.ts +62 -0
  32. package/dist/core/auth/ClientCredentialsAuthStrategy.d.ts.map +1 -0
  33. package/dist/core/auth/ClientCredentialsAuthStrategy.js +78 -0
  34. package/dist/core/auth/ClientCredentialsAuthStrategy.js.map +1 -0
  35. package/dist/core/auth/PKCEAuthStrategy.d.ts +136 -0
  36. package/dist/core/auth/PKCEAuthStrategy.d.ts.map +1 -0
  37. package/dist/core/auth/PKCEAuthStrategy.js +409 -0
  38. package/dist/core/auth/PKCEAuthStrategy.js.map +1 -0
  39. package/dist/core/auth/PreAuthStrategy.d.ts +101 -0
  40. package/dist/core/auth/PreAuthStrategy.d.ts.map +1 -0
  41. package/dist/core/auth/PreAuthStrategy.js +216 -0
  42. package/dist/core/auth/PreAuthStrategy.js.map +1 -0
  43. package/dist/core/auth/msal-browser.js +19683 -0
  44. package/dist/core/auth/msal-loader.d.ts +14 -0
  45. package/dist/core/auth/msal-loader.d.ts.map +1 -0
  46. package/dist/core/auth/msal-loader.js +43 -0
  47. package/dist/core/auth/msal-loader.js.map +1 -0
  48. package/dist/core/connection/Connection.d.ts +168 -0
  49. package/dist/core/connection/Connection.d.ts.map +1 -0
  50. package/dist/core/connection/Connection.js +290 -0
  51. package/dist/core/connection/Connection.js.map +1 -0
  52. package/dist/core/connection/ConnectionState.d.ts +11 -0
  53. package/dist/core/connection/ConnectionState.d.ts.map +1 -0
  54. package/dist/core/connection/ConnectionState.js +12 -0
  55. package/dist/core/connection/ConnectionState.js.map +1 -0
  56. package/dist/core/connection/Transport.d.ts +98 -0
  57. package/dist/core/connection/Transport.d.ts.map +1 -0
  58. package/dist/core/connection/Transport.js +27 -0
  59. package/dist/core/connection/Transport.js.map +1 -0
  60. package/dist/core/connection/WebSocketTransport.d.ts +65 -0
  61. package/dist/core/connection/WebSocketTransport.d.ts.map +1 -0
  62. package/dist/core/connection/WebSocketTransport.js +177 -0
  63. package/dist/core/connection/WebSocketTransport.js.map +1 -0
  64. package/dist/core/errors/SDKError.d.ts +27 -0
  65. package/dist/core/errors/SDKError.d.ts.map +1 -0
  66. package/dist/core/errors/SDKError.js +43 -0
  67. package/dist/core/errors/SDKError.js.map +1 -0
  68. package/dist/core/events/EventEmitter.d.ts +120 -0
  69. package/dist/core/events/EventEmitter.d.ts.map +1 -0
  70. package/dist/core/events/EventEmitter.js +183 -0
  71. package/dist/core/events/EventEmitter.js.map +1 -0
  72. package/dist/core/logging/LogLevel.d.ts +33 -0
  73. package/dist/core/logging/LogLevel.d.ts.map +1 -0
  74. package/dist/core/logging/LogLevel.js +40 -0
  75. package/dist/core/logging/LogLevel.js.map +1 -0
  76. package/dist/core/logging/Logger.d.ts +120 -0
  77. package/dist/core/logging/Logger.d.ts.map +1 -0
  78. package/dist/core/logging/Logger.js +204 -0
  79. package/dist/core/logging/Logger.js.map +1 -0
  80. package/dist/core/logging/globalLogger.d.ts +8 -0
  81. package/dist/core/logging/globalLogger.d.ts.map +1 -0
  82. package/dist/core/logging/globalLogger.js +12 -0
  83. package/dist/core/logging/globalLogger.js.map +1 -0
  84. package/dist/core/logging/types.d.ts +45 -0
  85. package/dist/core/logging/types.d.ts.map +1 -0
  86. package/dist/core/logging/types.js +2 -0
  87. package/dist/core/logging/types.js.map +1 -0
  88. package/dist/core/message/BaseMessageHandler.d.ts +208 -0
  89. package/dist/core/message/BaseMessageHandler.d.ts.map +1 -0
  90. package/dist/core/message/BaseMessageHandler.js +155 -0
  91. package/dist/core/message/BaseMessageHandler.js.map +1 -0
  92. package/dist/core/message/Message.d.ts +69 -0
  93. package/dist/core/message/Message.d.ts.map +1 -0
  94. package/dist/core/message/Message.js +131 -0
  95. package/dist/core/message/Message.js.map +1 -0
  96. package/dist/core/message/MessageProcessor.d.ts +51 -0
  97. package/dist/core/message/MessageProcessor.d.ts.map +1 -0
  98. package/dist/core/message/MessageProcessor.js +123 -0
  99. package/dist/core/message/MessageProcessor.js.map +1 -0
  100. package/dist/core/message/MessageTypes.d.ts +123 -0
  101. package/dist/core/message/MessageTypes.d.ts.map +1 -0
  102. package/dist/core/message/MessageTypes.js +106 -0
  103. package/dist/core/message/MessageTypes.js.map +1 -0
  104. package/dist/core/message/Transcript.d.ts +373 -0
  105. package/dist/core/message/Transcript.d.ts.map +1 -0
  106. package/dist/core/message/Transcript.js +355 -0
  107. package/dist/core/message/Transcript.js.map +1 -0
  108. package/dist/core/message/handlers/AgentMessageHandler.d.ts +26 -0
  109. package/dist/core/message/handlers/AgentMessageHandler.d.ts.map +1 -0
  110. package/dist/core/message/handlers/AgentMessageHandler.js +130 -0
  111. package/dist/core/message/handlers/AgentMessageHandler.js.map +1 -0
  112. package/dist/core/message/handlers/ChatHistoryHandler.d.ts +12 -0
  113. package/dist/core/message/handlers/ChatHistoryHandler.d.ts.map +1 -0
  114. package/dist/core/message/handlers/ChatHistoryHandler.js +49 -0
  115. package/dist/core/message/handlers/ChatHistoryHandler.js.map +1 -0
  116. package/dist/core/message/handlers/ErrorMessageHandler.d.ts +12 -0
  117. package/dist/core/message/handlers/ErrorMessageHandler.d.ts.map +1 -0
  118. package/dist/core/message/handlers/ErrorMessageHandler.js +49 -0
  119. package/dist/core/message/handlers/ErrorMessageHandler.js.map +1 -0
  120. package/dist/core/message/handlers/HeartbeatHandler.d.ts +12 -0
  121. package/dist/core/message/handlers/HeartbeatHandler.d.ts.map +1 -0
  122. package/dist/core/message/handlers/HeartbeatHandler.js +46 -0
  123. package/dist/core/message/handlers/HeartbeatHandler.js.map +1 -0
  124. package/dist/core/message/handlers/TokenRefreshHandler.d.ts +30 -0
  125. package/dist/core/message/handlers/TokenRefreshHandler.d.ts.map +1 -0
  126. package/dist/core/message/handlers/TokenRefreshHandler.js +84 -0
  127. package/dist/core/message/handlers/TokenRefreshHandler.js.map +1 -0
  128. package/dist/core/message/types.d.ts +107 -0
  129. package/dist/core/message/types.d.ts.map +1 -0
  130. package/dist/core/message/types.js +30 -0
  131. package/dist/core/message/types.js.map +1 -0
  132. package/dist/core/platform/HookContract.d.ts +112 -0
  133. package/dist/core/platform/HookContract.d.ts.map +1 -0
  134. package/dist/core/platform/HookContract.js +13 -0
  135. package/dist/core/platform/HookContract.js.map +1 -0
  136. package/dist/core/platform/PlatformComponentService.d.ts +40 -0
  137. package/dist/core/platform/PlatformComponentService.d.ts.map +1 -0
  138. package/dist/core/platform/PlatformComponentService.js +12 -0
  139. package/dist/core/platform/PlatformComponentService.js.map +1 -0
  140. package/dist/core/platform/PlatformScriptLoader.d.ts +41 -0
  141. package/dist/core/platform/PlatformScriptLoader.d.ts.map +1 -0
  142. package/dist/core/platform/PlatformScriptLoader.js +110 -0
  143. package/dist/core/platform/PlatformScriptLoader.js.map +1 -0
  144. package/dist/core/polyfills.d.ts +16 -0
  145. package/dist/core/polyfills.d.ts.map +1 -0
  146. package/dist/core/polyfills.js +168 -0
  147. package/dist/core/polyfills.js.map +1 -0
  148. package/dist/core/portal-initializer/PortalInitializer.d.ts +234 -0
  149. package/dist/core/portal-initializer/PortalInitializer.d.ts.map +1 -0
  150. package/dist/core/portal-initializer/PortalInitializer.js +636 -0
  151. package/dist/core/portal-initializer/PortalInitializer.js.map +1 -0
  152. package/dist/core/queue/MessageQueue.d.ts +277 -0
  153. package/dist/core/queue/MessageQueue.d.ts.map +1 -0
  154. package/dist/core/queue/MessageQueue.js +291 -0
  155. package/dist/core/queue/MessageQueue.js.map +1 -0
  156. package/dist/core/types/PortalTypes.d.ts +51 -0
  157. package/dist/core/types/PortalTypes.d.ts.map +1 -0
  158. package/dist/core/types/PortalTypes.js +8 -0
  159. package/dist/core/types/PortalTypes.js.map +1 -0
  160. package/dist/index.d.ts +91 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.js +82 -0
  163. package/dist/index.js.map +1 -0
  164. package/package.json +84 -0
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Dynamic loader for platform connector scripts.
3
+ *
4
+ * In browser environments, injects a `<script>` tag. In non-browser
5
+ * environments (Node.js, SSR), falls back to dynamic `import()` using
6
+ * the same constructed URL.
7
+ *
8
+ * @module PlatformScriptLoader
9
+ */
10
+ const ENV_BASE_URLS = {
11
+ dev: 'https://dev-apps.egeng.info/',
12
+ qa: 'https://qa-apps.egeng.info/',
13
+ prod: 'https://apps.egain.services/',
14
+ stage: 'https://non-prod-apps.egain.services/',
15
+ euprod: 'https://apps.egain.cloud/',
16
+ eustage: 'https://non-prod-apps.egain.cloud/',
17
+ devrf: 'https://dev-apps.ezdev.net/',
18
+ };
19
+ /**
20
+ * Derive the deployment environment from available state.
21
+ *
22
+ * Priority: explicit env string > parsed from domain (dev-/qa- prefix) > "prod".
23
+ */
24
+ export function deriveEnvironment(domain, explicitEnv) {
25
+ if (explicitEnv) {
26
+ const env = explicitEnv.toLowerCase();
27
+ if (env === 'dev' || env === 'qa' || env === 'prod')
28
+ return env;
29
+ }
30
+ if (domain) {
31
+ const d = domain.toLowerCase();
32
+ if (d.startsWith('dev-') || d.includes('dev-'))
33
+ return 'dev';
34
+ if (d.startsWith('qa-') || d.includes('qa-'))
35
+ return 'qa';
36
+ }
37
+ return 'prod';
38
+ }
39
+ /**
40
+ * Construct the connector script URL for a given platform and environment.
41
+ */
42
+ export function buildPlatformScriptUrl(platform, environment) {
43
+ const baseUrl = ENV_BASE_URLS[environment] ?? ENV_BASE_URLS.prod;
44
+ return `${baseUrl}ai-agent-connector-${platform}/web/static/connector-ai-agent.js`;
45
+ }
46
+ /**
47
+ * Load a platform connector script.
48
+ *
49
+ * - **Browser:** Injects a `<script>` tag into `document.head`, waits for
50
+ * `onload` + 100ms buffer, then verifies `window.PlatformComponentService`.
51
+ * - **Non-browser:** Uses dynamic `import()` with the same constructed URL.
52
+ * The imported module must export `PlatformComponentService` as a default
53
+ * or named export.
54
+ */
55
+ export async function loadPlatformScript(options) {
56
+ const { platform, baseUrl, overrideUrl, logger } = options;
57
+ const scriptUrl = overrideUrl ?? buildPlatformScriptUrl(platform, baseUrl);
58
+ const isBrowser = typeof document !== 'undefined';
59
+ if (isBrowser) {
60
+ await loadViaBrowserScript(scriptUrl, logger);
61
+ }
62
+ else {
63
+ await loadViaDynamicImport(scriptUrl, logger);
64
+ }
65
+ }
66
+ async function loadViaBrowserScript(url, logger) {
67
+ logger.info('Loading platform connector script via <script> tag', { url });
68
+ return new Promise((resolve, reject) => {
69
+ const script = document.createElement('script');
70
+ script.src = url;
71
+ script.async = true;
72
+ script.crossOrigin = 'anonymous';
73
+ script.onload = () => {
74
+ setTimeout(() => {
75
+ if (window.PlatformComponentService) {
76
+ logger.info('PlatformComponentService registered successfully');
77
+ resolve();
78
+ }
79
+ else {
80
+ reject(new Error(`Platform connector script loaded from "${url}" but window.PlatformComponentService was not registered`));
81
+ }
82
+ }, 100);
83
+ };
84
+ script.onerror = () => {
85
+ reject(new Error(`Failed to load platform connector script from "${url}"`));
86
+ };
87
+ document.head.appendChild(script);
88
+ });
89
+ }
90
+ async function loadViaDynamicImport(url, logger) {
91
+ logger.info('Loading platform connector module via dynamic import()', { url });
92
+ try {
93
+ const mod = await import(/* webpackIgnore: true */ url);
94
+ const service = mod.default ?? mod.PlatformComponentService;
95
+ if (service) {
96
+ globalThis.PlatformComponentService = service;
97
+ logger.info('PlatformComponentService resolved from dynamic import');
98
+ }
99
+ else {
100
+ throw new Error('Imported module does not export PlatformComponentService');
101
+ }
102
+ }
103
+ catch (err) {
104
+ if (err instanceof Error && err.message === 'Imported module does not export PlatformComponentService') {
105
+ throw err;
106
+ }
107
+ throw new Error(`Failed to dynamically import platform connector from "${url}": ${err instanceof Error ? err.message : String(err)}`);
108
+ }
109
+ }
110
+ //# sourceMappingURL=PlatformScriptLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformScriptLoader.js","sourceRoot":"","sources":["../../../src/core/platform/PlatformScriptLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Automatic polyfill detection and setup for Node.js environments
3
+ *
4
+ * This module automatically detects the runtime environment and sets up
5
+ * necessary polyfills for WebSocket and fetch when running in Node.js.
6
+ *
7
+ * In browser environments, native WebSocket and fetch are used.
8
+ * In Node.js environments, it attempts to load 'ws' for WebSocket and
9
+ * 'node-fetch' for fetch (if Node version < 18).
10
+ */
11
+ /**
12
+ * Initialize polyfills automatically
13
+ * This function is called when the SDK is imported
14
+ */
15
+ export declare function initializePolyfills(): void;
16
+ //# sourceMappingURL=polyfills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../../src/core/polyfills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA+JH;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Automatic polyfill detection and setup for Node.js environments
3
+ *
4
+ * This module automatically detects the runtime environment and sets up
5
+ * necessary polyfills for WebSocket and fetch when running in Node.js.
6
+ *
7
+ * In browser environments, native WebSocket and fetch are used.
8
+ * In Node.js environments, it attempts to load 'ws' for WebSocket and
9
+ * 'node-fetch' for fetch (if Node version < 18).
10
+ */
11
+ /**
12
+ * Check if we're running in a Node.js environment
13
+ */
14
+ function isNodeEnvironment() {
15
+ return (typeof process !== 'undefined' &&
16
+ process.versions != null &&
17
+ process.versions.node != null &&
18
+ typeof window === 'undefined');
19
+ }
20
+ /**
21
+ * Get a require function for loading CommonJS modules in ES module context
22
+ * Works in both CommonJS and ES module environments
23
+ */
24
+ function getRequire() {
25
+ if (!isNodeEnvironment()) {
26
+ return null;
27
+ }
28
+ try {
29
+ // In ES modules, we need to use createRequire from 'module'
30
+ // However, we can't synchronously import in ES modules
31
+ // So we use a workaround: try to access require via different methods
32
+ // Method 1: Try CommonJS require (if we're in a CommonJS context)
33
+ if (typeof require !== 'undefined' && typeof require === 'function') {
34
+ try {
35
+ const Module = require('module');
36
+ if (Module && Module.createRequire) {
37
+ return Module.createRequire(import.meta.url);
38
+ }
39
+ // If createRequire not available, use require directly (CommonJS)
40
+ return require;
41
+ }
42
+ catch {
43
+ // module not available, but require might still work
44
+ return require;
45
+ }
46
+ }
47
+ // Method 2: Try global require (some environments expose this)
48
+ if (typeof globalThis.require === 'function') {
49
+ try {
50
+ const Module = globalThis.require('module');
51
+ if (Module && Module.createRequire) {
52
+ return Module.createRequire(import.meta.url);
53
+ }
54
+ return globalThis.require;
55
+ }
56
+ catch {
57
+ return globalThis.require;
58
+ }
59
+ }
60
+ // Method 3: Try to use createRequire via Function constructor (works in Node.js)
61
+ // This is a workaround for ES modules where require is not directly available
62
+ try {
63
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
64
+ const requireFn = new Function('return require')();
65
+ if (typeof requireFn === 'function') {
66
+ const Module = requireFn('module');
67
+ if (Module && Module.createRequire) {
68
+ return Module.createRequire(import.meta.url);
69
+ }
70
+ return requireFn;
71
+ }
72
+ }
73
+ catch {
74
+ // Function constructor approach failed
75
+ }
76
+ return null;
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ }
82
+ /**
83
+ * Setup WebSocket polyfill for Node.js
84
+ * Attempts to load 'ws' package and assign it to global.WebSocket
85
+ */
86
+ function setupWebSocketPolyfill() {
87
+ // Only setup in Node.js environment
88
+ if (!isNodeEnvironment()) {
89
+ return;
90
+ }
91
+ // Check if WebSocket is already available globally
92
+ if (typeof globalThis.WebSocket !== 'undefined') {
93
+ return;
94
+ }
95
+ const requireFn = getRequire();
96
+ if (!requireFn) {
97
+ // Can't load polyfill automatically - this is OK, user can set it up manually
98
+ // We don't warn here because the SDK might be bundled and this is expected
99
+ return;
100
+ }
101
+ try {
102
+ const ws = requireFn('ws');
103
+ if (ws && ws.default) {
104
+ // Handle ES module default export
105
+ globalThis.WebSocket = ws.default;
106
+ }
107
+ else if (ws) {
108
+ // Handle CommonJS export
109
+ globalThis.WebSocket = ws;
110
+ }
111
+ }
112
+ catch (error) {
113
+ // 'ws' package not available - this is expected in browser builds
114
+ // In Node.js, users should install 'ws' as a peer dependency
115
+ // We don't warn here to avoid noise - the error will be clear when WebSocket is used
116
+ }
117
+ }
118
+ /**
119
+ * Setup fetch polyfill for Node.js (only needed for Node < 18)
120
+ * Attempts to load 'node-fetch' package and assign it to global.fetch
121
+ */
122
+ function setupFetchPolyfill() {
123
+ // Only setup in Node.js environment
124
+ if (!isNodeEnvironment()) {
125
+ return;
126
+ }
127
+ // Check if fetch is already available globally
128
+ if (typeof globalThis.fetch !== 'undefined') {
129
+ return;
130
+ }
131
+ // Node.js 18+ has native fetch, so we only need polyfill for older versions
132
+ const nodeVersion = process.versions.node;
133
+ const majorVersion = parseInt(nodeVersion.split('.')[0], 10);
134
+ // For Node 18+, native fetch should be available
135
+ if (majorVersion >= 18) {
136
+ return;
137
+ }
138
+ const requireFn = getRequire();
139
+ if (!requireFn) {
140
+ // Can't load polyfill automatically
141
+ return;
142
+ }
143
+ try {
144
+ const nodeFetch = requireFn('node-fetch');
145
+ if (nodeFetch && nodeFetch.default) {
146
+ globalThis.fetch = nodeFetch.default;
147
+ }
148
+ else if (nodeFetch) {
149
+ globalThis.fetch = nodeFetch;
150
+ }
151
+ }
152
+ catch (error) {
153
+ // node-fetch not available - this is OK for Node 18+, but needed for < 18
154
+ // Error will be clear when fetch is used
155
+ }
156
+ }
157
+ /**
158
+ * Initialize polyfills automatically
159
+ * This function is called when the SDK is imported
160
+ */
161
+ export function initializePolyfills() {
162
+ setupWebSocketPolyfill();
163
+ setupFetchPolyfill();
164
+ }
165
+ // Auto-initialize polyfills when this module is imported
166
+ // This ensures polyfills are set up before any SDK code runs
167
+ initializePolyfills();
168
+ //# sourceMappingURL=polyfills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polyfills.js","sourceRoot":"","sources":["../../src/core/polyfills.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * PortalInitializer — Event-driven chained pipeline for portal-based agent initialization
3
+ *
4
+ * Uses a chained architecture where each step either auto-selects and calls
5
+ * the next method directly, or emits an event and returns. The pipeline
6
+ * progresses via direct method calls triggered by the consumer's selection
7
+ * methods on AiAgent (selectPortal, selectAgent, selectUserProfile).
8
+ *
9
+ * Chain: start() → fetchPortals() → handleSelectedPortal() → handleSelectedAgent() → completeInitialization()
10
+ *
11
+ * Public handler methods: onPortalSelected(), onAgentSelected(), onProfileSelected()
12
+ *
13
+ * The pipeline has zero WebSocket knowledge — it is pure REST. The consumer
14
+ * calls connect() after receiving the initialized event.
15
+ *
16
+ * **cc-widget customer parity** (`agentDetails.userType === 'customer'` with non-empty `agentDetails.portals`):
17
+ * portal list is built only from those IDs (no myportals / portalIds / intersection / PCS / Flow B list filter).
18
+ * When `userType === 'customer'` or `initParams.authType === 'customer'`, skips GET userprofiles and may set
19
+ * profiles from `portalDetails.portal[0].portalSettings.defaultUserProfile` only. PUT `.../userprofiles/.../select`
20
+ * runs only for `userType === 'agent'`, `authType === 'user'`, or legacy unset typing (defaults to persist).
21
+ *
22
+ * @module PortalInitializer
23
+ */
24
+ import type { CacheAdapter } from "../api/CacheAdapter.js";
25
+ import type { Portal, UserProfile, AgentListItem } from "../types/PortalTypes.js";
26
+ import type { PlatformComponentService } from "../platform/PlatformComponentService.js";
27
+ import type { HookContract } from "../platform/HookContract.js";
28
+ /**
29
+ * Configuration for PortalInitializer (injected dependencies).
30
+ * Pipeline has zero WebSocket knowledge; portal details and agents are always re-fetched via API (not cached).
31
+ */
32
+ export interface PortalInitializerConfig {
33
+ agentId: string;
34
+ apiHelper: {
35
+ getMyPortals: (options: any) => Promise<Portal[]>;
36
+ getPortalDetails?: (options: any) => Promise<any>;
37
+ getAgentsByPortal: (options: any) => Promise<AgentListItem[]>;
38
+ getUserProfiles: (options: any) => Promise<UserProfile[]>;
39
+ selectUserProfile: (options: any) => Promise<void>;
40
+ };
41
+ logger: {
42
+ debug: (msg: string, ctx?: object) => void;
43
+ info: (msg: string, ctx?: object) => void;
44
+ warn: (msg: string, ctx?: object) => void;
45
+ error: (msg: string, err?: Error, ctx?: object) => void;
46
+ createChild: (name: string) => any;
47
+ };
48
+ authService: {
49
+ getToken: () => Promise<string | null>;
50
+ };
51
+ initParams: Record<string, string>;
52
+ /**
53
+ * Event emission function. AiAgent injects its own emit here and performs
54
+ * bookkeeping (setting resolvedAgentId, caching, isInitialized) when
55
+ * type === 'initialized'.
56
+ */
57
+ emit: (eventType: string, event: any) => void;
58
+ createAgentEventResponse: (type: string, payload: any) => any;
59
+ /**
60
+ * Optional cache adapter for profiles list reused on restart (portal-scoped).
61
+ * Portals are always fetched fresh from the API. Portal details and agents are also never cached.
62
+ */
63
+ pipelineCache?: {
64
+ adapter: CacheAdapter;
65
+ /** Returns the profiles cache key scoped to the given portalId. */
66
+ profilesKey: (portalId: string | number) => string;
67
+ /** Time-to-live in ms. Cached entries older than this are discarded on read. */
68
+ ttl?: number;
69
+ };
70
+ isAgentSelectionMode: boolean;
71
+ /**
72
+ * Agent details stored on the agent (e.g. AiAgent's agentDetails).
73
+ * - `languageCode` — forwarded to portalmgr portal list API (`getMyPortals`) as `$lang`.
74
+ * - `departmentId` — Flow B: filters portals by `portal.department.id` (cc-widget: from default agent API details). `initParams.departmentId` is fallback only.
75
+ * - `portals` — used for user/agent portal intersection when `initParams.agentid` is set and not in Flow B; for `userType === 'customer'` with a non-empty list, used as the sole portal list (cc-widget parity).
76
+ * - `userType` — `'customer'` enables cc-widget customer portal list, profile, and select-API behavior.
77
+ */
78
+ agentDetails?: {
79
+ languageCode?: string;
80
+ departmentId?: string | number;
81
+ portals?: Array<string | number | {
82
+ id?: string | number;
83
+ }>;
84
+ userType?: "agent" | "customer";
85
+ };
86
+ /**
87
+ * Platform component service (from loaded connector script).
88
+ * When present, the pipeline calls portal-related hooks during execution.
89
+ */
90
+ platformComponentService?: PlatformComponentService;
91
+ /**
92
+ * HookContract instance (built by AiAgent). Needed so that onPortalSelected
93
+ * can store filter tags via setUserFilterTags.
94
+ */
95
+ hookContract?: HookContract;
96
+ }
97
+ /**
98
+ * Event-driven chained pipeline for the CC widget initialization flow.
99
+ *
100
+ * Each step auto-selects (count == 1) and calls the next method directly,
101
+ * or emits an event and returns. The consumer's selection call triggers the
102
+ * next step — no await gates.
103
+ *
104
+ * Supports Flow A (specific agent: portal → profile) and Flow B (default agent: portal → agent → profile).
105
+ */
106
+ export declare class PortalInitializer {
107
+ private deps;
108
+ private portals;
109
+ private selectedPortal?;
110
+ private portalDetails?;
111
+ private profiles;
112
+ private agents;
113
+ private selectedAgent?;
114
+ private selectedProfile?;
115
+ private destroyed;
116
+ constructor(deps: PortalInitializerConfig);
117
+ private readCachedFromAdapter;
118
+ /**
119
+ * Start the pipeline. Performs pre-flight (token acquisition, portal-selection
120
+ * requirement check) and kicks off fetchPortals() when needed.
121
+ *
122
+ * Per the architecture diagram, start() checks queryParam.isDefaultAgent:
123
+ * - True → fetchPortals() (Flow B)
124
+ * - False → fetchPortals() (Flow A); portal list may be narrowed via `agentid` + `agentDetails.portals` like cc-widget
125
+ */
126
+ start(): Promise<void>;
127
+ /**
128
+ * Fetch portals (once), apply mode-specific filtering, then auto-select or emit.
129
+ *
130
+ * Mirrors cc-widget's `getFilteredPortals`: resolve the portal list first
131
+ * (customer synthetic / portalIds / API), then branch on mode for filtering.
132
+ * Customer synthetic path skips filtering entirely.
133
+ */
134
+ private fetchPortals;
135
+ /**
136
+ * Flow A filter: intersect user portals with the specific agent's portal list
137
+ * (when `initParams.agentid` is set), then run PCS hooks.
138
+ */
139
+ private filterAgentSpecificPortals;
140
+ /**
141
+ * Flow B filter: run PCS hooks, then narrow portals to those whose department
142
+ * matches the resolved `departmentId` (from agentDetails or initParams).
143
+ */
144
+ private filterDepartmentSpecificPortals;
145
+ /**
146
+ * Run PCS getPortalList and getDefaultPortal hooks on the portal list.
147
+ * Errors cause the portal list to be cleared (cc-widget callPortalWebhook parity).
148
+ */
149
+ private applyPcsHooks;
150
+ /**
151
+ * Validate that the portal list is non-empty, store it, then either
152
+ * auto-select (single portal) or emit portalsAvailable for the consumer.
153
+ */
154
+ private emitPortalsAvailable;
155
+ /**
156
+ * Process the selected portal: resolve portal details + profiles, enrich
157
+ * the portal name, then branch to agent selection (Flow B) or profile
158
+ * resolution (Flow A).
159
+ */
160
+ private handleSelectedPortal;
161
+ /** Fetch portal details from API. Swallows errors and returns undefined on failure. */
162
+ private fetchPortalDetails;
163
+ /** Cache-hit strategy: return cached profiles with fresh portal details, or null if cache miss. */
164
+ private resolveProfilesFromCache;
165
+ /**
166
+ * Customer strategy: fetch portal details only (skip getUserProfiles),
167
+ * extract defaultUserProfile from portal settings if present.
168
+ */
169
+ private resolveProfilesForCustomer;
170
+ /** Normal strategy: fetch portal details and user profiles in parallel. */
171
+ private resolveProfilesFromApi;
172
+ /**
173
+ * Extract the default user profile from portal details for customer mode.
174
+ * Returns a single-element array if a valid default exists, otherwise empty.
175
+ */
176
+ private extractCustomerProfileFromDetails;
177
+ /**
178
+ * Enrich `selectedPortal.name` and the matching `portals[]` entry from
179
+ * the portal details API response (cc-widget portalService.handlePortalSelection parity).
180
+ */
181
+ private addPortalName;
182
+ /**
183
+ * Flow B: validate departmentId, fetch agents for the selected portal,
184
+ * then auto-select (single agent) or emit agentsAvailable.
185
+ */
186
+ private fetchAndEmitAgents;
187
+ /**
188
+ * Process the selected agent (or no agent in Flow A): resolve profile selection
189
+ * using priority logic, then chain to completeInitialization or emit profilesAvailable.
190
+ */
191
+ private handleSelectedAgent;
192
+ /**
193
+ * Priority cascade for auto-selecting a profile.
194
+ * Returns `{ profile }` when one can be auto-selected (including `undefined`
195
+ * for the zero-profiles case), or `null` when the consumer must choose.
196
+ *
197
+ * Priority: no profiles → single → lastUsed → portalDefault → null (emit)
198
+ */
199
+ private resolveAutoProfile;
200
+ /** Extract the default profile ID from the two possible portal details shapes. */
201
+ private getDefaultProfileFromPortal;
202
+ /**
203
+ * Final pipeline step: persist profile selection and emit the initialized event
204
+ * with the full payload built from instance fields.
205
+ */
206
+ private completeInitialization;
207
+ /**
208
+ * Call PCS.onPortalSelected() and store filter tags if returned.
209
+ * Best-effort: errors are logged as warnings and filter tags default to {}.
210
+ */
211
+ private callOnPortalSelected;
212
+ /**
213
+ * Called by AiAgent.selectPortal(). Stores the selected portal and triggers
214
+ * the next pipeline step (handleSelectedPortal).
215
+ */
216
+ onPortalSelected(portal: Portal): void;
217
+ /**
218
+ * Called by AiAgent.selectAgent(). Stores the selected agent and triggers
219
+ * the next pipeline step (handleSelectedAgent). Flow B only.
220
+ */
221
+ onAgentSelected(agent: AgentListItem): void;
222
+ /**
223
+ * Called by AiAgent.selectUserProfile(). Stores the selected profile and triggers
224
+ * the final pipeline step (completeInitialization).
225
+ */
226
+ onProfileSelected(profile: UserProfile): void;
227
+ /**
228
+ * Destroy the pipeline. Sets a destroyed flag so that any in-progress or
229
+ * future chained method calls are no-ops. After calling destroy(), the
230
+ * pipeline instance must not be reused.
231
+ */
232
+ destroy(): void;
233
+ }
234
+ //# sourceMappingURL=PortalInitializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalInitializer.d.ts","sourceRoot":"","sources":["../../../src/core/portal-initializer/PortalInitializer.ts"],"names":[],"mappings":"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"}