UNPKG

agentlang

Version:

The easiest way to build the most reliable AI agents - enterprise-grade teams of AI agents that collaborate with each other and humans

1,452 lines (1,439 loc) 1.39 MB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a2, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a2, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a2, prop, b[prop]); } return a2; }; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default")); var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); // node_modules/.pnpm/vscode-languageserver@9.0.1/node_modules/vscode-languageserver/lib/common/utils/is.js var require_is = __commonJS({ "node_modules/.pnpm/vscode-languageserver@9.0.1/node_modules/vscode-languageserver/lib/common/utils/is.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.thenable = exports2.typedArray = exports2.stringArray = exports2.array = exports2.func = exports2.error = exports2.number = exports2.string = exports2.boolean = void 0; function boolean(value) { return value === true || value === false; } exports2.boolean = boolean; function string(value) { return typeof value === "string" || value instanceof String; } exports2.string = string; function number(value) { return typeof value === "number" || value instanceof Number; } exports2.number = number; function error(value) { return value instanceof Error; } exports2.error = error; function func(value) { return typeof value === "function"; } exports2.func = func; function array(value) { return Array.isArray(value); } exports2.array = array; function stringArray(value) { return array(value) && value.every((elem) => string(elem)); } exports2.stringArray = stringArray; function typedArray(value, check) { return Array.isArray(value) && value.every(check); } exports2.typedArray = typedArray; function thenable(value) { return value && func(value.then); } exports2.thenable = thenable; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js var require_is2 = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.stringArray = exports2.array = exports2.func = exports2.error = exports2.number = exports2.string = exports2.boolean = void 0; function boolean(value) { return value === true || value === false; } exports2.boolean = boolean; function string(value) { return typeof value === "string" || value instanceof String; } exports2.string = string; function number(value) { return typeof value === "number" || value instanceof Number; } exports2.number = number; function error(value) { return value instanceof Error; } exports2.error = error; function func(value) { return typeof value === "function"; } exports2.func = func; function array(value) { return Array.isArray(value); } exports2.array = array; function stringArray(value) { return array(value) && value.every((elem) => string(elem)); } exports2.stringArray = stringArray; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js var require_messages = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Message = exports2.NotificationType9 = exports2.NotificationType8 = exports2.NotificationType7 = exports2.NotificationType6 = exports2.NotificationType5 = exports2.NotificationType4 = exports2.NotificationType3 = exports2.NotificationType2 = exports2.NotificationType1 = exports2.NotificationType0 = exports2.NotificationType = exports2.RequestType9 = exports2.RequestType8 = exports2.RequestType7 = exports2.RequestType6 = exports2.RequestType5 = exports2.RequestType4 = exports2.RequestType3 = exports2.RequestType2 = exports2.RequestType1 = exports2.RequestType = exports2.RequestType0 = exports2.AbstractMessageSignature = exports2.ParameterStructures = exports2.ResponseError = exports2.ErrorCodes = void 0; var is = require_is2(); var ErrorCodes; (function(ErrorCodes2) { ErrorCodes2.ParseError = -32700; ErrorCodes2.InvalidRequest = -32600; ErrorCodes2.MethodNotFound = -32601; ErrorCodes2.InvalidParams = -32602; ErrorCodes2.InternalError = -32603; ErrorCodes2.jsonrpcReservedErrorRangeStart = -32099; ErrorCodes2.serverErrorStart = -32099; ErrorCodes2.MessageWriteError = -32099; ErrorCodes2.MessageReadError = -32098; ErrorCodes2.PendingResponseRejected = -32097; ErrorCodes2.ConnectionInactive = -32096; ErrorCodes2.ServerNotInitialized = -32002; ErrorCodes2.UnknownErrorCode = -32001; ErrorCodes2.jsonrpcReservedErrorRangeEnd = -32e3; ErrorCodes2.serverErrorEnd = -32e3; })(ErrorCodes || (exports2.ErrorCodes = ErrorCodes = {})); var ResponseError2 = class _ResponseError extends Error { constructor(code, message, data) { super(message); this.code = is.number(code) ? code : ErrorCodes.UnknownErrorCode; this.data = data; Object.setPrototypeOf(this, _ResponseError.prototype); } toJson() { const result = { code: this.code, message: this.message }; if (this.data !== void 0) { result.data = this.data; } return result; } }; exports2.ResponseError = ResponseError2; var ParameterStructures = class _ParameterStructures { constructor(kind) { this.kind = kind; } static is(value) { return value === _ParameterStructures.auto || value === _ParameterStructures.byName || value === _ParameterStructures.byPosition; } toString() { return this.kind; } }; exports2.ParameterStructures = ParameterStructures; ParameterStructures.auto = new ParameterStructures("auto"); ParameterStructures.byPosition = new ParameterStructures("byPosition"); ParameterStructures.byName = new ParameterStructures("byName"); var AbstractMessageSignature = class { constructor(method, numberOfParams) { this.method = method; this.numberOfParams = numberOfParams; } get parameterStructures() { return ParameterStructures.auto; } }; exports2.AbstractMessageSignature = AbstractMessageSignature; var RequestType0 = class extends AbstractMessageSignature { constructor(method) { super(method, 0); } }; exports2.RequestType0 = RequestType0; var RequestType = class extends AbstractMessageSignature { constructor(method, _parameterStructures = ParameterStructures.auto) { super(method, 1); this._parameterStructures = _parameterStructures; } get parameterStructures() { return this._parameterStructures; } }; exports2.RequestType = RequestType; var RequestType1 = class extends AbstractMessageSignature { constructor(method, _parameterStructures = ParameterStructures.auto) { super(method, 1); this._parameterStructures = _parameterStructures; } get parameterStructures() { return this._parameterStructures; } }; exports2.RequestType1 = RequestType1; var RequestType2 = class extends AbstractMessageSignature { constructor(method) { super(method, 2); } }; exports2.RequestType2 = RequestType2; var RequestType3 = class extends AbstractMessageSignature { constructor(method) { super(method, 3); } }; exports2.RequestType3 = RequestType3; var RequestType4 = class extends AbstractMessageSignature { constructor(method) { super(method, 4); } }; exports2.RequestType4 = RequestType4; var RequestType5 = class extends AbstractMessageSignature { constructor(method) { super(method, 5); } }; exports2.RequestType5 = RequestType5; var RequestType6 = class extends AbstractMessageSignature { constructor(method) { super(method, 6); } }; exports2.RequestType6 = RequestType6; var RequestType7 = class extends AbstractMessageSignature { constructor(method) { super(method, 7); } }; exports2.RequestType7 = RequestType7; var RequestType8 = class extends AbstractMessageSignature { constructor(method) { super(method, 8); } }; exports2.RequestType8 = RequestType8; var RequestType9 = class extends AbstractMessageSignature { constructor(method) { super(method, 9); } }; exports2.RequestType9 = RequestType9; var NotificationType = class extends AbstractMessageSignature { constructor(method, _parameterStructures = ParameterStructures.auto) { super(method, 1); this._parameterStructures = _parameterStructures; } get parameterStructures() { return this._parameterStructures; } }; exports2.NotificationType = NotificationType; var NotificationType0 = class extends AbstractMessageSignature { constructor(method) { super(method, 0); } }; exports2.NotificationType0 = NotificationType0; var NotificationType1 = class extends AbstractMessageSignature { constructor(method, _parameterStructures = ParameterStructures.auto) { super(method, 1); this._parameterStructures = _parameterStructures; } get parameterStructures() { return this._parameterStructures; } }; exports2.NotificationType1 = NotificationType1; var NotificationType2 = class extends AbstractMessageSignature { constructor(method) { super(method, 2); } }; exports2.NotificationType2 = NotificationType2; var NotificationType3 = class extends AbstractMessageSignature { constructor(method) { super(method, 3); } }; exports2.NotificationType3 = NotificationType3; var NotificationType4 = class extends AbstractMessageSignature { constructor(method) { super(method, 4); } }; exports2.NotificationType4 = NotificationType4; var NotificationType5 = class extends AbstractMessageSignature { constructor(method) { super(method, 5); } }; exports2.NotificationType5 = NotificationType5; var NotificationType6 = class extends AbstractMessageSignature { constructor(method) { super(method, 6); } }; exports2.NotificationType6 = NotificationType6; var NotificationType7 = class extends AbstractMessageSignature { constructor(method) { super(method, 7); } }; exports2.NotificationType7 = NotificationType7; var NotificationType8 = class extends AbstractMessageSignature { constructor(method) { super(method, 8); } }; exports2.NotificationType8 = NotificationType8; var NotificationType9 = class extends AbstractMessageSignature { constructor(method) { super(method, 9); } }; exports2.NotificationType9 = NotificationType9; var Message; (function(Message2) { function isRequest(message) { const candidate = message; return candidate && is.string(candidate.method) && (is.string(candidate.id) || is.number(candidate.id)); } Message2.isRequest = isRequest; function isNotification(message) { const candidate = message; return candidate && is.string(candidate.method) && message.id === void 0; } Message2.isNotification = isNotification; function isResponse(message) { const candidate = message; return candidate && (candidate.result !== void 0 || !!candidate.error) && (is.string(candidate.id) || is.number(candidate.id) || candidate.id === null); } Message2.isResponse = isResponse; })(Message || (exports2.Message = Message = {})); } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js var require_linkedMap = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(exports2) { "use strict"; var _a; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LRUCache = exports2.LinkedMap = exports2.Touch = void 0; var Touch; (function(Touch2) { Touch2.None = 0; Touch2.First = 1; Touch2.AsOld = Touch2.First; Touch2.Last = 2; Touch2.AsNew = Touch2.Last; })(Touch || (exports2.Touch = Touch = {})); var LinkedMap = class { constructor() { this[_a] = "LinkedMap"; this._map = /* @__PURE__ */ new Map(); this._head = void 0; this._tail = void 0; this._size = 0; this._state = 0; } clear() { this._map.clear(); this._head = void 0; this._tail = void 0; this._size = 0; this._state++; } isEmpty() { return !this._head && !this._tail; } get size() { return this._size; } get first() { var _a2; return (_a2 = this._head) == null ? void 0 : _a2.value; } get last() { var _a2; return (_a2 = this._tail) == null ? void 0 : _a2.value; } has(key) { return this._map.has(key); } get(key, touch = Touch.None) { const item = this._map.get(key); if (!item) { return void 0; } if (touch !== Touch.None) { this.touch(item, touch); } return item.value; } set(key, value, touch = Touch.None) { let item = this._map.get(key); if (item) { item.value = value; if (touch !== Touch.None) { this.touch(item, touch); } } else { item = { key, value, next: void 0, previous: void 0 }; switch (touch) { case Touch.None: this.addItemLast(item); break; case Touch.First: this.addItemFirst(item); break; case Touch.Last: this.addItemLast(item); break; default: this.addItemLast(item); break; } this._map.set(key, item); this._size++; } return this; } delete(key) { return !!this.remove(key); } remove(key) { const item = this._map.get(key); if (!item) { return void 0; } this._map.delete(key); this.removeItem(item); this._size--; return item.value; } shift() { if (!this._head && !this._tail) { return void 0; } if (!this._head || !this._tail) { throw new Error("Invalid list"); } const item = this._head; this._map.delete(item.key); this.removeItem(item); this._size--; return item.value; } forEach(callbackfn, thisArg) { const state = this._state; let current = this._head; while (current) { if (thisArg) { callbackfn.bind(thisArg)(current.value, current.key, this); } else { callbackfn(current.value, current.key, this); } if (this._state !== state) { throw new Error(`LinkedMap got modified during iteration.`); } current = current.next; } } keys() { const state = this._state; let current = this._head; const iterator = { [Symbol.iterator]: () => { return iterator; }, next: () => { if (this._state !== state) { throw new Error(`LinkedMap got modified during iteration.`); } if (current) { const result = { value: current.key, done: false }; current = current.next; return result; } else { return { value: void 0, done: true }; } } }; return iterator; } values() { const state = this._state; let current = this._head; const iterator = { [Symbol.iterator]: () => { return iterator; }, next: () => { if (this._state !== state) { throw new Error(`LinkedMap got modified during iteration.`); } if (current) { const result = { value: current.value, done: false }; current = current.next; return result; } else { return { value: void 0, done: true }; } } }; return iterator; } entries() { const state = this._state; let current = this._head; const iterator = { [Symbol.iterator]: () => { return iterator; }, next: () => { if (this._state !== state) { throw new Error(`LinkedMap got modified during iteration.`); } if (current) { const result = { value: [current.key, current.value], done: false }; current = current.next; return result; } else { return { value: void 0, done: true }; } } }; return iterator; } [(_a = Symbol.toStringTag, Symbol.iterator)]() { return this.entries(); } trimOld(newSize) { if (newSize >= this.size) { return; } if (newSize === 0) { this.clear(); return; } let current = this._head; let currentSize = this.size; while (current && currentSize > newSize) { this._map.delete(current.key); current = current.next; currentSize--; } this._head = current; this._size = currentSize; if (current) { current.previous = void 0; } this._state++; } addItemFirst(item) { if (!this._head && !this._tail) { this._tail = item; } else if (!this._head) { throw new Error("Invalid list"); } else { item.next = this._head; this._head.previous = item; } this._head = item; this._state++; } addItemLast(item) { if (!this._head && !this._tail) { this._head = item; } else if (!this._tail) { throw new Error("Invalid list"); } else { item.previous = this._tail; this._tail.next = item; } this._tail = item; this._state++; } removeItem(item) { if (item === this._head && item === this._tail) { this._head = void 0; this._tail = void 0; } else if (item === this._head) { if (!item.next) { throw new Error("Invalid list"); } item.next.previous = void 0; this._head = item.next; } else if (item === this._tail) { if (!item.previous) { throw new Error("Invalid list"); } item.previous.next = void 0; this._tail = item.previous; } else { const next = item.next; const previous = item.previous; if (!next || !previous) { throw new Error("Invalid list"); } next.previous = previous; previous.next = next; } item.next = void 0; item.previous = void 0; this._state++; } touch(item, touch) { if (!this._head || !this._tail) { throw new Error("Invalid list"); } if (touch !== Touch.First && touch !== Touch.Last) { return; } if (touch === Touch.First) { if (item === this._head) { return; } const next = item.next; const previous = item.previous; if (item === this._tail) { previous.next = void 0; this._tail = previous; } else { next.previous = previous; previous.next = next; } item.previous = void 0; item.next = this._head; this._head.previous = item; this._head = item; this._state++; } else if (touch === Touch.Last) { if (item === this._tail) { return; } const next = item.next; const previous = item.previous; if (item === this._head) { next.previous = void 0; this._head = next; } else { next.previous = previous; previous.next = next; } item.next = void 0; item.previous = this._tail; this._tail.next = item; this._tail = item; this._state++; } } toJSON() { const data = []; this.forEach((value, key) => { data.push([key, value]); }); return data; } fromJSON(data) { this.clear(); for (const [key, value] of data) { this.set(key, value); } } }; exports2.LinkedMap = LinkedMap; var LRUCache = class extends LinkedMap { constructor(limit, ratio = 1) { super(); this._limit = limit; this._ratio = Math.min(Math.max(0, ratio), 1); } get limit() { return this._limit; } set limit(limit) { this._limit = limit; this.checkTrim(); } get ratio() { return this._ratio; } set ratio(ratio) { this._ratio = Math.min(Math.max(0, ratio), 1); this.checkTrim(); } get(key, touch = Touch.AsNew) { return super.get(key, touch); } peek(key) { return super.get(key, Touch.None); } set(key, value) { super.set(key, value, Touch.Last); this.checkTrim(); return this; } checkTrim() { if (this.size > this._limit) { this.trimOld(Math.round(this._limit * this._ratio)); } } }; exports2.LRUCache = LRUCache; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js var require_disposable = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Disposable = void 0; var Disposable3; (function(Disposable4) { function create(func) { return { dispose: func }; } Disposable4.create = create; })(Disposable3 || (exports2.Disposable = Disposable3 = {})); } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js var require_ral = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var _ral; function RAL() { if (_ral === void 0) { throw new Error(`No runtime abstraction layer installed`); } return _ral; } (function(RAL2) { function install(ral) { if (ral === void 0) { throw new Error(`No runtime abstraction layer provided`); } _ral = ral; } RAL2.install = install; })(RAL || (RAL = {})); exports2.default = RAL; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js var require_events = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Emitter = exports2.Event = void 0; var ral_1 = require_ral(); var Event; (function(Event2) { const _disposable = { dispose() { } }; Event2.None = function() { return _disposable; }; })(Event || (exports2.Event = Event = {})); var CallbackList = class { add(callback, context = null, bucket) { if (!this._callbacks) { this._callbacks = []; this._contexts = []; } this._callbacks.push(callback); this._contexts.push(context); if (Array.isArray(bucket)) { bucket.push({ dispose: () => this.remove(callback, context) }); } } remove(callback, context = null) { if (!this._callbacks) { return; } let foundCallbackWithDifferentContext = false; for (let i = 0, len = this._callbacks.length; i < len; i++) { if (this._callbacks[i] === callback) { if (this._contexts[i] === context) { this._callbacks.splice(i, 1); this._contexts.splice(i, 1); return; } else { foundCallbackWithDifferentContext = true; } } } if (foundCallbackWithDifferentContext) { throw new Error("When adding a listener with a context, you should remove it with the same context"); } } invoke(...args) { if (!this._callbacks) { return []; } const ret = [], callbacks = this._callbacks.slice(0), contexts = this._contexts.slice(0); for (let i = 0, len = callbacks.length; i < len; i++) { try { ret.push(callbacks[i].apply(contexts[i], args)); } catch (e) { (0, ral_1.default)().console.error(e); } } return ret; } isEmpty() { return !this._callbacks || this._callbacks.length === 0; } dispose() { this._callbacks = void 0; this._contexts = void 0; } }; var Emitter5 = class _Emitter { constructor(_options) { this._options = _options; } /** * For the public to allow to subscribe * to events from this Emitter */ get event() { if (!this._event) { this._event = (listener, thisArgs, disposables) => { if (!this._callbacks) { this._callbacks = new CallbackList(); } if (this._options && this._options.onFirstListenerAdd && this._callbacks.isEmpty()) { this._options.onFirstListenerAdd(this); } this._callbacks.add(listener, thisArgs); const result = { dispose: () => { if (!this._callbacks) { return; } this._callbacks.remove(listener, thisArgs); result.dispose = _Emitter._noop; if (this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) { this._options.onLastListenerRemove(this); } } }; if (Array.isArray(disposables)) { disposables.push(result); } return result; }; } return this._event; } /** * To be kept private to fire an event to * subscribers */ fire(event) { if (this._callbacks) { this._callbacks.invoke.call(this._callbacks, event); } } dispose() { if (this._callbacks) { this._callbacks.dispose(); this._callbacks = void 0; } } }; exports2.Emitter = Emitter5; Emitter5._noop = function() { }; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js var require_cancellation = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CancellationTokenSource = exports2.CancellationToken = void 0; var ral_1 = require_ral(); var Is2 = require_is2(); var events_1 = require_events(); var CancellationToken12; (function(CancellationToken13) { CancellationToken13.None = Object.freeze({ isCancellationRequested: false, onCancellationRequested: events_1.Event.None }); CancellationToken13.Cancelled = Object.freeze({ isCancellationRequested: true, onCancellationRequested: events_1.Event.None }); function is(value) { const candidate = value; return candidate && (candidate === CancellationToken13.None || candidate === CancellationToken13.Cancelled || Is2.boolean(candidate.isCancellationRequested) && !!candidate.onCancellationRequested); } CancellationToken13.is = is; })(CancellationToken12 || (exports2.CancellationToken = CancellationToken12 = {})); var shortcutEvent = Object.freeze(function(callback, context) { const handle = (0, ral_1.default)().timer.setTimeout(callback.bind(context), 0); return { dispose() { handle.dispose(); } }; }); var MutableToken = class { constructor() { this._isCancelled = false; } cancel() { if (!this._isCancelled) { this._isCancelled = true; if (this._emitter) { this._emitter.fire(void 0); this.dispose(); } } } get isCancellationRequested() { return this._isCancelled; } get onCancellationRequested() { if (this._isCancelled) { return shortcutEvent; } if (!this._emitter) { this._emitter = new events_1.Emitter(); } return this._emitter.event; } dispose() { if (this._emitter) { this._emitter.dispose(); this._emitter = void 0; } } }; var CancellationTokenSource3 = class { get token() { if (!this._token) { this._token = new MutableToken(); } return this._token; } cancel() { if (!this._token) { this._token = CancellationToken12.Cancelled; } else { this._token.cancel(); } } dispose() { if (!this._token) { this._token = CancellationToken12.None; } else if (this._token instanceof MutableToken) { this._token.dispose(); } } }; exports2.CancellationTokenSource = CancellationTokenSource3; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js var require_sharedArrayCancellation = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SharedArrayReceiverStrategy = exports2.SharedArraySenderStrategy = void 0; var cancellation_1 = require_cancellation(); var CancellationState; (function(CancellationState2) { CancellationState2.Continue = 0; CancellationState2.Cancelled = 1; })(CancellationState || (CancellationState = {})); var SharedArraySenderStrategy = class { constructor() { this.buffers = /* @__PURE__ */ new Map(); } enableCancellation(request) { if (request.id === null) { return; } const buffer = new SharedArrayBuffer(4); const data = new Int32Array(buffer, 0, 1); data[0] = CancellationState.Continue; this.buffers.set(request.id, buffer); request.$cancellationData = buffer; } async sendCancellation(_conn, id) { const buffer = this.buffers.get(id); if (buffer === void 0) { return; } const data = new Int32Array(buffer, 0, 1); Atomics.store(data, 0, CancellationState.Cancelled); } cleanup(id) { this.buffers.delete(id); } dispose() { this.buffers.clear(); } }; exports2.SharedArraySenderStrategy = SharedArraySenderStrategy; var SharedArrayBufferCancellationToken = class { constructor(buffer) { this.data = new Int32Array(buffer, 0, 1); } get isCancellationRequested() { return Atomics.load(this.data, 0) === CancellationState.Cancelled; } get onCancellationRequested() { throw new Error(`Cancellation over SharedArrayBuffer doesn't support cancellation events`); } }; var SharedArrayBufferCancellationTokenSource = class { constructor(buffer) { this.token = new SharedArrayBufferCancellationToken(buffer); } cancel() { } dispose() { } }; var SharedArrayReceiverStrategy = class { constructor() { this.kind = "request"; } createCancellationTokenSource(request) { const buffer = request.$cancellationData; if (buffer === void 0) { return new cancellation_1.CancellationTokenSource(); } return new SharedArrayBufferCancellationTokenSource(buffer); } }; exports2.SharedArrayReceiverStrategy = SharedArrayReceiverStrategy; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js var require_semaphore = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Semaphore = void 0; var ral_1 = require_ral(); var Semaphore = class { constructor(capacity = 1) { if (capacity <= 0) { throw new Error("Capacity must be greater than 0"); } this._capacity = capacity; this._active = 0; this._waiting = []; } lock(thunk) { return new Promise((resolve, reject2) => { this._waiting.push({ thunk, resolve, reject: reject2 }); this.runNext(); }); } get active() { return this._active; } runNext() { if (this._waiting.length === 0 || this._active === this._capacity) { return; } (0, ral_1.default)().timer.setImmediate(() => this.doRunNext()); } doRunNext() { if (this._waiting.length === 0 || this._active === this._capacity) { return; } const next = this._waiting.shift(); this._active++; if (this._active > this._capacity) { throw new Error(`To many thunks active`); } try { const result = next.thunk(); if (result instanceof Promise) { result.then((value) => { this._active--; next.resolve(value); this.runNext(); }, (err) => { this._active--; next.reject(err); this.runNext(); }); } else { this._active--; next.resolve(result); this.runNext(); } } catch (err) { this._active--; next.reject(err); this.runNext(); } } }; exports2.Semaphore = Semaphore; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js var require_messageReader = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ReadableStreamMessageReader = exports2.AbstractMessageReader = exports2.MessageReader = void 0; var ral_1 = require_ral(); var Is2 = require_is2(); var events_1 = require_events(); var semaphore_1 = require_semaphore(); var MessageReader; (function(MessageReader2) { function is(value) { let candidate = value; return candidate && Is2.func(candidate.listen) && Is2.func(candidate.dispose) && Is2.func(candidate.onError) && Is2.func(candidate.onClose) && Is2.func(candidate.onPartialMessage); } MessageReader2.is = is; })(MessageReader || (exports2.MessageReader = MessageReader = {})); var AbstractMessageReader = class { constructor() { this.errorEmitter = new events_1.Emitter(); this.closeEmitter = new events_1.Emitter(); this.partialMessageEmitter = new events_1.Emitter(); } dispose() { this.errorEmitter.dispose(); this.closeEmitter.dispose(); } get onError() { return this.errorEmitter.event; } fireError(error) { this.errorEmitter.fire(this.asError(error)); } get onClose() { return this.closeEmitter.event; } fireClose() { this.closeEmitter.fire(void 0); } get onPartialMessage() { return this.partialMessageEmitter.event; } firePartialMessage(info) { this.partialMessageEmitter.fire(info); } asError(error) { if (error instanceof Error) { return error; } else { return new Error(`Reader received error. Reason: ${Is2.string(error.message) ? error.message : "unknown"}`); } } }; exports2.AbstractMessageReader = AbstractMessageReader; var ResolvedMessageReaderOptions; (function(ResolvedMessageReaderOptions2) { function fromOptions(options) { var _a; let charset; let result; let contentDecoder; const contentDecoders = /* @__PURE__ */ new Map(); let contentTypeDecoder; const contentTypeDecoders = /* @__PURE__ */ new Map(); if (options === void 0 || typeof options === "string") { charset = options != null ? options : "utf-8"; } else { charset = (_a = options.charset) != null ? _a : "utf-8"; if (options.contentDecoder !== void 0) { contentDecoder = options.contentDecoder; contentDecoders.set(contentDecoder.name, contentDecoder); } if (options.contentDecoders !== void 0) { for (const decoder of options.contentDecoders) { contentDecoders.set(decoder.name, decoder); } } if (options.contentTypeDecoder !== void 0) { contentTypeDecoder = options.contentTypeDecoder; contentTypeDecoders.set(contentTypeDecoder.name, contentTypeDecoder); } if (options.contentTypeDecoders !== void 0) { for (const decoder of options.contentTypeDecoders) { contentTypeDecoders.set(decoder.name, decoder); } } } if (contentTypeDecoder === void 0) { contentTypeDecoder = (0, ral_1.default)().applicationJson.decoder; contentTypeDecoders.set(contentTypeDecoder.name, contentTypeDecoder); } return { charset, contentDecoder, contentDecoders, contentTypeDecoder, contentTypeDecoders }; } ResolvedMessageReaderOptions2.fromOptions = fromOptions; })(ResolvedMessageReaderOptions || (ResolvedMessageReaderOptions = {})); var ReadableStreamMessageReader = class extends AbstractMessageReader { constructor(readable, options) { super(); this.readable = readable; this.options = ResolvedMessageReaderOptions.fromOptions(options); this.buffer = (0, ral_1.default)().messageBuffer.create(this.options.charset); this._partialMessageTimeout = 1e4; this.nextMessageLength = -1; this.messageToken = 0; this.readSemaphore = new semaphore_1.Semaphore(1); } set partialMessageTimeout(timeout) { this._partialMessageTimeout = timeout; } get partialMessageTimeout() { return this._partialMessageTimeout; } listen(callback) { this.nextMessageLength = -1; this.messageToken = 0; this.partialMessageTimer = void 0; this.callback = callback; const result = this.readable.onData((data) => { this.onData(data); }); this.readable.onError((error) => this.fireError(error)); this.readable.onClose(() => this.fireClose()); return result; } onData(data) { try { this.buffer.append(data); while (true) { if (this.nextMessageLength === -1) { const headers = this.buffer.tryReadHeaders(true); if (!headers) { return; } const contentLength = headers.get("content-length"); if (!contentLength) { this.fireError(new Error(`Header must provide a Content-Length property. ${JSON.stringify(Object.fromEntries(headers))}`)); return; } const length = parseInt(contentLength); if (isNaN(length)) { this.fireError(new Error(`Content-Length value must be a number. Got ${contentLength}`)); return; } this.nextMessageLength = length; } const body = this.buffer.tryReadBody(this.nextMessageLength); if (body === void 0) { this.setPartialMessageTimer(); return; } this.clearPartialMessageTimer(); this.nextMessageLength = -1; this.readSemaphore.lock(async () => { const bytes = this.options.contentDecoder !== void 0 ? await this.options.contentDecoder.decode(body) : body; const message = await this.options.contentTypeDecoder.decode(bytes, this.options); this.callback(message); }).catch((error) => { this.fireError(error); }); } } catch (error) { this.fireError(error); } } clearPartialMessageTimer() { if (this.partialMessageTimer) { this.partialMessageTimer.dispose(); this.partialMessageTimer = void 0; } } setPartialMessageTimer() { this.clearPartialMessageTimer(); if (this._partialMessageTimeout <= 0) { return; } this.partialMessageTimer = (0, ral_1.default)().timer.setTimeout((token, timeout) => { this.partialMessageTimer = void 0; if (token === this.messageToken) { this.firePartialMessage({ messageToken: token, waitingTime: timeout }); this.setPartialMessageTimer(); } }, this._partialMessageTimeout, this.messageToken, this._partialMessageTimeout); } }; exports2.ReadableStreamMessageReader = ReadableStreamMessageReader; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js var require_messageWriter = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.WriteableStreamMessageWriter = exports2.AbstractMessageWriter = exports2.MessageWriter = void 0; var ral_1 = require_ral(); var Is2 = require_is2(); var semaphore_1 = require_semaphore(); var events_1 = require_events(); var ContentLength = "Content-Length: "; var CRLF = "\r\n"; var MessageWriter; (function(MessageWriter2) { function is(value) { let candidate = value; return candidate && Is2.func(candidate.dispose) && Is2.func(candidate.onClose) && Is2.func(candidate.onError) && Is2.func(candidate.write); } MessageWriter2.is = is; })(MessageWriter || (exports2.MessageWriter = MessageWriter = {})); var AbstractMessageWriter = class { constructor() { this.errorEmitter = new events_1.Emitter(); this.closeEmitter = new events_1.Emitter(); } dispose() { this.errorEmitter.dispose(); this.closeEmitter.dispose(); } get onError() { return this.errorEmitter.event; } fireError(error, message, count) { this.errorEmitter.fire([this.asError(error), message, count]); } get onClose() { return this.closeEmitter.event; } fireClose() { this.closeEmitter.fire(void 0); } asError(error) { if (error instanceof Error) { return error; } else { return new Error(`Writer received error. Reason: ${Is2.string(error.message) ? error.message : "unknown"}`); } } }; exports2.AbstractMessageWriter = AbstractMessageWriter; var ResolvedMessageWriterOptions; (function(ResolvedMessageWriterOptions2) { function fromOptions(options) { var _a, _b; if (options === void 0 || typeof options === "string") { return { charset: options != null ? options : "utf-8", contentTypeEncoder: (0, ral_1.default)().applicationJson.encoder }; } else { return { charset: (_a = options.charset) != null ? _a : "utf-8", contentEncoder: options.contentEncoder, contentTypeEncoder: (_b = options.contentTypeEncoder) != null ? _b : (0, ral_1.default)().applicationJson.encoder }; } } ResolvedMessageWriterOptions2.fromOptions = fromOptions; })(ResolvedMessageWriterOptions || (ResolvedMessageWriterOptions = {})); var WriteableStreamMessageWriter = class extends AbstractMessageWriter { constructor(writable, options) { super(); this.writable = writable; this.options = ResolvedMessageWriterOptions.fromOptions(options); this.errorCount = 0; this.writeSemaphore = new semaphore_1.Semaphore(1); this.writable.onError((error) => this.fireError(error)); this.writable.onClose(() => this.fireClose()); } async write(msg) { return this.writeSemaphore.lock(async () => { const payload = this.options.contentTypeEncoder.encode(msg, this.options).then((buffer) => { if (this.options.contentEncoder !== void 0) { return this.options.contentEncoder.encode(buffer); } else { return buffer; } }); return payload.then((buffer) => { const headers = []; headers.push(ContentLength, buffer.byteLength.toString(), CRLF); headers.push(CRLF); return this.doWrite(msg, headers, buffer); }, (error) => { this.fireError(error); throw error; }); }); } async doWrite(msg, headers, data) { try { await this.writable.write(headers.join(""), "ascii"); return this.writable.write(data); } catch (error) { this.handleError(error, msg); return Promise.reject(error); } } handleError(error, msg) { this.errorCount++; this.fireError(error, msg, this.errorCount); } end() { this.writable.end(); } }; exports2.WriteableStreamMessageWriter = WriteableStreamMessageWriter; } }); // node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js var require_messageBuffer = __commonJS({ "node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode