diff --git a/dist/Bot.d.ts b/dist/Bot.d.ts index 0be541a..9a03eae 100644 --- a/dist/Bot.d.ts +++ b/dist/Bot.d.ts @@ -4,6 +4,7 @@ import { Region } from './classes/Region'; import { ClientEvents } from './classes/ClientEvents'; import { ClientCommands } from './classes/ClientCommands'; import { BotOptionFlags } from './enums/BotOptionFlags'; +import { Vector3 } from './classes/Vector3'; export declare class Bot { private loginParams; private currentRegion; @@ -17,13 +18,17 @@ export declare class Bot { clientEvents: ClientEvents; clientCommands: ClientCommands; private eventQueueWaits; + private stay; + private stayRegion; + private stayPosition; constructor(login: LoginParameters, options: BotOptionFlags); + stayPut(stay: boolean, regionName?: string, position?: Vector3): void; login(): Promise; - changeRegion(region: Region): Promise; + changeRegion(region: Region, requested: boolean): Promise; waitForEventQueue(timeout?: number): Promise; private closeCircuit; private kicked; private disconnected; close(): Promise; - connectToSim(): Promise; + connectToSim(requested: boolean): Promise; } diff --git a/dist/Bot.js b/dist/Bot.js index f191826..2d4c3f4 100644 --- a/dist/Bot.js +++ b/dist/Bot.js @@ -26,6 +26,7 @@ const DisconnectEvent_1 = require("./events/DisconnectEvent"); const StartPingCheck_1 = require("./classes/messages/StartPingCheck"); const FilterResponse_1 = require("./enums/FilterResponse"); const UUID_1 = require("./classes/UUID"); +const Vector3_1 = require("./classes/Vector3"); class Bot { constructor(login, options) { this.ping = null; @@ -34,6 +35,9 @@ class Bot { this.circuitSubscription = null; this.eventQueueRunning = false; this.eventQueueWaits = {}; + this.stay = false; + this.stayRegion = ''; + this.stayPosition = new Vector3_1.Vector3(); this.clientEvents = new ClientEvents_1.ClientEvents(); this.loginParams = login; this.options = options; @@ -49,6 +53,13 @@ class Bot { } }); } + stayPut(stay, regionName, position) { + this.stay = stay; + if (regionName !== undefined && position !== undefined) { + this.stayRegion = regionName; + this.stayPosition = position; + } + } login() { return __awaiter(this, void 0, void 0, function* () { const loginHandler = new LoginHandler_1.LoginHandler(this.clientEvents, this.options); @@ -59,15 +70,16 @@ class Bot { return response; }); } - changeRegion(region) { + changeRegion(region, requested) { return __awaiter(this, void 0, void 0, function* () { + this.closeCircuit(); this.currentRegion = region; this.clientCommands = new ClientCommands_1.ClientCommands(this.currentRegion, this.agent, this); if (this.ping !== null) { clearInterval(this.ping); this.ping = null; } - yield this.connectToSim(); + yield this.connectToSim(requested); }); } waitForEventQueue(timeout = 1000) { @@ -89,14 +101,13 @@ class Bot { }); } closeCircuit() { - this.agent.shutdown(); this.currentRegion.shutdown(); if (this.circuitSubscription !== null) { this.circuitSubscription.unsubscribe(); this.circuitSubscription = null; } delete this.currentRegion; - delete this.agent; + this.clientCommands.shutdown(); delete this.clientCommands; if (this.ping !== null) { clearInterval(this.ping); @@ -105,6 +116,8 @@ class Bot { } kicked(message) { this.closeCircuit(); + this.agent.shutdown(); + delete this.agent; this.disconnected(false, message); } disconnected(requested, message) { @@ -125,12 +138,17 @@ class Bot { }; circuit.sendMessage(msg, PacketFlags_1.PacketFlags.Reliable); yield circuit.waitForMessage(Message_1.Message.LogoutReply, 5000); + this.stayRegion = ''; + this.stayPosition = new Vector3_1.Vector3(); this.closeCircuit(); + this.agent.shutdown(); + delete this.agent; this.disconnected(true, 'Logout completed'); }); } - connectToSim() { + connectToSim(requested) { return __awaiter(this, void 0, void 0, function* () { + this.agent.setCurrentRegion(this.currentRegion); const circuit = this.currentRegion.circuit; circuit.init(); const msg = new UseCircuitCode_1.UseCircuitCodeMessage(); @@ -147,7 +165,19 @@ class Bot { CircuitCode: circuit.circuitCode }; circuit.sendMessage(agentMovement, PacketFlags_1.PacketFlags.Reliable); - yield circuit.waitForMessage(Message_1.Message.RegionHandshake, 10000); + let agentPosition = null; + let regionName = null; + circuit.waitForMessage(Message_1.Message.AgentMovementComplete, 10000).then((agentMovementMsg) => { + agentPosition = agentMovementMsg.Data.Position; + if (regionName !== null) { + if (this.stayRegion === '' || requested) { + this.stayPut(this.stay, regionName, agentPosition); + } + } + }).catch(() => { + console.error('Timed out waiting for AgentMovementComplete'); + }); + const handshakeMessage = yield circuit.waitForMessage(Message_1.Message.RegionHandshake, 10000); const handshakeReply = new RegionHandshakeReply_1.RegionHandshakeReplyMessage(); handshakeReply.AgentData = { AgentID: this.agent.agentID, @@ -157,6 +187,17 @@ class Bot { Flags: RegionProtocolFlags_1.RegionProtocolFlags.SelfAppearanceSupport | RegionProtocolFlags_1.RegionProtocolFlags.AgentAppearanceService }; yield circuit.waitForAck(circuit.sendMessage(handshakeReply, PacketFlags_1.PacketFlags.Reliable), 10000); + this.currentRegion.handshake(handshakeMessage).then(() => { + regionName = this.currentRegion.regionName; + if (agentPosition !== null) { + if (this.stayRegion === '' || requested) { + this.stayPut(this.stay, regionName, agentPosition); + } + } + }).catch((error) => { + console.error('Timed out getting handshake'); + console.error(error); + }); if (this.clientCommands !== null) { this.clientCommands.network.setBandwidth(1536000); } @@ -193,7 +234,10 @@ class Bot { }).bind(this, { pingID: this.pingNumber, timeSent: new Date().getTime() - })); + })).then(() => { + }).catch(() => { + console.error('Timeout waiting for ping from the simulator - possible disconnection'); + }); if ((new Date().getTime() - this.lastSuccessfulPing) > 60000) { this.kicked('Circuit Timeout'); } diff --git a/dist/Bot.js.map b/dist/Bot.js.map index db5b7c5..cb9757b 100644 --- a/dist/Bot.js.map +++ b/dist/Bot.js.map @@ -1 +1 @@ -{"version":3,"file":"Bot.js","sourceRoot":"","sources":["../lib/Bot.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Bot.js","sourceRoot":"","sources":["../lib/Bot.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/Agent.d.ts b/dist/classes/Agent.d.ts index ed14c3b..f27a702 100644 --- a/dist/classes/Agent.d.ts +++ b/dist/classes/Agent.d.ts @@ -60,8 +60,10 @@ export declare class Agent { serialNumber: number; }; agentUpdateTimer: number | null; + estateManager: boolean; private clientEvents; constructor(clientEvents: ClientEvents); + setIsEstateManager(is: boolean): void; getSessionAgentCount(uuid: UUID): number; addChatSession(uuid: UUID): void; hasChatSession(uuid: UUID): boolean; diff --git a/dist/classes/Agent.js b/dist/classes/Agent.js index 6ac65b8..cd82075 100644 --- a/dist/classes/Agent.js +++ b/dist/classes/Agent.js @@ -29,6 +29,7 @@ class Agent { this.home = {}; this.gestures = []; this.agentUpdateTimer = null; + this.estateManager = false; this.inventory = new Inventory_1.Inventory(clientEvents, this); this.clientEvents = clientEvents; this.clientEvents.onGroupChatAgentListUpdate.subscribe((event) => { @@ -48,6 +49,9 @@ class Agent { } }); } + setIsEstateManager(is) { + this.estateManager = is; + } getSessionAgentCount(uuid) { const str = uuid.toString(); if (this.chatSessions[str] === undefined) { diff --git a/dist/classes/Agent.js.map b/dist/classes/Agent.js.map index eca34f4..bcf4e84 100644 --- a/dist/classes/Agent.js.map +++ b/dist/classes/Agent.js.map @@ -1 +1 @@ -{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../lib/classes/Agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../lib/classes/Agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/Caps.d.ts b/dist/classes/Caps.d.ts index 41b933e..09c30e5 100644 --- a/dist/classes/Caps.d.ts +++ b/dist/classes/Caps.d.ts @@ -12,6 +12,7 @@ export declare class Caps { private capabilities; private clientEvents; private agent; + private active; eventQueueClient: EventQueueClient | null; constructor(agent: Agent, region: Region, seedURL: string, clientEvents: ClientEvents); downloadAsset(uuid: UUID, type: HTTPAssets): Promise; diff --git a/dist/classes/Caps.js b/dist/classes/Caps.js index c02cdb2..974e4b0 100644 --- a/dist/classes/Caps.js +++ b/dist/classes/Caps.js @@ -9,6 +9,7 @@ class Caps { this.onGotSeedCap = new Subject_1.Subject(); this.gotSeedCap = false; this.capabilities = {}; + this.active = false; this.eventQueueClient = null; this.agent = agent; this.clientEvents = clientEvents; @@ -102,6 +103,7 @@ class Caps { req.push('ViewerMetrics'); req.push('ViewerStartAuction'); req.push('ViewerStats'); + this.active = true; this.request(seedURL, LLSD.LLSD.formatXML(req), 'application/llsd+xml').then((body) => { this.capabilities = LLSD.LLSD.parseXML(body); this.gotSeedCap = true; @@ -173,6 +175,10 @@ class Caps { } getCapability(capability) { return new Promise((resolve, reject) => { + if (!this.active) { + reject(new Error('Requesting getCapability to an inactive Caps instance')); + return; + } this.waitForSeedCapability().then(() => { if (this.capabilities[capability]) { resolve(this.capabilities[capability]); @@ -221,6 +227,7 @@ class Caps { if (this.eventQueueClient) { this.eventQueueClient.shutdown(); } + this.active = false; } } exports.Caps = Caps; diff --git a/dist/classes/Caps.js.map b/dist/classes/Caps.js.map index 4e1fffe..909dc42 100644 --- a/dist/classes/Caps.js.map +++ b/dist/classes/Caps.js.map @@ -1 +1 @@ -{"version":3,"file":"Caps.js","sourceRoot":"","sources":["../../lib/classes/Caps.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Caps.js","sourceRoot":"","sources":["../../lib/classes/Caps.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/Circuit.d.ts b/dist/classes/Circuit.d.ts index 0298046..563acd7 100644 --- a/dist/classes/Circuit.d.ts +++ b/dist/classes/Circuit.d.ts @@ -29,6 +29,7 @@ export declare class Circuit { receivedPackets: { [key: number]: number; }; + active: boolean; private clientEvents; private onPacketReceived; private onAckReceived; diff --git a/dist/classes/Circuit.js b/dist/classes/Circuit.js index 0f0c071..5b7ac88 100644 --- a/dist/classes/Circuit.js +++ b/dist/classes/Circuit.js @@ -15,6 +15,7 @@ class Circuit { this.sequenceNumber = 0; this.awaitingAck = {}; this.receivedPackets = {}; + this.active = false; this.clientEvents = clientEvents; this.onPacketReceived = new Subject_1.Subject(); this.onAckReceived = new Subject_1.Subject(); @@ -29,6 +30,9 @@ class Circuit { }).subscribe(callback); } sendMessage(message, flags) { + if (!this.active) { + throw new Error('Attempting to send a message on a closed circuit'); + } const packet = new Packet_1.Packet(); packet.message = message; packet.sequenceNumber = this.sequenceNumber++; @@ -37,6 +41,10 @@ class Circuit { return packet.sequenceNumber; } resend(sequenceNumber) { + if (!this.active) { + console.log('Resend triggered, but circuit is not active!'); + return; + } if (this.awaitingAck[sequenceNumber]) { const toResend = this.awaitingAck[sequenceNumber].packet; toResend.packetFlags = toResend.packetFlags | PacketFlags_1.PacketFlags.Resent; @@ -84,6 +92,7 @@ class Circuit { }); this.client.on('error', (error) => { }); + this.active = true; } shutdown() { Object.keys(this.awaitingAck).forEach((sequenceNumber) => { @@ -101,6 +110,7 @@ class Circuit { this.onPacketReceived.complete(); this.onAckReceived.complete(); } + this.active = false; } waitForMessage(id, timeout, filter) { return new Promise((resolve, reject) => { diff --git a/dist/classes/Circuit.js.map b/dist/classes/Circuit.js.map index b9a3679..e98c45a 100644 --- a/dist/classes/Circuit.js.map +++ b/dist/classes/Circuit.js.map @@ -1 +1 @@ -{"version":3,"file":"Circuit.js","sourceRoot":"","sources":["../../lib/classes/Circuit.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Circuit.js","sourceRoot":"","sources":["../../lib/classes/Circuit.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/ClientCommands.d.ts b/dist/classes/ClientCommands.d.ts index e9a9e37..196caa3 100644 --- a/dist/classes/ClientCommands.d.ts +++ b/dist/classes/ClientCommands.d.ts @@ -23,4 +23,5 @@ export declare class ClientCommands { group: GroupCommands; inventory: InventoryCommands; constructor(region: Region, agent: Agent, bot: Bot); + shutdown(): void; } diff --git a/dist/classes/ClientCommands.js b/dist/classes/ClientCommands.js index fbaa31d..d7fbc80 100644 --- a/dist/classes/ClientCommands.js +++ b/dist/classes/ClientCommands.js @@ -23,6 +23,18 @@ class ClientCommands { this.group = new GroupCommands_1.GroupCommands(region, agent, bot); this.inventory = new InventoryCommands_1.InventoryCommands(region, agent, bot); } + shutdown() { + this.network.shutdown(); + this.asset.shutdown(); + this.teleport.shutdown(); + this.region.shutdown(); + this.parcel.shutdown(); + this.grid.shutdown(); + this.comms.shutdown(); + this.agent.shutdown(); + this.group.shutdown(); + this.inventory.shutdown(); + } } exports.ClientCommands = ClientCommands; //# sourceMappingURL=ClientCommands.js.map \ No newline at end of file diff --git a/dist/classes/ClientCommands.js.map b/dist/classes/ClientCommands.js.map index 55dda37..53dd898 100644 --- a/dist/classes/ClientCommands.js.map +++ b/dist/classes/ClientCommands.js.map @@ -1 +1 @@ -{"version":3,"file":"ClientCommands.js","sourceRoot":"","sources":["../../lib/classes/ClientCommands.ts"],"names":[],"mappings":";;AAGA,gEAA2D;AAC3D,4DAAuD;AACvD,kEAA6D;AAC7D,8DAAyD;AACzD,0DAAqD;AACrD,8EAAyE;AACzE,4DAAuD;AACvD,4DAAuD;AACvD,oEAA+D;AAC/D,8DAAyD;AAEzD;IAaI,YAAY,MAAc,EAAE,KAAY,EAAE,GAAQ;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,+CAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;CACJ;AA1BD,wCA0BC"} \ No newline at end of file +{"version":3,"file":"ClientCommands.js","sourceRoot":"","sources":["../../lib/classes/ClientCommands.ts"],"names":[],"mappings":";;AAGA,gEAA2D;AAC3D,4DAAuD;AACvD,kEAA6D;AAC7D,8DAAyD;AACzD,0DAAqD;AACrD,8EAAyE;AACzE,4DAAuD;AACvD,4DAAuD;AACvD,oEAA+D;AAC/D,8DAAyD;AAEzD;IAaI,YAAY,MAAc,EAAE,KAAY,EAAE,GAAQ;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,2BAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,+CAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,qCAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,QAAQ;QAEJ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;CACJ;AAvCD,wCAuCC"} \ No newline at end of file diff --git a/dist/classes/EventQueueClient.js b/dist/classes/EventQueueClient.js index 0108528..b2829ed 100644 --- a/dist/classes/EventQueueClient.js +++ b/dist/classes/EventQueueClient.js @@ -20,13 +20,19 @@ class EventQueueClient { this.clientEvents.onEventQueueStateChange.next(state); } shutdown() { - const state = new __1.EventQueueStateChangeEvent(); - state.active = false; - this.clientEvents.onEventQueueStateChange.next(state); + this.done = true; if (this.currentRequest !== null) { this.currentRequest.abort(); } - this.done = true; + const req = { + 'ack': this.ack, + 'done': true + }; + this.capsRequestXML('EventQueueGet', req).then((data) => { + const state = new __1.EventQueueStateChangeEvent(); + state.active = false; + this.clientEvents.onEventQueueStateChange.next(state); + }); } Get() { const req = { @@ -35,131 +41,136 @@ class EventQueueClient { }; const startTime = new Date().getTime(); this.capsRequestXML('EventQueueGet', req).then((data) => { - if (data['events']) { - data['events'].forEach((event) => { - try { - if (event['message']) { - switch (event['message']) { - case 'EnableSimulator': - break; - case 'ParcelProperties': - break; - case 'AgentGroupDataUpdate': - break; - case 'AgentStateUpdate': - break; - case 'TeleportFailed': - { - const tpEvent = new __1.TeleportEvent(); - tpEvent.message = event['body']['Info'][0]['Reason']; - tpEvent.eventType = TeleportEventType_1.TeleportEventType.TeleportFailed; - tpEvent.simIP = ''; - tpEvent.simPort = 0; - tpEvent.seedCapability = ''; - this.clientEvents.onTeleportEvent.next(tpEvent); - break; - } - case "ChatterBoxSessionStartReply": - { - if (event['body']) { - const gcsje = new __1.GroupChatSessionJoinEvent(); - gcsje.sessionID = new UUID_1.UUID(event['body']['session_id'].toString()); - gcsje.success = event['body']['success']; - if (gcsje.success) { - this.agent.addChatSession(gcsje.sessionID); - } - this.clientEvents.onGroupChatSessionJoin.next(gcsje); - } - break; - } - case 'ChatterBoxInvitation': - { - if (event['body'] && event['body']['instantmessage'] && event['body']['instantmessage']['message_params'] && event['body']['instantmessage']['message_params']['id']) { - const messageParams = event['body']['instantmessage']['message_params']; - const imSessionID = messageParams['id']; - const groupChatEvent = new __1.GroupChatEvent(); - groupChatEvent.from = new UUID_1.UUID(messageParams['from_id'].toString()); - groupChatEvent.fromName = messageParams['from_name']; - groupChatEvent.groupID = new UUID_1.UUID(messageParams['id'].toString()); - groupChatEvent.message = messageParams['message']; - const requestedFolders = { - 'method': 'accept invitation', - 'session-id': imSessionID - }; - this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((ignore) => { - this.agent.addChatSession(groupChatEvent.groupID); - const gcsje = new __1.GroupChatSessionJoinEvent(); - gcsje.sessionID = groupChatEvent.groupID; - gcsje.success = true; - this.clientEvents.onGroupChatSessionJoin.next(gcsje); - this.clientEvents.onGroupChat.next(groupChatEvent); - }).catch((err) => { - console.error(err); - }); - } - break; - } - case 'ChatterBoxSessionAgentListUpdates': - { - if (event['body']) { - if (event['body']['agent_updates']) { - Object.keys(event['body']['agent_updates']).forEach((agentUpdate) => { - const updObj = event['body']['agent_updates'][agentUpdate]; - const gcsale = new __1.GroupChatSessionAgentListEvent(); - gcsale.agentID = new UUID_1.UUID(agentUpdate); - gcsale.groupID = new UUID_1.UUID(event['body']['session_id'].toString()); - gcsale.canVoiceChat = false; - gcsale.isModerator = false; - gcsale.entered = (updObj['transition'] === 'ENTER'); - if (updObj['can_voice_chat'] === true) { - gcsale.canVoiceChat = true; - } - if (updObj['is_moderator'] === true) { - gcsale.isModerator = true; - } - this.clientEvents.onGroupChatAgentListUpdate.next(gcsale); - }); - } - } - break; - } - case 'TeleportFinish': - { - const info = event['body']['Info'][0]; - if (info['LocationID']) { - info['LocationID'] = Buffer.from(info['LocationID'].toArray()).readUInt32LE(0); - const regionHandleBuf = Buffer.from(info['RegionHandle'].toArray()); - info['RegionHandle'] = new Long(regionHandleBuf.readUInt32LE(0), regionHandleBuf.readUInt32LE(4), true); - info['SimIP'] = new IPAddress_1.IPAddress(Buffer.from(info['SimIP'].toArray()), 0).toString(); - info['TeleportFlags'] = Buffer.from(info['TeleportFlags'].toArray()).readUInt32LE(0); - const tpEvent = new __1.TeleportEvent(); - tpEvent.message = ''; - tpEvent.eventType = TeleportEventType_1.TeleportEventType.TeleportCompleted; - tpEvent.simIP = info['SimIP']; - tpEvent.simPort = info['SimPort']; - tpEvent.seedCapability = info['SeedCapability']; - this.clientEvents.onTeleportEvent.next(tpEvent); - } - break; - } - default: - console.log('Unhandled event:'); - console.log(JSON.stringify(event, null, 4)); - } - } - } - catch (erro) { - console.error('Error handling cap'); - console.error(erro); - } - }); - } if (data['id']) { this.ack = data['id']; } else { this.ack = undefined; } + try { + if (data['events']) { + data['events'].forEach((event) => { + try { + if (event['message']) { + switch (event['message']) { + case 'EnableSimulator': + break; + case 'ParcelProperties': + break; + case 'AgentGroupDataUpdate': + break; + case 'AgentStateUpdate': + break; + case 'TeleportFailed': + { + const tpEvent = new __1.TeleportEvent(); + tpEvent.message = event['body']['Info'][0]['Reason']; + tpEvent.eventType = TeleportEventType_1.TeleportEventType.TeleportFailed; + tpEvent.simIP = ''; + tpEvent.simPort = 0; + tpEvent.seedCapability = ''; + this.clientEvents.onTeleportEvent.next(tpEvent); + break; + } + case "ChatterBoxSessionStartReply": + { + if (event['body']) { + const gcsje = new __1.GroupChatSessionJoinEvent(); + gcsje.sessionID = new UUID_1.UUID(event['body']['session_id'].toString()); + gcsje.success = event['body']['success']; + if (gcsje.success) { + this.agent.addChatSession(gcsje.sessionID); + } + this.clientEvents.onGroupChatSessionJoin.next(gcsje); + } + break; + } + case 'ChatterBoxInvitation': + { + if (event['body'] && event['body']['instantmessage'] && event['body']['instantmessage']['message_params'] && event['body']['instantmessage']['message_params']['id']) { + const messageParams = event['body']['instantmessage']['message_params']; + const imSessionID = messageParams['id']; + const groupChatEvent = new __1.GroupChatEvent(); + groupChatEvent.from = new UUID_1.UUID(messageParams['from_id'].toString()); + groupChatEvent.fromName = messageParams['from_name']; + groupChatEvent.groupID = new UUID_1.UUID(messageParams['id'].toString()); + groupChatEvent.message = messageParams['message']; + const requestedFolders = { + 'method': 'accept invitation', + 'session-id': imSessionID + }; + this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((ignore) => { + this.agent.addChatSession(groupChatEvent.groupID); + const gcsje = new __1.GroupChatSessionJoinEvent(); + gcsje.sessionID = groupChatEvent.groupID; + gcsje.success = true; + this.clientEvents.onGroupChatSessionJoin.next(gcsje); + this.clientEvents.onGroupChat.next(groupChatEvent); + }).catch((err) => { + console.error(err); + }); + } + break; + } + case 'ChatterBoxSessionAgentListUpdates': + { + if (event['body']) { + if (event['body']['agent_updates']) { + Object.keys(event['body']['agent_updates']).forEach((agentUpdate) => { + const updObj = event['body']['agent_updates'][agentUpdate]; + const gcsale = new __1.GroupChatSessionAgentListEvent(); + gcsale.agentID = new UUID_1.UUID(agentUpdate); + gcsale.groupID = new UUID_1.UUID(event['body']['session_id'].toString()); + gcsale.canVoiceChat = false; + gcsale.isModerator = false; + gcsale.entered = (updObj['transition'] === 'ENTER'); + if (updObj['can_voice_chat'] === true) { + gcsale.canVoiceChat = true; + } + if (updObj['is_moderator'] === true) { + gcsale.isModerator = true; + } + this.clientEvents.onGroupChatAgentListUpdate.next(gcsale); + }); + } + } + break; + } + case 'TeleportFinish': + { + const info = event['body']['Info'][0]; + if (info['LocationID']) { + info['LocationID'] = Buffer.from(info['LocationID'].toArray()).readUInt32LE(0); + const regionHandleBuf = Buffer.from(info['RegionHandle'].toArray()); + info['RegionHandle'] = new Long(regionHandleBuf.readUInt32LE(0), regionHandleBuf.readUInt32LE(4), true); + info['SimIP'] = new IPAddress_1.IPAddress(Buffer.from(info['SimIP'].toArray()), 0).toString(); + info['TeleportFlags'] = Buffer.from(info['TeleportFlags'].toArray()).readUInt32LE(0); + const tpEvent = new __1.TeleportEvent(); + tpEvent.message = ''; + tpEvent.eventType = TeleportEventType_1.TeleportEventType.TeleportCompleted; + tpEvent.simIP = info['SimIP']; + tpEvent.simPort = info['SimPort']; + tpEvent.seedCapability = info['SeedCapability']; + this.clientEvents.onTeleportEvent.next(tpEvent); + } + break; + } + default: + console.log('Unhandled event:'); + console.log(JSON.stringify(event, null, 4)); + } + } + } + catch (erro) { + console.error('Error handling cap'); + console.error(erro); + } + }); + } + } + catch (error) { + console.error(error); + } if (!this.done) { this.Get(); } @@ -171,12 +182,14 @@ class EventQueueClient { } } else { - console.error('Event queue aborted after ' + time + 'ms. Reconnecting in 5 seconds'); - setTimeout(() => { - if (!this.done) { - this.Get(); - } - }, 5000); + if (!this.done) { + console.error('Event queue aborted after ' + time + 'ms. Reconnecting in 5 seconds'); + setTimeout(() => { + if (!this.done) { + this.Get(); + } + }, 5000); + } } }); } @@ -214,7 +227,7 @@ class EventQueueClient { resolve(parsed); } else { - if (attempt < 3) { + if (attempt < 3 && capability !== 'EventQueueGet') { return this.capsRequestXML(capability, data, ++attempt); } else { diff --git a/dist/classes/EventQueueClient.js.map b/dist/classes/EventQueueClient.js.map index 499f401..e88b301 100644 --- a/dist/classes/EventQueueClient.js.map +++ b/dist/classes/EventQueueClient.js.map @@ -1 +1 @@ -{"version":3,"file":"EventQueueClient.js","sourceRoot":"","sources":["../../lib/classes/EventQueueClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"EventQueueClient.js","sourceRoot":"","sources":["../../lib/classes/EventQueueClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/Region.d.ts b/dist/classes/Region.d.ts index 9f15831..60a3b4e 100644 --- a/dist/classes/Region.d.ts +++ b/dist/classes/Region.d.ts @@ -4,10 +4,58 @@ import { Caps } from './Caps'; import { Comms } from './Comms'; import { ClientEvents } from './ClientEvents'; import { IObjectStore } from './interfaces/IObjectStore'; -import { BotOptionFlags } from '..'; +import { BotOptionFlags, UUID } from '..'; +import { RegionFlags } from '../enums/RegionFlags'; +import { RegionHandshakeMessage } from './messages/RegionHandshake'; +import * as Long from 'long'; export declare class Region { + regionName: string; + regionOwner: UUID; + regionID: UUID; + regionHandle: Long; xCoordinate: number; yCoordinate: number; + estateID: number; + parentEstateID: number; + regionFlags: RegionFlags; + mapImage: UUID; + simAccess: number; + maxAgents: number; + billableFactor: number; + objectBonusFactor: number; + waterHeight: number; + terrainRaiseLimit: number; + terrainLowerLimit: number; + pricePerMeter: number; + redirectGridX: number; + redirectGridY: number; + useEstateSun: boolean; + sunHour: number; + productSKU: string; + productName: string; + maxAgents32: number; + hardMaxAgents: number; + hardMaxObjects: number; + cacheID: UUID; + cpuClassID: number; + cpuRatio: number; + coloName: string; + terrainBase0: UUID; + terrainBase1: UUID; + terrainBase2: UUID; + terrainBase3: UUID; + terrainDetail0: UUID; + terrainDetail1: UUID; + terrainDetail2: UUID; + terrainDetail3: UUID; + terrainStartHeight00: number; + terrainStartHeight01: number; + terrainStartHeight10: number; + terrainStartHeight11: number; + terrainHeightRange00: number; + terrainHeightRange01: number; + terrainHeightRange10: number; + terrainHeightRange11: number; circuit: Circuit; objects: IObjectStore; caps: Caps; @@ -17,5 +65,6 @@ export declare class Region { agent: Agent; constructor(agent: Agent, clientEvents: ClientEvents, options: BotOptionFlags); activateCaps(seedURL: string): void; + handshake(handshake: RegionHandshakeMessage): Promise; shutdown(): void; } diff --git a/dist/classes/Region.js b/dist/classes/Region.js index 7ab11df..5101a90 100644 --- a/dist/classes/Region.js +++ b/dist/classes/Region.js @@ -1,4 +1,12 @@ "use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; Object.defineProperty(exports, "__esModule", { value: true }); const Circuit_1 = require("./Circuit"); const Caps_1 = require("./Caps"); @@ -6,6 +14,12 @@ const Comms_1 = require("./Comms"); const ObjectStoreFull_1 = require("./ObjectStoreFull"); const ObjectStoreLite_1 = require("./ObjectStoreLite"); const __1 = require(".."); +const RequestRegionInfo_1 = require("./messages/RequestRegionInfo"); +const Message_1 = require("../enums/Message"); +const Utils_1 = require("./Utils"); +const MapNameRequest_1 = require("./messages/MapNameRequest"); +const GridLayerType_1 = require("../enums/GridLayerType"); +const FilterResponse_1 = require("../enums/FilterResponse"); class Region { constructor(agent, clientEvents, options) { this.agent = agent; @@ -23,6 +37,86 @@ class Region { activateCaps(seedURL) { this.caps = new Caps_1.Caps(this.agent, this, seedURL, this.clientEvents); } + handshake(handshake) { + return __awaiter(this, void 0, void 0, function* () { + this.regionName = Utils_1.Utils.BufferToStringSimple(handshake.RegionInfo.SimName); + this.simAccess = handshake.RegionInfo.SimAccess; + this.regionFlags = handshake.RegionInfo.RegionFlags; + this.regionOwner = handshake.RegionInfo.SimOwner; + this.agent.setIsEstateManager(handshake.RegionInfo.IsEstateManager); + this.waterHeight = handshake.RegionInfo.WaterHeight; + this.billableFactor = handshake.RegionInfo.BillableFactor; + this.cacheID = handshake.RegionInfo.CacheID; + this.terrainBase0 = handshake.RegionInfo.TerrainBase0; + this.terrainBase1 = handshake.RegionInfo.TerrainBase1; + this.terrainBase2 = handshake.RegionInfo.TerrainBase2; + this.terrainBase3 = handshake.RegionInfo.TerrainBase3; + this.terrainDetail0 = handshake.RegionInfo.TerrainDetail0; + this.terrainDetail1 = handshake.RegionInfo.TerrainDetail1; + this.terrainDetail2 = handshake.RegionInfo.TerrainDetail2; + this.terrainDetail3 = handshake.RegionInfo.TerrainDetail3; + this.terrainStartHeight00 = handshake.RegionInfo.TerrainStartHeight00; + this.terrainStartHeight01 = handshake.RegionInfo.TerrainStartHeight01; + this.terrainStartHeight10 = handshake.RegionInfo.TerrainStartHeight10; + this.terrainStartHeight11 = handshake.RegionInfo.TerrainStartHeight11; + this.terrainHeightRange00 = handshake.RegionInfo.TerrainHeightRange00; + this.terrainHeightRange01 = handshake.RegionInfo.TerrainHeightRange01; + this.terrainHeightRange10 = handshake.RegionInfo.TerrainHeightRange10; + this.terrainHeightRange11 = handshake.RegionInfo.TerrainHeightRange11; + this.regionID = handshake.RegionInfo2.RegionID; + this.cpuClassID = handshake.RegionInfo3.CPUClassID; + this.cpuRatio = handshake.RegionInfo3.CPURatio; + this.coloName = Utils_1.Utils.BufferToStringSimple(handshake.RegionInfo3.ColoName); + this.productSKU = Utils_1.Utils.BufferToStringSimple(handshake.RegionInfo3.ProductSKU); + this.productName = Utils_1.Utils.BufferToStringSimple(handshake.RegionInfo3.ProductName); + const request = new RequestRegionInfo_1.RequestRegionInfoMessage(); + request.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID + }; + this.circuit.sendMessage(request, __1.PacketFlags.Reliable); + const regionInfo = yield this.circuit.waitForMessage(Message_1.Message.RegionInfo, 10000); + this.estateID = regionInfo.RegionInfo.EstateID; + this.parentEstateID = regionInfo.RegionInfo.ParentEstateID; + this.maxAgents = regionInfo.RegionInfo.MaxAgents; + this.objectBonusFactor = regionInfo.RegionInfo.ObjectBonusFactor; + this.terrainRaiseLimit = regionInfo.RegionInfo.TerrainRaiseLimit; + this.terrainLowerLimit = regionInfo.RegionInfo.TerrainLowerLimit; + this.pricePerMeter = regionInfo.RegionInfo.PricePerMeter; + this.redirectGridX = regionInfo.RegionInfo.RedirectGridX; + this.redirectGridY = regionInfo.RegionInfo.RedirectGridY; + this.useEstateSun = regionInfo.RegionInfo.UseEstateSun; + this.sunHour = regionInfo.RegionInfo.SunHour; + this.maxAgents32 = regionInfo.RegionInfo2.MaxAgents32; + this.hardMaxAgents = regionInfo.RegionInfo2.HardMaxAgents; + this.hardMaxObjects = regionInfo.RegionInfo2.HardMaxObjects; + const msg = new MapNameRequest_1.MapNameRequestMessage(); + msg.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID, + Flags: GridLayerType_1.GridLayerType.Objects, + EstateID: 0, + Godlike: false + }; + msg.NameData = { + Name: handshake.RegionInfo.SimName + }; + this.circuit.sendMessage(msg, __1.PacketFlags.Reliable); + const reply = yield this.circuit.waitForMessage(Message_1.Message.MapBlockReply, 10000, (filterMsg) => { + for (const region of filterMsg.Data) { + const name = Utils_1.Utils.BufferToStringSimple(region.Name); + if (name.trim().toLowerCase() === this.regionName.trim().toLowerCase()) { + this.xCoordinate = region.X; + this.yCoordinate = region.Y; + this.mapImage = region.MapImageID; + this.regionHandle = Utils_1.Utils.RegionCoordinatesToHandle(this.xCoordinate, this.yCoordinate); + return FilterResponse_1.FilterResponse.Finish; + } + } + return FilterResponse_1.FilterResponse.NoMatch; + }); + }); + } shutdown() { this.comms.shutdown(); this.caps.shutdown(); diff --git a/dist/classes/Region.js.map b/dist/classes/Region.js.map index 5183a0d..86bd3da 100644 --- a/dist/classes/Region.js.map +++ b/dist/classes/Region.js.map @@ -1 +1 @@ -{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../lib/classes/Region.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAElC,iCAA4B;AAC5B,mCAA8B;AAG9B,uDAAkD;AAClD,uDAAkD;AAClD,0BAAkC;AAElC;IAYI,YAAY,KAAY,EAAE,YAA0B,EAAE,OAAuB;QAEzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,kBAAc,CAAC,eAAe,EAC5C;YACI,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAClF;aAED;YACI,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAClF;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,YAAY,CAAC,OAAe;QAExB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IACD,QAAQ;QAEJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE5B,CAAC;CACJ;AAxCD,wBAwCC"} \ No newline at end of file +{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../lib/classes/Region.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/commands/CommandsBase.d.ts b/dist/classes/commands/CommandsBase.d.ts index 0b1f9dc..28be1c0 100644 --- a/dist/classes/commands/CommandsBase.d.ts +++ b/dist/classes/commands/CommandsBase.d.ts @@ -8,4 +8,5 @@ export declare class CommandsBase { protected bot: Bot; protected circuit: Circuit; constructor(region: Region, agent: Agent, bot: Bot); + shutdown(): void; } diff --git a/dist/classes/commands/CommandsBase.js b/dist/classes/commands/CommandsBase.js index 5d60602..2aea2d6 100644 --- a/dist/classes/commands/CommandsBase.js +++ b/dist/classes/commands/CommandsBase.js @@ -7,6 +7,8 @@ class CommandsBase { this.bot = bot; this.circuit = this.currentRegion.circuit; } + shutdown() { + } } exports.CommandsBase = CommandsBase; //# sourceMappingURL=CommandsBase.js.map \ No newline at end of file diff --git a/dist/classes/commands/CommandsBase.js.map b/dist/classes/commands/CommandsBase.js.map index 244af5b..43d8cf5 100644 --- a/dist/classes/commands/CommandsBase.js.map +++ b/dist/classes/commands/CommandsBase.js.map @@ -1 +1 @@ -{"version":3,"file":"CommandsBase.js","sourceRoot":"","sources":["../../../lib/classes/commands/CommandsBase.ts"],"names":[],"mappings":";;AAKA;IAOI,YAAY,MAAc,EAAE,KAAY,EAAE,GAAQ;QAE9C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IAC9C,CAAC;CACJ;AAdD,oCAcC"} \ No newline at end of file +{"version":3,"file":"CommandsBase.js","sourceRoot":"","sources":["../../../lib/classes/commands/CommandsBase.ts"],"names":[],"mappings":";;AAKA;IAOI,YAAY,MAAc,EAAE,KAAY,EAAE,GAAQ;QAE9C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IAC9C,CAAC;IACD,QAAQ;IAGR,CAAC;CACJ;AAlBD,oCAkBC"} \ No newline at end of file diff --git a/dist/classes/commands/TeleportCommands.d.ts b/dist/classes/commands/TeleportCommands.d.ts index 5e0bcda..535ebb0 100644 --- a/dist/classes/commands/TeleportCommands.d.ts +++ b/dist/classes/commands/TeleportCommands.d.ts @@ -1,8 +1,14 @@ import { CommandsBase } from './CommandsBase'; +import { Region } from '../Region'; import { Vector3 } from '../Vector3'; import * as Long from 'long'; -import { LureEvent, TeleportEvent } from '../..'; +import { LureEvent, TeleportEvent, Bot } from '../..'; +import { Agent } from '../Agent'; export declare class TeleportCommands extends CommandsBase { + private expectingTeleport; + private teleportSubscription; + constructor(region: Region, agent: Agent, bot: Bot); + shutdown(): void; private awaitTeleportEvent; acceptTeleport(lure: LureEvent): Promise; teleportToHandle(handle: Long, position: Vector3, lookAt: Vector3): Promise; diff --git a/dist/classes/commands/TeleportCommands.js b/dist/classes/commands/TeleportCommands.js index 377980e..f422361 100644 --- a/dist/classes/commands/TeleportCommands.js +++ b/dist/classes/commands/TeleportCommands.js @@ -7,15 +7,48 @@ const TeleportLureRequest_1 = require("../messages/TeleportLureRequest"); const TeleportLocationRequest_1 = require("../messages/TeleportLocationRequest"); const __1 = require("../.."); class TeleportCommands extends CommandsBase_1.CommandsBase { - awaitTeleportEvent() { + constructor(region, agent, bot) { + super(region, agent, bot); + this.expectingTeleport = false; + this.teleportSubscription = this.bot.clientEvents.onTeleportEvent.subscribe((e) => { + if (e.eventType === TeleportEventType_1.TeleportEventType.TeleportCompleted) { + if (!this.expectingTeleport) { + if (e.simIP === 'local') { + return; + } + const newRegion = new Region_1.Region(this.agent, this.bot.clientEvents, this.currentRegion.options); + newRegion.circuit.circuitCode = this.currentRegion.circuit.circuitCode; + newRegion.circuit.secureSessionID = this.currentRegion.circuit.secureSessionID; + newRegion.circuit.sessionID = this.currentRegion.circuit.sessionID; + newRegion.circuit.udpBlacklist = this.currentRegion.circuit.udpBlacklist; + newRegion.circuit.ipAddress = e.simIP; + newRegion.circuit.port = e.simPort; + newRegion.activateCaps(e.seedCapability); + this.bot.changeRegion(newRegion, false).then(() => { + }).catch((error) => { + console.log('Failed to change region'); + console.error(error); + }); + } + } + }); + } + shutdown() { + this.teleportSubscription.unsubscribe(); + } + awaitTeleportEvent(requested) { return new Promise((resolve, reject) => { if (this.currentRegion.caps.eventQueueClient) { if (this.bot.clientEvents === null) { reject(new Error('ClientEvents is null')); return; } + this.expectingTeleport = true; const subscription = this.bot.clientEvents.onTeleportEvent.subscribe((e) => { if (e.eventType === TeleportEventType_1.TeleportEventType.TeleportFailed || e.eventType === TeleportEventType_1.TeleportEventType.TeleportCompleted) { + setTimeout(() => { + this.expectingTeleport = false; + }); subscription.unsubscribe(); } if (e.eventType === TeleportEventType_1.TeleportEventType.TeleportFailed) { @@ -30,7 +63,6 @@ class TeleportCommands extends CommandsBase_1.CommandsBase { reject(new Error('ClientEvents is null')); return; } - this.currentRegion.shutdown(); const region = new Region_1.Region(this.agent, this.bot.clientEvents, this.currentRegion.options); region.circuit.circuitCode = this.currentRegion.circuit.circuitCode; region.circuit.secureSessionID = this.currentRegion.circuit.secureSessionID; @@ -38,10 +70,8 @@ class TeleportCommands extends CommandsBase_1.CommandsBase { region.circuit.udpBlacklist = this.currentRegion.circuit.udpBlacklist; region.circuit.ipAddress = e.simIP; region.circuit.port = e.simPort; - this.agent.setCurrentRegion(region); - this.currentRegion = region; - this.currentRegion.activateCaps(e.seedCapability); - this.bot.changeRegion(this.currentRegion).then(() => { + region.activateCaps(e.seedCapability); + this.bot.changeRegion(region, requested).then(() => { resolve(e); }).catch((error) => { reject(error); @@ -65,7 +95,7 @@ class TeleportCommands extends CommandsBase_1.CommandsBase { TeleportFlags: __1.TeleportFlags.ViaLure }; circuit.sendMessage(tlr, __1.PacketFlags.Reliable); - this.awaitTeleportEvent().then((event) => { + this.awaitTeleportEvent(true).then((event) => { resolve(event); }).catch((err) => { reject(err); @@ -85,7 +115,7 @@ class TeleportCommands extends CommandsBase_1.CommandsBase { RegionHandle: handle }; this.circuit.sendMessage(rtm, __1.PacketFlags.Reliable); - this.awaitTeleportEvent().then((event) => { + this.awaitTeleportEvent(true).then((event) => { resolve(event); }).catch((err) => { reject(err); diff --git a/dist/classes/commands/TeleportCommands.js.map b/dist/classes/commands/TeleportCommands.js.map index 1e67fd7..19f73b5 100644 --- a/dist/classes/commands/TeleportCommands.js.map +++ b/dist/classes/commands/TeleportCommands.js.map @@ -1 +1 @@ -{"version":3,"file":"TeleportCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/TeleportCommands.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"TeleportCommands.js","sourceRoot":"","sources":["../../../lib/classes/commands/TeleportCommands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/enums/RegionFlags.d.ts b/dist/enums/RegionFlags.d.ts new file mode 100644 index 0000000..c6d6c91 --- /dev/null +++ b/dist/enums/RegionFlags.d.ts @@ -0,0 +1,34 @@ +export declare enum RegionFlags { + None = 0, + AllowDamage = 1, + AllowLandmark = 2, + AllowSetHome = 4, + ResetHomeOnTeleport = 8, + SunFixed = 16, + TaxFree = 32, + BlockTerraform = 64, + BlockLandResell = 128, + Sandbox = 256, + NullLayer = 512, + SkipAgentAction = 1024, + SkipUpdateInterestList = 2048, + SkipCollisions = 4096, + SkipScripts = 8192, + SkipPhysics = 16384, + ExternallyVisible = 32768, + MainlandVisible = 65536, + PublicAllowed = 131072, + BlockDwell = 262144, + NoFly = 524288, + AllowDirectTeleport = 1048576, + EstateSkipScripts = 2097152, + RestrictPushObject = 4194304, + DenyAnonymous = 8388608, + DenyIdentified = 16777216, + DenyTransacted = 33554432, + AllowParcelChanges = 67108864, + AbuseEmailToEstateOwner = 134217728, + AllowVoice = 268435456, + BlockParcelSearch = 536870912, + DenyAgeUnverified = 1073741824 +} diff --git a/dist/enums/RegionFlags.js b/dist/enums/RegionFlags.js new file mode 100644 index 0000000..c1aa276 --- /dev/null +++ b/dist/enums/RegionFlags.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var RegionFlags; +(function (RegionFlags) { + RegionFlags[RegionFlags["None"] = 0] = "None"; + RegionFlags[RegionFlags["AllowDamage"] = 1] = "AllowDamage"; + RegionFlags[RegionFlags["AllowLandmark"] = 2] = "AllowLandmark"; + RegionFlags[RegionFlags["AllowSetHome"] = 4] = "AllowSetHome"; + RegionFlags[RegionFlags["ResetHomeOnTeleport"] = 8] = "ResetHomeOnTeleport"; + RegionFlags[RegionFlags["SunFixed"] = 16] = "SunFixed"; + RegionFlags[RegionFlags["TaxFree"] = 32] = "TaxFree"; + RegionFlags[RegionFlags["BlockTerraform"] = 64] = "BlockTerraform"; + RegionFlags[RegionFlags["BlockLandResell"] = 128] = "BlockLandResell"; + RegionFlags[RegionFlags["Sandbox"] = 256] = "Sandbox"; + RegionFlags[RegionFlags["NullLayer"] = 512] = "NullLayer"; + RegionFlags[RegionFlags["SkipAgentAction"] = 1024] = "SkipAgentAction"; + RegionFlags[RegionFlags["SkipUpdateInterestList"] = 2048] = "SkipUpdateInterestList"; + RegionFlags[RegionFlags["SkipCollisions"] = 4096] = "SkipCollisions"; + RegionFlags[RegionFlags["SkipScripts"] = 8192] = "SkipScripts"; + RegionFlags[RegionFlags["SkipPhysics"] = 16384] = "SkipPhysics"; + RegionFlags[RegionFlags["ExternallyVisible"] = 32768] = "ExternallyVisible"; + RegionFlags[RegionFlags["MainlandVisible"] = 65536] = "MainlandVisible"; + RegionFlags[RegionFlags["PublicAllowed"] = 131072] = "PublicAllowed"; + RegionFlags[RegionFlags["BlockDwell"] = 262144] = "BlockDwell"; + RegionFlags[RegionFlags["NoFly"] = 524288] = "NoFly"; + RegionFlags[RegionFlags["AllowDirectTeleport"] = 1048576] = "AllowDirectTeleport"; + RegionFlags[RegionFlags["EstateSkipScripts"] = 2097152] = "EstateSkipScripts"; + RegionFlags[RegionFlags["RestrictPushObject"] = 4194304] = "RestrictPushObject"; + RegionFlags[RegionFlags["DenyAnonymous"] = 8388608] = "DenyAnonymous"; + RegionFlags[RegionFlags["DenyIdentified"] = 16777216] = "DenyIdentified"; + RegionFlags[RegionFlags["DenyTransacted"] = 33554432] = "DenyTransacted"; + RegionFlags[RegionFlags["AllowParcelChanges"] = 67108864] = "AllowParcelChanges"; + RegionFlags[RegionFlags["AbuseEmailToEstateOwner"] = 134217728] = "AbuseEmailToEstateOwner"; + RegionFlags[RegionFlags["AllowVoice"] = 268435456] = "AllowVoice"; + RegionFlags[RegionFlags["BlockParcelSearch"] = 536870912] = "BlockParcelSearch"; + RegionFlags[RegionFlags["DenyAgeUnverified"] = 1073741824] = "DenyAgeUnverified"; +})(RegionFlags = exports.RegionFlags || (exports.RegionFlags = {})); +//# sourceMappingURL=RegionFlags.js.map \ No newline at end of file diff --git a/dist/enums/RegionFlags.js.map b/dist/enums/RegionFlags.js.map new file mode 100644 index 0000000..e3860f1 --- /dev/null +++ b/dist/enums/RegionFlags.js.map @@ -0,0 +1 @@ +{"version":3,"file":"RegionFlags.js","sourceRoot":"","sources":["../../lib/enums/RegionFlags.ts"],"names":[],"mappings":";;AAAA,IAAY,WAkCX;AAlCD,WAAY,WAAW;IAEnB,6CAAQ,CAAA;IACR,2DAAoB,CAAA;IACpB,+DAAsB,CAAA;IACtB,6DAAqB,CAAA;IACrB,2EAA4B,CAAA;IAC5B,sDAAiB,CAAA;IACjB,oDAAgB,CAAA;IAChB,kEAAuB,CAAA;IACvB,qEAAwB,CAAA;IACxB,qDAAgB,CAAA;IAChB,yDAAkB,CAAA;IAClB,sEAAyB,CAAA;IACzB,oFAAgC,CAAA;IAChC,oEAAwB,CAAA;IACxB,8DAAqB,CAAA;IACrB,+DAAqB,CAAA;IACrB,2EAA2B,CAAA;IAC3B,uEAAyB,CAAA;IACzB,oEAAuB,CAAA;IACvB,8DAAoB,CAAA;IACpB,oDAAe,CAAA;IACf,iFAA6B,CAAA;IAC7B,6EAA2B,CAAA;IAC3B,+EAA4B,CAAA;IAC5B,qEAAuB,CAAA;IACvB,wEAAwB,CAAA;IACxB,wEAAwB,CAAA;IACxB,gFAA4B,CAAA;IAC5B,2FAAiC,CAAA;IACjC,iEAAoB,CAAA;IACpB,+EAA2B,CAAA;IAC3B,gFAA2B,CAAA;AAC/B,CAAC,EAlCW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAkCtB"} \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 250b9cb..5d306de 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -39,4 +39,5 @@ import { ParcelInfoFlags } from './enums/ParcelInfoFlags'; import { ParcelInfoReplyEvent } from './events/ParcelInfoReplyEvent'; import { ScriptDialogEvent } from './events/ScriptDialogEvent'; import { EventQueueStateChangeEvent } from './events/EventQueueStateChangeEvent'; -export { Bot, LoginParameters, AssetType, HTTPAssets, ClientEvents, BVH, ChatSourceType, BotOptionFlags, UUID, Vector3, AgentFlags, CompressedFlags, ControlFlags, DecodeFlags, InstantMessageEventFlags, InventoryItemFlags, LoginFlags, MessageFlags, ParcelInfoFlags, PacketFlags, RegionProtocolFlags, SoundFlags, TeleportFlags, ChatEvent, DisconnectEvent, FriendRequestEvent, FriendResponseEvent, GroupChatEvent, GroupChatSessionAgentListEvent, GroupChatSessionJoinEvent, GroupInviteEvent, InstantMessageEvent, InventoryOfferedEvent, LureEvent, MapInfoRangeReplyEvent, MapInfoReplyEvent, ParcelInfoReplyEvent, RegionInfoReplyEvent, TeleportEvent, ScriptDialogEvent, EventQueueStateChangeEvent }; +import { RegionFlags } from './enums/RegionFlags'; +export { Bot, LoginParameters, AssetType, HTTPAssets, ClientEvents, BVH, ChatSourceType, BotOptionFlags, UUID, Vector3, AgentFlags, CompressedFlags, ControlFlags, DecodeFlags, InstantMessageEventFlags, InventoryItemFlags, LoginFlags, MessageFlags, ParcelInfoFlags, PacketFlags, RegionProtocolFlags, SoundFlags, TeleportFlags, RegionFlags, ChatEvent, DisconnectEvent, FriendRequestEvent, FriendResponseEvent, GroupChatEvent, GroupChatSessionAgentListEvent, GroupChatSessionJoinEvent, GroupInviteEvent, InstantMessageEvent, InventoryOfferedEvent, LureEvent, MapInfoRangeReplyEvent, MapInfoReplyEvent, ParcelInfoReplyEvent, RegionInfoReplyEvent, TeleportEvent, ScriptDialogEvent, EventQueueStateChangeEvent }; diff --git a/dist/index.js b/dist/index.js index 8932389..4f5a965 100644 --- a/dist/index.js +++ b/dist/index.js @@ -82,4 +82,6 @@ const ScriptDialogEvent_1 = require("./events/ScriptDialogEvent"); exports.ScriptDialogEvent = ScriptDialogEvent_1.ScriptDialogEvent; const EventQueueStateChangeEvent_1 = require("./events/EventQueueStateChangeEvent"); exports.EventQueueStateChangeEvent = EventQueueStateChangeEvent_1.EventQueueStateChangeEvent; +const RegionFlags_1 = require("./enums/RegionFlags"); +exports.RegionFlags = RegionFlags_1.RegionFlags; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index ae8333d..c4832b8 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AA4CtB,cA5CI,SAAG,CA4CJ;AA3CP,+DAA0D;AA4CtD,0BA5CI,iCAAe,CA4CJ;AA3CnB,yDAAoD;AA8ChD,uBA9CI,2BAAY,CA8CJ;AA7ChB,uCAAkC;AA8C9B,cA9CI,SAAG,CA8CJ;AA5CP,iDAA4C;AAyCxC,oBAzCI,qBAAS,CAyCJ;AAxCb,mDAA8C;AAyC1C,qBAzCI,uBAAU,CAyCJ;AAxCd,+EAA0E;AAqDtE,mCArDI,mDAAwB,CAqDJ;AApD5B,sEAAiE;AAuE7D,8BAvEI,yCAAmB,CAuEJ;AAtEvB,2DAAsD;AAyClD,yBAzCI,+BAAc,CAyCJ;AAxClB,2DAAsD;AAyClD,yBAzCI,+BAAc,CAyCJ;AAxClB,yCAAoC;AAyChC,eAzCI,WAAI,CAyCJ;AAxCR,+CAA0C;AAyCtC,kBAzCI,iBAAO,CAyCJ;AAxCX,kDAA6C;AA0DzC,oBA1DI,qBAAS,CA0DJ;AAzDb,gEAA2D;AAgEvD,2BAhEI,mCAAgB,CAgEJ;AA/DpB,oEAA+D;AA0D3D,6BA1DI,uCAAkB,CA0DJ;AAzDtB,sEAAiE;AA0D7D,8BA1DI,yCAAmB,CA0DJ;AAzDvB,kDAA6C;AAgEzC,oBAhEI,qBAAS,CAgEJ;AA/Db,0DAAqD;AAoEjD,wBApEI,6BAAa,CAoEJ;AAnEjB,8DAAyD;AAqDrD,0BArDI,iCAAe,CAqDJ;AApDnB,4DAAuD;AAuDnD,yBAvDI,+BAAc,CAuDJ;AAtDlB,kFAA6E;AAwDzE,oCAxDI,qDAAyB,CAwDJ;AAvD7B,4FAAuF;AAsDnF,yCAtDI,+DAA8B,CAsDJ;AArDlC,wEAAmE;AA8D/D,+BA9DI,2CAAoB,CA8DJ;AA7DxB,kEAA6D;AA2DzD,4BA3DI,qCAAiB,CA2DJ;AA1DrB,4EAAuE;AAyDnE,iCAzDI,+CAAsB,CAyDJ;AAxD1B,0EAAqE;AAsDjE,gCAtDI,6CAAqB,CAsDJ;AArDzB,mDAA8C;AA6B1C,qBA7BI,uBAAU,CA6BJ;AA5Bd,uDAAkD;AA8B9C,uBA9BI,2BAAY,CA8BJ;AA7BhB,mEAA8D;AAgC1D,6BAhCI,uCAAkB,CAgCJ;AA/BtB,mDAA8C;AAgC1C,qBAhCI,uBAAU,CAgCJ;AA/Bd,uDAAkD;AAgC9C,uBAhCI,2BAAY,CAgCJ;AA/BhB,qDAAgD;AAiC5C,sBAjCI,yBAAW,CAiCJ;AAhCf,qEAAgE;AAiC5D,8BAjCI,yCAAmB,CAiCJ;AAhCvB,mDAA8C;AAiC1C,qBAjCI,uBAAU,CAiCJ;AAhCd,yDAAoD;AAiChD,wBAjCI,6BAAa,CAiCJ;AAhCjB,6DAAwD;AAqBpD,0BArBI,iCAAe,CAqBJ;AApBnB,qDAAgD;AAsB5C,sBAtBI,yBAAW,CAsBJ;AArBf,6DAAwD;AA0BpD,0BA1BI,iCAAe,CA0BJ;AAzBnB,wEAAmE;AA6C/D,+BA7CI,2CAAoB,CA6CJ;AA5CxB,kEAA6D;AA+CzD,4BA/CI,qCAAiB,CA+CJ;AA9CrB,oFAA+E;AA+C3E,qCA/CI,uDAA0B,CA+CJ"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AA6CtB,cA7CI,SAAG,CA6CJ;AA5CP,+DAA0D;AA6CtD,0BA7CI,iCAAe,CA6CJ;AA5CnB,yDAAoD;AA+ChD,uBA/CI,2BAAY,CA+CJ;AA9ChB,uCAAkC;AA+C9B,cA/CI,SAAG,CA+CJ;AA7CP,iDAA4C;AA0CxC,oBA1CI,qBAAS,CA0CJ;AAzCb,mDAA8C;AA0C1C,qBA1CI,uBAAU,CA0CJ;AAzCd,+EAA0E;AAsDtE,mCAtDI,mDAAwB,CAsDJ;AArD5B,sEAAiE;AAyE7D,8BAzEI,yCAAmB,CAyEJ;AAxEvB,2DAAsD;AA0ClD,yBA1CI,+BAAc,CA0CJ;AAzClB,2DAAsD;AA0ClD,yBA1CI,+BAAc,CA0CJ;AAzClB,yCAAoC;AA0ChC,eA1CI,WAAI,CA0CJ;AAzCR,+CAA0C;AA0CtC,kBA1CI,iBAAO,CA0CJ;AAzCX,kDAA6C;AA4DzC,oBA5DI,qBAAS,CA4DJ;AA3Db,gEAA2D;AAkEvD,2BAlEI,mCAAgB,CAkEJ;AAjEpB,oEAA+D;AA4D3D,6BA5DI,uCAAkB,CA4DJ;AA3DtB,sEAAiE;AA4D7D,8BA5DI,yCAAmB,CA4DJ;AA3DvB,kDAA6C;AAkEzC,oBAlEI,qBAAS,CAkEJ;AAjEb,0DAAqD;AAsEjD,wBAtEI,6BAAa,CAsEJ;AArEjB,8DAAyD;AAuDrD,0BAvDI,iCAAe,CAuDJ;AAtDnB,4DAAuD;AAyDnD,yBAzDI,+BAAc,CAyDJ;AAxDlB,kFAA6E;AA0DzE,oCA1DI,qDAAyB,CA0DJ;AAzD7B,4FAAuF;AAwDnF,yCAxDI,+DAA8B,CAwDJ;AAvDlC,wEAAmE;AAgE/D,+BAhEI,2CAAoB,CAgEJ;AA/DxB,kEAA6D;AA6DzD,4BA7DI,qCAAiB,CA6DJ;AA5DrB,4EAAuE;AA2DnE,iCA3DI,+CAAsB,CA2DJ;AA1D1B,0EAAqE;AAwDjE,gCAxDI,6CAAqB,CAwDJ;AAvDzB,mDAA8C;AA8B1C,qBA9BI,uBAAU,CA8BJ;AA7Bd,uDAAkD;AA+B9C,uBA/BI,2BAAY,CA+BJ;AA9BhB,mEAA8D;AAiC1D,6BAjCI,uCAAkB,CAiCJ;AAhCtB,mDAA8C;AAiC1C,qBAjCI,uBAAU,CAiCJ;AAhCd,uDAAkD;AAiC9C,uBAjCI,2BAAY,CAiCJ;AAhChB,qDAAgD;AAkC5C,sBAlCI,yBAAW,CAkCJ;AAjCf,qEAAgE;AAkC5D,8BAlCI,yCAAmB,CAkCJ;AAjCvB,mDAA8C;AAkC1C,qBAlCI,uBAAU,CAkCJ;AAjCd,yDAAoD;AAkChD,wBAlCI,6BAAa,CAkCJ;AAjCjB,6DAAwD;AAsBpD,0BAtBI,iCAAe,CAsBJ;AArBnB,qDAAgD;AAuB5C,sBAvBI,yBAAW,CAuBJ;AAtBf,6DAAwD;AA2BpD,0BA3BI,iCAAe,CA2BJ;AA1BnB,wEAAmE;AA+C/D,+BA/CI,2CAAoB,CA+CJ;AA9CxB,kEAA6D;AAiDzD,4BAjDI,qCAAiB,CAiDJ;AAhDrB,oFAA+E;AAiD3E,qCAjDI,uDAA0B,CAiDJ;AAhD9B,qDAAgD;AA4B5C,sBA5BI,yBAAW,CA4BJ"} \ No newline at end of file diff --git a/example/loginParameters.example.json b/example/loginParameters.example.json index 1f73162..dad5bd1 100644 --- a/example/loginParameters.example.json +++ b/example/loginParameters.example.json @@ -2,5 +2,5 @@ "firstName": "Username", "lastName": "Resident", "password": "YourPassword", - "start": "home" //home, last, or login uri + "start": "last" //first, last, or login uri like uri:&&& } \ No newline at end of file diff --git a/example/testBot.js b/example/testBot.js index a2973fc..ed2e940 100644 --- a/example/testBot.js +++ b/example/testBot.js @@ -12,7 +12,7 @@ const uuid = require('uuid'); loginParameters.firstName = parameters.firstName; loginParameters.lastName = parameters.lastName; loginParameters.password = parameters.password; -loginParameters.start = "last"; +loginParameters.start = parameters.start; //const options = nmv.BotOptionFlags.None; @@ -37,7 +37,10 @@ bot.clientEvents.onLure.subscribe(async (lureEvent) => if (lureEvent.from.toString() === master) { console.log('Accepting teleport lure to ' + regionInfo.block.name + ' (' + regionInfo.avatars.length + ' avatar' + ((regionInfo.avatars.length === 1)?'':'s') + ' present) from ' + lureEvent.fromName + ' with message: ' + lureEvent.lureMessage); - bot.clientCommands.teleport.acceptTeleport(lureEvent).then(() => {}); + bot.clientCommands.teleport.acceptTeleport(lureEvent).then(() => {}).catch((err) => { + console.error('Teleport error:'); + console.error(err); + }); } else { @@ -261,8 +264,8 @@ async function connect() await bot.waitForEventQueue(); try { - await bot.clientCommands.teleport.teleportTo('Izanagi', new nmv.Vector3([128, 128, 20]), new nmv.Vector3([ 0, 1.0, 0])); - console.log("Teleport completed"); + //await bot.clientCommands.teleport.teleportTo('Izanagi', new nmv.Vector3([128, 128, 20]), new nmv.Vector3([ 0, 1.0, 0])); + //console.log("Teleport completed"); } catch(error) { diff --git a/lib/Bot.ts b/lib/Bot.ts index 1ff3816..1c4910a 100644 --- a/lib/Bot.ts +++ b/lib/Bot.ts @@ -30,6 +30,10 @@ import {FilterResponse} from './enums/FilterResponse'; import {LogoutReplyMessage} from './classes/messages/LogoutReply'; import {EventQueueStateChangeEvent} from './events/EventQueueStateChangeEvent'; import {UUID} from './classes/UUID'; +import {Vector3} from './classes/Vector3'; +import {RegionHandshakeMessage} from './classes/messages/RegionHandshake'; +import {AgentMovementCompleteMessage} from './classes/messages/AgentMovementComplete'; +import Long = require('long'); export class Bot { @@ -45,6 +49,9 @@ export class Bot public clientEvents: ClientEvents; public clientCommands: ClientCommands; private eventQueueWaits: any = {}; + private stay = false; + private stayRegion = ''; + private stayPosition = new Vector3(); @@ -70,6 +77,16 @@ export class Bot }); } + stayPut(stay: boolean, regionName?: string, position?: Vector3) + { + this.stay = stay; + if (regionName !== undefined && position !== undefined) + { + this.stayRegion = regionName; + this.stayPosition = position; + } + } + async login() { const loginHandler = new LoginHandler(this.clientEvents, this.options); @@ -80,8 +97,9 @@ export class Bot return response; } - async changeRegion(region: Region) + async changeRegion(region: Region, requested: boolean) { + this.closeCircuit(); this.currentRegion = region; this.clientCommands = new ClientCommands(this.currentRegion, this.agent, this); if (this.ping !== null) @@ -90,7 +108,7 @@ export class Bot this.ping = null; } - await this.connectToSim(); + await this.connectToSim(requested); } waitForEventQueue(timeout: number = 1000): Promise @@ -124,7 +142,6 @@ export class Bot private closeCircuit() { - this.agent.shutdown(); this.currentRegion.shutdown(); if (this.circuitSubscription !== null) { @@ -132,7 +149,8 @@ export class Bot this.circuitSubscription = null; } delete this.currentRegion; - delete this.agent; + + this.clientCommands.shutdown(); delete this.clientCommands; if (this.ping !== null) { @@ -145,6 +163,8 @@ export class Bot private kicked(message: string) { this.closeCircuit(); + this.agent.shutdown(); + delete this.agent; this.disconnected(false, message); } @@ -169,13 +189,17 @@ export class Bot }; circuit.sendMessage(msg, PacketFlags.Reliable); await circuit.waitForMessage(Message.LogoutReply, 5000); - + this.stayRegion = ''; + this.stayPosition = new Vector3(); this.closeCircuit(); + this.agent.shutdown(); + delete this.agent; this.disconnected(true, 'Logout completed'); } - async connectToSim() + async connectToSim(requested: boolean) { + this.agent.setCurrentRegion(this.currentRegion); const circuit = this.currentRegion.circuit; circuit.init(); const msg: UseCircuitCodeMessage = new UseCircuitCodeMessage(); @@ -196,7 +220,25 @@ export class Bot }; circuit.sendMessage(agentMovement, PacketFlags.Reliable); - await circuit.waitForMessage(Message.RegionHandshake, 10000); + let agentPosition: Vector3 | null = null; + let regionName: string | null = null; + + circuit.waitForMessage(Message.AgentMovementComplete, 10000).then((agentMovementMsg: AgentMovementCompleteMessage) => + { + agentPosition = agentMovementMsg.Data.Position; + if (regionName !== null) + { + if (this.stayRegion === '' || requested) + { + this.stayPut(this.stay, regionName, agentPosition); + } + } + }).catch(() => + { + console.error('Timed out waiting for AgentMovementComplete') + }); + + const handshakeMessage = await circuit.waitForMessage(Message.RegionHandshake, 10000); const handshakeReply: RegionHandshakeReplyMessage = new RegionHandshakeReplyMessage(); handshakeReply.AgentData = { @@ -208,6 +250,22 @@ export class Bot }; await circuit.waitForAck(circuit.sendMessage(handshakeReply, PacketFlags.Reliable), 10000); + this.currentRegion.handshake(handshakeMessage).then(() => + { + regionName = this.currentRegion.regionName; + if (agentPosition !== null) + { + if (this.stayRegion === '' || requested) + { + this.stayPut(this.stay, regionName, agentPosition); + } + } + }).catch((error) => + { + console.error('Timed out getting handshake'); + console.error(error); + }); + if (this.clientCommands !== null) { this.clientCommands.network.setBandwidth(1536000); @@ -257,7 +315,13 @@ export class Bot }).bind(this, { pingID: this.pingNumber, timeSent: new Date().getTime() - })); + })).then(() => + { + // No action needed + }).catch(() => + { + console.error('Timeout waiting for ping from the simulator - possible disconnection') + }); if ((new Date().getTime() - this.lastSuccessfulPing) > 60000) diff --git a/lib/classes/Agent.ts b/lib/classes/Agent.ts index 780838f..74525df 100644 --- a/lib/classes/Agent.ts +++ b/lib/classes/Agent.ts @@ -79,6 +79,7 @@ export class Agent serialNumber: number }; agentUpdateTimer: number | null = null; + estateManager = false; private clientEvents: ClientEvents; constructor(clientEvents: ClientEvents) @@ -109,6 +110,11 @@ export class Agent }); } + setIsEstateManager(is: boolean): void + { + this.estateManager = is; + } + getSessionAgentCount(uuid: UUID): number { const str = uuid.toString(); diff --git a/lib/classes/Caps.ts b/lib/classes/Caps.ts index 60ffa0b..2322371 100644 --- a/lib/classes/Caps.ts +++ b/lib/classes/Caps.ts @@ -17,6 +17,7 @@ export class Caps private capabilities: { [key: string]: string } = {}; private clientEvents: ClientEvents; private agent: Agent; + private active = false; eventQueueClient: EventQueueClient | null = null; constructor(agent: Agent, region: Region, seedURL: string, clientEvents: ClientEvents) @@ -113,7 +114,7 @@ export class Caps req.push('ViewerMetrics'); req.push('ViewerStartAuction'); req.push('ViewerStats'); - + this.active = true; this.request(seedURL, LLSD.LLSD.formatXML(req), 'application/llsd+xml').then((body: string) => { this.capabilities = LLSD.LLSD.parseXML(body); @@ -211,6 +212,11 @@ export class Caps { return new Promise((resolve, reject) => { + if (!this.active) + { + reject(new Error('Requesting getCapability to an inactive Caps instance')); + return; + } this.waitForSeedCapability().then(() => { if (this.capabilities[capability]) @@ -279,5 +285,6 @@ export class Caps { this.eventQueueClient.shutdown(); } + this.active = false; } } diff --git a/lib/classes/Circuit.ts b/lib/classes/Circuit.ts index b269bbd..8b73a0b 100644 --- a/lib/classes/Circuit.ts +++ b/lib/classes/Circuit.ts @@ -37,6 +37,7 @@ export class Circuit receivedPackets: { [key: number]: number } = {}; + active = false; private clientEvents: ClientEvents; private onPacketReceived: Subject; @@ -65,6 +66,10 @@ export class Circuit sendMessage(message: MessageBase, flags: PacketFlags): number { + if (!this.active) + { + throw new Error('Attempting to send a message on a closed circuit'); + } const packet: Packet = new Packet(); packet.message = message; packet.sequenceNumber = this.sequenceNumber++; @@ -75,6 +80,11 @@ export class Circuit resend(sequenceNumber: number) { + if (!this.active) + { + console.log('Resend triggered, but circuit is not active!'); + return; + } if (this.awaitingAck[sequenceNumber]) { const toResend: Packet = this.awaitingAck[sequenceNumber].packet; @@ -147,6 +157,7 @@ export class Circuit { }); + this.active = true; } shutdown() @@ -169,6 +180,7 @@ export class Circuit this.onPacketReceived.complete(); this.onAckReceived.complete(); } + this.active = false; } waitForMessage(id: Message, timeout: number, filter?: (message: T) => FilterResponse): Promise diff --git a/lib/classes/ClientCommands.ts b/lib/classes/ClientCommands.ts index 8f4e03f..828bb3c 100644 --- a/lib/classes/ClientCommands.ts +++ b/lib/classes/ClientCommands.ts @@ -38,4 +38,17 @@ export class ClientCommands this.group = new GroupCommands(region, agent, bot); this.inventory = new InventoryCommands(region, agent, bot); } + shutdown() + { + this.network.shutdown(); + this.asset.shutdown(); + this.teleport.shutdown(); + this.region.shutdown(); + this.parcel.shutdown(); + this.grid.shutdown(); + this.comms.shutdown(); + this.agent.shutdown(); + this.group.shutdown(); + this.inventory.shutdown(); + } } diff --git a/lib/classes/EventQueueClient.ts b/lib/classes/EventQueueClient.ts index e27b28c..b0314f1 100644 --- a/lib/classes/EventQueueClient.ts +++ b/lib/classes/EventQueueClient.ts @@ -36,14 +36,22 @@ export class EventQueueClient } shutdown() { - const state = new EventQueueStateChangeEvent(); - state.active = false; - this.clientEvents.onEventQueueStateChange.next(state); + // We must ACK any outstanding events + this.done = true; if (this.currentRequest !== null) { this.currentRequest.abort(); } - this.done = true; + const req = { + 'ack': this.ack, + 'done': true + }; + this.capsRequestXML('EventQueueGet', req).then((data) => + { + const state = new EventQueueStateChangeEvent(); + state.active = false; + this.clientEvents.onEventQueueStateChange.next(state); + }); } Get() { @@ -54,340 +62,6 @@ export class EventQueueClient const startTime = new Date().getTime(); this.capsRequestXML('EventQueueGet', req).then((data) => { - if (data['events']) - { - data['events'].forEach((event: any) => - { - try - { - if (event['message']) - { - // noinspection TsLint - switch (event['message']) - { - case 'EnableSimulator': - - /* - { - "body": { - "SimulatorInfo": [ - { - "Handle": "AALoAAAECwA=", - "IP": "2FIqRA==", - "Port": 13029 - } - ] - }, - "message": "EnableSimulator" - } - */ - - break; - case 'ParcelProperties': - /* - { - "body": { - "AgeVerificationBlock": [ - { - - "RegionDenyAgeUnverified": true - } - ], - "MediaData": [ - { - "MediaDesc": "", - "MediaHeight": 0, - "MediaLoop": 0, - "MediaType": "text/html", - "MediaWidth": 0, - "ObscureMedia": 0, - "ObscureMusic": 0 - } - ], - "ParcelData": [ - { - "AABBMax": [ - 256, - 256, - 50 - ], - "AABBMin": [ - 0, - 0, - 0 - ], - "AnyAVSounds": true, - "Area": 65536, - "AuctionID": "AAAAAA==", - "AuthBuyerID": "00000000-0000-0000-0000-000000000000", - "Bitmap": "///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8=", - "Category": 0, - "ClaimDate": 1333505995, - "ClaimPrice": 0, - "Desc": "adoption parent furry parent teen twin cub neko pets adult elf vamp toddleedoo baby child panel brother sister numbers meshmerized gacha adoptions adopt family mesh skin shape camp ngi youthspot foster kids mall zoo train kid primbay\ndupli - city onlinker", - "GroupAVSounds": true, - "GroupID": "f2b75b49-8ebc-2a9c-f345-aa2f91adc908", - "GroupPrims": 18677, - "IsGroupOwned": true, - "LandingType": 2, - "LocalID": 15, - "MaxPrims": 30000, - "MediaAutoScale": 1, - "MediaID": "6bd35c06-2b24-a83e-03f6-f547c65c8556", - "MediaURL": "", - "MusicURL": "http://142.4.209.63:8071", - "Name": "Next Gen Inc. Adoption Agency on the :::: KiD GRiD :::", - "OtherCleanTime": 0, - "OtherCount": 4096, - "OtherPrims": 312, - "OwnerID": "f2b75b49-8ebc-2a9c-f345-aa2f91adc908", - "OwnerPrims": 3, - "ParcelFlags": "NiAUSw==", - "ParcelPrimBonus": 1, - "PassHours": 10, - "PassPrice": 10, - "PublicCount": 0, - "RegionDenyAnonymous": true, - "RegionDenyIdentified": true, - "RegionDenyTransacted": true, - "RegionPushOverride": true, - "RentPrice": 0, - "RequestResult": 0, - "SalePrice": 1, - "SeeAVs": true, - "SelectedPrims": 1, - "SelfCount": 0, - "SequenceID": 0, - "SimWideMaxPrims": 30000, - "SimWideTotalPrims": 18993, - "SnapSelection": true, - "SnapshotID": "09c4101a-9406-2501-b9b7-dbb60260fd7a", - "Status": 0, - "TotalPrims": 18993, - "UserLocation": [ - 131.48399353027344, - 171.41600036621094, - 21.544700622558594 - ], - "UserLookAt": [ - 0.0325143001973629, - -0.9994710087776184, - 0 - ] - } - ], - "RegionAllowAccessBlock": [ - { - "RegionAllowAccessOverride": true - } - ] - }, - "message": "ParcelProperties" - } - - */ - break; - case 'AgentGroupDataUpdate': - /* - { - "body": { - "AgentData": [ - { - "AgentID": "49cc9041-5c53-4c1c-8490-e6bb84cdbacd" - } - ], - "GroupData": [ - { - "AcceptNotices": true, - "Contribution": 0, - "GroupID": "06459c46-069f-4de1-c297-c966bd55ab91", - "GroupInsigniaID": "8dacb5c9-80bc-aae4-6a12-d792b6eb7dc4", - "GroupName": "Jez Ember Estates", - "GroupPowers": "AAAgAAQAAAA=" - }, - { - "AcceptNotices": true, - "Contribution": 0, - "GroupID": "539b5be0-bb18-d0ef-6c07-3326e0130aaf", - "GroupInsigniaID": "7d7d0b4a-bf5b-dc51-3869-5e0eaa6ad41d", - "GroupName": "**BOY BEARS MALL**", - "GroupPowers": "AAAIABgBAAA=" - } - ], - "NewGroupData": [ - { - "ListInProfile": true - }, - { - "ListInProfile": true - } - ] - }, - "message": "AgentGroupDataUpdate" - } - - */ - break; - case 'AgentStateUpdate': - /* - - { - "body": { - "can_modify_navmesh": true, - "has_modified_navmesh": true, - "preferences": { - "access_prefs": { - "max": "PG" - }, - "default_object_perm_masks": { - "Everyone": 0, - "Group": 0, - "NextOwner": 532480 - }, - "god_level": 0, - "hover_height": 0, - "language": "", - "language_is_public": true - } - }, - "message": "AgentStateUpdate" - } - */ - break; - case 'TeleportFailed': - { - const tpEvent = new TeleportEvent(); - tpEvent.message = event['body']['Info'][0]['Reason']; - tpEvent.eventType = TeleportEventType.TeleportFailed; - tpEvent.simIP = ''; - tpEvent.simPort = 0; - tpEvent.seedCapability = ''; - - this.clientEvents.onTeleportEvent.next(tpEvent); - break; - } - case "ChatterBoxSessionStartReply": - { - if (event['body']) - { - const gcsje = new GroupChatSessionJoinEvent(); - gcsje.sessionID = new UUID(event['body']['session_id'].toString()); - gcsje.success = event['body']['success']; - if (gcsje.success) - { - this.agent.addChatSession(gcsje.sessionID); - } - this.clientEvents.onGroupChatSessionJoin.next(gcsje); - } - break; - } - case 'ChatterBoxInvitation': - { - if (event['body'] && event['body']['instantmessage'] && event['body']['instantmessage']['message_params'] && event['body']['instantmessage']['message_params']['id']) - { - const messageParams = event['body']['instantmessage']['message_params']; - const imSessionID = messageParams['id']; - - - const groupChatEvent = new GroupChatEvent(); - groupChatEvent.from = new UUID(messageParams['from_id'].toString()); - groupChatEvent.fromName = messageParams['from_name']; - groupChatEvent.groupID = new UUID(messageParams['id'].toString()); - groupChatEvent.message = messageParams['message']; - - const requestedFolders = { - 'method': 'accept invitation', - 'session-id': imSessionID - }; - this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((ignore: any) => - { - this.agent.addChatSession(groupChatEvent.groupID); - - const gcsje = new GroupChatSessionJoinEvent(); - gcsje.sessionID = groupChatEvent.groupID; - gcsje.success = true; - this.clientEvents.onGroupChatSessionJoin.next(gcsje); - this.clientEvents.onGroupChat.next(groupChatEvent); - }).catch((err) => - { - console.error(err); - }); - } - break; - } - case 'ChatterBoxSessionAgentListUpdates': - { - if (event['body']) - { - if (event['body']['agent_updates']) - { - Object.keys(event['body']['agent_updates']).forEach((agentUpdate) => - { - const updObj = event['body']['agent_updates'][agentUpdate]; - const gcsale = new GroupChatSessionAgentListEvent(); - gcsale.agentID = new UUID(agentUpdate); - gcsale.groupID = new UUID(event['body']['session_id'].toString()); - gcsale.canVoiceChat = false; - gcsale.isModerator = false; - gcsale.entered = (updObj['transition'] === 'ENTER'); - - if (updObj['can_voice_chat'] === true) - { - gcsale.canVoiceChat = true; - } - if (updObj['is_moderator'] === true) - { - gcsale.isModerator = true; - } - this.clientEvents.onGroupChatAgentListUpdate.next(gcsale); - }); - } - } - break; - } - case 'TeleportFinish': - { - const info = event['body']['Info'][0]; - if (info['LocationID']) - { - info['LocationID'] = Buffer.from(info['LocationID'].toArray()).readUInt32LE(0); - - const regionHandleBuf = Buffer.from(info['RegionHandle'].toArray()); - info['RegionHandle'] = new Long(regionHandleBuf.readUInt32LE(0), regionHandleBuf.readUInt32LE(4), true); - - - info['SimIP'] = new IPAddress(Buffer.from(info['SimIP'].toArray()), 0).toString(); - - info['TeleportFlags'] = Buffer.from(info['TeleportFlags'].toArray()).readUInt32LE(0); - - const tpEvent = new TeleportEvent(); - tpEvent.message = ''; - tpEvent.eventType = TeleportEventType.TeleportCompleted; - tpEvent.simIP = info['SimIP']; - tpEvent.simPort = info['SimPort']; - tpEvent.seedCapability = info['SeedCapability']; - - this.clientEvents.onTeleportEvent.next(tpEvent); - } - - break; - } - default: - console.log('Unhandled event:'); - console.log(JSON.stringify(event, null, 4)); - } - } - } - catch (erro) - { - console.error('Error handling cap'); - console.error(erro); - } - }); - } if (data['id']) { this.ack = data['id']; @@ -396,6 +70,347 @@ export class EventQueueClient { this.ack = undefined; } + try + { + if (data['events']) + { + data['events'].forEach((event: any) => + { + try + { + if (event['message']) + { + // noinspection TsLint + switch (event['message']) + { + case 'EnableSimulator': + + /* + { + "body": { + "SimulatorInfo": [ + { + "Handle": "AALoAAAECwA=", + "IP": "2FIqRA==", + "Port": 13029 + } + ] + }, + "message": "EnableSimulator" + } + */ + + break; + case 'ParcelProperties': + /* + { + "body": { + "AgeVerificationBlock": [ + { + + "RegionDenyAgeUnverified": true + } + ], + "MediaData": [ + { + "MediaDesc": "", + "MediaHeight": 0, + "MediaLoop": 0, + "MediaType": "text/html", + "MediaWidth": 0, + "ObscureMedia": 0, + "ObscureMusic": 0 + } + ], + "ParcelData": [ + { + "AABBMax": [ + 256, + 256, + 50 + ], + "AABBMin": [ + 0, + 0, + 0 + ], + "AnyAVSounds": true, + "Area": 65536, + "AuctionID": "AAAAAA==", + "AuthBuyerID": "00000000-0000-0000-0000-000000000000", + "Bitmap": "///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8=", + "Category": 0, + "ClaimDate": 1333505995, + "ClaimPrice": 0, + "Desc": "adoption parent furry parent teen twin cub neko pets adult elf vamp toddleedoo baby child panel brother sister numbers meshmerized gacha adoptions adopt family mesh skin shape camp ngi youthspot foster kids mall zoo train kid primbay\ndupli + city onlinker", + "GroupAVSounds": true, + "GroupID": "f2b75b49-8ebc-2a9c-f345-aa2f91adc908", + "GroupPrims": 18677, + "IsGroupOwned": true, + "LandingType": 2, + "LocalID": 15, + "MaxPrims": 30000, + "MediaAutoScale": 1, + "MediaID": "6bd35c06-2b24-a83e-03f6-f547c65c8556", + "MediaURL": "", + "MusicURL": "http://142.4.209.63:8071", + "Name": "Next Gen Inc. Adoption Agency on the :::: KiD GRiD :::", + "OtherCleanTime": 0, + "OtherCount": 4096, + "OtherPrims": 312, + "OwnerID": "f2b75b49-8ebc-2a9c-f345-aa2f91adc908", + "OwnerPrims": 3, + "ParcelFlags": "NiAUSw==", + "ParcelPrimBonus": 1, + "PassHours": 10, + "PassPrice": 10, + "PublicCount": 0, + "RegionDenyAnonymous": true, + "RegionDenyIdentified": true, + "RegionDenyTransacted": true, + "RegionPushOverride": true, + "RentPrice": 0, + "RequestResult": 0, + "SalePrice": 1, + "SeeAVs": true, + "SelectedPrims": 1, + "SelfCount": 0, + "SequenceID": 0, + "SimWideMaxPrims": 30000, + "SimWideTotalPrims": 18993, + "SnapSelection": true, + "SnapshotID": "09c4101a-9406-2501-b9b7-dbb60260fd7a", + "Status": 0, + "TotalPrims": 18993, + "UserLocation": [ + 131.48399353027344, + 171.41600036621094, + 21.544700622558594 + ], + "UserLookAt": [ + 0.0325143001973629, + -0.9994710087776184, + 0 + ] + } + ], + "RegionAllowAccessBlock": [ + { + "RegionAllowAccessOverride": true + } + ] + }, + "message": "ParcelProperties" + } + + */ + break; + case 'AgentGroupDataUpdate': + /* + { + "body": { + "AgentData": [ + { + "AgentID": "49cc9041-5c53-4c1c-8490-e6bb84cdbacd" + } + ], + "GroupData": [ + { + "AcceptNotices": true, + "Contribution": 0, + "GroupID": "06459c46-069f-4de1-c297-c966bd55ab91", + "GroupInsigniaID": "8dacb5c9-80bc-aae4-6a12-d792b6eb7dc4", + "GroupName": "Jez Ember Estates", + "GroupPowers": "AAAgAAQAAAA=" + }, + { + "AcceptNotices": true, + "Contribution": 0, + "GroupID": "539b5be0-bb18-d0ef-6c07-3326e0130aaf", + "GroupInsigniaID": "7d7d0b4a-bf5b-dc51-3869-5e0eaa6ad41d", + "GroupName": "**BOY BEARS MALL**", + "GroupPowers": "AAAIABgBAAA=" + } + ], + "NewGroupData": [ + { + "ListInProfile": true + }, + { + "ListInProfile": true + } + ] + }, + "message": "AgentGroupDataUpdate" + } + + */ + break; + case 'AgentStateUpdate': + /* + + { + "body": { + "can_modify_navmesh": true, + "has_modified_navmesh": true, + "preferences": { + "access_prefs": { + "max": "PG" + }, + "default_object_perm_masks": { + "Everyone": 0, + "Group": 0, + "NextOwner": 532480 + }, + "god_level": 0, + "hover_height": 0, + "language": "", + "language_is_public": true + } + }, + "message": "AgentStateUpdate" + } + */ + break; + case 'TeleportFailed': + { + const tpEvent = new TeleportEvent(); + tpEvent.message = event['body']['Info'][0]['Reason']; + tpEvent.eventType = TeleportEventType.TeleportFailed; + tpEvent.simIP = ''; + tpEvent.simPort = 0; + tpEvent.seedCapability = ''; + + this.clientEvents.onTeleportEvent.next(tpEvent); + break; + } + case "ChatterBoxSessionStartReply": + { + if (event['body']) + { + const gcsje = new GroupChatSessionJoinEvent(); + gcsje.sessionID = new UUID(event['body']['session_id'].toString()); + gcsje.success = event['body']['success']; + if (gcsje.success) + { + this.agent.addChatSession(gcsje.sessionID); + } + this.clientEvents.onGroupChatSessionJoin.next(gcsje); + } + break; + } + case 'ChatterBoxInvitation': + { + if (event['body'] && event['body']['instantmessage'] && event['body']['instantmessage']['message_params'] && event['body']['instantmessage']['message_params']['id']) + { + const messageParams = event['body']['instantmessage']['message_params']; + const imSessionID = messageParams['id']; + + + const groupChatEvent = new GroupChatEvent(); + groupChatEvent.from = new UUID(messageParams['from_id'].toString()); + groupChatEvent.fromName = messageParams['from_name']; + groupChatEvent.groupID = new UUID(messageParams['id'].toString()); + groupChatEvent.message = messageParams['message']; + + const requestedFolders = { + 'method': 'accept invitation', + 'session-id': imSessionID + }; + this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((ignore: any) => + { + this.agent.addChatSession(groupChatEvent.groupID); + + const gcsje = new GroupChatSessionJoinEvent(); + gcsje.sessionID = groupChatEvent.groupID; + gcsje.success = true; + this.clientEvents.onGroupChatSessionJoin.next(gcsje); + this.clientEvents.onGroupChat.next(groupChatEvent); + }).catch((err) => + { + console.error(err); + }); + } + break; + } + case 'ChatterBoxSessionAgentListUpdates': + { + if (event['body']) + { + if (event['body']['agent_updates']) + { + Object.keys(event['body']['agent_updates']).forEach((agentUpdate) => + { + const updObj = event['body']['agent_updates'][agentUpdate]; + const gcsale = new GroupChatSessionAgentListEvent(); + gcsale.agentID = new UUID(agentUpdate); + gcsale.groupID = new UUID(event['body']['session_id'].toString()); + gcsale.canVoiceChat = false; + gcsale.isModerator = false; + gcsale.entered = (updObj['transition'] === 'ENTER'); + + if (updObj['can_voice_chat'] === true) + { + gcsale.canVoiceChat = true; + } + if (updObj['is_moderator'] === true) + { + gcsale.isModerator = true; + } + this.clientEvents.onGroupChatAgentListUpdate.next(gcsale); + }); + } + } + break; + } + case 'TeleportFinish': + { + const info = event['body']['Info'][0]; + if (info['LocationID']) + { + info['LocationID'] = Buffer.from(info['LocationID'].toArray()).readUInt32LE(0); + + const regionHandleBuf = Buffer.from(info['RegionHandle'].toArray()); + info['RegionHandle'] = new Long(regionHandleBuf.readUInt32LE(0), regionHandleBuf.readUInt32LE(4), true); + + + info['SimIP'] = new IPAddress(Buffer.from(info['SimIP'].toArray()), 0).toString(); + + info['TeleportFlags'] = Buffer.from(info['TeleportFlags'].toArray()).readUInt32LE(0); + + const tpEvent = new TeleportEvent(); + tpEvent.message = ''; + tpEvent.eventType = TeleportEventType.TeleportCompleted; + tpEvent.simIP = info['SimIP']; + tpEvent.simPort = info['SimPort']; + tpEvent.seedCapability = info['SeedCapability']; + + this.clientEvents.onTeleportEvent.next(tpEvent); + } + + break; + } + default: + console.log('Unhandled event:'); + console.log(JSON.stringify(event, null, 4)); + } + } + } + catch (erro) + { + console.error('Error handling cap'); + console.error(erro); + } + }); + } + } + catch (error) + { + console.error(error); + } if (!this.done) { this.Get(); @@ -413,16 +428,19 @@ export class EventQueueClient } else { - console.error('Event queue aborted after ' + time + 'ms. Reconnecting in 5 seconds'); - - // Wait 5 seconds before retrying - setTimeout(() => + if (!this.done) { - if (!this.done) + console.error('Event queue aborted after ' + time + 'ms. Reconnecting in 5 seconds'); + + // Wait 5 seconds before retrying + setTimeout(() => { - this.Get(); - } - }, 5000); + if (!this.done) + { + this.Get(); + } + }, 5000); + } } }); } @@ -474,7 +492,7 @@ export class EventQueueClient else { // Retry caps request three times before giving up - if (attempt < 3) + if (attempt < 3 && capability !== 'EventQueueGet') { return this.capsRequestXML(capability, data, ++attempt); } diff --git a/lib/classes/Region.ts b/lib/classes/Region.ts index 058d359..f992472 100644 --- a/lib/classes/Region.ts +++ b/lib/classes/Region.ts @@ -6,12 +6,71 @@ import {ClientEvents} from './ClientEvents'; import {IObjectStore} from './interfaces/IObjectStore'; import {ObjectStoreFull} from './ObjectStoreFull'; import {ObjectStoreLite} from './ObjectStoreLite'; -import {BotOptionFlags} from '..'; +import {BotOptionFlags, PacketFlags, UUID} from '..'; +import {RequestRegionInfoMessage} from './messages/RequestRegionInfo'; +import {RegionInfoMessage} from './messages/RegionInfo'; +import {Message} from '../enums/Message'; +import {Utils} from './Utils'; +import {RegionFlags} from '../enums/RegionFlags'; +import {RegionHandshakeMessage} from './messages/RegionHandshake'; +import {MapNameRequestMessage} from './messages/MapNameRequest'; +import {GridLayerType} from '../enums/GridLayerType'; +import {MapBlockReplyMessage} from './messages/MapBlockReply'; +import {FilterResponse} from '../enums/FilterResponse'; +import * as Long from 'long'; export class Region { + regionName: string; + regionOwner: UUID; + regionID: UUID; + regionHandle: Long; xCoordinate: number; yCoordinate: number; + estateID: number; + parentEstateID: number; + regionFlags: RegionFlags; + mapImage: UUID; + + simAccess: number; + maxAgents: number; + billableFactor: number; + objectBonusFactor: number; + waterHeight: number; + terrainRaiseLimit: number; + terrainLowerLimit: number; + pricePerMeter: number; + redirectGridX: number; + redirectGridY: number; + useEstateSun: boolean; + sunHour: number; + productSKU: string; + productName: string; + maxAgents32: number; + hardMaxAgents: number; + hardMaxObjects: number; + cacheID: UUID; + cpuClassID: number; + cpuRatio: number; + coloName: string; + + terrainBase0: UUID; + terrainBase1: UUID; + terrainBase2: UUID; + terrainBase3: UUID; + terrainDetail0: UUID; + terrainDetail1: UUID; + terrainDetail2: UUID; + terrainDetail3: UUID; + terrainStartHeight00: number; + terrainStartHeight01: number; + terrainStartHeight10: number; + terrainStartHeight11: number; + terrainHeightRange00: number; + terrainHeightRange01: number; + terrainHeightRange10: number; + terrainHeightRange11: number; + circuit: Circuit; objects: IObjectStore; caps: Caps; @@ -40,6 +99,93 @@ export class Region { this.caps = new Caps(this.agent, this, seedURL, this.clientEvents); } + async handshake(handshake: RegionHandshakeMessage) + { + this.regionName = Utils.BufferToStringSimple(handshake.RegionInfo.SimName); + this.simAccess = handshake.RegionInfo.SimAccess; + this.regionFlags = handshake.RegionInfo.RegionFlags; + this.regionOwner = handshake.RegionInfo.SimOwner; + this.agent.setIsEstateManager(handshake.RegionInfo.IsEstateManager); + this.waterHeight = handshake.RegionInfo.WaterHeight; + this.billableFactor = handshake.RegionInfo.BillableFactor; + this.cacheID = handshake.RegionInfo.CacheID; + this.terrainBase0 = handshake.RegionInfo.TerrainBase0; + this.terrainBase1 = handshake.RegionInfo.TerrainBase1; + this.terrainBase2 = handshake.RegionInfo.TerrainBase2; + this.terrainBase3 = handshake.RegionInfo.TerrainBase3; + this.terrainDetail0 = handshake.RegionInfo.TerrainDetail0; + this.terrainDetail1 = handshake.RegionInfo.TerrainDetail1; + this.terrainDetail2 = handshake.RegionInfo.TerrainDetail2; + this.terrainDetail3 = handshake.RegionInfo.TerrainDetail3; + this.terrainStartHeight00 = handshake.RegionInfo.TerrainStartHeight00; + this.terrainStartHeight01 = handshake.RegionInfo.TerrainStartHeight01; + this.terrainStartHeight10 = handshake.RegionInfo.TerrainStartHeight10; + this.terrainStartHeight11 = handshake.RegionInfo.TerrainStartHeight11; + this.terrainHeightRange00 = handshake.RegionInfo.TerrainHeightRange00; + this.terrainHeightRange01 = handshake.RegionInfo.TerrainHeightRange01; + this.terrainHeightRange10 = handshake.RegionInfo.TerrainHeightRange10; + this.terrainHeightRange11 = handshake.RegionInfo.TerrainHeightRange11; + this.regionID = handshake.RegionInfo2.RegionID; + this.cpuClassID = handshake.RegionInfo3.CPUClassID; + this.cpuRatio = handshake.RegionInfo3.CPURatio; + this.coloName = Utils.BufferToStringSimple(handshake.RegionInfo3.ColoName); + this.productSKU = Utils.BufferToStringSimple(handshake.RegionInfo3.ProductSKU); + this.productName = Utils.BufferToStringSimple(handshake.RegionInfo3.ProductName); + + + + const request: RequestRegionInfoMessage = new RequestRegionInfoMessage(); + request.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID + }; + this.circuit.sendMessage(request, PacketFlags.Reliable); + const regionInfo: RegionInfoMessage = await this.circuit.waitForMessage(Message.RegionInfo, 10000); + + this.estateID = regionInfo.RegionInfo.EstateID; + this.parentEstateID = regionInfo.RegionInfo.ParentEstateID; + this.maxAgents = regionInfo.RegionInfo.MaxAgents; + this.objectBonusFactor = regionInfo.RegionInfo.ObjectBonusFactor; + this.terrainRaiseLimit = regionInfo.RegionInfo.TerrainRaiseLimit; + this.terrainLowerLimit = regionInfo.RegionInfo.TerrainLowerLimit; + this.pricePerMeter = regionInfo.RegionInfo.PricePerMeter; + this.redirectGridX = regionInfo.RegionInfo.RedirectGridX; + this.redirectGridY = regionInfo.RegionInfo.RedirectGridY; + this.useEstateSun = regionInfo.RegionInfo.UseEstateSun; + this.sunHour = regionInfo.RegionInfo.SunHour; + this.maxAgents32 = regionInfo.RegionInfo2.MaxAgents32; + this.hardMaxAgents = regionInfo.RegionInfo2.HardMaxAgents; + this.hardMaxObjects = regionInfo.RegionInfo2.HardMaxObjects; + + const msg: MapNameRequestMessage = new MapNameRequestMessage(); + msg.AgentData = { + AgentID: this.agent.agentID, + SessionID: this.circuit.sessionID, + Flags: GridLayerType.Objects, + EstateID: 0, + Godlike: false + }; + msg.NameData = { + Name: handshake.RegionInfo.SimName + }; + this.circuit.sendMessage(msg, PacketFlags.Reliable); + const reply: MapBlockReplyMessage = await this.circuit.waitForMessage(Message.MapBlockReply, 10000, (filterMsg: MapBlockReplyMessage): FilterResponse => + { + for (const region of filterMsg.Data) + { + const name = Utils.BufferToStringSimple(region.Name); + if (name.trim().toLowerCase() === this.regionName.trim().toLowerCase()) + { + this.xCoordinate = region.X; + this.yCoordinate = region.Y; + this.mapImage = region.MapImageID; + this.regionHandle = Utils.RegionCoordinatesToHandle(this.xCoordinate, this.yCoordinate); + return FilterResponse.Finish; + } + } + return FilterResponse.NoMatch; + }); + } shutdown() { this.comms.shutdown(); diff --git a/lib/classes/commands/CommandsBase.ts b/lib/classes/commands/CommandsBase.ts index 424b8a8..6abbdba 100644 --- a/lib/classes/commands/CommandsBase.ts +++ b/lib/classes/commands/CommandsBase.ts @@ -17,4 +17,8 @@ export class CommandsBase this.bot = bot; this.circuit = this.currentRegion.circuit; } -} \ No newline at end of file + shutdown() + { + + } +} diff --git a/lib/classes/commands/TeleportCommands.ts b/lib/classes/commands/TeleportCommands.ts index 16d50bc..4acb6c4 100644 --- a/lib/classes/commands/TeleportCommands.ts +++ b/lib/classes/commands/TeleportCommands.ts @@ -5,11 +5,57 @@ import {TeleportLureRequestMessage} from '../messages/TeleportLureRequest'; import {Vector3} from '../Vector3'; import {TeleportLocationRequestMessage} from '../messages/TeleportLocationRequest'; import * as Long from 'long'; -import {LureEvent, PacketFlags, RegionInfoReplyEvent, TeleportEvent, TeleportFlags} from '../..'; +import {LureEvent, PacketFlags, RegionInfoReplyEvent, TeleportEvent, TeleportFlags, Bot} from '../..'; +import {Agent} from '../Agent'; +import {Subscription} from 'rxjs/Subscription'; export class TeleportCommands extends CommandsBase { - private awaitTeleportEvent(): Promise + private expectingTeleport = false; + private teleportSubscription: Subscription; + constructor(region: Region, agent: Agent, bot: Bot) + { + super(region, agent, bot); + this.teleportSubscription = this.bot.clientEvents.onTeleportEvent.subscribe((e: TeleportEvent) => + { + if (e.eventType === TeleportEventType.TeleportCompleted) + { + if (!this.expectingTeleport) + { + if (e.simIP === 'local') + { + // Local TP - no need for any other shindiggery + return; + } + + const newRegion: Region = new Region(this.agent, this.bot.clientEvents, this.currentRegion.options); + newRegion.circuit.circuitCode = this.currentRegion.circuit.circuitCode; + newRegion.circuit.secureSessionID = this.currentRegion.circuit.secureSessionID; + newRegion.circuit.sessionID = this.currentRegion.circuit.sessionID; + newRegion.circuit.udpBlacklist = this.currentRegion.circuit.udpBlacklist; + newRegion.circuit.ipAddress = e.simIP; + newRegion.circuit.port = e.simPort; + newRegion.activateCaps(e.seedCapability); + + this.bot.changeRegion(newRegion, false).then(() => + { + // Change region successful + }).catch((error) => + { + console.log('Failed to change region'); + console.error(error); + }); + } + } + }); + } + + shutdown() + { + this.teleportSubscription.unsubscribe(); + } + + private awaitTeleportEvent(requested: boolean): Promise { return new Promise((resolve, reject) => { @@ -20,10 +66,15 @@ export class TeleportCommands extends CommandsBase reject(new Error('ClientEvents is null')); return; } + this.expectingTeleport = true; const subscription = this.bot.clientEvents.onTeleportEvent.subscribe((e: TeleportEvent) => { if (e.eventType === TeleportEventType.TeleportFailed || e.eventType === TeleportEventType.TeleportCompleted) { + setTimeout(() => + { + this.expectingTeleport = false; + }); subscription.unsubscribe(); } if (e.eventType === TeleportEventType.TeleportFailed) @@ -46,7 +97,6 @@ export class TeleportCommands extends CommandsBase } // Successful teleport! First, rip apart circuit - this.currentRegion.shutdown(); const region: Region = new Region(this.agent, this.bot.clientEvents, this.currentRegion.options); region.circuit.circuitCode = this.currentRegion.circuit.circuitCode; region.circuit.secureSessionID = this.currentRegion.circuit.secureSessionID; @@ -54,11 +104,9 @@ export class TeleportCommands extends CommandsBase region.circuit.udpBlacklist = this.currentRegion.circuit.udpBlacklist; region.circuit.ipAddress = e.simIP; region.circuit.port = e.simPort; - this.agent.setCurrentRegion(region); - this.currentRegion = region; - this.currentRegion.activateCaps(e.seedCapability); + region.activateCaps(e.seedCapability); - this.bot.changeRegion(this.currentRegion).then(() => + this.bot.changeRegion(region, requested).then(() => { resolve(e); }).catch((error) => @@ -88,7 +136,7 @@ export class TeleportCommands extends CommandsBase TeleportFlags: TeleportFlags.ViaLure }; circuit.sendMessage(tlr, PacketFlags.Reliable); - this.awaitTeleportEvent().then((event: TeleportEvent) => + this.awaitTeleportEvent(true).then((event: TeleportEvent) => { resolve(event); }).catch((err) => @@ -113,7 +161,7 @@ export class TeleportCommands extends CommandsBase RegionHandle: handle }; this.circuit.sendMessage(rtm, PacketFlags.Reliable); - this.awaitTeleportEvent().then((event: TeleportEvent) => + this.awaitTeleportEvent(true).then((event: TeleportEvent) => { resolve(event); }).catch((err) => diff --git a/lib/enums/RegionFlags.ts b/lib/enums/RegionFlags.ts new file mode 100644 index 0000000..de258e2 --- /dev/null +++ b/lib/enums/RegionFlags.ts @@ -0,0 +1,35 @@ +export enum RegionFlags +{ + None = 0, + AllowDamage = 1 << 0, + AllowLandmark = 1 << 1, + AllowSetHome = 1 << 2, + ResetHomeOnTeleport = 1 << 3, + SunFixed = 1 << 4, + TaxFree = 1 << 5, + BlockTerraform = 1 << 6, + BlockLandResell = 1 << 7, + Sandbox = 1 << 8, + NullLayer = 1 << 9, + SkipAgentAction = 1 << 10, + SkipUpdateInterestList = 1 << 11, + SkipCollisions = 1 << 12, + SkipScripts = 1 << 13, + SkipPhysics = 1 << 14, + ExternallyVisible = 1 << 15, + MainlandVisible = 1 << 16, + PublicAllowed = 1 << 17, + BlockDwell = 1 << 18, + NoFly = 1 << 19, + AllowDirectTeleport = 1 << 20, + EstateSkipScripts = 1 << 21, + RestrictPushObject = 1 << 22, + DenyAnonymous = 1 << 23, + DenyIdentified = 1 << 24, + DenyTransacted = 1 << 25, + AllowParcelChanges = 1 << 26, + AbuseEmailToEstateOwner = 1 << 27, + AllowVoice = 1 << 28, + BlockParcelSearch = 1 << 29, + DenyAgeUnverified = 1 << 30 +} diff --git a/lib/index.ts b/lib/index.ts index 0280aeb..4977cb6 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -40,6 +40,7 @@ import {ParcelInfoFlags} from './enums/ParcelInfoFlags'; import {ParcelInfoReplyEvent} from './events/ParcelInfoReplyEvent'; import {ScriptDialogEvent} from './events/ScriptDialogEvent'; import {EventQueueStateChangeEvent} from './events/EventQueueStateChangeEvent'; +import {RegionFlags} from './enums/RegionFlags'; export { Bot, @@ -67,6 +68,7 @@ export { RegionProtocolFlags, SoundFlags, TeleportFlags, + RegionFlags, // Events ChatEvent, diff --git a/package-lock.json b/package-lock.json index 4c3ef83..1b447e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@caspertech/node-metaverse", - "version": "0.4.5", + "version": "0.4.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -9,8 +9,8 @@ "resolved": "https://registry.npmjs.org/@caspertech/llsd/-/llsd-1.0.0.tgz", "integrity": "sha1-Dyr7xO+JzsXonSAqBAmt0smaml0=", "requires": { - "abab": "1.0.4", - "xmldom": "0.1.27" + "abab": "^1.0.4", + "xmldom": "^0.1.27" } }, "@types/caseless": { @@ -28,7 +28,7 @@ "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", "integrity": "sha1-7is7jqoRwJOCiZU2BrdFtzjFSx4=", "requires": { - "@types/node": "8.10.34" + "@types/node": "*" } }, "@types/long": { @@ -52,10 +52,10 @@ "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.1.tgz", "integrity": "sha512-TV3XLvDjQbIeVxJ1Z3oCTDk/KuYwwcNKVwz2YaT0F5u86Prgc4syDAp6P96rkTQQ4bIdh+VswQIC9zS6NjY7/g==", "requires": { - "@types/caseless": "0.12.1", - "@types/form-data": "2.2.1", - "@types/node": "8.10.34", - "@types/tough-cookie": "2.3.3" + "@types/caseless": "*", + "@types/form-data": "*", + "@types/node": "*", + "@types/tough-cookie": "*" } }, "@types/tough-cookie": { @@ -68,7 +68,7 @@ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.4.tgz", "integrity": "sha512-tPIgT0GUmdJQNSHxp0X2jnpQfBSTfGxUMc/2CXBU2mnyTFVYVa2ojpoQ74w0U2yn2vw3jnC640+77lkFFpdVDw==", "requires": { - "@types/node": "8.10.34" + "@types/node": "*" } }, "@types/validator": { @@ -81,7 +81,7 @@ "resolved": "https://registry.npmjs.org/@types/xml/-/xml-1.0.2.tgz", "integrity": "sha1-LCELmjupz5RFILMOraMRwjZ3wfw=", "requires": { - "@types/node": "8.10.34" + "@types/node": "*" } }, "@types/xmlrpc": { @@ -89,8 +89,8 @@ "resolved": "https://registry.npmjs.org/@types/xmlrpc/-/xmlrpc-1.3.5.tgz", "integrity": "sha512-0WaXC+u5gsiOAd2I9D95g5CPq3LbM15OK+c6IpNvOuUFyXoF1yVt0qhGEn3gQ6XRAxxOFQrU6Irm76U2Nvccgw==", "requires": { - "@types/events": "1.2.0", - "@types/node": "8.10.34" + "@types/events": "*", + "@types/node": "*" } }, "abab": { @@ -103,10 +103,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ansi-regex": { @@ -127,7 +127,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arrify": { @@ -141,7 +141,7 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "~2.1.0" } }, "assert-plus": { @@ -170,9 +170,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "chalk": { @@ -202,7 +202,7 @@ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "brace-expansion": { @@ -211,7 +211,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -244,9 +244,9 @@ "integrity": "sha1-tepI78nBeT3MybR2fJORTT8tUro=", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" }, "dependencies": { "ansi-styles": { @@ -255,7 +255,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.0" + "color-convert": "^1.9.0" } }, "supports-color": { @@ -264,7 +264,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -280,7 +280,7 @@ "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -294,7 +294,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -319,7 +319,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "debug": { @@ -348,7 +348,7 @@ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { - "esutils": "1.1.6", + "esutils": "^1.1.6", "isarray": "0.0.1" }, "dependencies": { @@ -366,8 +366,8 @@ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "optional": true, "requires": { - "jsbn": "0.1.1", - "safer-buffer": "2.1.2" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, "escape-string-regexp": { @@ -418,9 +418,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.20" + "mime-types": "^2.1.12" }, "dependencies": { "combined-stream": { @@ -428,7 +428,7 @@ "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } } } @@ -444,7 +444,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -453,12 +453,12 @@ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "growl": { @@ -477,8 +477,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.3.0", + "har-schema": "^2.0.0" } }, "has-ansi": { @@ -487,7 +487,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -508,7 +508,7 @@ "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "dev": true, "requires": { - "parse-passwd": "1.0.0" + "parse-passwd": "^1.0.0" } }, "http-signature": { @@ -516,9 +516,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.2" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "inflight": { @@ -527,8 +527,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -570,8 +570,8 @@ "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.1" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -627,7 +627,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.20.tgz", "integrity": "sha512-HrkrPaP9vGuWbLK1B1FfgAkbqNjIuy4eHlIYnFi7kamZyLLrGlo2mpcx0bBmNpKqBtYtAfGbodDddIgddSJC2A==", "requires": { - "mime-db": "1.36.0" + "mime-db": "~1.36.0" } }, "minimatch": { @@ -636,7 +636,7 @@ "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -698,12 +698,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "supports-color": { @@ -712,7 +712,7 @@ "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -734,7 +734,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "parse-passwd": { @@ -780,26 +780,26 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.8.0", - "caseless": "0.12.0", - "combined-stream": "1.0.7", - "extend": "3.0.2", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.1.0", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.20", - "oauth-sign": "0.9.0", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "tough-cookie": "2.4.3", - "tunnel-agent": "0.6.0", - "uuid": "3.3.2" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" }, "dependencies": { "safe-buffer": { @@ -815,7 +815,7 @@ "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", "dev": true, "requires": { - "path-parse": "1.0.6" + "path-parse": "^1.0.5" } }, "rxjs": { @@ -859,8 +859,8 @@ "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==", "dev": true, "requires": { - "buffer-from": "1.1.1", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "sprintf-js": { @@ -874,15 +874,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "0.2.4", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.2", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.2", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "safer-buffer": "2.1.2", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" } }, "strip-ansi": { @@ -922,8 +922,8 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { - "psl": "1.1.29", - "punycode": "1.4.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" } }, "ts-node": { @@ -932,16 +932,16 @@ "integrity": "sha1-wTxqMCTjC+EYDdUwOPwgkonUv2k=", "dev": true, "requires": { - "arrify": "1.0.1", - "chalk": "2.3.0", - "diff": "3.4.0", - "make-error": "1.3.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18", - "tsconfig": "6.0.0", - "v8flags": "3.0.1", - "yn": "2.0.0" + "arrify": "^1.0.0", + "chalk": "^2.0.0", + "diff": "^3.1.0", + "make-error": "^1.1.1", + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.0", + "tsconfig": "^6.0.0", + "v8flags": "^3.0.0", + "yn": "^2.0.0" }, "dependencies": { "source-map": { @@ -956,7 +956,7 @@ "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } } } @@ -967,8 +967,8 @@ "integrity": "sha1-aw6DdgA9evGGT434+J3QBZ/80DI=", "dev": true, "requires": { - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1" + "strip-bom": "^3.0.0", + "strip-json-comments": "^2.0.0" } }, "tslib": { @@ -983,18 +983,18 @@ "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "builtin-modules": "1.1.1", - "chalk": "2.3.0", - "commander": "2.18.0", - "diff": "3.4.0", - "glob": "7.1.3", - "js-yaml": "3.12.0", - "minimatch": "3.0.4", - "resolve": "1.8.1", - "semver": "5.5.1", - "tslib": "1.8.0", - "tsutils": "2.29.0" + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.3.0", + "commander": "^2.12.1", + "diff": "^3.2.0", + "glob": "^7.1.1", + "js-yaml": "^3.7.0", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.8.0", + "tsutils": "^2.27.2" } }, "tslint-eslint-rules": { @@ -1003,9 +1003,9 @@ "integrity": "sha1-fDDniC8mvCdr/5HSOEl1xp2viLo=", "dev": true, "requires": { - "doctrine": "0.7.2", - "tslib": "1.8.0", - "tsutils": "1.9.1" + "doctrine": "^0.7.2", + "tslib": "^1.0.0", + "tsutils": "^1.4.0" }, "dependencies": { "tsutils": { @@ -1022,7 +1022,7 @@ "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, "requires": { - "tslib": "1.9.3" + "tslib": "^1.8.1" }, "dependencies": { "tslib": { @@ -1038,7 +1038,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -1064,7 +1064,7 @@ "integrity": "sha1-3Oj8N5wX2fLJ6e142JzgAFKxt2s=", "dev": true, "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "^1.0.1" } }, "validator": { @@ -1077,9 +1077,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "wrappy": { @@ -1108,8 +1108,8 @@ "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz", "integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=", "requires": { - "sax": "1.2.4", - "xmlbuilder": "8.2.2" + "sax": "1.2.x", + "xmlbuilder": "8.2.x" } }, "yn": {