@agentxjs/ui 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CRELszoW.js","sources":["../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/config.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Observable.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subject.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/observable/empty.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/filter.js","../../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/operators/take.js","../../agentx/dist/index.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function filter(predicate, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) { return predicate.call(thisArg, value, index++) && subscriber.next(value); }));\n });\n}\n//# sourceMappingURL=filter.js.map","import { EMPTY } from '../observable/empty';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function take(count) {\n return count <= 0\n ?\n function () { return EMPTY; }\n : operate(function (source, subscriber) {\n var seen = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n if (++seen <= count) {\n subscriber.next(value);\n if (count <= seen) {\n subscriber.complete();\n }\n }\n }));\n });\n}\n//# sourceMappingURL=take.js.map","import { LogLevel, isStateEvent, STREAM_EVENT_TYPE_NAMES } from '@agentxjs/types';\nimport ky from 'ky';\nimport { Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/defineAgent.ts\nfunction defineAgent(input) {\n const { name, description, systemPrompt } = input;\n return {\n name,\n description,\n systemPrompt\n };\n}\nvar __defProp2 = Object.defineProperty;\nvar __defNormalProp2 = (obj, key, value) => key in obj ? __defProp2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField2 = (obj, key, value) => __defNormalProp2(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _ConsoleLogger = class _ConsoleLogger2 {\n constructor(name, options = {}) {\n __publicField2(this, \"name\");\n __publicField2(this, \"level\");\n __publicField2(this, \"colors\");\n __publicField2(this, \"timestamps\");\n this.name = name;\n this.level = options.level ?? LogLevel.INFO;\n this.colors = options.colors ?? this.isNodeEnvironment();\n this.timestamps = options.timestamps ?? true;\n }\n debug(message, context) {\n if (this.isDebugEnabled()) {\n this.log(\"DEBUG\", message, context);\n }\n }\n info(message, context) {\n if (this.isInfoEnabled()) {\n this.log(\"INFO\", message, context);\n }\n }\n warn(message, context) {\n if (this.isWarnEnabled()) {\n this.log(\"WARN\", message, context);\n }\n }\n error(message, context) {\n if (this.isErrorEnabled()) {\n if (message instanceof Error) {\n this.log(\"ERROR\", message.message, { ...context, stack: message.stack });\n } else {\n this.log(\"ERROR\", message, context);\n }\n }\n }\n isDebugEnabled() {\n return this.level <= LogLevel.DEBUG;\n }\n isInfoEnabled() {\n return this.level <= LogLevel.INFO;\n }\n isWarnEnabled() {\n return this.level <= LogLevel.WARN;\n }\n isErrorEnabled() {\n return this.level <= LogLevel.ERROR;\n }\n log(level, message, context) {\n const parts = [];\n if (this.timestamps) {\n parts.push((/* @__PURE__ */ new Date()).toISOString());\n }\n if (this.colors) {\n const color = _ConsoleLogger2.COLORS[level];\n parts.push(`${color}${level.padEnd(5)}${_ConsoleLogger2.COLORS.RESET}`);\n } else {\n parts.push(level.padEnd(5));\n }\n parts.push(`[${this.name}]`);\n parts.push(message);\n const logLine = parts.join(\" \");\n const consoleMethod = this.getConsoleMethod(level);\n if (context && Object.keys(context).length > 0) {\n consoleMethod(logLine, context);\n } else {\n consoleMethod(logLine);\n }\n }\n getConsoleMethod(level) {\n switch (level) {\n case \"DEBUG\":\n return console.debug.bind(console);\n case \"INFO\":\n return console.info.bind(console);\n case \"WARN\":\n return console.warn.bind(console);\n case \"ERROR\":\n return console.error.bind(console);\n default:\n return console.log.bind(console);\n }\n }\n isNodeEnvironment() {\n return typeof process !== \"undefined\" && process.versions?.node !== void 0;\n }\n};\n__publicField2(_ConsoleLogger, \"COLORS\", {\n DEBUG: \"\\x1B[36m\",\n INFO: \"\\x1B[32m\",\n WARN: \"\\x1B[33m\",\n ERROR: \"\\x1B[31m\",\n RESET: \"\\x1B[0m\"\n});\nvar ConsoleLogger = _ConsoleLogger;\nvar externalFactory = null;\nvar LoggerFactoryImpl = class {\n static getLogger(nameOrClass) {\n const name = typeof nameOrClass === \"string\" ? nameOrClass : nameOrClass.name;\n if (this.loggers.has(name)) {\n return this.loggers.get(name);\n }\n const lazyLogger = this.createLazyLogger(name);\n this.loggers.set(name, lazyLogger);\n return lazyLogger;\n }\n static configure(config) {\n this.config = { ...this.config, ...config };\n }\n static reset() {\n this.loggers.clear();\n this.config = { defaultLevel: LogLevel.INFO };\n externalFactory = null;\n }\n static createLazyLogger(name) {\n let realLogger = null;\n const getRealLogger = () => {\n if (!realLogger) {\n realLogger = this.createLogger(name);\n }\n return realLogger;\n };\n return {\n name,\n level: this.config.defaultLevel || LogLevel.INFO,\n debug: (message, context) => getRealLogger().debug(message, context),\n info: (message, context) => getRealLogger().info(message, context),\n warn: (message, context) => getRealLogger().warn(message, context),\n error: (message, context) => getRealLogger().error(message, context),\n isDebugEnabled: () => getRealLogger().isDebugEnabled(),\n isInfoEnabled: () => getRealLogger().isInfoEnabled(),\n isWarnEnabled: () => getRealLogger().isWarnEnabled(),\n isErrorEnabled: () => getRealLogger().isErrorEnabled()\n };\n }\n static createLogger(name) {\n if (externalFactory) {\n return externalFactory.getLogger(name);\n }\n if (this.config.defaultImplementation) {\n return this.config.defaultImplementation(name);\n }\n return new ConsoleLogger(name, {\n level: this.config.defaultLevel,\n ...this.config.consoleOptions\n });\n }\n};\n__publicField2(LoggerFactoryImpl, \"loggers\", /* @__PURE__ */ new Map());\n__publicField2(LoggerFactoryImpl, \"config\", {\n defaultLevel: LogLevel.INFO\n});\nfunction setLoggerFactory(factory) {\n externalFactory = factory;\n LoggerFactoryImpl.reset();\n externalFactory = factory;\n}\nfunction createLogger(name) {\n return LoggerFactoryImpl.getLogger(name);\n}\n\n// src/managers/definition/DefinitionManagerImpl.ts\nvar logger = createLogger(\"agentx/DefinitionManager\");\nfunction generateMetaImageId(definitionName) {\n return `meta_${definitionName}`;\n}\nfunction toDefinitionRecord(definition) {\n const now = /* @__PURE__ */ new Date();\n return {\n name: definition.name,\n description: definition.description,\n systemPrompt: definition.systemPrompt,\n definition,\n source: \"code\",\n createdAt: now,\n updatedAt: now\n };\n}\nvar DefinitionManagerImpl = class {\n constructor(repository) {\n this.repository = repository;\n // Local cache for sync access\n __publicField(this, \"cache\", /* @__PURE__ */ new Map());\n }\n register(definition) {\n if (this.cache.has(definition.name)) {\n throw new Error(`Definition already exists: ${definition.name}`);\n }\n this.cache.set(definition.name, definition);\n const definitionRecord = toDefinitionRecord(definition);\n this.repository.saveDefinition(definitionRecord).catch((err) => {\n logger.error(\"Failed to save definition\", { name: definition.name, error: err });\n });\n const metaImageId = generateMetaImageId(definition.name);\n const imageRecord = {\n imageId: metaImageId,\n type: \"meta\",\n definitionName: definition.name,\n parentImageId: null,\n definition,\n config: {},\n messages: [],\n createdAt: /* @__PURE__ */ new Date()\n };\n this.repository.saveImage(imageRecord).catch((err) => {\n logger.error(\"Failed to save MetaImage\", { definitionName: definition.name, error: err });\n });\n logger.info(\"Definition registered\", {\n name: definition.name,\n metaImageId\n });\n }\n get(name) {\n return this.cache.get(name);\n }\n list() {\n return Array.from(this.cache.values());\n }\n has(name) {\n return this.cache.has(name);\n }\n unregister(name) {\n const definition = this.cache.get(name);\n if (!definition) {\n return false;\n }\n this.cache.delete(name);\n this.repository.deleteDefinition(name).catch((err) => {\n logger.error(\"Failed to delete definition\", { name, error: err });\n });\n const metaImageId = generateMetaImageId(name);\n this.repository.deleteImage(metaImageId).catch((err) => {\n logger.error(\"Failed to delete MetaImage\", { definitionName: name, error: err });\n });\n logger.info(\"Definition unregistered\", { name });\n return true;\n }\n};\n\n// src/managers/image/ImageManagerImpl.ts\nvar logger2 = createLogger(\"agentx/ImageManager\");\nfunction generateMetaImageId2(definitionName) {\n return `meta_${definitionName}`;\n}\nfunction toAgentImage(record) {\n const definition = record.definition;\n if (record.type === \"meta\") {\n const metaImage = {\n type: \"meta\",\n imageId: record.imageId,\n definitionName: record.definitionName,\n definition,\n config: record.config,\n messages: [],\n createdAt: record.createdAt\n };\n return metaImage;\n } else {\n return {\n type: \"derived\",\n imageId: record.imageId,\n parentImageId: record.parentImageId,\n definitionName: record.definitionName,\n definition,\n config: record.config,\n messages: record.messages,\n createdAt: record.createdAt\n };\n }\n}\nvar ImageManagerImpl = class {\n constructor(repository, containerManager, defaultContainerId) {\n __publicField(this, \"repository\");\n __publicField(this, \"containerManager\");\n __publicField(this, \"defaultContainerId\");\n this.repository = repository;\n this.containerManager = containerManager;\n this.defaultContainerId = defaultContainerId;\n }\n async get(imageId) {\n const record = await this.repository.findImageById(imageId);\n if (!record) {\n return void 0;\n }\n return toAgentImage(record);\n }\n async getMetaImage(definitionName) {\n const metaImageId = generateMetaImageId2(definitionName);\n const record = await this.repository.findImageById(metaImageId);\n if (!record || record.type !== \"meta\") {\n return void 0;\n }\n return toAgentImage(record);\n }\n async list() {\n const records = await this.repository.findAllImages();\n return records.map(toAgentImage);\n }\n async listByDefinition(definitionName) {\n const allRecords = await this.repository.findAllImages();\n const filtered = allRecords.filter((r) => r.definitionName === definitionName);\n return filtered.map(toAgentImage);\n }\n async exists(imageId) {\n return this.repository.imageExists(imageId);\n }\n async delete(imageId) {\n const record = await this.repository.findImageById(imageId);\n if (!record) {\n return false;\n }\n if (record.type === \"meta\") {\n logger2.warn(\"Cannot delete MetaImage directly\", { imageId });\n return false;\n }\n await this.repository.deleteImage(imageId);\n logger2.info(\"Image deleted\", { imageId });\n return true;\n }\n async run(imageId, options) {\n logger2.info(\"Running agent from image\", { imageId, containerId: options?.containerId });\n const image = await this.get(imageId);\n if (!image) {\n throw new Error(`Image not found: ${imageId}`);\n }\n let containerId = options?.containerId || this.defaultContainerId;\n if (!containerId) {\n const container = await this.containerManager.create();\n containerId = container.containerId;\n this.defaultContainerId = containerId;\n logger2.debug(\"Auto-created default container\", { containerId });\n }\n return this.containerManager.run(image, containerId);\n }\n};\n\n// src/managers/agent/AgentManager.ts\nvar logger3 = createLogger(\"agentx/AgentManager\");\nvar AgentManager = class {\n constructor(containerManager) {\n this.containerManager = containerManager;\n }\n /**\n * Get an existing agent by ID\n */\n get(agentId) {\n return this.containerManager.getAgent(agentId);\n }\n /**\n * Check if an agent exists\n */\n has(agentId) {\n return this.containerManager.hasAgent(agentId);\n }\n /**\n * List all agents\n */\n list() {\n return this.containerManager.listAgents();\n }\n /**\n * Destroy an agent by ID\n */\n async destroy(agentId) {\n logger3.debug(\"Destroying agent\", { agentId });\n await this.containerManager.destroyAgent(agentId);\n logger3.info(\"Agent destroyed\", { agentId });\n }\n /**\n * Destroy all agents\n */\n async destroyAll() {\n const agents = this.containerManager.listAgents();\n logger3.debug(\"Destroying all agents\", { count: agents.length });\n await this.containerManager.destroyAllAgents();\n logger3.info(\"All agents destroyed\", { count: agents.length });\n }\n};\n\n// src/managers/session/SessionManagerImpl.ts\nvar logger4 = createLogger(\"agentx/SessionManager\");\nfunction generateSessionId() {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 8);\n return `session_${timestamp}_${random}`;\n}\nfunction generateImageId() {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 8);\n return `image_${timestamp}_${random}`;\n}\nvar SessionImpl = class _SessionImpl {\n constructor(record, repository, containerManager, defaultContainerId) {\n __publicField(this, \"sessionId\");\n __publicField(this, \"userId\");\n __publicField(this, \"imageId\");\n __publicField(this, \"createdAt\");\n __publicField(this, \"_title\");\n __publicField(this, \"_updatedAt\");\n __publicField(this, \"repository\");\n __publicField(this, \"containerManager\");\n __publicField(this, \"defaultContainerId\");\n this.sessionId = record.sessionId;\n this.userId = record.userId;\n this.imageId = record.imageId;\n this._title = record.title;\n this.createdAt = record.createdAt.getTime();\n this._updatedAt = record.updatedAt.getTime();\n this.repository = repository;\n this.containerManager = containerManager;\n this.defaultContainerId = defaultContainerId;\n }\n get title() {\n return this._title;\n }\n get updatedAt() {\n return this._updatedAt;\n }\n async resume(options) {\n logger4.info(\"Resuming agent from session\", {\n sessionId: this.sessionId,\n imageId: this.imageId,\n containerId: options?.containerId\n });\n let containerId = options?.containerId || this.defaultContainerId;\n if (!containerId) {\n const container = await this.containerManager.create();\n containerId = container.containerId;\n logger4.debug(\"Auto-created default container for session\", {\n containerId,\n sessionId: this.sessionId\n });\n }\n const agent = await this.containerManager.resume(this, containerId);\n this.collect(agent);\n return agent;\n }\n collect(agent) {\n logger4.debug(\"Collecting messages from agent\", {\n sessionId: this.sessionId,\n agentId: agent.agentId\n });\n const sessionId = this.sessionId;\n const repository = this.repository;\n const saveMessage = (data, role) => {\n const record = {\n messageId: data.id,\n sessionId,\n role,\n content: data,\n createdAt: new Date(data.timestamp ?? Date.now())\n };\n repository.saveMessage(record).catch((error) => {\n logger4.error(\"Failed to persist message\", {\n sessionId,\n messageId: record.messageId,\n error\n });\n });\n };\n agent.on(\"user_message\", (event) => saveMessage(event.data, \"user\"));\n agent.on(\"assistant_message\", (event) => saveMessage(event.data, \"assistant\"));\n agent.on(\"tool_call_message\", (event) => saveMessage(event.data, \"tool\"));\n agent.on(\"tool_result_message\", (event) => saveMessage(event.data, \"tool\"));\n }\n async getMessages() {\n logger4.debug(\"Getting messages for session\", { sessionId: this.sessionId });\n const records = await this.repository.findMessagesBySessionId(this.sessionId);\n return records.map((record) => record.content);\n }\n async fork() {\n logger4.info(\"Forking session\", { sessionId: this.sessionId });\n const imageRecord = await this.repository.findImageById(this.imageId);\n if (!imageRecord) {\n throw new Error(`Image not found: ${this.imageId}`);\n }\n const newImageId = generateImageId();\n const newImageRecord = {\n imageId: newImageId,\n type: \"derived\",\n definitionName: imageRecord.definitionName,\n parentImageId: imageRecord.imageId,\n definition: imageRecord.definition,\n config: imageRecord.config,\n messages: [...imageRecord.messages],\n // Copy messages\n createdAt: /* @__PURE__ */ new Date()\n };\n await this.repository.saveImage(newImageRecord);\n const newSessionId = generateSessionId();\n const now = /* @__PURE__ */ new Date();\n const newSessionRecord = {\n sessionId: newSessionId,\n userId: this.userId,\n imageId: newImageId,\n title: this._title ? `Fork of ${this._title}` : null,\n createdAt: now,\n updatedAt: now\n };\n await this.repository.saveSession(newSessionRecord);\n logger4.info(\"Session forked\", {\n originalSessionId: this.sessionId,\n newSessionId,\n newImageId\n });\n return new _SessionImpl(\n newSessionRecord,\n this.repository,\n this.containerManager,\n this.defaultContainerId\n );\n }\n async setTitle(title) {\n logger4.debug(\"Setting session title\", { sessionId: this.sessionId, title });\n const now = /* @__PURE__ */ new Date();\n await this.repository.saveSession({\n sessionId: this.sessionId,\n userId: this.userId,\n imageId: this.imageId,\n title,\n createdAt: new Date(this.createdAt),\n updatedAt: now\n });\n this._title = title;\n this._updatedAt = now.getTime();\n logger4.info(\"Session title updated\", { sessionId: this.sessionId, title });\n }\n};\nvar SessionManagerImpl = class {\n constructor(repository, containerManager, defaultContainerId) {\n __publicField(this, \"repository\");\n __publicField(this, \"containerManager\");\n __publicField(this, \"defaultContainerId\");\n this.repository = repository;\n this.containerManager = containerManager;\n this.defaultContainerId = defaultContainerId;\n }\n async create(imageId, userId) {\n const sessionId = generateSessionId();\n const now = /* @__PURE__ */ new Date();\n const record = {\n sessionId,\n userId,\n imageId,\n title: null,\n createdAt: now,\n updatedAt: now\n };\n await this.repository.saveSession(record);\n logger4.info(\"Session created\", { sessionId, imageId, userId });\n return new SessionImpl(record, this.repository, this.containerManager, this.defaultContainerId);\n }\n async get(sessionId) {\n const record = await this.repository.findSessionById(sessionId);\n if (!record) return void 0;\n return new SessionImpl(record, this.repository, this.containerManager, this.defaultContainerId);\n }\n async has(sessionId) {\n return this.repository.sessionExists(sessionId);\n }\n async list() {\n const records = await this.repository.findAllSessions();\n return records.map(\n (r) => new SessionImpl(r, this.repository, this.containerManager, this.defaultContainerId)\n );\n }\n async listByImage(imageId) {\n const records = await this.repository.findSessionsByImageId(imageId);\n return records.map(\n (r) => new SessionImpl(r, this.repository, this.containerManager, this.defaultContainerId)\n );\n }\n async listByUser(userId) {\n const records = await this.repository.findSessionsByUserId(userId);\n return records.map(\n (r) => new SessionImpl(r, this.repository, this.containerManager, this.defaultContainerId)\n );\n }\n async destroy(sessionId) {\n await this.repository.deleteSession(sessionId);\n logger4.info(\"Session destroyed\", { sessionId });\n }\n async destroyByImage(imageId) {\n await this.repository.deleteSessionsByImageId(imageId);\n logger4.info(\"Sessions destroyed by image\", { imageId });\n }\n async destroyAll() {\n const sessions = await this.repository.findAllSessions();\n for (const session of sessions) {\n await this.repository.deleteSession(session.sessionId);\n }\n logger4.info(\"All sessions destroyed\");\n }\n};\n\n// src/managers/error/ErrorManager.ts\nvar logger5 = createLogger(\"agentx/ErrorManager\");\nvar ErrorManager = class {\n constructor() {\n __publicField(this, \"handlers\", /* @__PURE__ */ new Set());\n }\n /**\n * Handle an error from any agent\n *\n * Called internally when an agent emits an error event.\n * 1. Default logging (always)\n * 2. Custom handlers (user-registered)\n */\n handle(agentId, error, event) {\n this.logError(agentId, error);\n for (const handler of this.handlers) {\n try {\n handler.handle(agentId, error, event);\n } catch (e) {\n logger5.error(\"ErrorHandler failed\", { error: e });\n }\n }\n }\n /**\n * Add a custom error handler\n */\n addHandler(handler) {\n this.handlers.add(handler);\n return () => {\n this.handlers.delete(handler);\n };\n }\n /**\n * Remove an error handler\n */\n removeHandler(handler) {\n this.handlers.delete(handler);\n }\n /**\n * Default error logging\n */\n logError(agentId, error) {\n const prefix = `[${agentId}] ${error.category}/${error.code}`;\n if (error.severity === \"fatal\") {\n logger5.error(`${prefix}: ${error.message}`, { error });\n } else if (error.severity === \"error\") {\n logger5.error(`${prefix}: ${error.message}`);\n } else {\n logger5.warn(`${prefix}: ${error.message}`);\n }\n }\n};\nvar ApiError = class extends Error {\n constructor(code, message, details) {\n super(message);\n this.code = code;\n this.details = details;\n this.name = \"ApiError\";\n }\n};\nfunction createHttpClient(options) {\n return ky.create({\n prefixUrl: options.baseUrl.replace(/\\/+$/, \"\"),\n headers: options.headers,\n timeout: options.timeout || 3e4,\n hooks: {\n afterResponse: [\n async (_request, _options, response) => {\n if (!response.ok) {\n const data = await response.json().catch(() => ({}));\n throw new ApiError(\n data.error?.code || \"UNKNOWN_ERROR\",\n data.error?.message || `Request failed: ${response.status}`,\n data.error?.details\n );\n }\n return response;\n }\n ]\n }\n });\n}\nvar logger6 = createLogger(\"core/AgentStateMachine\");\nvar AgentStateMachine = class {\n constructor() {\n __publicField(this, \"_state\", \"idle\");\n __publicField(this, \"handlers\", /* @__PURE__ */ new Set());\n }\n /**\n * Current agent state\n */\n get state() {\n return this._state;\n }\n /**\n * Process a StateEvent and update internal state\n *\n * @param event - StateEvent from Engine layer\n */\n process(event) {\n const prev = this._state;\n const next = this.mapEventToState(event);\n if (next !== null && prev !== next) {\n this._state = next;\n logger6.debug(\"State transition\", {\n eventType: event.type,\n from: prev,\n to: next\n });\n this.notifyHandlers({ prev, current: next });\n }\n }\n /**\n * Subscribe to state changes\n *\n * @param handler - Callback receiving { prev, current } state change\n * @returns Unsubscribe function\n */\n onStateChange(handler) {\n this.handlers.add(handler);\n return () => {\n this.handlers.delete(handler);\n };\n }\n /**\n * Reset state machine (used on destroy)\n */\n reset() {\n this._state;\n this._state = \"idle\";\n this.handlers.clear();\n }\n /**\n * Map StateEvent type to AgentState\n *\n * @param event - StateEvent from Engine\n * @returns New AgentState or null if no transition needed\n */\n mapEventToState(event) {\n switch (event.type) {\n // Agent lifecycle\n case \"agent_initializing\":\n return \"initializing\";\n case \"agent_ready\":\n return \"idle\";\n case \"agent_destroyed\":\n return \"idle\";\n // Conversation lifecycle\n case \"conversation_queued\":\n return \"queued\";\n case \"conversation_start\":\n return \"conversation_active\";\n case \"conversation_thinking\":\n return \"thinking\";\n case \"conversation_responding\":\n return \"responding\";\n case \"conversation_end\":\n return \"idle\";\n case \"conversation_interrupted\":\n return \"idle\";\n // Return to idle on interrupt\n // Tool lifecycle\n case \"tool_planned\":\n return \"planning_tool\";\n case \"tool_executing\":\n return \"awaiting_tool_result\";\n case \"tool_completed\":\n return \"responding\";\n // Back to responding after tool completes\n case \"tool_failed\":\n return \"responding\";\n // Continue responding after tool failure\n // Error\n case \"error_occurred\":\n return \"idle\";\n // Reset to idle on error\n default:\n return null;\n }\n }\n /**\n * Notify all registered handlers of state change\n */\n notifyHandlers(change) {\n for (const handler of this.handlers) {\n try {\n handler(change);\n } catch (error) {\n logger6.error(\"State change handler error\", {\n from: change.prev,\n to: change.current,\n error\n });\n }\n }\n }\n};\nvar logger22 = createLogger(\"core/AgentEventBus\");\nvar AgentEventBus = class {\n constructor() {\n __publicField(this, \"subject\", new Subject());\n __publicField(this, \"typeSubscriptions\", /* @__PURE__ */ new Map());\n __publicField(this, \"globalSubscriptions\", []);\n __publicField(this, \"nextId\", 0);\n __publicField(this, \"isDestroyed\", false);\n // Cached views\n __publicField(this, \"producerView\", null);\n __publicField(this, \"consumerView\", null);\n }\n // ===== Producer Methods =====\n emit(event) {\n if (this.isDestroyed) {\n logger22.warn(\"Emit called on destroyed EventBus\", { eventType: event.type });\n return;\n }\n this.subject.next(event);\n }\n emitBatch(events) {\n for (const event of events) {\n this.emit(event);\n }\n }\n on(typeOrTypes, handler, options = {}) {\n if (this.isDestroyed) {\n logger22.warn(\"Subscribe called on destroyed EventBus\");\n return () => {\n };\n }\n const types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];\n const unsubscribes = [];\n for (const type of types) {\n const unsub = this.subscribeToType(type, handler, options);\n unsubscribes.push(unsub);\n }\n return () => unsubscribes.forEach((u) => u());\n }\n onAny(handler, options = {}) {\n if (this.isDestroyed) {\n logger22.warn(\"Subscribe called on destroyed EventBus\");\n return () => {\n };\n }\n return this.subscribeGlobal(handler, options);\n }\n once(type, handler) {\n return this.on(type, handler, { once: true });\n }\n // ===== View Methods =====\n asConsumer() {\n if (!this.consumerView) {\n this.consumerView = {\n on: this.on.bind(this),\n onAny: this.onAny.bind(this),\n once: this.once.bind(this)\n };\n }\n return this.consumerView;\n }\n asProducer() {\n if (!this.producerView) {\n this.producerView = {\n emit: this.emit.bind(this),\n emitBatch: this.emitBatch.bind(this)\n };\n }\n return this.producerView;\n }\n // ===== Lifecycle =====\n destroy() {\n if (this.isDestroyed) return;\n this.isDestroyed = true;\n for (const records of this.typeSubscriptions.values()) {\n for (const record of records) {\n record.unsubscribe();\n }\n }\n this.typeSubscriptions.clear();\n for (const record of this.globalSubscriptions) {\n record.unsubscribe();\n }\n this.globalSubscriptions.length = 0;\n this.subject.complete();\n logger22.debug(\"EventBus destroyed\");\n }\n // ===== Private Methods =====\n subscribeToType(type, handler, options) {\n const { filter: filter$1, priority = 0, once = false } = options;\n const id = this.nextId++;\n let observable = this.subject.pipe(filter((e) => e.type === type));\n if (filter$1) {\n observable = observable.pipe(filter(filter$1));\n }\n if (once) {\n observable = observable.pipe(take(1));\n }\n const subscription = observable.subscribe({\n next: (event) => {\n this.executeWithPriority(type, event, handler, id);\n }\n });\n const unsubscribe = () => {\n subscription.unsubscribe();\n const records2 = this.typeSubscriptions.get(type);\n if (records2) {\n const idx = records2.findIndex((r) => r.id === id);\n if (idx !== -1) records2.splice(idx, 1);\n }\n };\n if (!this.typeSubscriptions.has(type)) {\n this.typeSubscriptions.set(type, []);\n }\n const record = { id, priority, handler, unsubscribe };\n const records = this.typeSubscriptions.get(type);\n records.push(record);\n records.sort((a, b) => b.priority - a.priority);\n return unsubscribe;\n }\n subscribeGlobal(handler, options) {\n const { filter: filter$1, priority = 0, once = false } = options;\n const id = this.nextId++;\n let observable = this.subject.asObservable();\n if (filter$1) {\n observable = observable.pipe(filter(filter$1));\n }\n if (once) {\n observable = observable.pipe(take(1));\n }\n const subscription = observable.subscribe({\n next: (event) => {\n this.executeGlobalWithPriority(event, handler, id);\n }\n });\n const unsubscribe = () => {\n subscription.unsubscribe();\n const idx = this.globalSubscriptions.findIndex((r) => r.id === id);\n if (idx !== -1) this.globalSubscriptions.splice(idx, 1);\n };\n const record = { id, priority, handler, unsubscribe };\n this.globalSubscriptions.push(record);\n this.globalSubscriptions.sort((a, b) => b.priority - a.priority);\n return unsubscribe;\n }\n /**\n * Execute handler respecting priority order for typed subscriptions\n */\n executeWithPriority(type, event, handler, handlerId) {\n const records = this.typeSubscriptions.get(type) || [];\n const record = records.find((r) => r.id === handlerId);\n if (record) {\n try {\n handler(event);\n } catch (error) {\n logger22.error(\"Event handler error\", { eventType: type, error });\n }\n }\n }\n /**\n * Execute handler respecting priority order for global subscriptions\n */\n executeGlobalWithPriority(event, handler, handlerId) {\n const record = this.globalSubscriptions.find((r) => r.id === handlerId);\n if (record) {\n try {\n handler(event);\n } catch (error) {\n logger22.error(\"Global event handler error\", { eventType: event.type, error });\n }\n }\n }\n};\nvar AgentErrorClassifier = class {\n constructor(agentId) {\n this.agentId = agentId;\n }\n /**\n * Classify an unknown error into an AgentError\n */\n classify(error) {\n const err = error instanceof Error ? error : new Error(String(error));\n const message = err.message;\n if (message.includes(\"rate limit\") || message.includes(\"429\")) {\n return this.create(\"llm\", \"RATE_LIMITED\", message, true, err);\n }\n if (message.includes(\"api key\") || message.includes(\"401\") || message.includes(\"unauthorized\")) {\n return this.create(\"llm\", \"INVALID_API_KEY\", message, false, err);\n }\n if (message.includes(\"context\") && message.includes(\"long\")) {\n return this.create(\"llm\", \"CONTEXT_TOO_LONG\", message, true, err);\n }\n if (message.includes(\"overloaded\") || message.includes(\"503\")) {\n return this.create(\"llm\", \"OVERLOADED\", message, true, err);\n }\n if (message.includes(\"timeout\") || message.includes(\"ETIMEDOUT\")) {\n return this.create(\"network\", \"TIMEOUT\", message, true, err);\n }\n if (message.includes(\"ECONNREFUSED\") || message.includes(\"connection\")) {\n return this.create(\"network\", \"CONNECTION_FAILED\", message, true, err);\n }\n if (message.includes(\"network\") || message.includes(\"fetch\")) {\n return this.create(\"network\", \"CONNECTION_FAILED\", message, true, err);\n }\n if (message.includes(\"driver\")) {\n return this.create(\"driver\", \"RECEIVE_FAILED\", message, true, err);\n }\n return this.create(\"system\", \"UNKNOWN\", message, true, err);\n }\n /**\n * Create an AgentError with the specified category and code\n */\n create(category, code, message, recoverable, cause) {\n return {\n category,\n code,\n message,\n severity: recoverable ? \"error\" : \"fatal\",\n recoverable,\n cause\n };\n }\n /**\n * Create an ErrorEvent from an AgentError\n *\n * ErrorEvent is independent from Message layer and transportable via SSE.\n */\n createEvent(error) {\n return {\n type: \"error\",\n uuid: `${Date.now()}_${Math.random().toString(36).substring(2, 9)}`,\n agentId: this.agentId,\n timestamp: Date.now(),\n data: {\n error\n }\n };\n }\n};\nvar MiddlewareChain = class {\n constructor() {\n __publicField(this, \"middlewares\", []);\n }\n /**\n * Add middleware to the chain\n *\n * @param middleware - Middleware function\n * @returns Unsubscribe function to remove the middleware\n */\n use(middleware) {\n this.middlewares.push(middleware);\n return () => {\n const index = this.middlewares.indexOf(middleware);\n if (index !== -1) {\n this.middlewares.splice(index, 1);\n }\n };\n }\n /**\n * Execute the middleware chain\n *\n * @param message - User message to process\n * @param finalHandler - Handler called at the end of the chain\n */\n async execute(message, finalHandler) {\n let index = 0;\n const next = async (msg) => {\n if (index < this.middlewares.length) {\n const middleware = this.middlewares[index++];\n await middleware(msg, next);\n } else {\n await finalHandler(msg);\n }\n };\n await next(message);\n }\n /**\n * Clear all middlewares\n */\n clear() {\n this.middlewares.length = 0;\n }\n /**\n * Get the number of middlewares\n */\n get size() {\n return this.middlewares.length;\n }\n};\nvar logger32 = createLogger(\"core/InterceptorChain\");\nvar InterceptorChain = class {\n constructor(agentId) {\n __publicField(this, \"interceptors\", []);\n __publicField(this, \"agentId\");\n this.agentId = agentId;\n }\n /**\n * Add interceptor to the chain\n *\n * @param interceptor - Interceptor function\n * @returns Unsubscribe function to remove the interceptor\n */\n intercept(interceptor) {\n this.interceptors.push(interceptor);\n return () => {\n const index = this.interceptors.indexOf(interceptor);\n if (index !== -1) {\n this.interceptors.splice(index, 1);\n }\n };\n }\n /**\n * Execute the interceptor chain\n *\n * @param event - Event to process\n * @param finalHandler - Handler called at the end of the chain\n */\n execute(event, finalHandler) {\n let index = 0;\n const next = (e) => {\n if (index < this.interceptors.length) {\n const interceptor = this.interceptors[index++];\n try {\n interceptor(e, next);\n } catch (error) {\n logger32.error(\"Interceptor error\", {\n agentId: this.agentId,\n eventType: e.type,\n interceptorIndex: index - 1,\n error\n });\n next(e);\n }\n } else {\n finalHandler(e);\n }\n };\n next(event);\n }\n /**\n * Clear all interceptors\n */\n clear() {\n this.interceptors.length = 0;\n }\n /**\n * Get the number of interceptors\n */\n get size() {\n return this.interceptors.length;\n }\n};\nvar REACT_TO_EVENT_MAP = {\n // Stream Layer Events\n onMessageStart: \"message_start\",\n onMessageDelta: \"message_delta\",\n onMessageStop: \"message_stop\",\n onTextContentBlockStart: \"text_content_block_start\",\n onTextDelta: \"text_delta\",\n onTextContentBlockStop: \"text_content_block_stop\",\n onToolUseContentBlockStart: \"tool_use_content_block_start\",\n onInputJsonDelta: \"input_json_delta\",\n onToolUseContentBlockStop: \"tool_use_content_block_stop\",\n onToolCall: \"tool_call\",\n onToolResult: \"tool_result\",\n // Message Layer Events\n onUserMessage: \"user_message\",\n onAssistantMessage: \"assistant_message\",\n onToolCallMessage: \"tool_call_message\",\n onToolResultMessage: \"tool_result_message\",\n // Error Layer Events (independent, transportable via SSE)\n onError: \"error\",\n // Turn Layer Events\n onTurnRequest: \"turn_request\",\n onTurnResponse: \"turn_response\"\n};\nfunction mapReactHandlers(reactHandlers) {\n const eventHandlerMap = {};\n for (const [reactKey, eventKey] of Object.entries(REACT_TO_EVENT_MAP)) {\n const handler = reactHandlers[reactKey];\n if (handler) {\n eventHandlerMap[eventKey] = handler;\n }\n }\n return eventHandlerMap;\n}\nvar logger42 = createLogger(\"core/AgentInstance\");\nvar AgentInstance = class {\n constructor(definition, context, engine, driver, sandbox) {\n __publicField(this, \"agentId\");\n __publicField(this, \"definition\");\n __publicField(this, \"context\");\n __publicField(this, \"createdAt\");\n __publicField(this, \"sandbox\");\n __publicField(this, \"_lifecycle\", \"running\");\n __publicField(this, \"engine\");\n /**\n * Driver instance - created from definition.driver class\n */\n __publicField(this, \"driver\");\n /**\n * State machine - manages state transitions driven by StateEvents\n */\n __publicField(this, \"stateMachine\", new AgentStateMachine());\n /**\n * Event bus - centralized event pub/sub\n */\n __publicField(this, \"eventBus\", new AgentEventBus());\n /**\n * Error classifier - classifies and creates error events\n */\n __publicField(this, \"errorClassifier\");\n /**\n * Middleware chain for receive() interception\n */\n __publicField(this, \"middlewareChain\", new MiddlewareChain());\n /**\n * Interceptor chain for event dispatch interception\n */\n __publicField(this, \"interceptorChain\");\n /**\n * Lifecycle handlers for onReady\n */\n __publicField(this, \"readyHandlers\", /* @__PURE__ */ new Set());\n /**\n * Lifecycle handlers for onDestroy\n */\n __publicField(this, \"destroyHandlers\", /* @__PURE__ */ new Set());\n this.agentId = context.agentId;\n this.definition = definition;\n this.context = context;\n this.engine = engine;\n this.createdAt = context.createdAt;\n this.sandbox = sandbox;\n this.driver = driver;\n this.errorClassifier = new AgentErrorClassifier(this.agentId);\n this.interceptorChain = new InterceptorChain(this.agentId);\n logger42.debug(\"AgentInstance created\", {\n agentId: this.agentId,\n definitionName: definition.name,\n driverName: this.driver.name\n });\n }\n /**\n * Current lifecycle state\n */\n get lifecycle() {\n return this._lifecycle;\n }\n /**\n * Current conversation state (delegated to StateMachine)\n */\n get state() {\n return this.stateMachine.state;\n }\n /**\n * Receive a message from user\n *\n * Runs through middleware chain before actual processing.\n *\n * Error Handling:\n * - Errors are caught and converted to ErrorMessageEvent\n * - Handlers receive the error event before re-throwing\n * - This ensures UI can display errors\n */\n async receive(message) {\n if (this._lifecycle === \"destroyed\") {\n logger42.warn(\"Receive called on destroyed agent\", { agentId: this.agentId });\n const error = this.errorClassifier.create(\n \"system\",\n \"AGENT_DESTROYED\",\n \"Agent has been destroyed\",\n false\n );\n const errorEvent = this.errorClassifier.createEvent(error);\n this.notifyHandlers(errorEvent);\n throw new Error(\"[Agent] Agent has been destroyed\");\n }\n if (this.state !== \"idle\") {\n logger42.warn(\"Receive called while agent is busy\", {\n agentId: this.agentId,\n currentState: this.state\n });\n const error = this.errorClassifier.create(\n \"system\",\n \"AGENT_BUSY\",\n `Agent is busy (state: ${this.state}), please wait for current operation to complete`,\n false\n );\n const errorEvent = this.errorClassifier.createEvent(error);\n this.notifyHandlers(errorEvent);\n throw new Error(`[Agent] Agent is busy (state: ${this.state})`);\n }\n const userMessage = typeof message === \"string\" ? {\n id: `msg_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`,\n role: \"user\",\n subtype: \"user\",\n content: message,\n timestamp: Date.now()\n } : message;\n logger42.debug(\"Receiving message\", {\n agentId: this.agentId,\n messageId: userMessage.id\n });\n const userMessageEvent = {\n uuid: `evt_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`,\n type: \"user_message\",\n agentId: this.agentId,\n timestamp: Date.now(),\n data: userMessage\n };\n this.presentOutput(userMessageEvent);\n this.notifyHandlers(userMessageEvent);\n await this.executeMiddlewareChain(userMessage);\n }\n /**\n * Execute middleware chain and then process the message\n */\n async executeMiddlewareChain(message) {\n await this.middlewareChain.execute(message, (msg) => this.doReceive(msg));\n }\n /**\n * Process a single stream event through the engine\n *\n * Used by:\n * - doReceive() - normal message flow\n * - AgentInterrupter - interrupt event injection\n *\n * @param streamEvent - Stream event to process\n */\n processStreamEvent(streamEvent) {\n const outputs = this.engine.process(this.agentId, streamEvent);\n for (const output of outputs) {\n this.presentOutput(output);\n }\n for (const output of outputs) {\n this.notifyHandlers(output);\n }\n }\n /**\n * Actual message processing logic\n *\n * Coordinates the flow:\n * 1. Driver receives message → produces StreamEvents\n * 2. Engine processes events → produces outputs\n * 3. Presenters handle outputs\n * 4. Handlers receive outputs\n */\n async doReceive(userMessage) {\n try {\n logger42.debug(\"Processing message through driver\", {\n agentId: this.agentId,\n messageId: userMessage.id\n });\n const queuedEvent = {\n type: \"conversation_queued\",\n uuid: `${Date.now()}_${Math.random().toString(36).substring(2, 9)}`,\n agentId: this.agentId,\n timestamp: Date.now(),\n data: {\n userMessage\n }\n };\n this.notifyHandlers(queuedEvent);\n const streamEvents = this.driver.receive(userMessage);\n for await (const streamEvent of streamEvents) {\n this.processStreamEvent(streamEvent);\n }\n logger42.debug(\"Message processing completed\", {\n agentId: this.agentId,\n messageId: userMessage.id\n });\n } catch (error) {\n const agentError = this.errorClassifier.classify(error);\n const errorEvent = this.errorClassifier.createEvent(agentError);\n logger42.error(\"Message processing failed\", {\n agentId: this.agentId,\n messageId: userMessage.id,\n errorCategory: agentError.category,\n errorCode: agentError.code,\n error\n });\n this.notifyHandlers(errorEvent);\n throw error;\n }\n }\n /**\n * Send output to all presenters\n *\n * Note: Presenters are no longer part of AgentDefinition.\n * This is a placeholder for future presenter injection via Runtime or middleware.\n */\n presentOutput(_output) {\n }\n on(typeOrHandlerOrMap, handler) {\n if (typeof typeOrHandlerOrMap === \"function\") {\n return this.eventBus.onAny(typeOrHandlerOrMap);\n }\n if (this.isEventHandlerMap(typeOrHandlerOrMap)) {\n const unsubscribes = [];\n for (const [eventType, eventHandler] of Object.entries(typeOrHandlerOrMap)) {\n if (eventHandler) {\n unsubscribes.push(this.eventBus.on(eventType, eventHandler));\n }\n }\n return () => {\n for (const unsub of unsubscribes) {\n unsub();\n }\n };\n }\n const types = Array.isArray(typeOrHandlerOrMap) ? typeOrHandlerOrMap : [typeOrHandlerOrMap];\n const h = handler;\n return this.eventBus.on(types, h);\n }\n /**\n * Check if the argument is an EventHandlerMap (object with event type keys)\n */\n isEventHandlerMap(arg) {\n if (typeof arg !== \"object\" || arg === null || Array.isArray(arg)) {\n return false;\n }\n const keys = Object.keys(arg);\n if (keys.length === 0) {\n return false;\n }\n return keys.every((key) => {\n const value = arg[key];\n return value === void 0 || typeof value === \"function\";\n });\n }\n /**\n * Subscribe to state changes (delegated to StateMachine)\n *\n * @param handler - Callback receiving { prev, current } state change\n * @returns Unsubscribe function\n */\n onStateChange(handler) {\n return this.stateMachine.onStateChange(handler);\n }\n /**\n * React-style fluent event subscription\n *\n * Converts onXxx handlers to event type keys and delegates to on(handlers)\n */\n react(handlers) {\n const eventHandlerMap = mapReactHandlers(handlers);\n return this.on(eventHandlerMap);\n }\n /**\n * Subscribe to agent ready event\n *\n * If already running, handler is called immediately.\n */\n onReady(handler) {\n if (this._lifecycle === \"running\") {\n try {\n handler();\n } catch (error) {\n logger42.error(\"onReady handler error\", {\n agentId: this.agentId,\n error\n });\n }\n }\n this.readyHandlers.add(handler);\n return () => {\n this.readyHandlers.delete(handler);\n };\n }\n /**\n * Subscribe to agent destroy event\n */\n onDestroy(handler) {\n this.destroyHandlers.add(handler);\n return () => {\n this.destroyHandlers.delete(handler);\n };\n }\n /**\n * Add middleware to intercept incoming messages\n */\n use(middleware) {\n return this.middlewareChain.use(middleware);\n }\n /**\n * Add interceptor to intercept outgoing events\n */\n intercept(interceptor) {\n return this.interceptorChain.intercept(interceptor);\n }\n /**\n * Interrupt - User-initiated stop\n *\n * Stops the current operation gracefully.\n * Flow:\n * 1. Call driver.interrupt() to abort active requests\n * 2. Driver yields InterruptedStreamEvent\n * 3. Event flows through engine pipeline\n * 4. StateEventProcessor generates conversation_interrupted\n * 5. StateMachine transitions to idle state\n * 6. UI receives state change notification\n */\n interrupt() {\n logger42.debug(\"User interrupt requested\", { agentId: this.agentId, currentState: this.state });\n this.driver.interrupt();\n }\n /**\n * Destroy - Clean up resources\n */\n async destroy() {\n logger42.debug(\"Destroying agent\", { agentId: this.agentId });\n for (const handler of this.destroyHandlers) {\n try {\n handler();\n } catch (error) {\n logger42.error(\"onDestroy handler error\", {\n agentId: this.agentId,\n error\n });\n }\n }\n this._lifecycle = \"destroyed\";\n this.stateMachine.reset();\n this.eventBus.destroy();\n this.readyHandlers.clear();\n this.destroyHandlers.clear();\n this.middlewareChain.clear();\n this.interceptorChain.clear();\n this.engine.clearState(this.agentId);\n logger42.info(\"Agent destroyed\", { agentId: this.agentId });\n }\n /**\n * Notify all registered handlers\n *\n * Flow:\n * 1. StateMachine processes StateEvents (for state transitions)\n * 2. Interceptor chain can modify/filter events\n * 3. EventBus emits to all subscribers\n */\n notifyHandlers(event) {\n if (isStateEvent(event)) {\n this.stateMachine.process(event);\n }\n this.executeInterceptorChain(event);\n }\n /**\n * Execute interceptor chain and then emit to EventBus\n */\n executeInterceptorChain(event) {\n this.interceptorChain.execute(event, (e) => this.eventBus.emit(e));\n }\n /**\n * Get the event consumer for external subscriptions\n *\n * Use this to expose event subscription without emit capability.\n */\n getEventConsumer() {\n return this.eventBus.asConsumer();\n }\n};\n\n// ../engine/dist/index.js\nvar MemoryStore = class {\n constructor() {\n __publicField(this, \"states\", /* @__PURE__ */ new Map());\n }\n get(id) {\n return this.states.get(id);\n }\n set(id, state) {\n this.states.set(id, state);\n }\n delete(id) {\n this.states.delete(id);\n }\n has(id) {\n return this.states.has(id);\n }\n /**\n * Clear all stored states\n */\n clear() {\n this.states.clear();\n }\n /**\n * Get the number of stored states\n */\n get size() {\n return this.states.size;\n }\n /**\n * Get all stored IDs\n */\n keys() {\n return this.states.keys();\n }\n};\ncreateLogger(\"engine/Mealy\");\nfunction combineProcessors(processors) {\n return (state, event) => {\n const newState = {};\n const allOutputs = [];\n for (const key in processors) {\n const processor = processors[key];\n const subState = state[key];\n const [newSubState, outputs] = processor(subState, event);\n newState[key] = newSubState;\n allOutputs.push(...outputs);\n }\n return [newState, allOutputs];\n };\n}\nfunction combineInitialStates(initialStates) {\n return () => {\n const state = {};\n for (const key in initialStates) {\n state[key] = initialStates[key]();\n }\n return state;\n };\n}\nfunction createInitialMessageAssemblerState() {\n return {\n currentMessageId: null,\n messageStartTime: null,\n pendingContents: {},\n pendingToolCalls: {}\n };\n}\nfunction generateId() {\n return `msg_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;\n}\nvar messageAssemblerProcessor = (state, input) => {\n switch (input.type) {\n case \"message_start\":\n return handleMessageStart(state, input);\n case \"text_delta\":\n return handleTextDelta(state, input);\n case \"tool_use_content_block_start\":\n return handleToolUseContentBlockStart(state, input);\n case \"input_json_delta\":\n return handleInputJsonDelta(state, input);\n case \"tool_use_content_block_stop\":\n return handleToolUseContentBlockStop(state, input);\n case \"tool_result\":\n return handleToolResult(state, input);\n case \"message_stop\":\n return handleMessageStop(state, input);\n default:\n return [state, []];\n }\n};\nfunction handleMessageStart(state, event) {\n return [\n {\n ...state,\n currentMessageId: generateId(),\n messageStartTime: event.timestamp,\n pendingContents: {}\n },\n []\n ];\n}\nfunction handleTextDelta(state, event) {\n const index = 0;\n const existingContent = state.pendingContents[index];\n const pendingContent = existingContent?.type === \"text\" ? {\n ...existingContent,\n textDeltas: [...existingContent.textDeltas || [], event.data.text]\n } : {\n type: \"text\",\n index,\n textDeltas: [event.data.text]\n };\n return [\n {\n ...state,\n pendingContents: {\n ...state.pendingContents,\n [index]: pendingContent\n }\n },\n []\n ];\n}\nfunction handleToolUseContentBlockStart(state, event) {\n const index = 1;\n const pendingContent = {\n type: \"tool_use\",\n index,\n toolId: event.data.id,\n toolName: event.data.name,\n toolInputJson: \"\"\n };\n return [\n {\n ...state,\n pendingContents: {\n ...state.pendingContents,\n [index]: pendingContent\n }\n },\n []\n ];\n}\nfunction handleInputJsonDelta(state, event) {\n const index = 1;\n const existingContent = state.pendingContents[index];\n if (!existingContent || existingContent.type !== \"tool_use\") {\n return [state, []];\n }\n const pendingContent = {\n ...existingContent,\n toolInputJson: (existingContent.toolInputJson || \"\") + event.data.partialJson\n };\n return [\n {\n ...state,\n pendingContents: {\n ...state.pendingContents,\n [index]: pendingContent\n }\n },\n []\n ];\n}\nfunction handleToolUseContentBlockStop(state, event) {\n const index = 1;\n const pendingContent = state.pendingContents[index];\n if (!pendingContent || pendingContent.type !== \"tool_use\") {\n return [state, []];\n }\n let toolInput = {};\n try {\n toolInput = pendingContent.toolInputJson ? JSON.parse(pendingContent.toolInputJson) : {};\n } catch {\n toolInput = {};\n }\n const outputs = [];\n const toolId = pendingContent.toolId;\n const toolName = pendingContent.toolName;\n const toolCallEvent = {\n type: \"tool_call\",\n uuid: generateId(),\n agentId: event.agentId,\n timestamp: Date.now(),\n data: {\n id: toolId,\n name: toolName,\n input: toolInput\n }\n };\n outputs.push(toolCallEvent);\n const toolCall = {\n type: \"tool-call\",\n id: toolId,\n name: toolName,\n input: toolInput\n };\n const toolCallMessage = {\n id: generateId(),\n role: \"assistant\",\n subtype: \"tool-call\",\n toolCall,\n timestamp: Date.now()\n };\n const toolCallMessageEvent = {\n type: \"tool_call_message\",\n uuid: generateId(),\n agentId: event.agentId,\n timestamp: Date.now(),\n data: toolCallMessage\n };\n outputs.push(toolCallMessageEvent);\n const { [index]: _, ...remainingContents } = state.pendingContents;\n return [\n {\n ...state,\n pendingContents: remainingContents,\n pendingToolCalls: {\n ...state.pendingToolCalls,\n [toolId]: { id: toolId, name: toolName }\n }\n },\n outputs\n ];\n}\nfunction handleToolResult(state, event) {\n const { toolId, content, isError } = event.data;\n const pendingToolCall = state.pendingToolCalls[toolId];\n const toolName = pendingToolCall?.name || \"unknown\";\n const toolResult = {\n type: \"tool-result\",\n id: toolId,\n name: toolName,\n output: {\n type: isError ? \"error-text\" : \"text\",\n value: typeof content === \"string\" ? content : JSON.stringify(content)\n }\n };\n const toolResultMessage = {\n id: generateId(),\n role: \"tool\",\n subtype: \"tool-result\",\n toolResult,\n toolCallId: toolId,\n timestamp: Date.now()\n };\n const toolResultMessageEvent = {\n type: \"tool_result_message\",\n uuid: generateId(),\n agentId: event.agentId,\n timestamp: Date.now(),\n data: toolResultMessage\n };\n const { [toolId]: _, ...remainingToolCalls } = state.pendingToolCalls;\n return [\n {\n ...state,\n pendingToolCalls: remainingToolCalls\n },\n [toolResultMessageEvent]\n ];\n}\nfunction handleMessageStop(state, event) {\n if (!state.currentMessageId) {\n return [state, []];\n }\n const textParts = [];\n const sortedContents = Object.values(state.pendingContents).sort((a, b) => a.index - b.index);\n for (const pending of sortedContents) {\n if (pending.type === \"text\" && pending.textDeltas) {\n textParts.push(pending.textDeltas.join(\"\"));\n }\n }\n const content = textParts.join(\"\");\n const stopReason = event.data.stopReason;\n if (!content || content.trim().length === 0) {\n const shouldPreserveToolCalls2 = stopReason === \"tool_use\";\n return [\n {\n ...createInitialMessageAssemblerState(),\n pendingToolCalls: shouldPreserveToolCalls2 ? state.pendingToolCalls : {}\n },\n []\n ];\n }\n const assistantMessage = {\n id: state.currentMessageId,\n role: \"assistant\",\n subtype: \"assistant\",\n content,\n timestamp: state.messageStartTime || Date.now(),\n // Usage data is not available in message_stop event\n // It would need to be tracked separately if needed\n usage: void 0\n };\n const assistantEvent = {\n type: \"assistant_message\",\n uuid: generateId(),\n agentId: event.agentId,\n timestamp: Date.now(),\n data: assistantMessage\n };\n const shouldPreserveToolCalls = stopReason === \"tool_use\";\n return [\n {\n ...createInitialMessageAssemblerState(),\n pendingToolCalls: shouldPreserveToolCalls ? state.pendingToolCalls : {}\n },\n [assistantEvent]\n ];\n}\nvar logger23 = createLogger(\"engine/stateEventProcessor\");\nfunction createInitialStateEventProcessorContext() {\n return {};\n}\nfunction generateId2() {\n return `state_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;\n}\nvar stateEventProcessor = (context, input) => {\n logger23.debug(`[Stream Event] ${input.type}`, {\n context,\n eventData: \"data\" in input ? input.data : void 0\n });\n switch (input.type) {\n case \"message_start\":\n return handleMessageStart2(context, input);\n case \"message_delta\":\n return handleMessageDelta(context);\n case \"message_stop\":\n return handleMessageStop2(context, input);\n case \"text_content_block_start\":\n return handleTextContentBlockStart(context, input);\n case \"tool_use_content_block_start\":\n return handleToolUseContentBlockStart2(context, input);\n case \"tool_use_content_block_stop\":\n return handleToolUseContentBlockStop2(context);\n case \"tool_call\":\n return handleToolCall(context);\n case \"interrupted\":\n return handleInterrupted(context, input);\n default:\n logger23.debug(`[Stream Event] ${input.type} (unhandled)`);\n return [context, []];\n }\n};\nfunction handleMessageStart2(context, event) {\n const conversationStartEvent = {\n type: \"conversation_start\",\n uuid: generateId2(),\n agentId: event.agentId,\n timestamp: event.timestamp,\n transition: {\n reason: \"conversation_started\",\n trigger: \"message_start\"\n },\n data: {\n userMessage: {}\n // Will be populated by higher-level component\n }\n };\n return [context, [conversationStartEvent]];\n}\nfunction handleMessageDelta(context, _event) {\n return [context, []];\n}\nfunction handleMessageStop2(context, event) {\n const stopReason = event.data.stopReason;\n logger23.debug(\"message_stop received\", { stopReason });\n if (stopReason === \"tool_use\") {\n logger23.debug(\"Skipping conversation_end (tool_use in progress)\");\n return [context, []];\n }\n const conversationEndEvent = {\n type: \"conversation_end\",\n uuid: generateId2(),\n agentId: event.agentId,\n timestamp: event.timestamp,\n transition: {\n reason: \"conversation_completed\",\n trigger: \"message_stop\"\n },\n data: {\n assistantMessage: {},\n // Will be populated by higher-level component\n durationMs: 0,\n // Will be calculated by StateMachine or TurnTracker\n durationApiMs: 0,\n numTurns: 0,\n result: \"completed\",\n totalCostUsd: 0,\n usage: {\n input: 0,\n output: 0\n }\n }\n };\n return [context, [conversationEndEvent]];\n}\nfunction handleTextContentBlockStart(context, event) {\n const respondingEvent = {\n type: \"conversation_responding\",\n uuid: generateId2(),\n agentId: event.agentId,\n timestamp: Date.now(),\n transition: {\n reason: \"assistant_responding\",\n trigger: \"text_content_block_start\"\n },\n data: {}\n };\n return [context, [respondingEvent]];\n}\nfunction handleToolUseContentBlockStart2(context, event) {\n const outputs = [];\n const toolPlannedEvent = {\n type: \"tool_planned\",\n uuid: generateId2(),\n agentId: event.agentId,\n timestamp: event.timestamp,\n data: {\n id: event.data.id,\n name: event.data.name,\n input: {}\n }\n };\n outputs.push(toolPlannedEvent);\n const toolExecutingEvent = {\n type: \"tool_executing\",\n uuid: generateId2(),\n agentId: event.agentId,\n timestamp: event.timestamp,\n transition: {\n reason: \"tool_planning_started\",\n trigger: \"tool_use_content_block_start\"\n },\n data: {}\n };\n outputs.push(toolExecutingEvent);\n return [context, outputs];\n}\nfunction handleToolUseContentBlockStop2(context, _event) {\n return [context, []];\n}\nfunction handleToolCall(context, _event) {\n return [context, []];\n}\nfunction handleInterrupted(context, event) {\n logger23.debug(\"interrupted event received\", { reason: event.data.reason });\n const conversationInterruptedEvent = {\n type: \"conversation_interrupted\",\n uuid: generateId2(),\n agentId: event.agentId,\n timestamp: event.timestamp,\n transition: {\n reason: event.data.reason,\n trigger: \"interrupted\"\n },\n data: {\n reason: event.data.reason\n }\n };\n return [context, [conversationInterruptedEvent]];\n}\nfunction createInitialTurnTrackerState() {\n return {\n pendingTurn: null,\n costPerInputToken: 3e-6,\n // $3 per 1M tokens\n costPerOutputToken: 15e-6\n // $15 per 1M tokens\n };\n}\nfunction generateId3() {\n return `turn_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;\n}\nfunction calculateCost(usage, costPerInputToken, costPerOutputToken) {\n const inputCost = usage.input * costPerInputToken;\n const outputCost = usage.output * costPerOutputToken;\n return inputCost + outputCost;\n}\nvar turnTrackerProcessor = (state, input) => {\n switch (input.type) {\n case \"user_message\":\n return handleUserMessage(state, input);\n case \"message_stop\":\n return handleMessageStop3(state, input);\n case \"assistant_message\":\n return [state, []];\n default:\n return [state, []];\n }\n};\nfunction handleUserMessage(state, event) {\n const turnId = generateId3();\n const pendingTurn = {\n turnId,\n userMessage: event.data,\n requestedAt: event.timestamp\n };\n const turnRequestEvent = {\n type: \"turn_request\",\n uuid: generateId3(),\n agentId: event.agentId,\n timestamp: Date.now(),\n turnId,\n data: {\n userMessage: event.data,\n requestedAt: event.timestamp\n }\n };\n return [\n {\n ...state,\n pendingTurn\n },\n [turnRequestEvent]\n ];\n}\nfunction handleMessageStop3(state, event) {\n if (!state.pendingTurn) {\n return [state, []];\n }\n const stopReason = event.data.stopReason;\n if (stopReason === \"end_turn\" || stopReason === \"max_tokens\" || stopReason === \"stop_sequence\") {\n return completeTurn(state, event.agentId, event.timestamp);\n }\n return [state, []];\n}\nfunction completeTurn(state, agentId, completedAt) {\n if (!state.pendingTurn) {\n return [state, []];\n }\n const { turnId, requestedAt } = state.pendingTurn;\n const duration = completedAt - requestedAt;\n const usage = { input: 0, output: 0 };\n const cost = calculateCost(usage, state.costPerInputToken, state.costPerOutputToken);\n const turnResponseEvent = {\n type: \"turn_response\",\n uuid: generateId3(),\n agentId,\n timestamp: Date.now(),\n turnId,\n data: {\n assistantMessage: {\n id: generateId3(),\n role: \"assistant\",\n subtype: \"assistant\",\n content: \"\",\n timestamp: completedAt\n },\n respondedAt: completedAt,\n durationMs: duration,\n usage,\n costUsd: cost\n }\n };\n return [\n {\n ...state,\n pendingTurn: null\n },\n [turnResponseEvent]\n ];\n}\nvar agentProcessor = combineProcessors({\n messageAssembler: messageAssemblerProcessor,\n stateEventProcessor,\n turnTracker: turnTrackerProcessor\n});\nvar createInitialAgentEngineState = combineInitialStates({\n messageAssembler: createInitialMessageAssemblerState,\n stateEventProcessor: createInitialStateEventProcessorContext,\n turnTracker: createInitialTurnTrackerState\n});\nvar logger33 = createLogger(\"engine/AgentEngine\");\nvar AgentEngine = class {\n constructor() {\n __publicField(this, \"store\");\n this.store = new MemoryStore();\n logger33.debug(\"AgentEngine initialized\");\n }\n /**\n * Process a single stream event and return output events\n *\n * This is the core Mealy Machine operation:\n * process(agentId, event) → outputs[]\n *\n * @param agentId - The agent identifier (for state isolation)\n * @param event - Stream event to process\n * @returns Array of output events (state, message, turn events)\n */\n process(agentId, event) {\n const eventType = event.type || \"unknown\";\n logger33.debug(\"Processing event\", { agentId, eventType });\n const isNewState = !this.store.has(agentId);\n let state = this.store.get(agentId) ?? createInitialAgentEngineState();\n if (isNewState) {\n logger33.debug(\"Created initial state for agent\", { agentId });\n }\n const allOutputs = [];\n allOutputs.push(event);\n const [newState, outputs] = agentProcessor(state, event);\n state = newState;\n for (const output of outputs) {\n allOutputs.push(output);\n const [chainedState, chainedOutputs] = this.processChained(state, output);\n state = chainedState;\n allOutputs.push(...chainedOutputs);\n }\n this.store.set(agentId, state);\n if (outputs.length > 0) {\n logger33.debug(\"Produced outputs\", {\n agentId,\n inputEvent: eventType,\n outputCount: allOutputs.length,\n processorOutputs: outputs.length\n });\n }\n return allOutputs;\n }\n /**\n * Process chained events recursively\n *\n * Some processors produce events that trigger other processors:\n * - MessageAssembler produces MessageEvents\n * - TurnTracker consumes MessageEvents to produce TurnEvents\n */\n processChained(state, event) {\n const [newState, outputs] = agentProcessor(state, event);\n if (outputs.length === 0) {\n return [newState, []];\n }\n const allOutputs = [...outputs];\n let currentState = newState;\n for (const output of outputs) {\n const [chainedState, chainedOutputs] = this.processChained(currentState, output);\n currentState = chainedState;\n allOutputs.push(...chainedOutputs);\n }\n return [currentState, allOutputs];\n }\n /**\n * Clear state for an agent\n *\n * Call this when an agent is destroyed to free memory.\n */\n clearState(agentId) {\n logger33.debug(\"Clearing state\", { agentId });\n this.store.delete(agentId);\n }\n /**\n * Check if state exists for an agent\n */\n hasState(agentId) {\n return this.store.has(agentId);\n }\n};\n\n// src/container/ContainerManagerImpl.ts\nvar logger7 = createLogger(\"agentx/ContainerManager\");\nfunction generateContainerId() {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 8);\n return `container_${timestamp}_${random}`;\n}\nfunction generateAgentId() {\n const timestamp = Date.now().toString(36);\n const random = Math.random().toString(36).substring(2, 8);\n return `agent_${timestamp}_${random}`;\n}\nvar ContainerManagerImpl = class {\n constructor(runtime, repository) {\n __publicField(this, \"agents\", /* @__PURE__ */ new Map());\n __publicField(this, \"engine\");\n __publicField(this, \"runtime\");\n __publicField(this, \"repository\");\n this.runtime = runtime;\n this.repository = repository;\n this.engine = new AgentEngine();\n }\n // ==================== Container Lifecycle ====================\n async create(config) {\n const containerId = generateContainerId();\n const now = Date.now();\n const record = {\n containerId,\n createdAt: now,\n updatedAt: now,\n config\n };\n await this.repository.saveContainer(record);\n logger7.info(\"Container created\", { containerId });\n return record;\n }\n async get(containerId) {\n return this.repository.findContainerById(containerId);\n }\n async list() {\n return this.repository.findAllContainers();\n }\n async delete(containerId) {\n const exists = await this.repository.containerExists(containerId);\n if (!exists) {\n return false;\n }\n await this.repository.deleteContainer(containerId);\n logger7.info(\"Container deleted\", { containerId });\n return true;\n }\n async exists(containerId) {\n return this.repository.containerExists(containerId);\n }\n // ==================== Agent Runtime ====================\n async run(image, containerId) {\n logger7.info(\"Running agent from image\", {\n imageId: image.imageId,\n containerId\n });\n const container = await this.repository.findContainerById(containerId);\n if (!container) {\n throw new Error(`Container not found: ${containerId}`);\n }\n let agentId;\n if (this.runtime.agentIdResolver) {\n agentId = await this.runtime.agentIdResolver.resolveForRun(image.imageId, containerId);\n } else {\n agentId = generateAgentId();\n }\n const context = {\n agentId,\n createdAt: Date.now()\n };\n const sandbox = this.runtime.createSandbox(containerId);\n const driver = this.runtime.createDriver(image.definition, context, sandbox);\n const agent = new AgentInstance(image.definition, context, this.engine, driver, sandbox);\n this.agents.set(agentId, agent);\n logger7.info(\"Agent started\", {\n agentId,\n imageId: image.imageId,\n containerId,\n definitionName: image.definition.name\n });\n return agent;\n }\n async resume(session, containerId) {\n logger7.info(\"Resuming agent from session\", {\n sessionId: session.sessionId,\n imageId: session.imageId,\n containerId\n });\n const container = await this.repository.findContainerById(containerId);\n if (!container) {\n throw new Error(`Container not found: ${containerId}`);\n }\n const imageRecord = await this.repository.findImageById(session.imageId);\n if (!imageRecord) {\n throw new Error(`Image not found: ${session.imageId}`);\n }\n let agentId;\n if (this.runtime.agentIdResolver) {\n agentId = await this.runtime.agentIdResolver.resolveForResume(session.sessionId, containerId);\n } else {\n agentId = generateAgentId();\n }\n const context = {\n agentId,\n createdAt: Date.now()\n };\n const sandbox = this.runtime.createSandbox(containerId);\n const definition = imageRecord.definition;\n const driver = this.runtime.createDriver(definition, context, sandbox);\n const agent = new AgentInstance(definition, context, this.engine, driver, sandbox);\n this.agents.set(agentId, agent);\n logger7.info(\"Agent resumed\", {\n agentId,\n sessionId: session.sessionId,\n imageId: session.imageId,\n containerId\n });\n return agent;\n }\n async destroyAgent(agentId) {\n const agent = this.agents.get(agentId);\n if (!agent) {\n logger7.warn(\"Agent not found for destroy\", { agentId });\n return;\n }\n logger7.debug(\"Destroying agent\", { agentId });\n await agent.destroy();\n this.agents.delete(agentId);\n logger7.info(\"Agent destroyed\", { agentId });\n }\n getAgent(agentId) {\n return this.agents.get(agentId);\n }\n hasAgent(agentId) {\n return this.agents.has(agentId);\n }\n listAgents() {\n return Array.from(this.agents.values());\n }\n async destroyAllAgents() {\n const agentIds = Array.from(this.agents.keys());\n logger7.debug(\"Destroying all agents\", { count: agentIds.length });\n await Promise.all(agentIds.map((id) => this.destroyAgent(id)));\n logger7.info(\"All agents destroyed\", { count: agentIds.length });\n }\n};\n\n// src/AgentX.ts\nvar logger8 = createLogger(\"agentx/AgentX\");\nfunction createAgentX(runtime, options) {\n logger8.info(\"Creating AgentX instance\", { runtime: runtime.name });\n if (!runtime.repository) {\n throw new Error(\"Runtime must have a repository for persistence\");\n }\n const repository = runtime.repository;\n const containerManager = new ContainerManagerImpl(runtime, repository);\n const errorManager = new ErrorManager();\n const definitionManager = new DefinitionManagerImpl(repository);\n const agentManager = new AgentManager(containerManager);\n const imageManager = new ImageManagerImpl(repository, containerManager, options?.containerId);\n const sessionManager = new SessionManagerImpl(repository, containerManager, options?.containerId);\n logger8.debug(\"AgentX instance created\", { runtime: runtime.name });\n return {\n mode: \"local\",\n containers: containerManager,\n definitions: definitionManager,\n images: imageManager,\n agents: agentManager,\n sessions: sessionManager,\n errors: errorManager\n };\n}\nvar PersistentSSEConnection = class {\n constructor(serverUrl, agentId, sseParams = {}) {\n this.serverUrl = serverUrl;\n this.agentId = agentId;\n this.sseParams = sseParams;\n __publicField(this, \"eventSource\", null);\n __publicField(this, \"messageQueue\", []);\n __publicField(this, \"activeIterators\", /* @__PURE__ */ new Set());\n __publicField(this, \"isDone\", false);\n }\n /**\n * Initialize SSE connection\n */\n connect() {\n if (this.eventSource) {\n return;\n }\n let sseUrl = `${this.serverUrl}/agents/${this.agentId}/sse`;\n if (Object.keys(this.sseParams).length > 0) {\n const params = new URLSearchParams(this.sseParams);\n sseUrl += `?${params.toString()}`;\n }\n this.eventSource = new EventSource(sseUrl);\n const handleEvent = (event) => {\n try {\n const data = JSON.parse(event.data);\n if (this.activeIterators.size > 0) {\n const iterator = this.activeIterators.values().next().value;\n if (iterator) {\n this.activeIterators.delete(iterator);\n iterator.resolve({ value: data, done: false });\n }\n } else {\n this.messageQueue.push(data);\n }\n } catch {\n }\n };\n const handleError = () => {\n this.isDone = true;\n this.eventSource?.close();\n this.eventSource = null;\n for (const iterator of this.activeIterators) {\n iterator.reject(new Error(\"SSE connection error\"));\n }\n this.activeIterators.clear();\n };\n for (const eventType of STREAM_EVENT_TYPE_NAMES) {\n this.eventSource.addEventListener(eventType, handleEvent);\n }\n this.eventSource.addEventListener(\"error\", handleEvent);\n this.eventSource.onmessage = handleEvent;\n this.eventSource.onerror = handleError;\n }\n /**\n * Create an async iterable for a single receive() call\n *\n * This iterator continues until a final message_stop is received (stopReason !== \"tool_use\").\n * For tool calls, this means it will span multiple message_start/message_stop cycles.\n * The SSE connection itself remains open for future receive() calls.\n */\n createIterator() {\n const connection = this;\n return {\n [Symbol.asyncIterator]() {\n let turnComplete = false;\n return {\n async next() {\n if (connection.messageQueue.length > 0) {\n const event = connection.messageQueue.shift();\n if (event.type === \"message_stop\") {\n const stopReason = event.data.stopReason;\n if (stopReason !== \"tool_use\") {\n turnComplete = true;\n }\n }\n return { value: event, done: false };\n }\n if (turnComplete) {\n return { done: true, value: void 0 };\n }\n if (connection.isDone) {\n return { done: true, value: void 0 };\n }\n return new Promise((resolve, reject) => {\n const wrappedResolve = (result) => {\n if (!result.done) {\n if (result.value.type === \"message_stop\") {\n const stopReason = result.value.data.stopReason;\n if (stopReason !== \"tool_use\") {\n turnComplete = true;\n }\n }\n }\n resolve(result);\n };\n const iterator = { resolve: wrappedResolve, reject };\n connection.activeIterators.add(iterator);\n });\n },\n async return() {\n return { done: true, value: void 0 };\n }\n };\n }\n };\n }\n /**\n * Close the connection\n */\n close() {\n this.isDone = true;\n if (this.eventSource) {\n this.eventSource.close();\n this.eventSource = null;\n }\n for (const iterator of this.activeIterators) {\n iterator.reject(new Error(\"Connection closed\"));\n }\n this.activeIterators.clear();\n this.messageQueue = [];\n }\n};\nfunction createSSEDriver(config) {\n const { serverUrl, agentId, headers = {}, sseParams = {} } = config;\n let connection = null;\n return {\n name: \"SSEDriver\",\n async *receive(message) {\n if (!connection) {\n connection = new PersistentSSEConnection(serverUrl, agentId, sseParams);\n connection.connect();\n }\n const messageUrl = `${serverUrl}/agents/${agentId}/messages`;\n const response = await fetch(messageUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers\n },\n body: JSON.stringify({\n content: typeof message.content === \"string\" ? message.content : message.content\n })\n });\n if (!response.ok) {\n const errorBody = await response.json().catch(() => ({}));\n throw new Error(errorBody.error?.message || `HTTP ${response.status}`);\n }\n yield* connection.createIterator();\n },\n interrupt() {\n const interruptUrl = `${serverUrl}/agents/${agentId}/interrupt`;\n fetch(interruptUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n ...headers\n }\n }).catch(() => {\n });\n }\n };\n}\n\n// src/runtime/sse/repository/RemoteRepository.ts\nvar logger9 = createLogger(\"agentx/RemoteRepository\");\nvar RemoteRepository = class {\n constructor(options) {\n __publicField(this, \"client\");\n this.client = createHttpClient({\n baseUrl: options.serverUrl,\n headers: options.headers\n });\n logger9.debug(\"RemoteRepository created\", { serverUrl: options.serverUrl });\n }\n // ==================== Definition ====================\n async saveDefinition(record) {\n await this.client.put(`definitions/${record.name}`, { json: record });\n }\n async findDefinitionByName(name) {\n try {\n const result = await this.client.get(`definitions/${name}`).json();\n return this.parseDefinitionRecord(result);\n } catch (error) {\n if (this.isNotFound(error)) return null;\n throw error;\n }\n }\n async findAllDefinitions() {\n const result = await this.client.get(\"definitions\").json();\n return result.map((r) => this.parseDefinitionRecord(r));\n }\n async deleteDefinition(name) {\n await this.client.delete(`definitions/${name}`);\n }\n async definitionExists(name) {\n try {\n await this.client.head(`definitions/${name}`);\n return true;\n } catch {\n return false;\n }\n }\n // ==================== Image ====================\n async saveImage(record) {\n await this.client.put(`images/${record.imageId}`, { json: record });\n }\n async findImageById(imageId) {\n try {\n const result = await this.client.get(`images/${imageId}`).json();\n return this.parseImageRecord(result);\n } catch (error) {\n if (this.isNotFound(error)) return null;\n throw error;\n }\n }\n async findAllImages() {\n const result = await this.client.get(\"images\").json();\n return result.map((r) => this.parseImageRecord(r));\n }\n async deleteImage(imageId) {\n await this.client.delete(`images/${imageId}`);\n }\n async imageExists(imageId) {\n try {\n await this.client.head(`images/${imageId}`);\n return true;\n } catch {\n return false;\n }\n }\n // ==================== Session ====================\n async saveSession(record) {\n await this.client.put(`sessions/${record.sessionId}`, { json: record });\n }\n async findSessionById(sessionId) {\n try {\n const result = await this.client.get(`sessions/${sessionId}`).json();\n return this.parseSessionRecord(result);\n } catch (error) {\n if (this.isNotFound(error)) return null;\n throw error;\n }\n }\n async findSessionsByImageId(imageId) {\n const result = await this.client.get(`images/${imageId}/sessions`).json();\n return result.map((r) => this.parseSessionRecord(r));\n }\n async findSessionsByUserId(userId) {\n const result = await this.client.get(`users/${userId}/sessions`).json();\n return result.map((r) => this.parseSessionRecord(r));\n }\n async findAllSessions() {\n const result = await this.client.get(\"sessions\").json();\n return result.map((r) => this.parseSessionRecord(r));\n }\n async deleteSession(sessionId) {\n await this.client.delete(`sessions/${sessionId}`);\n }\n async deleteSessionsByImageId(imageId) {\n await this.client.delete(`images/${imageId}/sessions`);\n }\n async sessionExists(sessionId) {\n try {\n await this.client.head(`sessions/${sessionId}`);\n return true;\n } catch {\n return false;\n }\n }\n // ==================== Message ====================\n /**\n * Save message - noop in browser\n *\n * Messages are persisted by server-side SessionCollector.\n * Browser-side calls this but it does nothing to avoid duplicate saves.\n */\n async saveMessage(_record) {\n logger9.debug(\"saveMessage called (noop in browser)\");\n }\n async findMessageById(messageId) {\n try {\n const result = await this.client.get(`messages/${messageId}`).json();\n return this.parseMessageRecord(result);\n } catch (error) {\n if (this.isNotFound(error)) return null;\n throw error;\n }\n }\n async findMessagesBySessionId(sessionId) {\n const result = await this.client.get(`sessions/${sessionId}/messages`).json();\n return result.map((r) => this.parseMessageRecord(r));\n }\n async deleteMessage(messageId) {\n await this.client.delete(`messages/${messageId}`);\n }\n async deleteMessagesBySessionId(sessionId) {\n await this.client.delete(`sessions/${sessionId}/messages`);\n }\n async countMessagesBySessionId(sessionId) {\n const result = await this.client.get(`sessions/${sessionId}/messages/count`).json();\n return result.count;\n }\n // ==================== Container ====================\n async saveContainer(record) {\n await this.client.put(`containers/${record.containerId}`, { json: record });\n }\n async findContainerById(containerId) {\n try {\n const result = await this.client.get(`containers/${containerId}`).json();\n return this.parseContainerRecord(result);\n } catch (error) {\n if (this.isNotFound(error)) return null;\n throw error;\n }\n }\n async findAllContainers() {\n const result = await this.client.get(\"containers\").json();\n return result.map((r) => this.parseContainerRecord(r));\n }\n async deleteContainer(containerId) {\n await this.client.delete(`containers/${containerId}`);\n }\n async containerExists(containerId) {\n try {\n await this.client.head(`containers/${containerId}`);\n return true;\n } catch {\n return false;\n }\n }\n // ==================== Helpers ====================\n isNotFound(error) {\n return error?.response?.status === 404;\n }\n parseDefinitionRecord(raw) {\n return {\n ...raw,\n createdAt: new Date(raw.createdAt),\n updatedAt: new Date(raw.updatedAt)\n };\n }\n parseImageRecord(raw) {\n return {\n ...raw,\n createdAt: new Date(raw.createdAt)\n };\n }\n parseSessionRecord(raw) {\n return {\n ...raw,\n createdAt: new Date(raw.createdAt),\n updatedAt: new Date(raw.updatedAt)\n };\n }\n parseMessageRecord(raw) {\n return {\n ...raw,\n createdAt: new Date(raw.createdAt)\n };\n }\n parseContainerRecord(raw) {\n return {\n ...raw\n // ContainerRecord uses number timestamps, no conversion needed\n };\n }\n};\nvar _BrowserLogger = class _BrowserLogger {\n constructor(name, options = {}) {\n __publicField(this, \"name\");\n __publicField(this, \"level\");\n __publicField(this, \"collapsed\");\n this.name = name;\n this.level = options.level ?? LogLevel.INFO;\n this.collapsed = options.collapsed ?? true;\n }\n debug(message, context) {\n if (this.isDebugEnabled()) {\n this.log(\"DEBUG\", message, context);\n }\n }\n info(message, context) {\n if (this.isInfoEnabled()) {\n this.log(\"INFO\", message, context);\n }\n }\n warn(message, context) {\n if (this.isWarnEnabled()) {\n this.log(\"WARN\", message, context);\n }\n }\n error(message, context) {\n if (this.isErrorEnabled()) {\n if (message instanceof Error) {\n this.log(\"ERROR\", message.message, { ...context, stack: message.stack });\n } else {\n this.log(\"ERROR\", message, context);\n }\n }\n }\n isDebugEnabled() {\n return this.level <= LogLevel.DEBUG;\n }\n isInfoEnabled() {\n return this.level <= LogLevel.INFO;\n }\n isWarnEnabled() {\n return this.level <= LogLevel.WARN;\n }\n isErrorEnabled() {\n return this.level <= LogLevel.ERROR;\n }\n log(level, message, context) {\n const timestamp = (/* @__PURE__ */ new Date()).toLocaleTimeString();\n const consoleMethod = this.getConsoleMethod(level);\n const badgeStyle = _BrowserLogger.BADGE_STYLES[level];\n const format = `%c${timestamp} %c${level}%c %c[${this.name}]%c ${message}`;\n const styles = [\n _BrowserLogger.STYLES.TIMESTAMP,\n badgeStyle,\n \"\",\n // reset after badge\n _BrowserLogger.STYLES.NAME,\n _BrowserLogger.STYLES.MESSAGE\n ];\n if (context && Object.keys(context).length > 0) {\n const groupMethod = this.collapsed ? console.groupCollapsed : console.group;\n groupMethod.call(console, format, ...styles);\n console.log(\"Context:\", context);\n console.groupEnd();\n } else {\n consoleMethod(format, ...styles);\n }\n }\n getConsoleMethod(level) {\n switch (level) {\n case \"DEBUG\":\n return console.debug.bind(console);\n case \"INFO\":\n return console.info.bind(console);\n case \"WARN\":\n return console.warn.bind(console);\n case \"ERROR\":\n return console.error.bind(console);\n default:\n return console.log.bind(console);\n }\n }\n};\n// CSS styles for different log levels\n__publicField(_BrowserLogger, \"STYLES\", {\n DEBUG: \"color: #6B7280; font-weight: normal;\",\n // gray\n INFO: \"color: #10B981; font-weight: normal;\",\n // green\n WARN: \"color: #F59E0B; font-weight: bold;\",\n // amber\n ERROR: \"color: #EF4444; font-weight: bold;\",\n // red\n TIMESTAMP: \"color: #9CA3AF; font-weight: normal;\",\n // light gray\n NAME: \"color: #8B5CF6; font-weight: normal;\",\n // purple\n MESSAGE: \"color: inherit; font-weight: normal;\"\n});\n// Badge styles for level indicators\n__publicField(_BrowserLogger, \"BADGE_STYLES\", {\n DEBUG: \"background: #E5E7EB; color: #374151; padding: 2px 6px; border-radius: 3px; font-size: 11px;\",\n INFO: \"background: #D1FAE5; color: #065F46; padding: 2px 6px; border-radius: 3px; font-size: 11px;\",\n WARN: \"background: #FEF3C7; color: #92400E; padding: 2px 6px; border-radius: 3px; font-size: 11px;\",\n ERROR: \"background: #FEE2E2; color: #991B1B; padding: 2px 6px; border-radius: 3px; font-size: 11px;\"\n});\nvar BrowserLogger = _BrowserLogger;\n\n// src/runtime/sse/logger/BrowserLoggerFactory.ts\nvar BrowserLoggerFactory = class {\n constructor(options = {}) {\n __publicField(this, \"options\");\n __publicField(this, \"loggers\", /* @__PURE__ */ new Map());\n this.options = options;\n }\n getLogger(name) {\n if (this.loggers.has(name)) {\n return this.loggers.get(name);\n }\n const logger11 = new BrowserLogger(name, this.options);\n this.loggers.set(name, logger11);\n return logger11;\n }\n};\n\n// src/runtime/sse/RemoteAgentIdResolver.ts\nvar logger10 = createLogger(\"agentx/RemoteAgentIdResolver\");\nvar RemoteAgentIdResolver = class {\n constructor(options) {\n __publicField(this, \"client\");\n this.client = createHttpClient({\n baseUrl: options.serverUrl,\n headers: options.headers\n });\n }\n async resolveForRun(imageId, containerId) {\n logger10.debug(\"Resolving agent ID for run\", { imageId, containerId });\n const response = await this.client.post(`images/${imageId}/run`, {\n json: { containerId }\n }).json();\n logger10.info(\"Agent ID resolved for run\", { imageId, agentId: response.agentId });\n return response.agentId;\n }\n async resolveForResume(sessionId, containerId) {\n logger10.debug(\"Resolving agent ID for resume\", { sessionId, containerId });\n const response = await this.client.post(`sessions/${sessionId}/resume`, {\n json: { containerId }\n }).json();\n logger10.info(\"Agent ID resolved for resume\", { sessionId, agentId: response.agentId });\n return response.agentId;\n }\n};\n\n// src/runtime/sse/SSERuntime.ts\nvar noopSandbox = {\n name: \"browser-noop\",\n workspace: {\n id: \"noop\",\n name: \"noop\",\n path: \"\"\n // Browser has no local workspace\n },\n llm: {\n name: \"noop\",\n provide: () => ({})\n }\n};\nvar SSERuntime = class {\n constructor(config) {\n __publicField(this, \"name\", \"sse\");\n __publicField(this, \"repository\");\n __publicField(this, \"loggerFactory\");\n __publicField(this, \"agentIdResolver\");\n __publicField(this, \"serverUrl\");\n __publicField(this, \"headers\");\n __publicField(this, \"sseParams\");\n this.serverUrl = config.serverUrl.replace(/\\/+$/, \"\");\n this.headers = config.headers ?? {};\n this.sseParams = config.sseParams ?? {};\n this.loggerFactory = new BrowserLoggerFactory({\n collapsed: true\n });\n setLoggerFactory(this.loggerFactory);\n this.repository = new RemoteRepository({\n serverUrl: this.serverUrl,\n headers: this.headers\n });\n this.agentIdResolver = new RemoteAgentIdResolver({\n serverUrl: this.serverUrl,\n headers: this.headers\n });\n }\n createSandbox(_containerId) {\n return noopSandbox;\n }\n createDriver(_definition, context, _sandbox) {\n const driver = createSSEDriver({\n serverUrl: this.serverUrl,\n agentId: context.agentId,\n headers: this.headers,\n sseParams: this.sseParams\n });\n return {\n ...driver,\n sandbox: noopSandbox\n };\n }\n createLogger(name) {\n return this.loggerFactory.getLogger(name);\n }\n};\nfunction sseRuntime(config) {\n return new SSERuntime(config);\n}\nvar createSSERuntime = sseRuntime;\n\nexport { createAgentX, createSSERuntime, defineAgent, sseRuntime };\n//# sourceMappingURL=index.js.map\n//# sourceMappingURL=index.js.map"],"names":["d","b","Subscription","Subscriber","ConsumerObserver","SafeSubscriber","Observable","observable","Symbol_observable","OperatorSubscriber","err","Subject","AnonymousSubject","config","_BrowserLogger"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]}