http-request-manager 18.15.34 → 18.16.1
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/fesm2022/http-request-manager.mjs +13688 -0
- package/fesm2022/http-request-manager.mjs.map +1 -0
- package/http-request-manager-18.16.0.tgz +0 -0
- package/package.json +15 -6
- package/types/http-request-manager.d.ts +3968 -0
- package/TEST_COVERAGE_SUMMARY.md +0 -458
- package/ng-package.json +0 -8
- package/src/docs/ADVANCED_WEBSOCKET.md +0 -633
- package/src/docs/ARCHITECTURE.md +0 -633
- package/src/docs/BATCH_REQUEST_README.md +0 -467
- package/src/docs/COMPLETE_API_REFERENCE.md +0 -1037
- package/src/docs/DATABASE_README.md +0 -1195
- package/src/docs/ENCRYPTION_README.md +0 -403
- package/src/docs/HTTP_MANAGER_README.md +0 -628
- package/src/docs/HTTP_SINGNALS_MANAGER_README.md +0 -654
- package/src/docs/HTTP_STATE_MANAGER_README.md +0 -1391
- package/src/docs/INTERCEPTOR_README.md +0 -549
- package/src/docs/LOCAL_STORAGE_README.md +0 -1056
- package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +0 -338
- package/src/docs/LOGGER_README.md +0 -310
- package/src/docs/MESSAGE_TRACKER_README.md +0 -518
- package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +0 -563
- package/src/docs/MODELS_README.md +0 -1264
- package/src/docs/SIGNAL_SERVICES_README.md +0 -238
- package/src/docs/SQL_DIXIE_README.md +0 -574
- package/src/docs/STORE_STATE_MANAGER_README.md +0 -556
- package/src/docs/STORE_STATE_SIGNALS_README.md +0 -600
- package/src/docs/UPLOAD_REQUEST_README.md +0 -324
- package/src/docs/UTILS_README.md +0 -1604
- package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +0 -799
- package/src/docs/WEBSOCKET_SIGNALS_README.md +0 -641
- package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +0 -201
- package/src/docs/WS_MANAGER_README.md +0 -613
- package/src/lib/http-request-manager.module.ts +0 -147
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -116
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -255
- package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -123
- package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
- package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -53
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -208
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +0 -200
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +0 -17
- package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +0 -214
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +0 -53
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +0 -60
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +0 -72
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +0 -28
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +0 -10
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +0 -29
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +0 -100
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +0 -22
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +0 -8
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +0 -19
- package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +0 -26
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +0 -25
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +0 -24
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +0 -49
- package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +0 -33
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +0 -279
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +0 -461
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -100
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
- package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -622
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -106
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -687
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -418
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -576
- package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -89
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +0 -119
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +0 -3
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +0 -16
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +0 -3
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +0 -16
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +0 -31
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +0 -94
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +0 -41
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +0 -203
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +0 -144
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +0 -11
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +0 -102
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +0 -40
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +0 -230
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +0 -30
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +0 -172
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +0 -31
- package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +0 -239
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +0 -31
- package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +0 -32
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +0 -84
- package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +0 -40
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +0 -3
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +0 -62
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +0 -83
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +0 -147
- package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +0 -168
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +0 -28
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +0 -10
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +0 -29
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +0 -100
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
- package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +0 -30
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +0 -19
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +0 -25
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +0 -19
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +0 -24
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +0 -30
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +0 -49
- package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +0 -33
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +0 -380
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +0 -24
- package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +0 -410
- package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +0 -28
- package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +0 -49
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +0 -23
- package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +0 -36
- package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +0 -161
- package/src/lib/http-request-services-demo/upload-demo/models/index.ts +0 -1
- package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +0 -30
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +0 -89
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +0 -160
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +0 -101
- package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +0 -136
- package/src/lib/index.ts +0 -3
- package/src/lib/interceptors/credentials.interceptor.ts +0 -16
- package/src/lib/interceptors/index.ts +0 -6
- package/src/lib/interceptors/models/error-settings.model.ts +0 -22
- package/src/lib/interceptors/models/index.ts +0 -2
- package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
- package/src/lib/interceptors/request-error.interceptor.ts +0 -65
- package/src/lib/interceptors/request-header.interceptor.ts +0 -56
- package/src/lib/message-display/README.md +0 -509
- package/src/lib/message-display/index.ts +0 -4
- package/src/lib/message-display/models/action.model.ts +0 -27
- package/src/lib/message-display/models/communication-message.model.ts +0 -77
- package/src/lib/message-display/models/display-config.model.ts +0 -35
- package/src/lib/message-display/models/display-rule.interface.ts +0 -28
- package/src/lib/message-display/models/display-strategy.interface.ts +0 -8
- package/src/lib/message-display/models/index.ts +0 -6
- package/src/lib/message-display/models/slide.model.ts +0 -24
- package/src/lib/message-display/rules/default-display-rules.ts +0 -35
- package/src/lib/message-display/services/message-display-router.service.ts +0 -63
- package/src/lib/message-display/strategies/snackbar.strategy.ts +0 -46
- package/src/lib/models/batch-options.model.ts +0 -33
- package/src/lib/models/batch-progress.model.ts +0 -19
- package/src/lib/models/batch-request-state.model.ts +0 -40
- package/src/lib/models/batch-result.model.ts +0 -30
- package/src/lib/models/config-http-options.model.ts +0 -45
- package/src/lib/models/config-local-storage-options.model.ts +0 -27
- package/src/lib/models/config-options.model.ts +0 -27
- package/src/lib/models/config-token.model.ts +0 -9
- package/src/lib/models/data-type.enum.ts +0 -5
- package/src/lib/models/database-storage.model.ts +0 -24
- package/src/lib/models/index.ts +0 -16
- package/src/lib/models/retry-options.model.ts +0 -22
- package/src/lib/models/upload-validation-error.model.ts +0 -46
- package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +0 -246
- package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +0 -31
- package/src/lib/services/SQL-DixieJS service/index.ts +0 -4
- package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +0 -52
- package/src/lib/services/SQL-DixieJS service/models/index.ts +0 -3
- package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +0 -13
- package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +0 -3
- package/src/lib/services/SQL-DixieJS service/query-planner.ts +0 -284
- package/src/lib/services/SQL-DixieJS service/schema-validator.ts +0 -217
- package/src/lib/services/SQL-DixieJS service/sql-parser.ts +0 -35
- package/src/lib/services/database-manager-service/database.manager.service.ts +0 -384
- package/src/lib/services/database-manager-service/db.storage.service.ts +0 -240
- package/src/lib/services/database-manager-service/index.ts +0 -4
- package/src/lib/services/database-manager-service/models/index.ts +0 -2
- package/src/lib/services/database-manager-service/models/table-schema.ts +0 -33
- package/src/lib/services/index.ts +0 -20
- package/src/lib/services/local-storage-manager-service/index.ts +0 -4
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -567
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +0 -67
- package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +0 -437
- package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
- package/src/lib/services/local-storage-manager-service/models/index.ts +0 -6
- package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -35
- package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
- package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -32
- package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
- package/src/lib/services/request-manager-services/README.md +0 -282
- package/src/lib/services/request-manager-services/http-manager-signals.service.ts +0 -674
- package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -353
- package/src/lib/services/request-manager-services/http-manager.service.ts +0 -727
- package/src/lib/services/request-manager-services/index.ts +0 -8
- package/src/lib/services/request-manager-services/request-signals.service.ts +0 -372
- package/src/lib/services/request-manager-services/request.service.ts +0 -435
- package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
- package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
- package/src/lib/services/request-manager-services/rxjs-operators/index.ts +0 -4
- package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -35
- package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -468
- package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +0 -665
- package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -2395
- package/src/lib/services/request-manager-state-service/index.ts +0 -3
- package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -86
- package/src/lib/services/request-manager-state-service/models/index.ts +0 -14
- package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +0 -18
- package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +0 -21
- package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -37
- package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +0 -20
- package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +0 -23
- package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +0 -23
- package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +0 -23
- package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +0 -24
- package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +0 -13
- package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +0 -42
- package/src/lib/services/store-state-manager-service/index.ts +0 -4
- package/src/lib/services/store-state-manager-service/models/index.ts +0 -3
- package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +0 -30
- package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +0 -24
- package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +0 -169
- package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +0 -153
- package/src/lib/services/utils/app.service.spec.ts +0 -25
- package/src/lib/services/utils/app.service.ts +0 -21
- package/src/lib/services/utils/encryption/README.md +0 -79
- package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
- package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
- package/src/lib/services/utils/encryption/index.ts +0 -5
- package/src/lib/services/utils/encryption/random.ts +0 -81
- package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -106
- package/src/lib/services/utils/headers.service.spec.ts +0 -80
- package/src/lib/services/utils/headers.service.ts +0 -18
- package/src/lib/services/utils/index.ts +0 -9
- package/src/lib/services/utils/logger.service.ts +0 -90
- package/src/lib/services/utils/models/index.ts +0 -4
- package/src/lib/services/utils/models/normalized-request-options.model.ts +0 -24
- package/src/lib/services/utils/models/path-tracker-state.model.ts +0 -20
- package/src/lib/services/utils/models/query-params-tracker-options.model.ts +0 -24
- package/src/lib/services/utils/models/query-tracker-state.model.ts +0 -23
- package/src/lib/services/utils/object-merger.service.spec.ts +0 -18
- package/src/lib/services/utils/object-merger.service.ts +0 -78
- package/src/lib/services/utils/path-query.service.spec.ts +0 -117
- package/src/lib/services/utils/path-query.service.ts +0 -69
- package/src/lib/services/utils/query-params-tracker.service.ts +0 -442
- package/src/lib/services/utils/random-color.utils.ts +0 -83
- package/src/lib/services/utils/utils.service.spec.ts +0 -165
- package/src/lib/services/utils/utils.service.ts +0 -192
- package/src/lib/services/ws-manager-service/index.ts +0 -13
- package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +0 -147
- package/src/lib/services/ws-manager-service/message-tracker.service.ts +0 -477
- package/src/lib/services/ws-manager-service/models/channel-info.model.ts +0 -29
- package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +0 -24
- package/src/lib/services/ws-manager-service/models/channel-message.model.ts +0 -36
- package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +0 -6
- package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +0 -5
- package/src/lib/services/ws-manager-service/models/index.ts +0 -10
- package/src/lib/services/ws-manager-service/models/notification-message.model.ts +0 -29
- package/src/lib/services/ws-manager-service/models/public-message.model.ts +0 -18
- package/src/lib/services/ws-manager-service/models/state-message.model.ts +0 -18
- package/src/lib/services/ws-manager-service/models/ws-user.model.ts +0 -38
- package/src/lib/services/ws-manager-service/services/index.ts +0 -4
- package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +0 -129
- package/src/lib/services/ws-manager-service/services/websocket.service.ts +0 -434
- package/src/lib/services/ws-manager-service/websocket-service/index.ts +0 -1
- package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +0 -716
- package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +0 -596
- package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +0 -141
- package/src/public-api.ts +0 -19
- package/tsconfig.lib.json +0 -34
- package/tsconfig.lib.prod.json +0 -10
- package/tsconfig.spec.json +0 -14
|
@@ -1,468 +0,0 @@
|
|
|
1
|
-
import { OperatorFunction } from 'rxjs';
|
|
2
|
-
import { filter, map } from 'rxjs/operators';
|
|
3
|
-
import { HttpEventType } from '@angular/common/http';
|
|
4
|
-
import { StreamType } from '../../request-manager-state-service/models/stream-type.enum';
|
|
5
|
-
import { StreamConfigModel } from '../../request-manager-state-service/models/stream-config.model';
|
|
6
|
-
import { StreamProgressModel } from '../../request-manager-state-service/models/stream-progress.model';
|
|
7
|
-
import { StreamOutputModel } from '../../request-manager-state-service/models/stream-output.model';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Stateful processor for managing streaming data and events
|
|
11
|
-
*/
|
|
12
|
-
class StreamingProcessor<T = any> {
|
|
13
|
-
private buffer = '';
|
|
14
|
-
private contentType = '';
|
|
15
|
-
private readonly maxBufferSize = 10 * 1024 * 1024; // 10MB limit
|
|
16
|
-
private streamConfig: StreamConfigModel;
|
|
17
|
-
private lastParsedLength = 0; // Track parsed position to avoid duplicates
|
|
18
|
-
private totalFromHeader: number | undefined;
|
|
19
|
-
|
|
20
|
-
constructor(config?: StreamConfigModel) {
|
|
21
|
-
this.streamConfig = config || new StreamConfigModel(StreamType.AI_STREAMING);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Process HTTP events and extract streaming data with progress
|
|
26
|
-
*/
|
|
27
|
-
process(event: any): StreamOutputModel<T> | null {
|
|
28
|
-
switch (event.type) {
|
|
29
|
-
case HttpEventType.ResponseHeader:
|
|
30
|
-
this.contentType = event.headers?.get('content-type') || '';
|
|
31
|
-
// Read total from response header if configured
|
|
32
|
-
if (this.streamConfig.totalHeader && event.headers) {
|
|
33
|
-
const totalVal = event.headers.get(this.streamConfig.totalHeader);
|
|
34
|
-
if (totalVal !== undefined && totalVal !== null) {
|
|
35
|
-
const parsed = parseInt(totalVal, 10);
|
|
36
|
-
if (!isNaN(parsed)) {
|
|
37
|
-
this.totalFromHeader = parsed;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
|
|
43
|
-
case HttpEventType.DownloadProgress:
|
|
44
|
-
if (event.partialText) {
|
|
45
|
-
this.buffer = event.partialText;
|
|
46
|
-
const parsedData = this.parseBuffer();
|
|
47
|
-
|
|
48
|
-
// Only return NEW items since last parse (progressive updates)
|
|
49
|
-
const newItems = parsedData.slice(this.lastParsedLength);
|
|
50
|
-
this.lastParsedLength = parsedData.length;
|
|
51
|
-
|
|
52
|
-
// Calculate progress — prefer record count from header, fall back to byte-level
|
|
53
|
-
const total = this.totalFromHeader ?? event.total;
|
|
54
|
-
const received = this.totalFromHeader ? this.lastParsedLength : event.loaded;
|
|
55
|
-
const percent = total
|
|
56
|
-
? Math.round((received / total) * 100)
|
|
57
|
-
: 0;
|
|
58
|
-
|
|
59
|
-
const progress = StreamProgressModel.adapt({
|
|
60
|
-
received,
|
|
61
|
-
total,
|
|
62
|
-
percent,
|
|
63
|
-
stage: 'streaming'
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
return StreamOutputModel.adapt<T>({
|
|
67
|
-
data: newItems.length > 0 ? newItems : [],
|
|
68
|
-
progress
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
72
|
-
|
|
73
|
-
case HttpEventType.Response:
|
|
74
|
-
if (event.body) {
|
|
75
|
-
this.buffer = typeof event.body === 'string' ? event.body : this.buffer;
|
|
76
|
-
const parsedData = this.parseBuffer();
|
|
77
|
-
|
|
78
|
-
// Calculate final progress
|
|
79
|
-
const received = this.totalFromHeader ? parsedData.length : event.loaded;
|
|
80
|
-
|
|
81
|
-
const progress = StreamProgressModel.adapt({
|
|
82
|
-
received,
|
|
83
|
-
percent: 100,
|
|
84
|
-
stage: 'complete'
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
return StreamOutputModel.adapt<T>({
|
|
88
|
-
data: parsedData.length > 0 ? parsedData : [],
|
|
89
|
-
progress
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return null;
|
|
93
|
-
|
|
94
|
-
default:
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Append data to buffer with size management
|
|
101
|
-
*/
|
|
102
|
-
private appendToBuffer(data: string): void {
|
|
103
|
-
this.buffer += data;
|
|
104
|
-
|
|
105
|
-
// Implement sliding window if buffer gets too large
|
|
106
|
-
if (this.buffer.length > this.maxBufferSize) {
|
|
107
|
-
this.buffer = this.buffer.slice(-this.maxBufferSize / 2);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Parse current buffer content
|
|
113
|
-
*/
|
|
114
|
-
private parseBuffer(): T[] {
|
|
115
|
-
if (!this.buffer.trim()) {
|
|
116
|
-
return [];
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
try {
|
|
120
|
-
const result = parseStreamData(this.buffer, this.contentType, this.streamConfig);
|
|
121
|
-
return result as T[];
|
|
122
|
-
} catch (error) {
|
|
123
|
-
console.warn('Failed to parse streaming data:', error);
|
|
124
|
-
return [];
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Reset processor state
|
|
130
|
-
*/
|
|
131
|
-
reset(): void {
|
|
132
|
-
this.buffer = '';
|
|
133
|
-
this.contentType = '';
|
|
134
|
-
this.lastParsedLength = 0;
|
|
135
|
-
this.totalFromHeader = undefined;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Update configuration
|
|
140
|
-
*/
|
|
141
|
-
updateConfig(config: StreamConfigModel): void {
|
|
142
|
-
this.streamConfig = config;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Safe JSON parsing with error handling
|
|
148
|
-
*/
|
|
149
|
-
function safeJsonParse<T>(jsonStr: string, fallback?: T): T | null {
|
|
150
|
-
try {
|
|
151
|
-
return JSON.parse(jsonStr);
|
|
152
|
-
} catch {
|
|
153
|
-
return fallback || null;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Safe JSON array parsing
|
|
159
|
-
*/
|
|
160
|
-
function safeJsonArrayParse<T>(jsonStr: string, fallback: T[] = []): T[] {
|
|
161
|
-
try {
|
|
162
|
-
const parsed = JSON.parse(jsonStr);
|
|
163
|
-
return Array.isArray(parsed) ? parsed : fallback;
|
|
164
|
-
} catch {
|
|
165
|
-
return fallback;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* Enhanced JSON object extraction with better error handling
|
|
171
|
-
*/
|
|
172
|
-
function extractJsonObjects(text: string): string[] {
|
|
173
|
-
const objects: string[] = [];
|
|
174
|
-
let braceCount = 0;
|
|
175
|
-
let currentObject = '';
|
|
176
|
-
let inString = false;
|
|
177
|
-
let escaped = false;
|
|
178
|
-
|
|
179
|
-
for (let i = 0; i < text.length; i++) {
|
|
180
|
-
const char = text[i];
|
|
181
|
-
|
|
182
|
-
if (escaped) {
|
|
183
|
-
currentObject += char;
|
|
184
|
-
escaped = false;
|
|
185
|
-
continue;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
if (char === '\\') {
|
|
189
|
-
escaped = true;
|
|
190
|
-
currentObject += char;
|
|
191
|
-
continue;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (char === '"' && !escaped) {
|
|
195
|
-
inString = !inString;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
if (!inString) {
|
|
199
|
-
if (char === '{') braceCount++;
|
|
200
|
-
else if (char === '}') braceCount--;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
currentObject += char;
|
|
204
|
-
|
|
205
|
-
if (braceCount === 0 && currentObject.trim()) {
|
|
206
|
-
objects.push(currentObject.trim());
|
|
207
|
-
currentObject = '';
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
return objects;
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* COMPREHENSIVE REQUEST STREAMING OPERATOR - FULLY ABSTRACTED
|
|
216
|
-
* Refactored for better type safety and memory management
|
|
217
|
-
*
|
|
218
|
-
* Single function that handles ALL streaming formats without hardcoded assumptions:
|
|
219
|
-
* - JSON format (Individual JSON objects)
|
|
220
|
-
* - NDJSON format (Newline delimited JSON)
|
|
221
|
-
* - AI streaming format (Real-time AI responses)
|
|
222
|
-
* - Server-Sent Events format
|
|
223
|
-
* - Auto-detection mode
|
|
224
|
-
*
|
|
225
|
-
* Usage:
|
|
226
|
-
* this.http.get(url, options).pipe(requestStreaming()).subscribe(data => {...})
|
|
227
|
-
* this.http.get(url, options).pipe(requestStreaming({ streamType: StreamType.NDJSON })).subscribe(data => {...})
|
|
228
|
-
*/
|
|
229
|
-
export function requestStreaming<T = any>(config?: StreamConfigModel): OperatorFunction<any, StreamOutputModel<T>> {
|
|
230
|
-
const processor = new StreamingProcessor<T>(config);
|
|
231
|
-
|
|
232
|
-
return input$ => input$.pipe(
|
|
233
|
-
// Filter only streaming-related events
|
|
234
|
-
filter((event: any) =>
|
|
235
|
-
event.type === HttpEventType.DownloadProgress ||
|
|
236
|
-
event.type === HttpEventType.Response ||
|
|
237
|
-
event.type === HttpEventType.ResponseHeader
|
|
238
|
-
),
|
|
239
|
-
|
|
240
|
-
// Process events using the streaming processor
|
|
241
|
-
map((event: any) => {
|
|
242
|
-
const result = processor.process(event);
|
|
243
|
-
return result;
|
|
244
|
-
}),
|
|
245
|
-
|
|
246
|
-
// Filter out null results
|
|
247
|
-
filter((result): result is StreamOutputModel<T> => result !== null)
|
|
248
|
-
);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
/**
|
|
252
|
-
* Main streaming data parser - handles ALL formats based on streamType
|
|
253
|
-
*/
|
|
254
|
-
function parseStreamData(buffer: string, contentType: string, config: StreamConfigModel): any[] {
|
|
255
|
-
const results: any[] = [];
|
|
256
|
-
|
|
257
|
-
if (!buffer.trim()) {
|
|
258
|
-
return results;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
// Determine parsing format based on streamType and content type
|
|
262
|
-
const format = config.streamType === StreamType.AI_STREAMING ? detectFormat(buffer, contentType) : config.streamType;
|
|
263
|
-
|
|
264
|
-
switch (format) {
|
|
265
|
-
case StreamType.NDJSON:
|
|
266
|
-
return parseNdjson(buffer, config);
|
|
267
|
-
|
|
268
|
-
case StreamType.JSON:
|
|
269
|
-
return parseJsonObjects(buffer, config);
|
|
270
|
-
|
|
271
|
-
case StreamType.AI_STREAMING:
|
|
272
|
-
return parseAiStreaming(buffer, config);
|
|
273
|
-
|
|
274
|
-
case StreamType.EVENT_STREAM:
|
|
275
|
-
return parseEventStream(buffer, config);
|
|
276
|
-
|
|
277
|
-
default:
|
|
278
|
-
return autoParse(buffer, contentType, config);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
* Parse NDJSON format (JSON objects per line)
|
|
284
|
-
*/
|
|
285
|
-
function parseNdjson(buffer: string, config: StreamConfigModel): any[] {
|
|
286
|
-
const results: any[] = [];
|
|
287
|
-
const lines = buffer.split('\n');
|
|
288
|
-
|
|
289
|
-
// If the buffer doesn't end with \n, the last segment is an incomplete partial line — skip it
|
|
290
|
-
const completeLines = buffer.endsWith('\n') ? lines : lines.slice(0, -1);
|
|
291
|
-
|
|
292
|
-
completeLines.filter(line => line.trim()).forEach(line => {
|
|
293
|
-
const trimmedLine = line.trim();
|
|
294
|
-
if (trimmedLine && trimmedLine.startsWith('{')) {
|
|
295
|
-
const parsed = safeJsonParse(trimmedLine);
|
|
296
|
-
if (parsed) results.push(parsed);
|
|
297
|
-
}
|
|
298
|
-
});
|
|
299
|
-
|
|
300
|
-
return results;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* Parse individual JSON objects
|
|
305
|
-
*/
|
|
306
|
-
function parseJsonObjects(buffer: string, config: StreamConfigModel): any[] {
|
|
307
|
-
const results: any[] = [];
|
|
308
|
-
const jsonObjects = extractJsonObjects(buffer);
|
|
309
|
-
|
|
310
|
-
jsonObjects.forEach(jsonStr => {
|
|
311
|
-
const parsed = safeJsonParse(jsonStr);
|
|
312
|
-
if (parsed) results.push(parsed);
|
|
313
|
-
});
|
|
314
|
-
|
|
315
|
-
return results;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
/**
|
|
319
|
-
* Parse AI streaming format
|
|
320
|
-
*/
|
|
321
|
-
function parseAiStreaming(buffer: string, config: StreamConfigModel): any[] {
|
|
322
|
-
const results: any[] = [];
|
|
323
|
-
const jsonObjects = extractJsonObjects(buffer);
|
|
324
|
-
|
|
325
|
-
jsonObjects.forEach(jsonStr => {
|
|
326
|
-
const parsed = safeJsonParse(jsonStr);
|
|
327
|
-
if (parsed && typeof parsed === 'object' && parsed !== null && 'type' in parsed) {
|
|
328
|
-
const typedParsed = parsed as any;
|
|
329
|
-
if (['ai_thinking', 'ai_response', 'ai_suggestion', 'ai_status'].includes(typedParsed.type)) {
|
|
330
|
-
results.push(typedParsed);
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
});
|
|
334
|
-
|
|
335
|
-
return results;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* Parse Server-Sent Events format
|
|
340
|
-
*/
|
|
341
|
-
function parseEventStream(buffer: string, config: StreamConfigModel): any[] {
|
|
342
|
-
const results: any[] = [];
|
|
343
|
-
const events = buffer.split('\n\n').filter(event => event.trim());
|
|
344
|
-
|
|
345
|
-
events.forEach(event => {
|
|
346
|
-
const lines = event.split('\n');
|
|
347
|
-
let eventData = '';
|
|
348
|
-
|
|
349
|
-
lines.forEach(line => {
|
|
350
|
-
if (line.startsWith('data: ')) {
|
|
351
|
-
eventData += line.substring(6);
|
|
352
|
-
}
|
|
353
|
-
});
|
|
354
|
-
|
|
355
|
-
if (eventData) {
|
|
356
|
-
try {
|
|
357
|
-
const parsed = JSON.parse(eventData);
|
|
358
|
-
if(parsed) results.push(parsed);
|
|
359
|
-
} catch (e) {
|
|
360
|
-
results.push({
|
|
361
|
-
content: eventData,
|
|
362
|
-
_streamType: 'event_stream',
|
|
363
|
-
_format: StreamType.EVENT_STREAM,
|
|
364
|
-
_timestamp: new Date().toISOString()
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
});
|
|
369
|
-
|
|
370
|
-
return results;
|
|
371
|
-
}
|
|
372
|
-
|
|
373
|
-
/**
|
|
374
|
-
* Auto-detect and parse unknown formats
|
|
375
|
-
*/
|
|
376
|
-
function autoParse(buffer: string, contentType: string, config: StreamConfigModel): any[] {
|
|
377
|
-
// Check content type hints
|
|
378
|
-
if (contentType.includes('application/x-ndjson') || isNdjsonFormat(buffer)) {
|
|
379
|
-
return parseNdjson(buffer, config);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
if (contentType.includes('application/json') || buffer.includes('{')) {
|
|
383
|
-
// Check if it looks like AI streaming
|
|
384
|
-
if (buffer.includes('"type":') && buffer.includes('"ai_')) {
|
|
385
|
-
return parseAiStreaming(buffer, config);
|
|
386
|
-
}
|
|
387
|
-
return parseJsonObjects(buffer, config);
|
|
388
|
-
}
|
|
389
|
-
|
|
390
|
-
if (contentType.includes('text/event-stream')) {
|
|
391
|
-
return parseEventStream(buffer, config);
|
|
392
|
-
}
|
|
393
|
-
|
|
394
|
-
// Fallback: try to parse as JSON, otherwise treat as text
|
|
395
|
-
const jsonObjects = extractJsonObjects(buffer);
|
|
396
|
-
if (jsonObjects.length > 0) {
|
|
397
|
-
return parseJsonObjects(buffer, config);
|
|
398
|
-
} else {
|
|
399
|
-
// Return as text chunks
|
|
400
|
-
return buffer.split('\n').filter(line => line.trim()).map(line => ({
|
|
401
|
-
content: line.trim(),
|
|
402
|
-
_streamType: 'text',
|
|
403
|
-
_format: 'plain',
|
|
404
|
-
_timestamp: new Date().toISOString()
|
|
405
|
-
}));
|
|
406
|
-
}
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
/**
|
|
410
|
-
* Detect streaming format from content
|
|
411
|
-
*/
|
|
412
|
-
function detectFormat(buffer: string, contentType: string): StreamType {
|
|
413
|
-
if (contentType.includes('application/x-ndjson') || isNdjsonFormat(buffer)) {
|
|
414
|
-
return StreamType.NDJSON;
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
if (contentType.includes('text/event-stream')) {
|
|
418
|
-
return StreamType.EVENT_STREAM;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
if (contentType.includes('application/json') || buffer.includes('{')) {
|
|
422
|
-
// Check if it looks like AI streaming
|
|
423
|
-
if (buffer.includes('"type":') && buffer.includes('"ai_')) {
|
|
424
|
-
return StreamType.AI_STREAMING;
|
|
425
|
-
}
|
|
426
|
-
return StreamType.JSON;
|
|
427
|
-
}
|
|
428
|
-
|
|
429
|
-
return StreamType.JSON; // Default
|
|
430
|
-
}
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* Check if buffer is NDJSON format
|
|
434
|
-
*/
|
|
435
|
-
function isNdjsonFormat(buffer: string): boolean {
|
|
436
|
-
const lines = buffer.split('\n').filter(line => line.trim());
|
|
437
|
-
const jsonLines = lines.filter(line => line.trim().startsWith('{') && line.trim().endsWith('}'));
|
|
438
|
-
return jsonLines.length > 1 || (lines.length > 1 && jsonLines.length > 0);
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
/**
|
|
442
|
-
* Convenience functions for common use cases
|
|
443
|
-
*/
|
|
444
|
-
|
|
445
|
-
// Stream with JSON format
|
|
446
|
-
export function streamJSON<T = any>(): OperatorFunction<any, StreamOutputModel<T>> {
|
|
447
|
-
return requestStreaming<T>(StreamConfigModel.adapt({ streamType: StreamType.JSON }));
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
// Stream with NDJSON format
|
|
451
|
-
export function streamNDJSON<T = any>(): OperatorFunction<any, StreamOutputModel<T>> {
|
|
452
|
-
return requestStreaming<T>(StreamConfigModel.adapt({ streamType: StreamType.NDJSON }));
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
// Stream AI responses
|
|
456
|
-
export function streamAI<T = any>(): OperatorFunction<any, StreamOutputModel<T>> {
|
|
457
|
-
return requestStreaming<T>(StreamConfigModel.adapt({ streamType: StreamType.AI_STREAMING }));
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
// Stream Server-Sent Events
|
|
461
|
-
export function streamEvents<T = any>(): OperatorFunction<any, StreamOutputModel<T>> {
|
|
462
|
-
return requestStreaming<T>(StreamConfigModel.adapt({ streamType: StreamType.EVENT_STREAM }));
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
// Auto-detect streaming format
|
|
466
|
-
export function streamAuto<T = any>(): OperatorFunction<any, StreamOutputModel<T>> {
|
|
467
|
-
return requestStreaming<T>(StreamConfigModel.adapt({ streamType: StreamType.AUTO }));
|
|
468
|
-
}
|