zephyr-agent
Version:
Zephyr plugin agent
93 lines (92 loc) • 3.67 kB
JavaScript
;
var __webpack_require__ = {};
(()=>{
__webpack_require__.d = (exports1, getters, values)=>{
var define = (defs, kind)=>{
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
enumerable: true,
[kind]: defs[key]
});
};
define(getters, "get");
define(values, "value");
};
})();
(()=>{
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
})();
(()=>{
__webpack_require__.r = (exports1)=>{
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
value: 'Module'
});
Object.defineProperty(exports1, '__esModule', {
value: true
});
};
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
AuthListener: ()=>AuthListener
});
const external_eventsource_namespaceObject = require("eventsource");
const index_js_namespaceObject = require("../logging/index.js");
const external_errors_index_js_namespaceObject = require("../errors/index.js");
class AuthListener {
workerUrl;
constructor(workerUrl){
workerUrl.pathname = '/sse';
this.workerUrl = workerUrl;
}
async waitForToken(timeoutMs = 300000) {
const sessionId = this.workerUrl.searchParams.get('sessionId');
if (!sessionId) throw new external_errors_index_js_namespaceObject.ZephyrError(external_errors_index_js_namespaceObject.ZeErrors.ERR_UNKNOWN, {
message: 'Session ID is required'
});
return new Promise((resolve, reject)=>{
const eventSource = new external_eventsource_namespaceObject.EventSource(this.workerUrl);
const timeout = setTimeout(()=>{
eventSource.close();
reject(new external_errors_index_js_namespaceObject.ZephyrError(external_errors_index_js_namespaceObject.ZeErrors.ERR_UNKNOWN, {
message: 'Auth timeout'
}));
}, timeoutMs);
eventSource.onmessage = (event)=>{
try {
const data = JSON.parse(event.data);
if ('token' === data.type) {
clearTimeout(timeout);
eventSource.close();
const token = data.token ?? data.tokens?.access_token;
resolve({
sessionId,
token
});
} else if ('error' === data.type) {
clearTimeout(timeout);
eventSource.close();
reject(new Error(data.message));
} else (0, index_js_namespaceObject.ze_debug)('AuthListener', `Unknown message type: ${data.type}`);
} catch (err) {
clearTimeout(timeout);
eventSource.close();
reject(err);
}
};
eventSource.onerror = (error)=>{
clearTimeout(timeout);
eventSource.close();
reject(error);
};
});
}
}
exports.AuthListener = __webpack_exports__.AuthListener;
for(var __rspack_i in __webpack_exports__)if (-1 === [
"AuthListener"
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
Object.defineProperty(exports, '__esModule', {
value: true
});
//# sourceMappingURL=sse.js.map