57 lines
2.1 KiB
JavaScript
Executable File
57 lines
2.1 KiB
JavaScript
Executable File
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
/**
|
|
* Sidecar - https://github.com/huan/sidecar
|
|
*
|
|
* @copyright 2021 Huan LI (李卓桓) <https://github.com/huan>
|
|
*
|
|
* 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
|