hypha-rpc 0.20.89 → 0.20.91
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/dist/hypha-rpc-websocket.js +109 -108
- package/dist/hypha-rpc-websocket.min.js +1 -1
- package/dist/hypha-rpc-websocket.min.mjs +1 -1
- package/dist/hypha-rpc-websocket.mjs +128 -127
- package/index.d.ts +219 -10
- package/index.js +8 -1
- package/package.json +1 -1
- package/src/client.js +25 -0
- package/src/websocket-client.js +0 -13
|
@@ -12,95 +12,6 @@ return /******/ (() => { // webpackBootstrap
|
|
|
12
12
|
/******/ "use strict";
|
|
13
13
|
/******/ var __webpack_modules__ = ({
|
|
14
14
|
|
|
15
|
-
/***/ "./src/client.js":
|
|
16
|
-
/*!***********************!*\
|
|
17
|
-
!*** ./src/client.js ***!
|
|
18
|
-
\***********************/
|
|
19
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
20
|
-
|
|
21
|
-
__webpack_require__.r(__webpack_exports__);
|
|
22
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
23
|
-
/* harmony export */ connectToServer: () => (/* binding */ connectToServer),
|
|
24
|
-
/* harmony export */ getRemoteService: () => (/* binding */ getRemoteService)
|
|
25
|
-
/* harmony export */ });
|
|
26
|
-
/* harmony import */ var _utils_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/index.js */ "./src/utils/index.js");
|
|
27
|
-
/**
|
|
28
|
-
* Hypha RPC client - unified connection interface.
|
|
29
|
-
*
|
|
30
|
-
* This module provides the main entry point for connecting to Hypha servers.
|
|
31
|
-
* It supports multiple transport types:
|
|
32
|
-
* - "websocket" (default): Traditional WebSocket connection
|
|
33
|
-
* - "http": HTTP streaming connection (more resilient to network issues)
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Connect to a Hypha server.
|
|
40
|
-
*
|
|
41
|
-
* @param {Object} config - Configuration object with connection options
|
|
42
|
-
* @param {string} config.serverUrl - The server URL (required, alias: server_url)
|
|
43
|
-
* @param {string} config.workspace - Target workspace (optional)
|
|
44
|
-
* @param {string} config.token - Authentication token (optional)
|
|
45
|
-
* @param {string} config.clientId - Unique client identifier (optional, alias: client_id)
|
|
46
|
-
* @param {string} config.transport - Transport type - "websocket" (default) or "http"
|
|
47
|
-
* @param {number} config.method_timeout - Timeout for RPC method calls
|
|
48
|
-
* @returns {Promise<Object>} Connected workspace manager
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* const server = await connectToServer({
|
|
52
|
-
* serverUrl: "https://hypha.aicell.io",
|
|
53
|
-
* transport: "http" // or "websocket" (default)
|
|
54
|
-
* });
|
|
55
|
-
* await server.registerService({ id: "my-service", ... });
|
|
56
|
-
*/
|
|
57
|
-
async function connectToServer(config = {}) {
|
|
58
|
-
const transport = config.transport || "websocket";
|
|
59
|
-
|
|
60
|
-
if (transport === "http") {
|
|
61
|
-
const { _connectToServerHTTP } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./http-client.js */ "./src/http-client.js"));
|
|
62
|
-
return await _connectToServerHTTP(config);
|
|
63
|
-
} else {
|
|
64
|
-
const { _connectToServer } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./websocket-client.js */ "./src/websocket-client.js"));
|
|
65
|
-
return await _connectToServer(config);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Get a remote service by URI.
|
|
71
|
-
*
|
|
72
|
-
* @param {string} serviceUri - Service URI in format "server_url/workspace/client_id:service_id"
|
|
73
|
-
* @param {Object} config - Additional configuration options
|
|
74
|
-
* @returns {Promise<Object>} The remote service
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* const service = await getRemoteService(
|
|
78
|
-
* "https://hypha.aicell.io/public/client:service",
|
|
79
|
-
* { transport: "http" }
|
|
80
|
-
* );
|
|
81
|
-
* const result = await service.someMethod();
|
|
82
|
-
*/
|
|
83
|
-
async function getRemoteService(serviceUri, config = {}) {
|
|
84
|
-
const { serverUrl, workspace, clientId, serviceId, appId } =
|
|
85
|
-
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_0__.parseServiceUrl)(serviceUri);
|
|
86
|
-
const fullServiceId = `${workspace}/${clientId}:${serviceId}@${appId}`;
|
|
87
|
-
|
|
88
|
-
if (config.serverUrl) {
|
|
89
|
-
if (config.serverUrl !== serverUrl) {
|
|
90
|
-
throw new Error(
|
|
91
|
-
"server_url in config does not match the server_url in the url",
|
|
92
|
-
);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
config.serverUrl = serverUrl;
|
|
96
|
-
|
|
97
|
-
const server = await connectToServer(config);
|
|
98
|
-
return await server.getService(fullServiceId);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
/***/ }),
|
|
103
|
-
|
|
104
15
|
/***/ "./src/http-client.js":
|
|
105
16
|
/*!****************************!*\
|
|
106
17
|
!*** ./src/http-client.js ***!
|
|
@@ -4697,17 +4608,12 @@ async function registerRTCService(server, service_id, config) {
|
|
|
4697
4608
|
__webpack_require__.r(__webpack_exports__);
|
|
4698
4609
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
4699
4610
|
/* harmony export */ API_VERSION: () => (/* reexport safe */ _rpc_js__WEBPACK_IMPORTED_MODULE_0__.API_VERSION),
|
|
4700
|
-
/* harmony export */ HTTPStreamingRPCConnection: () => (/* reexport safe */ _http_client_js__WEBPACK_IMPORTED_MODULE_4__.HTTPStreamingRPCConnection),
|
|
4701
4611
|
/* harmony export */ LocalWebSocket: () => (/* binding */ LocalWebSocket),
|
|
4702
4612
|
/* harmony export */ RPC: () => (/* reexport safe */ _rpc_js__WEBPACK_IMPORTED_MODULE_0__.RPC),
|
|
4703
4613
|
/* harmony export */ _connectToServer: () => (/* binding */ connectToServer),
|
|
4704
4614
|
/* harmony export */ connectToServer: () => (/* binding */ connectToServer),
|
|
4705
|
-
/* harmony export */ connectToServerHTTP: () => (/* reexport safe */ _http_client_js__WEBPACK_IMPORTED_MODULE_4__.connectToServerHTTP),
|
|
4706
|
-
/* harmony export */ connectToServerUnified: () => (/* reexport safe */ _client_js__WEBPACK_IMPORTED_MODULE_5__.connectToServer),
|
|
4707
4615
|
/* harmony export */ getRTCService: () => (/* reexport safe */ _webrtc_client_js__WEBPACK_IMPORTED_MODULE_3__.getRTCService),
|
|
4708
4616
|
/* harmony export */ getRemoteService: () => (/* binding */ getRemoteService),
|
|
4709
|
-
/* harmony export */ getRemoteServiceHTTP: () => (/* reexport safe */ _http_client_js__WEBPACK_IMPORTED_MODULE_4__.getRemoteServiceHTTP),
|
|
4710
|
-
/* harmony export */ getRemoteServiceUnified: () => (/* reexport safe */ _client_js__WEBPACK_IMPORTED_MODULE_5__.getRemoteService),
|
|
4711
4617
|
/* harmony export */ loadRequirements: () => (/* reexport safe */ _utils_index_js__WEBPACK_IMPORTED_MODULE_1__.loadRequirements),
|
|
4712
4618
|
/* harmony export */ login: () => (/* binding */ login),
|
|
4713
4619
|
/* harmony export */ logout: () => (/* binding */ logout),
|
|
@@ -4719,17 +4625,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4719
4625
|
/* harmony import */ var _utils_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/index.js */ "./src/utils/index.js");
|
|
4720
4626
|
/* harmony import */ var _utils_schema_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/schema.js */ "./src/utils/schema.js");
|
|
4721
4627
|
/* harmony import */ var _webrtc_client_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./webrtc-client.js */ "./src/webrtc-client.js");
|
|
4722
|
-
/* harmony import */ var _http_client_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./http-client.js */ "./src/http-client.js");
|
|
4723
|
-
/* harmony import */ var _client_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./client.js */ "./src/client.js");
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
|
|
4728
4628
|
|
|
4729
|
-
// Re-export HTTP client classes and functions
|
|
4730
4629
|
|
|
4731
4630
|
|
|
4732
|
-
// Re-export unified client interface
|
|
4733
4631
|
|
|
4734
4632
|
|
|
4735
4633
|
|
|
@@ -7881,12 +7779,115 @@ function utf8DecodeTD(bytes, inputOffset, byteLength) {
|
|
|
7881
7779
|
/******/ })();
|
|
7882
7780
|
/******/
|
|
7883
7781
|
/************************************************************************/
|
|
7884
|
-
|
|
7885
|
-
|
|
7886
|
-
|
|
7887
|
-
|
|
7888
|
-
|
|
7889
|
-
|
|
7782
|
+
var __webpack_exports__ = {};
|
|
7783
|
+
/*!***********************!*\
|
|
7784
|
+
!*** ./src/client.js ***!
|
|
7785
|
+
\***********************/
|
|
7786
|
+
__webpack_require__.r(__webpack_exports__);
|
|
7787
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7788
|
+
/* harmony export */ API_VERSION: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.API_VERSION),
|
|
7789
|
+
/* harmony export */ HTTPStreamingRPCConnection: () => (/* reexport safe */ _http_client_js__WEBPACK_IMPORTED_MODULE_2__.HTTPStreamingRPCConnection),
|
|
7790
|
+
/* harmony export */ LocalWebSocket: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.LocalWebSocket),
|
|
7791
|
+
/* harmony export */ RPC: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.RPC),
|
|
7792
|
+
/* harmony export */ connectToServer: () => (/* binding */ connectToServer),
|
|
7793
|
+
/* harmony export */ connectToServerHTTP: () => (/* reexport safe */ _http_client_js__WEBPACK_IMPORTED_MODULE_2__.connectToServerHTTP),
|
|
7794
|
+
/* harmony export */ connectToServerWebsocket: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.connectToServer),
|
|
7795
|
+
/* harmony export */ getRTCService: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.getRTCService),
|
|
7796
|
+
/* harmony export */ getRemoteService: () => (/* binding */ getRemoteService),
|
|
7797
|
+
/* harmony export */ getRemoteServiceHTTP: () => (/* reexport safe */ _http_client_js__WEBPACK_IMPORTED_MODULE_2__.getRemoteServiceHTTP),
|
|
7798
|
+
/* harmony export */ getRemoteServiceWebsocket: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.getRemoteService),
|
|
7799
|
+
/* harmony export */ loadRequirements: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.loadRequirements),
|
|
7800
|
+
/* harmony export */ login: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.login),
|
|
7801
|
+
/* harmony export */ logout: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.logout),
|
|
7802
|
+
/* harmony export */ normalizeServerUrlHTTP: () => (/* reexport safe */ _http_client_js__WEBPACK_IMPORTED_MODULE_2__.normalizeServerUrl),
|
|
7803
|
+
/* harmony export */ registerRTCService: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.registerRTCService),
|
|
7804
|
+
/* harmony export */ schemaFunction: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.schemaFunction),
|
|
7805
|
+
/* harmony export */ setupLocalClient: () => (/* reexport safe */ _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__.setupLocalClient)
|
|
7806
|
+
/* harmony export */ });
|
|
7807
|
+
/* harmony import */ var _utils_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/index.js */ "./src/utils/index.js");
|
|
7808
|
+
/* harmony import */ var _websocket_client_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./websocket-client.js */ "./src/websocket-client.js");
|
|
7809
|
+
/* harmony import */ var _http_client_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./http-client.js */ "./src/http-client.js");
|
|
7810
|
+
/**
|
|
7811
|
+
* Hypha RPC client - unified connection interface.
|
|
7812
|
+
*
|
|
7813
|
+
* This module provides the main entry point for connecting to Hypha servers.
|
|
7814
|
+
* It supports multiple transport types:
|
|
7815
|
+
* - "websocket" (default): Traditional WebSocket connection
|
|
7816
|
+
* - "http": HTTP streaming connection (more resilient to network issues)
|
|
7817
|
+
*/
|
|
7818
|
+
|
|
7819
|
+
|
|
7820
|
+
|
|
7821
|
+
// Re-export everything from websocket-client for backward compatibility
|
|
7822
|
+
// (except _connectToServer which is internal)
|
|
7823
|
+
|
|
7824
|
+
|
|
7825
|
+
// Re-export HTTP client classes and functions
|
|
7826
|
+
|
|
7827
|
+
|
|
7828
|
+
/**
|
|
7829
|
+
* Connect to a Hypha server.
|
|
7830
|
+
*
|
|
7831
|
+
* @param {Object} config - Configuration object with connection options
|
|
7832
|
+
* @param {string} config.serverUrl - The server URL (required, alias: server_url)
|
|
7833
|
+
* @param {string} config.workspace - Target workspace (optional)
|
|
7834
|
+
* @param {string} config.token - Authentication token (optional)
|
|
7835
|
+
* @param {string} config.clientId - Unique client identifier (optional, alias: client_id)
|
|
7836
|
+
* @param {string} config.transport - Transport type - "websocket" (default) or "http"
|
|
7837
|
+
* @param {number} config.method_timeout - Timeout for RPC method calls
|
|
7838
|
+
* @returns {Promise<Object>} Connected workspace manager
|
|
7839
|
+
*
|
|
7840
|
+
* @example
|
|
7841
|
+
* const server = await connectToServer({
|
|
7842
|
+
* serverUrl: "https://hypha.aicell.io",
|
|
7843
|
+
* transport: "http" // or "websocket" (default)
|
|
7844
|
+
* });
|
|
7845
|
+
* await server.registerService({ id: "my-service", ... });
|
|
7846
|
+
*/
|
|
7847
|
+
async function connectToServer(config = {}) {
|
|
7848
|
+
const transport = config.transport || "websocket";
|
|
7849
|
+
|
|
7850
|
+
if (transport === "http") {
|
|
7851
|
+
const { _connectToServerHTTP } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./http-client.js */ "./src/http-client.js"));
|
|
7852
|
+
return await _connectToServerHTTP(config);
|
|
7853
|
+
} else {
|
|
7854
|
+
const { _connectToServer } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./websocket-client.js */ "./src/websocket-client.js"));
|
|
7855
|
+
return await _connectToServer(config);
|
|
7856
|
+
}
|
|
7857
|
+
}
|
|
7858
|
+
|
|
7859
|
+
/**
|
|
7860
|
+
* Get a remote service by URI.
|
|
7861
|
+
*
|
|
7862
|
+
* @param {string} serviceUri - Service URI in format "server_url/workspace/client_id:service_id"
|
|
7863
|
+
* @param {Object} config - Additional configuration options
|
|
7864
|
+
* @returns {Promise<Object>} The remote service
|
|
7865
|
+
*
|
|
7866
|
+
* @example
|
|
7867
|
+
* const service = await getRemoteService(
|
|
7868
|
+
* "https://hypha.aicell.io/public/client:service",
|
|
7869
|
+
* { transport: "http" }
|
|
7870
|
+
* );
|
|
7871
|
+
* const result = await service.someMethod();
|
|
7872
|
+
*/
|
|
7873
|
+
async function getRemoteService(serviceUri, config = {}) {
|
|
7874
|
+
const { serverUrl, workspace, clientId, serviceId, appId } =
|
|
7875
|
+
(0,_utils_index_js__WEBPACK_IMPORTED_MODULE_0__.parseServiceUrl)(serviceUri);
|
|
7876
|
+
const fullServiceId = `${workspace}/${clientId}:${serviceId}@${appId}`;
|
|
7877
|
+
|
|
7878
|
+
if (config.serverUrl) {
|
|
7879
|
+
if (config.serverUrl !== serverUrl) {
|
|
7880
|
+
throw new Error(
|
|
7881
|
+
"server_url in config does not match the server_url in the url",
|
|
7882
|
+
);
|
|
7883
|
+
}
|
|
7884
|
+
}
|
|
7885
|
+
config.serverUrl = serverUrl;
|
|
7886
|
+
|
|
7887
|
+
const server = await connectToServer(config);
|
|
7888
|
+
return await server.getService(fullServiceId);
|
|
7889
|
+
}
|
|
7890
|
+
|
|
7890
7891
|
/******/ return __webpack_exports__;
|
|
7891
7892
|
/******/ })()
|
|
7892
7893
|
;
|