consortium
Version:
Remote control and session sharing CLI for AI coding agents
133 lines (124 loc) • 5.76 kB
JavaScript
import { s as struct, f as field, b as buffer } from './struct-deserialize-DqeMe-dl.mjs';
// @__NO_SIDE_EFFECTS__
function extend(base, fields, options) {
return struct(Object.assign({}, base.fields, fields), {
littleEndian: options?.littleEndian ?? base.littleEndian,
extra: base.extra,
postDeserialize: options?.postDeserialize
});
}
// @__NO_SIDE_EFFECTS__
function getUint16(buffer, offset, littleEndian) {
return littleEndian ? buffer[offset] | buffer[offset + 1] << 8 : buffer[offset + 1] | buffer[offset] << 8;
}
function setUint16(buffer, offset, value, littleEndian) {
if (littleEndian) {
buffer[offset] = value;
buffer[offset + 1] = value >> 8;
} else {
buffer[offset] = value >> 8;
buffer[offset + 1] = value;
}
}
// @__NO_SIDE_EFFECTS__
function getUint32LittleEndian(buffer, offset) {
return (buffer[offset] | buffer[offset + 1] << 8 | buffer[offset + 2] << 16 | buffer[offset + 3] << 24) >>> 0;
}
// @__NO_SIDE_EFFECTS__
function getUint32BigEndian(buffer, offset) {
return (buffer[offset] << 24 | buffer[offset + 1] << 16 | buffer[offset + 2] << 8 | buffer[offset + 3]) >>> 0;
}
// @__NO_SIDE_EFFECTS__
function getUint32(buffer, offset, littleEndian) {
return littleEndian ? (buffer[offset] | buffer[offset + 1] << 8 | buffer[offset + 2] << 16 | buffer[offset + 3] << 24) >>> 0 : (buffer[offset] << 24 | buffer[offset + 1] << 16 | buffer[offset + 2] << 8 | buffer[offset + 3]) >>> 0;
}
function setUint32(buffer, offset, value, littleEndian) {
if (littleEndian) {
buffer[offset] = value;
buffer[offset + 1] = value >> 8;
buffer[offset + 2] = value >> 16;
buffer[offset + 3] = value >> 24;
} else {
buffer[offset] = value >> 24;
buffer[offset + 1] = value >> 16;
buffer[offset + 2] = value >> 8;
buffer[offset + 3] = value;
}
}
function getUint64LittleEndian(buffer, offset) {
return BigInt(buffer[offset]) | BigInt(buffer[offset + 1]) << 8n | BigInt(buffer[offset + 2]) << 16n | BigInt(buffer[offset + 3]) << 24n | BigInt(buffer[offset + 4]) << 32n | BigInt(buffer[offset + 5]) << 40n | BigInt(buffer[offset + 6]) << 48n | BigInt(buffer[offset + 7]) << 56n;
}
function getUint64(buffer, offset, littleEndian) {
return littleEndian ? BigInt(buffer[offset]) | BigInt(buffer[offset + 1]) << 8n | BigInt(buffer[offset + 2]) << 16n | BigInt(buffer[offset + 3]) << 24n | BigInt(buffer[offset + 4]) << 32n | BigInt(buffer[offset + 5]) << 40n | BigInt(buffer[offset + 6]) << 48n | BigInt(buffer[offset + 7]) << 56n : BigInt(buffer[offset]) << 56n | BigInt(buffer[offset + 1]) << 48n | BigInt(buffer[offset + 2]) << 40n | BigInt(buffer[offset + 3]) << 32n | BigInt(buffer[offset + 4]) << 24n | BigInt(buffer[offset + 5]) << 16n | BigInt(buffer[offset + 6]) << 8n | BigInt(buffer[offset + 7]);
}
function setUint64(buffer, offset, value, littleEndian) {
if (littleEndian) {
buffer[offset] = Number(value & 0xffn);
buffer[offset + 1] = Number(value >> 8n & 0xffn);
buffer[offset + 2] = Number(value >> 16n & 0xffn);
buffer[offset + 3] = Number(value >> 24n & 0xffn);
buffer[offset + 4] = Number(value >> 32n & 0xffn);
buffer[offset + 5] = Number(value >> 40n & 0xffn);
buffer[offset + 6] = Number(value >> 48n & 0xffn);
buffer[offset + 7] = Number(value >> 56n & 0xffn);
} else {
buffer[offset] = Number(value >> 56n & 0xffn);
buffer[offset + 1] = Number(value >> 48n & 0xffn);
buffer[offset + 2] = Number(value >> 40n & 0xffn);
buffer[offset + 3] = Number(value >> 32n & 0xffn);
buffer[offset + 4] = Number(value >> 24n & 0xffn);
buffer[offset + 5] = Number(value >> 16n & 0xffn);
buffer[offset + 6] = Number(value >> 8n & 0xffn);
buffer[offset + 7] = Number(value & 0xffn);
}
}
// @__NO_SIDE_EFFECTS__
function number(size, serialize, deserialize) {
const fn = (() => fn);
Object.assign(fn, field(size, "byob", serialize, deserialize));
return fn;
}
const u8 = /* @__PURE__ */ number(1, (value, { buffer, index }) => {
buffer[index] = value;
}, function* (then, reader) {
const data = yield* then(reader.readExactly(1));
return data[0];
});
const u16 = /* @__PURE__ */ number(2, (value, { buffer, index, littleEndian }) => {
setUint16(buffer, index, value, littleEndian);
}, function* (then, reader, { littleEndian }) {
const data = yield* then(reader.readExactly(2));
return getUint16(data, 0, littleEndian);
});
const u32 = /* @__PURE__ */ number(4, (value, { buffer, index, littleEndian }) => {
setUint32(buffer, index, value, littleEndian);
}, function* (then, reader, { littleEndian }) {
const data = yield* then(reader.readExactly(4));
return getUint32(data, 0, littleEndian);
});
const u64 = /* @__PURE__ */ number(8, (value, { buffer, index, littleEndian }) => {
setUint64(buffer, index, value, littleEndian);
}, function* (then, reader, { littleEndian }) {
const data = yield* then(reader.readExactly(8));
return getUint64(data, 0, littleEndian);
});
const { TextEncoder, TextDecoder } = globalThis;
const SharedEncoder = /* @__PURE__ */ new TextEncoder();
const SharedDecoder = /* @__PURE__ */ new TextDecoder();
// @__NO_SIDE_EFFECTS__
function encodeUtf8(input) {
return SharedEncoder.encode(input);
}
// @__NO_SIDE_EFFECTS__
function decodeUtf8(buffer) {
return SharedDecoder.decode(buffer);
}
const string = (/* @__NO_SIDE_EFFECTS__ */ (lengthOrField) => {
const field = buffer(lengthOrField, {
convert: decodeUtf8,
back: encodeUtf8
});
field.as = () => field;
return field;
});
export { TextDecoder as T, encodeUtf8 as a, u8 as b, u64 as c, decodeUtf8 as d, extend as e, getUint64LittleEndian as f, getUint32LittleEndian as g, u16 as h, getUint16 as i, setUint16 as j, getUint32BigEndian as k, string as s, u32 as u };