"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Sidecar - https://github.com/huan/sidecar * * @copyright 2021 Huan LI (李卓桓) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ const mod_js_1 = require("../src/mod.js"); /** * The `ChatboxSidecarPro` has more complicated settings * You can read it and learn more in the [example](./chatbox-sidecar-pro.ts) */ const chatbox_sidecar_agent_js_1 = require("./chatbox-sidecar-agent/chatbox-sidecar-agent.js"); // import { ChatboxSidecarPro } from './chatbox-sidecar-pro/chatbox-sidecar-pro.js' // import { ChatboxSidecar } from './chatbox-sidecar.js' async function main() { const sidecar = new chatbox_sidecar_agent_js_1.ChatboxSidecarAgent(); // const sidecar = new ChatboxSidecarPro() // const sidecar = new ChatboxSidecar() /** * 0. Initialize the sidecar by `attach()` */ console.log('sidecar attaching...'); await (0, mod_js_1.attach)(sidecar); console.log('sidecar attached.'); /** * 1. @Hook sidecar.mt(...) */ sidecar.on('hook', async ({ method, args }) => { console.log(`sidecar @Hook() ${method}() received message: "${args[0]}"`); /** * 2. @Call sidecar.mo(...) */ const reply = 'sidecar @Call() mt() greeting!'; const ret = await sidecar.mo(reply); console.log(`replied with: "${reply}", ret: ${ret}\n`); }); const clean = () => (0, mod_js_1.detach)(sidecar); process.on('SIGINT', clean); process.on('SIGTERM', clean); } main() .catch(console.error); //# sourceMappingURL=main.js.map