"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const socket_1 = require("./socket");
const Project = require("../../project/src");
const Pack = require("../../pack/src");
const Debug = require("../../debug/src");
const server_1 = require("./server");
class AntEngine {
    constructor() {
        AntCube.socket.on('connection', ({ client }) => {
            if (client.session) {
                const ftp = AntCube.server.connectInfo();
                AntCube.socket.send({
                    token: client.session.token,
                    data: JSON.stringify({
                        status: 200,
                        key: 'ide_information',
                        payload: {
                            ftp_host: ftp.ip,
                            ftp_port: ftp.port
                        }
                    })
                });
            }
        });
    }
}
exports.AntEngine = AntEngine;
var AntCube;
(function (AntCube) {
    AntCube.project = new Project.ACProject();
    AntCube.socket = new socket_1.default();
    AntCube.pack = new Pack.ACPack();
    AntCube.inspect = new Debug.ACInspect();
    AntCube.server = new server_1.default();
    AntCube.engine = new AntEngine();
    AntCube.lint = new Debug.ACLint();
})(AntCube = exports.AntCube || (exports.AntCube = {}));
exports.default = AntCube;
//# sourceMappingURL=engine.js.map