libmodulor
Version:
A TypeScript library to create platform-agnostic applications
104 lines (103 loc) • 4.42 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
import { inject, injectable } from 'inversify';
import { NotAvailableError, NotCallableError, NotImplementedError, } from '../../error/index.js';
import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
import { CORSMiddlewareBuilder } from '../lib/server-hono/CORSMiddlewareBuilder.js';
import { buildHandler, init, mountHandler } from '../lib/server-hono/funcs.js';
let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
corsMiddlewareBuilder;
customerFacingErrorBuilder;
serverRequestHandler;
settingsManager;
ucDataStore;
ucManager;
runtime;
constructor(corsMiddlewareBuilder, customerFacingErrorBuilder, serverRequestHandler, settingsManager, ucDataStore, ucManager) {
this.corsMiddlewareBuilder = corsMiddlewareBuilder;
this.customerFacingErrorBuilder = customerFacingErrorBuilder;
this.serverRequestHandler = serverRequestHandler;
this.settingsManager = settingsManager;
this.ucDataStore = ucDataStore;
this.ucManager = ucManager;
}
s() {
return {
sewhsm_bindings_uc_data_store: this.settingsManager.get()('sewhsm_bindings_uc_data_store'),
};
}
getRuntime() {
return this.runtime;
}
overrideUCManager(ucManager) {
this.ucManager = ucManager;
}
async init() {
throw new NotCallableError('init', 'initSync', 'sync-only');
}
initSync() {
this.runtime = init(this.corsMiddlewareBuilder, this.customerFacingErrorBuilder);
}
async mount(_appManifest, _ucd, _contract) {
throw new NotCallableError('mount', 'mountSync', 'sync-only');
}
mountSync(appManifest, ucd, contract) {
mountHandler(contract, this.runtime, buildHandler(appManifest, ucd, contract, this.serverRequestHandler, this.ucManager, (c) => this.beforeExec(c)));
}
async mountMCP(_ucs, _at) {
throw new NotImplementedError('mountMCP');
}
async mountOpenAPISpec(_spec, _at) {
throw new NotImplementedError('mountOpenAPISpec');
}
async mountStaticDir(_dirPath) {
throw new NotAvailableError('mountStaticDir');
}
async start() {
throw new NotAvailableError('start');
}
async stop() {
throw new NotAvailableError('stop');
}
async warmUp() {
throw new NotAvailableError('warmUp');
}
async beforeExec(c) {
const { env } = c;
if (!env) {
return;
}
const ucDataStoreBinding = this.s().sewhsm_bindings_uc_data_store;
if (!ucDataStoreBinding ||
!(ucDataStoreBinding in env) ||
!('setClient' in this.ucDataStore) ||
typeof this.ucDataStore.setClient !== 'function') {
return;
}
this.ucDataStore.setClient(env[ucDataStoreBinding]);
}
};
SyncEdgeWorkerHonoServerManager = __decorate([
injectable(),
__param(0, inject(CORSMiddlewareBuilder)),
__param(1, inject(CustomerFacingErrorBuilder)),
__param(2, inject(ServerRequestHandler)),
__param(3, inject('SettingsManager')),
__param(4, inject('UCDataStore')),
__param(5, inject('UCManager')),
__metadata("design:paramtypes", [CORSMiddlewareBuilder,
CustomerFacingErrorBuilder,
ServerRequestHandler, Object, Object, Object])
], SyncEdgeWorkerHonoServerManager);
export { SyncEdgeWorkerHonoServerManager };