@sylphx/flow 0.2.1 → 0.2.3
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.
- package/assets/agents/coder.md +1 -1
- package/assets/agents/orchestrator.md +1 -1
- package/assets/agents/reviewer.md +1 -1
- package/assets/agents/writer.md +13 -13
- package/assets/slash-commands/context.md +112 -0
- package/dist/assets/agents/coder.md +32 -0
- package/dist/assets/agents/orchestrator.md +36 -0
- package/dist/assets/agents/reviewer.md +30 -0
- package/dist/assets/agents/writer.md +30 -0
- package/dist/assets/knowledge/data/sql.md +216 -0
- package/dist/assets/knowledge/guides/saas-template.md +85 -0
- package/dist/assets/knowledge/guides/system-prompt.md +344 -0
- package/dist/assets/knowledge/guides/tech-stack.md +92 -0
- package/dist/assets/knowledge/guides/ui-ux.md +44 -0
- package/dist/assets/knowledge/stacks/nextjs-app.md +165 -0
- package/dist/assets/knowledge/stacks/node-api.md +220 -0
- package/dist/assets/knowledge/stacks/react-app.md +232 -0
- package/dist/assets/knowledge/universal/deployment.md +109 -0
- package/dist/assets/knowledge/universal/performance.md +121 -0
- package/dist/assets/knowledge/universal/security.md +79 -0
- package/dist/assets/knowledge/universal/testing.md +111 -0
- package/dist/assets/output-styles/silent.md +23 -0
- package/dist/assets/rules/core.md +144 -0
- package/dist/assets/slash-commands/commit.md +23 -0
- package/dist/assets/slash-commands/context.md +112 -0
- package/dist/assets/slash-commands/explain.md +35 -0
- package/dist/assets/slash-commands/mep.md +63 -0
- package/dist/assets/slash-commands/review.md +39 -0
- package/dist/assets/slash-commands/test.md +30 -0
- package/dist/chunk-1rptg3yg.js +4 -0
- package/dist/chunk-1rptg3yg.js.map +10 -0
- package/dist/{chunk-124wqbdb.js → chunk-4fr8q0jy.js} +3 -3
- package/dist/{chunk-124wqbdb.js.map → chunk-4fr8q0jy.js.map} +1 -1
- package/dist/{chunk-f6y5vttn.js → chunk-5szm4n3x.js} +3 -3
- package/dist/{chunk-f6y5vttn.js.map → chunk-5szm4n3x.js.map} +1 -1
- package/dist/chunk-7nht27vs.js +4 -0
- package/dist/{chunk-g9t3me0w.js.map → chunk-7nht27vs.js.map} +2 -2
- package/dist/chunk-8krxe10w.js +3 -0
- package/dist/{chunk-e966bjm5.js.map → chunk-8krxe10w.js.map} +2 -2
- package/dist/{chunk-wpe7rw5c.js → chunk-8z1sf25t.js} +3 -3
- package/dist/{chunk-wpe7rw5c.js.map → chunk-8z1sf25t.js.map} +1 -1
- package/dist/chunk-9c2nr2fz.js +25 -0
- package/dist/chunk-9c2nr2fz.js.map +61 -0
- package/dist/{chunk-4p754rhd.js → chunk-asr22mbn.js} +2 -2
- package/dist/{chunk-4p754rhd.js.map → chunk-asr22mbn.js.map} +2 -2
- package/dist/chunk-bnxtqetr.js +23 -0
- package/dist/chunk-bnxtqetr.js.map +11 -0
- package/dist/chunk-cs1s5c3g.js +54 -0
- package/dist/chunk-cs1s5c3g.js.map +53 -0
- package/dist/chunk-cv1nhr27.js +2 -0
- package/dist/{chunk-hshjnpm0.js.map → chunk-cv1nhr27.js.map} +1 -1
- package/dist/chunk-d4hj6d4t.js +6 -0
- package/dist/chunk-d4hj6d4t.js.map +11 -0
- package/dist/chunk-f06ma45b.js +15 -0
- package/dist/chunk-f06ma45b.js.map +16 -0
- package/dist/chunk-fs3f7acb.js +4 -0
- package/dist/chunk-fs3f7acb.js.map +12 -0
- package/dist/{chunk-5r4afhzp.js → chunk-gh83x9ya.js} +3 -3
- package/dist/{chunk-5r4afhzp.js.map → chunk-gh83x9ya.js.map} +1 -1
- package/dist/{chunk-qa8b725g.js → chunk-gyq335sw.js} +6 -5
- package/dist/{chunk-qa8b725g.js.map → chunk-gyq335sw.js.map} +1 -1
- package/dist/{chunk-hs3nxzyz.js → chunk-hft1735c.js} +2 -2
- package/dist/{chunk-hs3nxzyz.js.map → chunk-hft1735c.js.map} +2 -2
- package/dist/chunk-hj6r7703.js +3 -0
- package/dist/{chunk-78bfvh46.js.map → chunk-hj6r7703.js.map} +2 -2
- package/dist/chunk-hxj4eapp.js +14 -0
- package/dist/chunk-hxj4eapp.js.map +20 -0
- package/dist/chunk-jgsq3xax.js +23 -0
- package/dist/chunk-jgsq3xax.js.map +132 -0
- package/dist/{chunk-646h52kd.js → chunk-m9nt0bj3.js} +3 -3
- package/dist/{chunk-646h52kd.js.map → chunk-m9nt0bj3.js.map} +1 -1
- package/dist/{chunk-bd11hvvz.js → chunk-ndah8mn9.js} +2 -2
- package/dist/{chunk-bd11hvvz.js.map → chunk-ndah8mn9.js.map} +1 -1
- package/dist/chunk-s6g21d1g.js +27 -0
- package/dist/{chunk-0h7sfwq3.js.map → chunk-s6g21d1g.js.map} +4 -5
- package/dist/{chunk-hshjnpm0.js → chunk-sxy6vp20.js} +2 -2
- package/dist/chunk-sxy6vp20.js.map +9 -0
- package/dist/chunk-vjf57v4h.js +4 -0
- package/dist/chunk-vjf57v4h.js.map +10 -0
- package/dist/{chunk-jxny6xft.js → chunk-w2vbmr93.js} +2 -2
- package/dist/{chunk-jxny6xft.js.map → chunk-w2vbmr93.js.map} +1 -1
- package/dist/chunk-wd9qbbe5.js +5 -0
- package/dist/chunk-wd9qbbe5.js.map +10 -0
- package/dist/chunk-wnaa55wn.js +108 -0
- package/dist/chunk-wnaa55wn.js.map +24 -0
- package/dist/chunk-wrx1n6q6.js +16 -0
- package/dist/chunk-wrx1n6q6.js.map +16 -0
- package/dist/chunk-xata5rw6.js +119 -0
- package/dist/{chunk-878q8xdr.js.map → chunk-xata5rw6.js.map} +7 -18
- package/dist/chunk-z2rtyk3d.js +7 -0
- package/dist/{chunk-ygdr4fw7.js.map → chunk-z2rtyk3d.js.map} +2 -2
- package/dist/index.js +446 -482
- package/dist/index.js.map +301 -202
- package/package.json +4 -1
- package/dist/chunk-0h7sfwq3.js +0 -27
- package/dist/chunk-78bfvh46.js +0 -3
- package/dist/chunk-878q8xdr.js +0 -86
- package/dist/chunk-e966bjm5.js +0 -3
- package/dist/chunk-fxwaa2mg.js +0 -4
- package/dist/chunk-fxwaa2mg.js.map +0 -10
- package/dist/chunk-g9t3me0w.js +0 -4
- package/dist/chunk-ygdr4fw7.js +0 -7
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../node_modules/react/cjs/react.development.js", "../node_modules/zustand/esm/vanilla.mjs", "../node_modules/zustand/esm/react.mjs", "../node_modules/immer/dist/immer.mjs", "../node_modules/zustand/esm/middleware/immer.mjs", "../node_modules/zustand/esm/middleware.mjs", "../src/ui/stores/app-store.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function noop() {}\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n oldElement.props,\n oldElement._owner,\n oldElement._debugStack,\n oldElement._debugTask\n );\n oldElement._store &&\n (newKey._store.validated = oldElement._store.validated);\n return newKey;\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ioInfo = payload._ioInfo;\n null != ioInfo && (ioInfo.start = ioInfo.end = performance.now());\n ioInfo = payload._result;\n var thenable = ioInfo();\n thenable.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 1;\n payload._result = moduleObject;\n var _ioInfo = payload._ioInfo;\n null != _ioInfo && (_ioInfo.end = performance.now());\n void 0 === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = moduleObject));\n }\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status) {\n payload._status = 2;\n payload._result = error;\n var _ioInfo2 = payload._ioInfo;\n null != _ioInfo2 && (_ioInfo2.end = performance.now());\n void 0 === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n }\n );\n ioInfo = payload._ioInfo;\n if (null != ioInfo) {\n ioInfo.value = thenable;\n var displayName = thenable.displayName;\n \"string\" === typeof displayName && (ioInfo.name = displayName);\n }\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = thenable));\n }\n if (1 === payload._status)\n return (\n (ioInfo = payload._result),\n void 0 === ioInfo &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ioInfo\n ),\n \"default\" in ioInfo ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ioInfo\n ),\n ioInfo.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function releaseAsyncTransition() {\n ReactSharedInternals.asyncTransitions--;\n }\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n };\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n actQueue: null,\n asyncTransitions: 0,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null,\n recentlyCreatedOwnerStacks: 0\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n deprecatedAPIs = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown, didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = deprecatedAPIs.react_stack_bottom_frame.bind(\n deprecatedAPIs,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n deprecatedAPIs = Object.freeze({\n __proto__: null,\n c: function (size) {\n return resolveDispatcher().useMemoCache(size);\n }\n });\n var fnName = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Activity = REACT_ACTIVITY_TYPE;\n exports.Children = fnName;\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.__COMPILER_RUNTIME = deprecatedAPIs;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$0) {\n ReactSharedInternals.thrownErrors.push(error$0);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.cacheSignal = function () {\n return null;\n };\n exports.captureOwnerStack = function () {\n var getCurrentStack = ReactSharedInternals.getCurrentStack;\n return null === getCurrentStack ? null : getCurrentStack();\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(\n element.type,\n key,\n props,\n owner,\n element._debugStack,\n element._debugTask\n );\n for (key = 2; key < arguments.length; key++)\n validateChildKeys(arguments[key]);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n for (var i = 2; i < arguments.length; i++)\n validateChildKeys(arguments[i]);\n i = {};\n var key = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n key &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n var propName = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return ReactElement(\n type,\n key,\n i,\n getOwner(),\n propName ? Error(\"react-stack-top-frame\") : unknownOwnerDebugStack,\n propName ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n ctor = { _status: -1, _result: ctor };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: ctor,\n _init: lazyInitializer\n },\n ioInfo = {\n name: \"lazy\",\n start: -1,\n end: -1,\n value: null,\n owner: null,\n debugStack: Error(\"react-stack-top-frame\"),\n debugTask: console.createTask ? console.createTask(\"lazy()\") : null\n };\n ctor._ioInfo = ioInfo;\n lazyType._debugInfo = [{ awaited: ioInfo }];\n return lazyType;\n };\n exports.memo = function (type, compare) {\n null == type &&\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n currentTransition._updatedFibers = new Set();\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n (ReactSharedInternals.asyncTransitions++,\n returnValue.then(releaseAsyncTransition, releaseAsyncTransition),\n returnValue.then(noop, reportGlobalError));\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (null !== prevTransition.types &&\n prevTransition.types !== currentTransition.types &&\n console.error(\n \"We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.\"\n ),\n (prevTransition.types = currentTransition.types)),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useEffect(create, deps);\n };\n exports.useEffectEvent = function (callback) {\n return resolveDispatcher().useEffectEvent(callback);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n null == create &&\n console.warn(\n \"React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?\"\n );\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.2.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n",
|
|
6
|
+
"const createStoreImpl = (createState) => {\n let state;\n const listeners = /* @__PURE__ */ new Set();\n const setState = (partial, replace) => {\n const nextState = typeof partial === \"function\" ? partial(state) : partial;\n if (!Object.is(nextState, state)) {\n const previousState = state;\n state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n listeners.forEach((listener) => listener(state, previousState));\n }\n };\n const getState = () => state;\n const getInitialState = () => initialState;\n const subscribe = (listener) => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n };\n const api = { setState, getState, getInitialState, subscribe };\n const initialState = state = createState(setState, getState, api);\n return api;\n};\nconst createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);\n\nexport { createStore };\n",
|
|
7
|
+
"import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n const slice = React.useSyncExternalStore(\n api.subscribe,\n React.useCallback(() => selector(api.getState()), [api, selector]),\n React.useCallback(() => selector(api.getInitialState()), [api, selector])\n );\n React.useDebugValue(slice);\n return slice;\n}\nconst createImpl = (createState) => {\n const api = createStore(createState);\n const useBoundStore = (selector) => useStore(api, selector);\n Object.assign(useBoundStore, api);\n return useBoundStore;\n};\nconst create = ((createState) => createState ? createImpl(createState) : createImpl);\n\nexport { create, useStore };\n",
|
|
8
|
+
"// src/utils/env.ts\nvar NOTHING = Symbol.for(\"immer-nothing\");\nvar DRAFTABLE = Symbol.for(\"immer-draftable\");\nvar DRAFT_STATE = Symbol.for(\"immer-state\");\n\n// src/utils/errors.ts\nvar errors = process.env.NODE_ENV !== \"production\" ? [\n // All error codes, starting by 0:\n function(plugin) {\n return `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`;\n },\n function(thing) {\n return `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`;\n },\n \"This object has been frozen and should not be mutated\",\n function(data) {\n return \"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" + data;\n },\n \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n \"Immer forbids circular references\",\n \"The first or second argument to `produce` must be a function\",\n \"The third argument to `produce` must be a function or undefined\",\n \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n function(thing) {\n return `'current' expects a draft, got: ${thing}`;\n },\n \"Object.defineProperty() cannot be used on an Immer draft\",\n \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n \"Immer only supports deleting array indices\",\n \"Immer only supports setting array indices and the 'length' property\",\n function(thing) {\n return `'original' expects a draft, got: ${thing}`;\n }\n // Note: if more errors are added, the errorOffset in Patches.ts should be increased\n // See Patches.ts for additional errors\n] : [];\nfunction die(error, ...args) {\n if (process.env.NODE_ENV !== \"production\") {\n const e = errors[error];\n const msg = typeof e === \"function\" ? e.apply(null, args) : e;\n throw new Error(`[Immer] ${msg}`);\n }\n throw new Error(\n `[Immer] minified error nr: ${error}. Full error at: https://bit.ly/3cXEKWf`\n );\n}\n\n// src/utils/common.ts\nvar getPrototypeOf = Object.getPrototypeOf;\nfunction isDraft(value) {\n return !!value && !!value[DRAFT_STATE];\n}\nfunction isDraftable(value) {\n if (!value)\n return false;\n return isPlainObject(value) || Array.isArray(value) || !!value[DRAFTABLE] || !!value.constructor?.[DRAFTABLE] || isMap(value) || isSet(value);\n}\nvar objectCtorString = Object.prototype.constructor.toString();\nvar cachedCtorStrings = /* @__PURE__ */ new WeakMap();\nfunction isPlainObject(value) {\n if (!value || typeof value !== \"object\")\n return false;\n const proto = Object.getPrototypeOf(value);\n if (proto === null || proto === Object.prototype)\n return true;\n const Ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\n if (Ctor === Object)\n return true;\n if (typeof Ctor !== \"function\")\n return false;\n let ctorString = cachedCtorStrings.get(Ctor);\n if (ctorString === void 0) {\n ctorString = Function.toString.call(Ctor);\n cachedCtorStrings.set(Ctor, ctorString);\n }\n return ctorString === objectCtorString;\n}\nfunction original(value) {\n if (!isDraft(value))\n die(15, value);\n return value[DRAFT_STATE].base_;\n}\nfunction each(obj, iter, strict = true) {\n if (getArchtype(obj) === 0 /* Object */) {\n const keys = strict ? Reflect.ownKeys(obj) : Object.keys(obj);\n keys.forEach((key) => {\n iter(key, obj[key], obj);\n });\n } else {\n obj.forEach((entry, index) => iter(index, entry, obj));\n }\n}\nfunction getArchtype(thing) {\n const state = thing[DRAFT_STATE];\n return state ? state.type_ : Array.isArray(thing) ? 1 /* Array */ : isMap(thing) ? 2 /* Map */ : isSet(thing) ? 3 /* Set */ : 0 /* Object */;\n}\nfunction has(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.has(prop) : Object.prototype.hasOwnProperty.call(thing, prop);\n}\nfunction get(thing, prop) {\n return getArchtype(thing) === 2 /* Map */ ? thing.get(prop) : thing[prop];\n}\nfunction set(thing, propOrOldValue, value) {\n const t = getArchtype(thing);\n if (t === 2 /* Map */)\n thing.set(propOrOldValue, value);\n else if (t === 3 /* Set */) {\n thing.add(value);\n } else\n thing[propOrOldValue] = value;\n}\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\nfunction isMap(target) {\n return target instanceof Map;\n}\nfunction isSet(target) {\n return target instanceof Set;\n}\nfunction latest(state) {\n return state.copy_ || state.base_;\n}\nfunction shallowCopy(base, strict) {\n if (isMap(base)) {\n return new Map(base);\n }\n if (isSet(base)) {\n return new Set(base);\n }\n if (Array.isArray(base))\n return Array.prototype.slice.call(base);\n const isPlain = isPlainObject(base);\n if (strict === true || strict === \"class_only\" && !isPlain) {\n const descriptors = Object.getOwnPropertyDescriptors(base);\n delete descriptors[DRAFT_STATE];\n let keys = Reflect.ownKeys(descriptors);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const desc = descriptors[key];\n if (desc.writable === false) {\n desc.writable = true;\n desc.configurable = true;\n }\n if (desc.get || desc.set)\n descriptors[key] = {\n configurable: true,\n writable: true,\n // could live with !!desc.set as well here...\n enumerable: desc.enumerable,\n value: base[key]\n };\n }\n return Object.create(getPrototypeOf(base), descriptors);\n } else {\n const proto = getPrototypeOf(base);\n if (proto !== null && isPlain) {\n return { ...base };\n }\n const obj = Object.create(proto);\n return Object.assign(obj, base);\n }\n}\nfunction freeze(obj, deep = false) {\n if (isFrozen(obj) || isDraft(obj) || !isDraftable(obj))\n return obj;\n if (getArchtype(obj) > 1) {\n Object.defineProperties(obj, {\n set: dontMutateMethodOverride,\n add: dontMutateMethodOverride,\n clear: dontMutateMethodOverride,\n delete: dontMutateMethodOverride\n });\n }\n Object.freeze(obj);\n if (deep)\n Object.values(obj).forEach((value) => freeze(value, true));\n return obj;\n}\nfunction dontMutateFrozenCollections() {\n die(2);\n}\nvar dontMutateMethodOverride = {\n value: dontMutateFrozenCollections\n};\nfunction isFrozen(obj) {\n if (obj === null || typeof obj !== \"object\")\n return true;\n return Object.isFrozen(obj);\n}\n\n// src/utils/plugins.ts\nvar plugins = {};\nfunction getPlugin(pluginKey) {\n const plugin = plugins[pluginKey];\n if (!plugin) {\n die(0, pluginKey);\n }\n return plugin;\n}\nfunction loadPlugin(pluginKey, implementation) {\n if (!plugins[pluginKey])\n plugins[pluginKey] = implementation;\n}\n\n// src/core/scope.ts\nvar currentScope;\nfunction getCurrentScope() {\n return currentScope;\n}\nfunction createScope(parent_, immer_) {\n return {\n drafts_: [],\n parent_,\n immer_,\n // Whenever the modified draft contains a draft from another scope, we\n // need to prevent auto-freezing so the unowned draft can be finalized.\n canAutoFreeze_: true,\n unfinalizedDrafts_: 0\n };\n}\nfunction usePatchesInScope(scope, patchListener) {\n if (patchListener) {\n getPlugin(\"Patches\");\n scope.patches_ = [];\n scope.inversePatches_ = [];\n scope.patchListener_ = patchListener;\n }\n}\nfunction revokeScope(scope) {\n leaveScope(scope);\n scope.drafts_.forEach(revokeDraft);\n scope.drafts_ = null;\n}\nfunction leaveScope(scope) {\n if (scope === currentScope) {\n currentScope = scope.parent_;\n }\n}\nfunction enterScope(immer2) {\n return currentScope = createScope(currentScope, immer2);\n}\nfunction revokeDraft(draft) {\n const state = draft[DRAFT_STATE];\n if (state.type_ === 0 /* Object */ || state.type_ === 1 /* Array */)\n state.revoke_();\n else\n state.revoked_ = true;\n}\n\n// src/core/finalize.ts\nfunction processResult(result, scope) {\n scope.unfinalizedDrafts_ = scope.drafts_.length;\n const baseDraft = scope.drafts_[0];\n const isReplaced = result !== void 0 && result !== baseDraft;\n if (isReplaced) {\n if (baseDraft[DRAFT_STATE].modified_) {\n revokeScope(scope);\n die(4);\n }\n if (isDraftable(result)) {\n result = finalize(scope, result);\n if (!scope.parent_)\n maybeFreeze(scope, result);\n }\n if (scope.patches_) {\n getPlugin(\"Patches\").generateReplacementPatches_(\n baseDraft[DRAFT_STATE].base_,\n result,\n scope.patches_,\n scope.inversePatches_\n );\n }\n } else {\n result = finalize(scope, baseDraft, []);\n }\n revokeScope(scope);\n if (scope.patches_) {\n scope.patchListener_(scope.patches_, scope.inversePatches_);\n }\n return result !== NOTHING ? result : void 0;\n}\nfunction finalize(rootScope, value, path) {\n if (isFrozen(value))\n return value;\n const useStrictIteration = rootScope.immer_.shouldUseStrictIteration();\n const state = value[DRAFT_STATE];\n if (!state) {\n each(\n value,\n (key, childValue) => finalizeProperty(rootScope, state, value, key, childValue, path),\n useStrictIteration\n );\n return value;\n }\n if (state.scope_ !== rootScope)\n return value;\n if (!state.modified_) {\n maybeFreeze(rootScope, state.base_, true);\n return state.base_;\n }\n if (!state.finalized_) {\n state.finalized_ = true;\n state.scope_.unfinalizedDrafts_--;\n const result = state.copy_;\n let resultEach = result;\n let isSet2 = false;\n if (state.type_ === 3 /* Set */) {\n resultEach = new Set(result);\n result.clear();\n isSet2 = true;\n }\n each(\n resultEach,\n (key, childValue) => finalizeProperty(\n rootScope,\n state,\n result,\n key,\n childValue,\n path,\n isSet2\n ),\n useStrictIteration\n );\n maybeFreeze(rootScope, result, false);\n if (path && rootScope.patches_) {\n getPlugin(\"Patches\").generatePatches_(\n state,\n path,\n rootScope.patches_,\n rootScope.inversePatches_\n );\n }\n }\n return state.copy_;\n}\nfunction finalizeProperty(rootScope, parentState, targetObject, prop, childValue, rootPath, targetIsSet) {\n if (childValue == null) {\n return;\n }\n if (typeof childValue !== \"object\" && !targetIsSet) {\n return;\n }\n const childIsFrozen = isFrozen(childValue);\n if (childIsFrozen && !targetIsSet) {\n return;\n }\n if (process.env.NODE_ENV !== \"production\" && childValue === targetObject)\n die(5);\n if (isDraft(childValue)) {\n const path = rootPath && parentState && parentState.type_ !== 3 /* Set */ && // Set objects are atomic since they have no keys.\n !has(parentState.assigned_, prop) ? rootPath.concat(prop) : void 0;\n const res = finalize(rootScope, childValue, path);\n set(targetObject, prop, res);\n if (isDraft(res)) {\n rootScope.canAutoFreeze_ = false;\n } else\n return;\n } else if (targetIsSet) {\n targetObject.add(childValue);\n }\n if (isDraftable(childValue) && !childIsFrozen) {\n if (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n return;\n }\n if (parentState && parentState.base_ && parentState.base_[prop] === childValue && childIsFrozen) {\n return;\n }\n finalize(rootScope, childValue);\n if ((!parentState || !parentState.scope_.parent_) && typeof prop !== \"symbol\" && (isMap(targetObject) ? targetObject.has(prop) : Object.prototype.propertyIsEnumerable.call(targetObject, prop)))\n maybeFreeze(rootScope, childValue);\n }\n}\nfunction maybeFreeze(scope, value, deep = false) {\n if (!scope.parent_ && scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n freeze(value, deep);\n }\n}\n\n// src/core/proxy.ts\nfunction createProxyProxy(base, parent) {\n const isArray = Array.isArray(base);\n const state = {\n type_: isArray ? 1 /* Array */ : 0 /* Object */,\n // Track which produce call this is associated with.\n scope_: parent ? parent.scope_ : getCurrentScope(),\n // True for both shallow and deep changes.\n modified_: false,\n // Used during finalization.\n finalized_: false,\n // Track which properties have been assigned (true) or deleted (false).\n assigned_: {},\n // The parent draft state.\n parent_: parent,\n // The base state.\n base_: base,\n // The base proxy.\n draft_: null,\n // set below\n // The base copy with any updated values.\n copy_: null,\n // Called by the `produce` function.\n revoke_: null,\n isManual_: false\n };\n let target = state;\n let traps = objectTraps;\n if (isArray) {\n target = [state];\n traps = arrayTraps;\n }\n const { revoke, proxy } = Proxy.revocable(target, traps);\n state.draft_ = proxy;\n state.revoke_ = revoke;\n return proxy;\n}\nvar objectTraps = {\n get(state, prop) {\n if (prop === DRAFT_STATE)\n return state;\n const source = latest(state);\n if (!has(source, prop)) {\n return readPropFromProto(state, source, prop);\n }\n const value = source[prop];\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value === peek(state.base_, prop)) {\n prepareCopy(state);\n return state.copy_[prop] = createProxy(value, state);\n }\n return value;\n },\n has(state, prop) {\n return prop in latest(state);\n },\n ownKeys(state) {\n return Reflect.ownKeys(latest(state));\n },\n set(state, prop, value) {\n const desc = getDescriptorFromProto(latest(state), prop);\n if (desc?.set) {\n desc.set.call(state.draft_, value);\n return true;\n }\n if (!state.modified_) {\n const current2 = peek(latest(state), prop);\n const currentState = current2?.[DRAFT_STATE];\n if (currentState && currentState.base_ === value) {\n state.copy_[prop] = value;\n state.assigned_[prop] = false;\n return true;\n }\n if (is(value, current2) && (value !== void 0 || has(state.base_, prop)))\n return true;\n prepareCopy(state);\n markChanged(state);\n }\n if (state.copy_[prop] === value && // special case: handle new props with value 'undefined'\n (value !== void 0 || prop in state.copy_) || // special case: NaN\n Number.isNaN(value) && Number.isNaN(state.copy_[prop]))\n return true;\n state.copy_[prop] = value;\n state.assigned_[prop] = true;\n return true;\n },\n deleteProperty(state, prop) {\n if (peek(state.base_, prop) !== void 0 || prop in state.base_) {\n state.assigned_[prop] = false;\n prepareCopy(state);\n markChanged(state);\n } else {\n delete state.assigned_[prop];\n }\n if (state.copy_) {\n delete state.copy_[prop];\n }\n return true;\n },\n // Note: We never coerce `desc.value` into an Immer draft, because we can't make\n // the same guarantee in ES5 mode.\n getOwnPropertyDescriptor(state, prop) {\n const owner = latest(state);\n const desc = Reflect.getOwnPropertyDescriptor(owner, prop);\n if (!desc)\n return desc;\n return {\n writable: true,\n configurable: state.type_ !== 1 /* Array */ || prop !== \"length\",\n enumerable: desc.enumerable,\n value: owner[prop]\n };\n },\n defineProperty() {\n die(11);\n },\n getPrototypeOf(state) {\n return getPrototypeOf(state.base_);\n },\n setPrototypeOf() {\n die(12);\n }\n};\nvar arrayTraps = {};\neach(objectTraps, (key, fn) => {\n arrayTraps[key] = function() {\n arguments[0] = arguments[0][0];\n return fn.apply(this, arguments);\n };\n});\narrayTraps.deleteProperty = function(state, prop) {\n if (process.env.NODE_ENV !== \"production\" && isNaN(parseInt(prop)))\n die(13);\n return arrayTraps.set.call(this, state, prop, void 0);\n};\narrayTraps.set = function(state, prop, value) {\n if (process.env.NODE_ENV !== \"production\" && prop !== \"length\" && isNaN(parseInt(prop)))\n die(14);\n return objectTraps.set.call(this, state[0], prop, value, state[0]);\n};\nfunction peek(draft, prop) {\n const state = draft[DRAFT_STATE];\n const source = state ? latest(state) : draft;\n return source[prop];\n}\nfunction readPropFromProto(state, source, prop) {\n const desc = getDescriptorFromProto(source, prop);\n return desc ? `value` in desc ? desc.value : (\n // This is a very special case, if the prop is a getter defined by the\n // prototype, we should invoke it with the draft as context!\n desc.get?.call(state.draft_)\n ) : void 0;\n}\nfunction getDescriptorFromProto(source, prop) {\n if (!(prop in source))\n return void 0;\n let proto = getPrototypeOf(source);\n while (proto) {\n const desc = Object.getOwnPropertyDescriptor(proto, prop);\n if (desc)\n return desc;\n proto = getPrototypeOf(proto);\n }\n return void 0;\n}\nfunction markChanged(state) {\n if (!state.modified_) {\n state.modified_ = true;\n if (state.parent_) {\n markChanged(state.parent_);\n }\n }\n}\nfunction prepareCopy(state) {\n if (!state.copy_) {\n state.copy_ = shallowCopy(\n state.base_,\n state.scope_.immer_.useStrictShallowCopy_\n );\n }\n}\n\n// src/core/immerClass.ts\nvar Immer2 = class {\n constructor(config) {\n this.autoFreeze_ = true;\n this.useStrictShallowCopy_ = false;\n this.useStrictIteration_ = true;\n /**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} recipe - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\n this.produce = (base, recipe, patchListener) => {\n if (typeof base === \"function\" && typeof recipe !== \"function\") {\n const defaultBase = recipe;\n recipe = base;\n const self = this;\n return function curriedProduce(base2 = defaultBase, ...args) {\n return self.produce(base2, (draft) => recipe.call(this, draft, ...args));\n };\n }\n if (typeof recipe !== \"function\")\n die(6);\n if (patchListener !== void 0 && typeof patchListener !== \"function\")\n die(7);\n let result;\n if (isDraftable(base)) {\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n let hasError = true;\n try {\n result = recipe(proxy);\n hasError = false;\n } finally {\n if (hasError)\n revokeScope(scope);\n else\n leaveScope(scope);\n }\n usePatchesInScope(scope, patchListener);\n return processResult(result, scope);\n } else if (!base || typeof base !== \"object\") {\n result = recipe(base);\n if (result === void 0)\n result = base;\n if (result === NOTHING)\n result = void 0;\n if (this.autoFreeze_)\n freeze(result, true);\n if (patchListener) {\n const p = [];\n const ip = [];\n getPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip);\n patchListener(p, ip);\n }\n return result;\n } else\n die(1, base);\n };\n this.produceWithPatches = (base, recipe) => {\n if (typeof base === \"function\") {\n return (state, ...args) => this.produceWithPatches(state, (draft) => base(draft, ...args));\n }\n let patches, inversePatches;\n const result = this.produce(base, recipe, (p, ip) => {\n patches = p;\n inversePatches = ip;\n });\n return [result, patches, inversePatches];\n };\n if (typeof config?.autoFreeze === \"boolean\")\n this.setAutoFreeze(config.autoFreeze);\n if (typeof config?.useStrictShallowCopy === \"boolean\")\n this.setUseStrictShallowCopy(config.useStrictShallowCopy);\n if (typeof config?.useStrictIteration === \"boolean\")\n this.setUseStrictIteration(config.useStrictIteration);\n }\n createDraft(base) {\n if (!isDraftable(base))\n die(8);\n if (isDraft(base))\n base = current(base);\n const scope = enterScope(this);\n const proxy = createProxy(base, void 0);\n proxy[DRAFT_STATE].isManual_ = true;\n leaveScope(scope);\n return proxy;\n }\n finishDraft(draft, patchListener) {\n const state = draft && draft[DRAFT_STATE];\n if (!state || !state.isManual_)\n die(9);\n const { scope_: scope } = state;\n usePatchesInScope(scope, patchListener);\n return processResult(void 0, scope);\n }\n /**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * By default, auto-freezing is enabled.\n */\n setAutoFreeze(value) {\n this.autoFreeze_ = value;\n }\n /**\n * Pass true to enable strict shallow copy.\n *\n * By default, immer does not copy the object descriptors such as getter, setter and non-enumrable properties.\n */\n setUseStrictShallowCopy(value) {\n this.useStrictShallowCopy_ = value;\n }\n /**\n * Pass false to use faster iteration that skips non-enumerable properties\n * but still handles symbols for compatibility.\n *\n * By default, strict iteration is enabled (includes all own properties).\n */\n setUseStrictIteration(value) {\n this.useStrictIteration_ = value;\n }\n shouldUseStrictIteration() {\n return this.useStrictIteration_;\n }\n applyPatches(base, patches) {\n let i;\n for (i = patches.length - 1; i >= 0; i--) {\n const patch = patches[i];\n if (patch.path.length === 0 && patch.op === \"replace\") {\n base = patch.value;\n break;\n }\n }\n if (i > -1) {\n patches = patches.slice(i + 1);\n }\n const applyPatchesImpl = getPlugin(\"Patches\").applyPatches_;\n if (isDraft(base)) {\n return applyPatchesImpl(base, patches);\n }\n return this.produce(\n base,\n (draft) => applyPatchesImpl(draft, patches)\n );\n }\n};\nfunction createProxy(value, parent) {\n const draft = isMap(value) ? getPlugin(\"MapSet\").proxyMap_(value, parent) : isSet(value) ? getPlugin(\"MapSet\").proxySet_(value, parent) : createProxyProxy(value, parent);\n const scope = parent ? parent.scope_ : getCurrentScope();\n scope.drafts_.push(draft);\n return draft;\n}\n\n// src/core/current.ts\nfunction current(value) {\n if (!isDraft(value))\n die(10, value);\n return currentImpl(value);\n}\nfunction currentImpl(value) {\n if (!isDraftable(value) || isFrozen(value))\n return value;\n const state = value[DRAFT_STATE];\n let copy;\n let strict = true;\n if (state) {\n if (!state.modified_)\n return state.base_;\n state.finalized_ = true;\n copy = shallowCopy(value, state.scope_.immer_.useStrictShallowCopy_);\n strict = state.scope_.immer_.shouldUseStrictIteration();\n } else {\n copy = shallowCopy(value, true);\n }\n each(\n copy,\n (key, childValue) => {\n set(copy, key, currentImpl(childValue));\n },\n strict\n );\n if (state) {\n state.finalized_ = false;\n }\n return copy;\n}\n\n// src/plugins/patches.ts\nfunction enablePatches() {\n const errorOffset = 16;\n if (process.env.NODE_ENV !== \"production\") {\n errors.push(\n 'Sets cannot have \"replace\" patches.',\n function(op) {\n return \"Unsupported patch operation: \" + op;\n },\n function(path) {\n return \"Cannot apply patch, path doesn't resolve: \" + path;\n },\n \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n );\n }\n const REPLACE = \"replace\";\n const ADD = \"add\";\n const REMOVE = \"remove\";\n function generatePatches_(state, basePath, patches, inversePatches) {\n switch (state.type_) {\n case 0 /* Object */:\n case 2 /* Map */:\n return generatePatchesFromAssigned(\n state,\n basePath,\n patches,\n inversePatches\n );\n case 1 /* Array */:\n return generateArrayPatches(state, basePath, patches, inversePatches);\n case 3 /* Set */:\n return generateSetPatches(\n state,\n basePath,\n patches,\n inversePatches\n );\n }\n }\n function generateArrayPatches(state, basePath, patches, inversePatches) {\n let { base_, assigned_ } = state;\n let copy_ = state.copy_;\n if (copy_.length < base_.length) {\n ;\n [base_, copy_] = [copy_, base_];\n [patches, inversePatches] = [inversePatches, patches];\n }\n for (let i = 0; i < base_.length; i++) {\n if (assigned_[i] && copy_[i] !== base_[i]) {\n const path = basePath.concat([i]);\n patches.push({\n op: REPLACE,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n inversePatches.push({\n op: REPLACE,\n path,\n value: clonePatchValueIfNeeded(base_[i])\n });\n }\n }\n for (let i = base_.length; i < copy_.length; i++) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n // Need to maybe clone it, as it can in fact be the original value\n // due to the base/copy inversion at the start of this function\n value: clonePatchValueIfNeeded(copy_[i])\n });\n }\n for (let i = copy_.length - 1; base_.length <= i; --i) {\n const path = basePath.concat([i]);\n inversePatches.push({\n op: REMOVE,\n path\n });\n }\n }\n function generatePatchesFromAssigned(state, basePath, patches, inversePatches) {\n const { base_, copy_ } = state;\n each(state.assigned_, (key, assignedValue) => {\n const origValue = get(base_, key);\n const value = get(copy_, key);\n const op = !assignedValue ? REMOVE : has(base_, key) ? REPLACE : ADD;\n if (origValue === value && op === REPLACE)\n return;\n const path = basePath.concat(key);\n patches.push(op === REMOVE ? { op, path } : { op, path, value });\n inversePatches.push(\n op === ADD ? { op: REMOVE, path } : op === REMOVE ? { op: ADD, path, value: clonePatchValueIfNeeded(origValue) } : { op: REPLACE, path, value: clonePatchValueIfNeeded(origValue) }\n );\n });\n }\n function generateSetPatches(state, basePath, patches, inversePatches) {\n let { base_, copy_ } = state;\n let i = 0;\n base_.forEach((value) => {\n if (!copy_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: REMOVE,\n path,\n value\n });\n inversePatches.unshift({\n op: ADD,\n path,\n value\n });\n }\n i++;\n });\n i = 0;\n copy_.forEach((value) => {\n if (!base_.has(value)) {\n const path = basePath.concat([i]);\n patches.push({\n op: ADD,\n path,\n value\n });\n inversePatches.unshift({\n op: REMOVE,\n path,\n value\n });\n }\n i++;\n });\n }\n function generateReplacementPatches_(baseValue, replacement, patches, inversePatches) {\n patches.push({\n op: REPLACE,\n path: [],\n value: replacement === NOTHING ? void 0 : replacement\n });\n inversePatches.push({\n op: REPLACE,\n path: [],\n value: baseValue\n });\n }\n function applyPatches_(draft, patches) {\n patches.forEach((patch) => {\n const { path, op } = patch;\n let base = draft;\n for (let i = 0; i < path.length - 1; i++) {\n const parentType = getArchtype(base);\n let p = path[i];\n if (typeof p !== \"string\" && typeof p !== \"number\") {\n p = \"\" + p;\n }\n if ((parentType === 0 /* Object */ || parentType === 1 /* Array */) && (p === \"__proto__\" || p === \"constructor\"))\n die(errorOffset + 3);\n if (typeof base === \"function\" && p === \"prototype\")\n die(errorOffset + 3);\n base = get(base, p);\n if (typeof base !== \"object\")\n die(errorOffset + 2, path.join(\"/\"));\n }\n const type = getArchtype(base);\n const value = deepClonePatchValue(patch.value);\n const key = path[path.length - 1];\n switch (op) {\n case REPLACE:\n switch (type) {\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n die(errorOffset);\n default:\n return base[key] = value;\n }\n case ADD:\n switch (type) {\n case 1 /* Array */:\n return key === \"-\" ? base.push(value) : base.splice(key, 0, value);\n case 2 /* Map */:\n return base.set(key, value);\n case 3 /* Set */:\n return base.add(value);\n default:\n return base[key] = value;\n }\n case REMOVE:\n switch (type) {\n case 1 /* Array */:\n return base.splice(key, 1);\n case 2 /* Map */:\n return base.delete(key);\n case 3 /* Set */:\n return base.delete(patch.value);\n default:\n return delete base[key];\n }\n default:\n die(errorOffset + 1, op);\n }\n });\n return draft;\n }\n function deepClonePatchValue(obj) {\n if (!isDraftable(obj))\n return obj;\n if (Array.isArray(obj))\n return obj.map(deepClonePatchValue);\n if (isMap(obj))\n return new Map(\n Array.from(obj.entries()).map(([k, v]) => [k, deepClonePatchValue(v)])\n );\n if (isSet(obj))\n return new Set(Array.from(obj).map(deepClonePatchValue));\n const cloned = Object.create(getPrototypeOf(obj));\n for (const key in obj)\n cloned[key] = deepClonePatchValue(obj[key]);\n if (has(obj, DRAFTABLE))\n cloned[DRAFTABLE] = obj[DRAFTABLE];\n return cloned;\n }\n function clonePatchValueIfNeeded(obj) {\n if (isDraft(obj)) {\n return deepClonePatchValue(obj);\n } else\n return obj;\n }\n loadPlugin(\"Patches\", {\n applyPatches_,\n generatePatches_,\n generateReplacementPatches_\n });\n}\n\n// src/plugins/mapset.ts\nfunction enableMapSet() {\n class DraftMap extends Map {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 2 /* Map */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n assigned_: void 0,\n base_: target,\n draft_: this,\n isManual_: false,\n revoked_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(key) {\n return latest(this[DRAFT_STATE]).has(key);\n }\n set(key, value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!latest(state).has(key) || latest(state).get(key) !== value) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_.set(key, true);\n state.copy_.set(key, value);\n state.assigned_.set(key, true);\n }\n return this;\n }\n delete(key) {\n if (!this.has(key)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareMapCopy(state);\n markChanged(state);\n if (state.base_.has(key)) {\n state.assigned_.set(key, false);\n } else {\n state.assigned_.delete(key);\n }\n state.copy_.delete(key);\n return true;\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareMapCopy(state);\n markChanged(state);\n state.assigned_ = /* @__PURE__ */ new Map();\n each(state.base_, (key) => {\n state.assigned_.set(key, false);\n });\n state.copy_.clear();\n }\n }\n forEach(cb, thisArg) {\n const state = this[DRAFT_STATE];\n latest(state).forEach((_value, key, _map) => {\n cb.call(thisArg, this.get(key), key, this);\n });\n }\n get(key) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n const value = latest(state).get(key);\n if (state.finalized_ || !isDraftable(value)) {\n return value;\n }\n if (value !== state.base_.get(key)) {\n return value;\n }\n const draft = createProxy(value, state);\n prepareMapCopy(state);\n state.copy_.set(key, draft);\n return draft;\n }\n keys() {\n return latest(this[DRAFT_STATE]).keys();\n }\n values() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.values(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value\n };\n }\n };\n }\n entries() {\n const iterator = this.keys();\n return {\n [Symbol.iterator]: () => this.entries(),\n next: () => {\n const r = iterator.next();\n if (r.done)\n return r;\n const value = this.get(r.value);\n return {\n done: false,\n value: [r.value, value]\n };\n }\n };\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.entries();\n }\n }\n function proxyMap_(target, parent) {\n return new DraftMap(target, parent);\n }\n function prepareMapCopy(state) {\n if (!state.copy_) {\n state.assigned_ = /* @__PURE__ */ new Map();\n state.copy_ = new Map(state.base_);\n }\n }\n class DraftSet extends Set {\n constructor(target, parent) {\n super();\n this[DRAFT_STATE] = {\n type_: 3 /* Set */,\n parent_: parent,\n scope_: parent ? parent.scope_ : getCurrentScope(),\n modified_: false,\n finalized_: false,\n copy_: void 0,\n base_: target,\n draft_: this,\n drafts_: /* @__PURE__ */ new Map(),\n revoked_: false,\n isManual_: false\n };\n }\n get size() {\n return latest(this[DRAFT_STATE]).size;\n }\n has(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!state.copy_) {\n return state.base_.has(value);\n }\n if (state.copy_.has(value))\n return true;\n if (state.drafts_.has(value) && state.copy_.has(state.drafts_.get(value)))\n return true;\n return false;\n }\n add(value) {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (!this.has(value)) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.add(value);\n }\n return this;\n }\n delete(value) {\n if (!this.has(value)) {\n return false;\n }\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n markChanged(state);\n return state.copy_.delete(value) || (state.drafts_.has(value) ? state.copy_.delete(state.drafts_.get(value)) : (\n /* istanbul ignore next */\n false\n ));\n }\n clear() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n if (latest(state).size) {\n prepareSetCopy(state);\n markChanged(state);\n state.copy_.clear();\n }\n }\n values() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.values();\n }\n entries() {\n const state = this[DRAFT_STATE];\n assertUnrevoked(state);\n prepareSetCopy(state);\n return state.copy_.entries();\n }\n keys() {\n return this.values();\n }\n [(DRAFT_STATE, Symbol.iterator)]() {\n return this.values();\n }\n forEach(cb, thisArg) {\n const iterator = this.values();\n let result = iterator.next();\n while (!result.done) {\n cb.call(thisArg, result.value, result.value, this);\n result = iterator.next();\n }\n }\n }\n function proxySet_(target, parent) {\n return new DraftSet(target, parent);\n }\n function prepareSetCopy(state) {\n if (!state.copy_) {\n state.copy_ = /* @__PURE__ */ new Set();\n state.base_.forEach((value) => {\n if (isDraftable(value)) {\n const draft = createProxy(value, state);\n state.drafts_.set(value, draft);\n state.copy_.add(draft);\n } else {\n state.copy_.add(value);\n }\n });\n }\n }\n function assertUnrevoked(state) {\n if (state.revoked_)\n die(3, JSON.stringify(latest(state)));\n }\n loadPlugin(\"MapSet\", { proxyMap_, proxySet_ });\n}\n\n// src/immer.ts\nvar immer = new Immer2();\nvar produce = immer.produce;\nvar produceWithPatches = /* @__PURE__ */ immer.produceWithPatches.bind(\n immer\n);\nvar setAutoFreeze = /* @__PURE__ */ immer.setAutoFreeze.bind(immer);\nvar setUseStrictShallowCopy = /* @__PURE__ */ immer.setUseStrictShallowCopy.bind(\n immer\n);\nvar setUseStrictIteration = /* @__PURE__ */ immer.setUseStrictIteration.bind(\n immer\n);\nvar applyPatches = /* @__PURE__ */ immer.applyPatches.bind(immer);\nvar createDraft = /* @__PURE__ */ immer.createDraft.bind(immer);\nvar finishDraft = /* @__PURE__ */ immer.finishDraft.bind(immer);\nfunction castDraft(value) {\n return value;\n}\nfunction castImmutable(value) {\n return value;\n}\nexport {\n Immer2 as Immer,\n applyPatches,\n castDraft,\n castImmutable,\n createDraft,\n current,\n enableMapSet,\n enablePatches,\n finishDraft,\n freeze,\n DRAFTABLE as immerable,\n isDraft,\n isDraftable,\n NOTHING as nothing,\n original,\n produce,\n produceWithPatches,\n setAutoFreeze,\n setUseStrictIteration,\n setUseStrictShallowCopy\n};\n//# sourceMappingURL=immer.mjs.map",
|
|
9
|
+
"import { produce } from 'immer';\n\nconst immerImpl = (initializer) => (set, get, store) => {\n store.setState = (updater, replace, ...args) => {\n const nextState = typeof updater === \"function\" ? produce(updater) : updater;\n return set(nextState, replace, ...args);\n };\n return initializer(store.setState, get, store);\n};\nconst immer = immerImpl;\n\nexport { immer };\n",
|
|
10
|
+
"const reduxImpl = (reducer, initial) => (set, _get, api) => {\n api.dispatch = (action) => {\n set((state) => reducer(state, action), false, action);\n return action;\n };\n api.dispatchFromDevtools = true;\n return { dispatch: (...args) => api.dispatch(...args), ...initial };\n};\nconst redux = reduxImpl;\n\nconst trackedConnections = /* @__PURE__ */ new Map();\nconst getTrackedConnectionState = (name) => {\n const api = trackedConnections.get(name);\n if (!api) return {};\n return Object.fromEntries(\n Object.entries(api.stores).map(([key, api2]) => [key, api2.getState()])\n );\n};\nconst extractConnectionInformation = (store, extensionConnector, options) => {\n if (store === void 0) {\n return {\n type: \"untracked\",\n connection: extensionConnector.connect(options)\n };\n }\n const existingConnection = trackedConnections.get(options.name);\n if (existingConnection) {\n return { type: \"tracked\", store, ...existingConnection };\n }\n const newConnection = {\n connection: extensionConnector.connect(options),\n stores: {}\n };\n trackedConnections.set(options.name, newConnection);\n return { type: \"tracked\", store, ...newConnection };\n};\nconst removeStoreFromTrackedConnections = (name, store) => {\n if (store === void 0) return;\n const connectionInfo = trackedConnections.get(name);\n if (!connectionInfo) return;\n delete connectionInfo.stores[store];\n if (Object.keys(connectionInfo.stores).length === 0) {\n trackedConnections.delete(name);\n }\n};\nconst findCallerName = (stack) => {\n var _a, _b;\n if (!stack) return void 0;\n const traceLines = stack.split(\"\\n\");\n const apiSetStateLineIndex = traceLines.findIndex(\n (traceLine) => traceLine.includes(\"api.setState\")\n );\n if (apiSetStateLineIndex < 0) return void 0;\n const callerLine = ((_a = traceLines[apiSetStateLineIndex + 1]) == null ? void 0 : _a.trim()) || \"\";\n return (_b = /.+ (.+) .+/.exec(callerLine)) == null ? void 0 : _b[1];\n};\nconst devtoolsImpl = (fn, devtoolsOptions = {}) => (set, get, api) => {\n const { enabled, anonymousActionType, store, ...options } = devtoolsOptions;\n let extensionConnector;\n try {\n extensionConnector = (enabled != null ? enabled : (import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") && window.__REDUX_DEVTOOLS_EXTENSION__;\n } catch (e) {\n }\n if (!extensionConnector) {\n return fn(set, get, api);\n }\n const { connection, ...connectionInformation } = extractConnectionInformation(store, extensionConnector, options);\n let isRecording = true;\n api.setState = ((state, replace, nameOrAction) => {\n const r = set(state, replace);\n if (!isRecording) return r;\n const action = nameOrAction === void 0 ? {\n type: anonymousActionType || findCallerName(new Error().stack) || \"anonymous\"\n } : typeof nameOrAction === \"string\" ? { type: nameOrAction } : nameOrAction;\n if (store === void 0) {\n connection == null ? void 0 : connection.send(action, get());\n return r;\n }\n connection == null ? void 0 : connection.send(\n {\n ...action,\n type: `${store}/${action.type}`\n },\n {\n ...getTrackedConnectionState(options.name),\n [store]: api.getState()\n }\n );\n return r;\n });\n api.devtools = {\n cleanup: () => {\n if (connection && typeof connection.unsubscribe === \"function\") {\n connection.unsubscribe();\n }\n removeStoreFromTrackedConnections(options.name, store);\n }\n };\n const setStateFromDevtools = (...a) => {\n const originalIsRecording = isRecording;\n isRecording = false;\n set(...a);\n isRecording = originalIsRecording;\n };\n const initialState = fn(api.setState, get, api);\n if (connectionInformation.type === \"untracked\") {\n connection == null ? void 0 : connection.init(initialState);\n } else {\n connectionInformation.stores[connectionInformation.store] = api;\n connection == null ? void 0 : connection.init(\n Object.fromEntries(\n Object.entries(connectionInformation.stores).map(([key, store2]) => [\n key,\n key === connectionInformation.store ? initialState : store2.getState()\n ])\n )\n );\n }\n if (api.dispatchFromDevtools && typeof api.dispatch === \"function\") {\n let didWarnAboutReservedActionType = false;\n const originalDispatch = api.dispatch;\n api.dispatch = (...args) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\" && args[0].type === \"__setState\" && !didWarnAboutReservedActionType) {\n console.warn(\n '[zustand devtools middleware] \"__setState\" action type is reserved to set state from the devtools. Avoid using it.'\n );\n didWarnAboutReservedActionType = true;\n }\n originalDispatch(...args);\n };\n }\n connection.subscribe((message) => {\n var _a;\n switch (message.type) {\n case \"ACTION\":\n if (typeof message.payload !== \"string\") {\n console.error(\n \"[zustand devtools middleware] Unsupported action format\"\n );\n return;\n }\n return parseJsonThen(\n message.payload,\n (action) => {\n if (action.type === \"__setState\") {\n if (store === void 0) {\n setStateFromDevtools(action.state);\n return;\n }\n if (Object.keys(action.state).length !== 1) {\n console.error(\n `\n [zustand devtools middleware] Unsupported __setState action format.\n When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),\n and value of this only key should be a state object. Example: { \"type\": \"__setState\", \"state\": { \"abc123Store\": { \"foo\": \"bar\" } } }\n `\n );\n }\n const stateFromDevtools = action.state[store];\n if (stateFromDevtools === void 0 || stateFromDevtools === null) {\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(stateFromDevtools)) {\n setStateFromDevtools(stateFromDevtools);\n }\n return;\n }\n if (!api.dispatchFromDevtools) return;\n if (typeof api.dispatch !== \"function\") return;\n api.dispatch(action);\n }\n );\n case \"DISPATCH\":\n switch (message.payload.type) {\n case \"RESET\":\n setStateFromDevtools(initialState);\n if (store === void 0) {\n return connection == null ? void 0 : connection.init(api.getState());\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"COMMIT\":\n if (store === void 0) {\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n return connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n case \"ROLLBACK\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n connection == null ? void 0 : connection.init(api.getState());\n return;\n }\n setStateFromDevtools(state[store]);\n connection == null ? void 0 : connection.init(getTrackedConnectionState(options.name));\n });\n case \"JUMP_TO_STATE\":\n case \"JUMP_TO_ACTION\":\n return parseJsonThen(message.state, (state) => {\n if (store === void 0) {\n setStateFromDevtools(state);\n return;\n }\n if (JSON.stringify(api.getState()) !== JSON.stringify(state[store])) {\n setStateFromDevtools(state[store]);\n }\n });\n case \"IMPORT_STATE\": {\n const { nextLiftedState } = message.payload;\n const lastComputedState = (_a = nextLiftedState.computedStates.slice(-1)[0]) == null ? void 0 : _a.state;\n if (!lastComputedState) return;\n if (store === void 0) {\n setStateFromDevtools(lastComputedState);\n } else {\n setStateFromDevtools(lastComputedState[store]);\n }\n connection == null ? void 0 : connection.send(\n null,\n // FIXME no-any\n nextLiftedState\n );\n return;\n }\n case \"PAUSE_RECORDING\":\n return isRecording = !isRecording;\n }\n return;\n }\n });\n return initialState;\n};\nconst devtools = devtoolsImpl;\nconst parseJsonThen = (stringified, fn) => {\n let parsed;\n try {\n parsed = JSON.parse(stringified);\n } catch (e) {\n console.error(\n \"[zustand devtools middleware] Could not parse the received json\",\n e\n );\n }\n if (parsed !== void 0) fn(parsed);\n};\n\nconst subscribeWithSelectorImpl = (fn) => (set, get, api) => {\n const origSubscribe = api.subscribe;\n api.subscribe = ((selector, optListener, options) => {\n let listener = selector;\n if (optListener) {\n const equalityFn = (options == null ? void 0 : options.equalityFn) || Object.is;\n let currentSlice = selector(api.getState());\n listener = (state) => {\n const nextSlice = selector(state);\n if (!equalityFn(currentSlice, nextSlice)) {\n const previousSlice = currentSlice;\n optListener(currentSlice = nextSlice, previousSlice);\n }\n };\n if (options == null ? void 0 : options.fireImmediately) {\n optListener(currentSlice, currentSlice);\n }\n }\n return origSubscribe(listener);\n });\n const initialState = fn(set, get, api);\n return initialState;\n};\nconst subscribeWithSelector = subscribeWithSelectorImpl;\n\nfunction combine(initialState, create) {\n return (...args) => Object.assign({}, initialState, create(...args));\n}\n\nfunction createJSONStorage(getStorage, options) {\n let storage;\n try {\n storage = getStorage();\n } catch (e) {\n return;\n }\n const persistStorage = {\n getItem: (name) => {\n var _a;\n const parse = (str2) => {\n if (str2 === null) {\n return null;\n }\n return JSON.parse(str2, options == null ? void 0 : options.reviver);\n };\n const str = (_a = storage.getItem(name)) != null ? _a : null;\n if (str instanceof Promise) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: (name, newValue) => storage.setItem(name, JSON.stringify(newValue, options == null ? void 0 : options.replacer)),\n removeItem: (name) => storage.removeItem(name)\n };\n return persistStorage;\n}\nconst toThenable = (fn) => (input) => {\n try {\n const result = fn(input);\n if (result instanceof Promise) {\n return result;\n }\n return {\n then(onFulfilled) {\n return toThenable(onFulfilled)(result);\n },\n catch(_onRejected) {\n return this;\n }\n };\n } catch (e) {\n return {\n then(_onFulfilled) {\n return this;\n },\n catch(onRejected) {\n return toThenable(onRejected)(e);\n }\n };\n }\n};\nconst persistImpl = (config, baseOptions) => (set, get, api) => {\n let options = {\n storage: createJSONStorage(() => localStorage),\n partialize: (state) => state,\n version: 0,\n merge: (persistedState, currentState) => ({\n ...currentState,\n ...persistedState\n }),\n ...baseOptions\n };\n let hasHydrated = false;\n const hydrationListeners = /* @__PURE__ */ new Set();\n const finishHydrationListeners = /* @__PURE__ */ new Set();\n let storage = options.storage;\n if (!storage) {\n return config(\n (...args) => {\n console.warn(\n `[zustand persist middleware] Unable to update item '${options.name}', the given storage is currently unavailable.`\n );\n set(...args);\n },\n get,\n api\n );\n }\n const setItem = () => {\n const state = options.partialize({ ...get() });\n return storage.setItem(options.name, {\n state,\n version: options.version\n });\n };\n const savedSetState = api.setState;\n api.setState = (state, replace) => {\n savedSetState(state, replace);\n return setItem();\n };\n const configResult = config(\n (...args) => {\n set(...args);\n return setItem();\n },\n get,\n api\n );\n api.getInitialState = () => configResult;\n let stateFromStorage;\n const hydrate = () => {\n var _a, _b;\n if (!storage) return;\n hasHydrated = false;\n hydrationListeners.forEach((cb) => {\n var _a2;\n return cb((_a2 = get()) != null ? _a2 : configResult);\n });\n const postRehydrationCallback = ((_b = options.onRehydrateStorage) == null ? void 0 : _b.call(options, (_a = get()) != null ? _a : configResult)) || void 0;\n return toThenable(storage.getItem.bind(storage))(options.name).then((deserializedStorageValue) => {\n if (deserializedStorageValue) {\n if (typeof deserializedStorageValue.version === \"number\" && deserializedStorageValue.version !== options.version) {\n if (options.migrate) {\n const migration = options.migrate(\n deserializedStorageValue.state,\n deserializedStorageValue.version\n );\n if (migration instanceof Promise) {\n return migration.then((result) => [true, result]);\n }\n return [true, migration];\n }\n console.error(\n `State loaded from storage couldn't be migrated since no migrate function was provided`\n );\n } else {\n return [false, deserializedStorageValue.state];\n }\n }\n return [false, void 0];\n }).then((migrationResult) => {\n var _a2;\n const [migrated, migratedState] = migrationResult;\n stateFromStorage = options.merge(\n migratedState,\n (_a2 = get()) != null ? _a2 : configResult\n );\n set(stateFromStorage, true);\n if (migrated) {\n return setItem();\n }\n }).then(() => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(stateFromStorage, void 0);\n stateFromStorage = get();\n hasHydrated = true;\n finishHydrationListeners.forEach((cb) => cb(stateFromStorage));\n }).catch((e) => {\n postRehydrationCallback == null ? void 0 : postRehydrationCallback(void 0, e);\n });\n };\n api.persist = {\n setOptions: (newOptions) => {\n options = {\n ...options,\n ...newOptions\n };\n if (newOptions.storage) {\n storage = newOptions.storage;\n }\n },\n clearStorage: () => {\n storage == null ? void 0 : storage.removeItem(options.name);\n },\n getOptions: () => options,\n rehydrate: () => hydrate(),\n hasHydrated: () => hasHydrated,\n onHydrate: (cb) => {\n hydrationListeners.add(cb);\n return () => {\n hydrationListeners.delete(cb);\n };\n },\n onFinishHydration: (cb) => {\n finishHydrationListeners.add(cb);\n return () => {\n finishHydrationListeners.delete(cb);\n };\n }\n };\n if (!options.skipHydration) {\n hydrate();\n }\n return stateFromStorage || configResult;\n};\nconst persist = persistImpl;\n\nexport { combine, createJSONStorage, devtools, persist, redux, subscribeWithSelector };\n",
|
|
11
|
+
"/**\n * Global App Store\n * Centralized state management for the entire TUI\n */\n\nimport { create } from 'zustand';\nimport { immer } from 'zustand/middleware/immer';\nimport { subscribeWithSelector } from 'zustand/middleware';\nimport type { AIConfig, ProviderId } from '../../config/ai-config.js';\nimport type { Session, MessagePart, FileAttachment, TokenUsage, MessageMetadata } from '../../types/session.types.js';\nimport type { Todo, TodoUpdate } from '../../types/todo.types.js';\nimport { getSessionRepository } from '../../db/database.js';\n\nexport type Screen = 'main-menu' | 'provider-management' | 'model-selection' | 'chat' | 'command-palette' | 'logs';\nexport type { Session, MessagePart } from '../../types/session.types.js';\n\nexport interface AppState {\n // Navigation\n currentScreen: Screen;\n navigateTo: (screen: Screen) => void;\n\n // AI Configuration\n aiConfig: AIConfig | null;\n setAIConfig: (config: AIConfig) => void;\n updateProvider: (provider: ProviderId, data: { apiKey?: string; defaultModel?: string }) => void;\n removeProvider: (provider: ProviderId) => void;\n\n // Model Selection\n selectedProvider: ProviderId | null;\n selectedModel: string | null;\n setSelectedProvider: (provider: ProviderId | null) => void;\n setSelectedModel: (model: string | null) => void;\n\n // Chat Sessions\n sessions: Session[];\n currentSessionId: string | null;\n createSession: (provider: ProviderId, model: string) => string;\n updateSessionModel: (sessionId: string, model: string) => void;\n updateSessionProvider: (sessionId: string, provider: ProviderId, model: string) => void;\n updateSessionTitle: (sessionId: string, title: string) => void;\n addMessage: (sessionId: string, role: 'user' | 'assistant', content: string | MessagePart[], attachments?: FileAttachment[], usage?: TokenUsage, finishReason?: string, metadata?: MessageMetadata, todoSnapshot?: Todo[]) => void;\n setCurrentSession: (sessionId: string | null) => void;\n deleteSession: (sessionId: string) => void;\n\n // UI State\n isLoading: boolean;\n error: string | null;\n setLoading: (loading: boolean) => void;\n setError: (error: string | null) => void;\n\n // Agent State\n currentAgentId: string;\n setCurrentAgentId: (agentId: string) => void;\n\n // Rule State\n enabledRuleIds: string[];\n setEnabledRuleIds: (ruleIds: string[]) => void;\n\n // Debug Logs\n debugLogs: string[];\n addDebugLog: (message: string) => void;\n clearDebugLogs: () => void;\n\n // Notification Settings\n notificationSettings: {\n osNotifications: boolean;\n terminalNotifications: boolean;\n sound: boolean;\n };\n updateNotificationSettings: (settings: Partial<AppState['notificationSettings']>) => void;\n\n // Todo State (per-session, accessed via currentSession)\n updateTodos: (sessionId: string, updates: TodoUpdate[]) => void;\n}\n\nexport const useAppStore = create<AppState>()(\n subscribeWithSelector(\n immer((set) => ({\n // Navigation\n currentScreen: 'chat',\n navigateTo: (screen) =>\n set((state) => {\n state.currentScreen = screen;\n }),\n\n // AI Configuration\n aiConfig: null,\n setAIConfig: (config) =>\n set((state) => {\n state.aiConfig = config;\n }),\n updateProvider: (provider, data) =>\n set((state) => {\n if (!state.aiConfig) {\n state.aiConfig = { providers: {} };\n }\n if (!state.aiConfig.providers) {\n state.aiConfig.providers = {};\n }\n state.aiConfig.providers[provider] = {\n ...state.aiConfig.providers[provider],\n ...data,\n };\n }),\n removeProvider: (provider) =>\n set((state) => {\n if (state.aiConfig?.providers) {\n delete state.aiConfig.providers[provider];\n }\n if (state.aiConfig?.defaultProvider === provider) {\n state.aiConfig.defaultProvider = undefined;\n state.aiConfig.defaultModel = undefined;\n }\n }),\n\n // Model Selection\n selectedProvider: null,\n selectedModel: null,\n setSelectedProvider: (provider) =>\n set((state) => {\n state.selectedProvider = provider;\n }),\n setSelectedModel: (model) =>\n set((state) => {\n state.selectedModel = model;\n }),\n\n // Chat Sessions\n sessions: [],\n currentSessionId: null,\n createSession: (provider, model) => {\n const sessionId = `session-${Date.now()}`;\n const now = Date.now();\n\n // Update state immediately (optimistic update)\n set((state) => {\n state.sessions.push({\n id: sessionId,\n provider,\n model,\n messages: [],\n todos: [], // Initialize empty todos for this session\n nextTodoId: 1, // Start todo IDs from 1\n created: now,\n updated: now,\n });\n state.currentSessionId = sessionId;\n });\n\n // Create in database asynchronously with SAME ID (critical for consistency!)\n getSessionRepository().then((repo) => {\n repo.createSessionFromData({\n id: sessionId,\n provider,\n model,\n nextTodoId: 1,\n created: now,\n updated: now,\n }).catch((error) => {\n console.error('Failed to create session in database:', error);\n });\n });\n\n return sessionId;\n },\n updateSessionModel: (sessionId, model) => {\n // Update database asynchronously\n getSessionRepository().then((repo) => {\n repo.updateSessionModel(sessionId, model).catch((error) => {\n console.error('Failed to update session model in database:', error);\n });\n });\n\n // Update state immediately\n set((state) => {\n const session = state.sessions.find((s) => s.id === sessionId);\n if (session) {\n session.model = model;\n }\n });\n },\n updateSessionProvider: (sessionId, provider, model) => {\n // Update database asynchronously\n getSessionRepository().then((repo) => {\n repo.updateSessionProvider(sessionId, provider, model).catch((error) => {\n console.error('Failed to update session provider in database:', error);\n });\n });\n\n // Update state immediately\n set((state) => {\n const session = state.sessions.find((s) => s.id === sessionId);\n if (session) {\n session.provider = provider;\n session.model = model;\n }\n });\n },\n updateSessionTitle: (sessionId, title) => {\n // Update database asynchronously\n getSessionRepository().then((repo) => {\n repo.updateSessionTitle(sessionId, title).catch((error) => {\n console.error('Failed to update session title in database:', error);\n });\n });\n\n // Update state immediately\n set((state) => {\n const session = state.sessions.find((s) => s.id === sessionId);\n if (session) {\n session.title = title;\n }\n });\n },\n addMessage: (sessionId, role, content, attachments, usage, finishReason, metadata, todoSnapshot) => {\n // Normalize content to MessagePart[] format\n const normalizedContent: MessagePart[] = typeof content === 'string'\n ? [{ type: 'text', content }]\n : content;\n\n // Add to database asynchronously\n getSessionRepository().then((repo) => {\n repo\n .addMessage(sessionId, role, normalizedContent, attachments, usage, finishReason, metadata, todoSnapshot)\n .catch((error) => {\n console.error('Failed to add message to database:', error);\n });\n });\n\n // Update state immediately (optimistic update)\n set((state) => {\n const session = state.sessions.find((s) => s.id === sessionId);\n if (session) {\n session.messages.push({\n role,\n content: normalizedContent,\n timestamp: Date.now(),\n ...(attachments !== undefined && attachments.length > 0 && { attachments }),\n ...(usage !== undefined && { usage }),\n ...(finishReason !== undefined && { finishReason }),\n ...(metadata !== undefined && { metadata }),\n ...(todoSnapshot !== undefined && todoSnapshot.length > 0 && { todoSnapshot }),\n });\n }\n });\n },\n setCurrentSession: (sessionId) =>\n set((state) => {\n state.currentSessionId = sessionId;\n }),\n deleteSession: (sessionId) => {\n // Delete from database asynchronously\n getSessionRepository().then((repo) => {\n repo.deleteSession(sessionId).catch((error) => {\n console.error('Failed to delete session from database:', error);\n });\n });\n\n // Update state immediately (optimistic update)\n set((state) => {\n state.sessions = state.sessions.filter((s) => s.id !== sessionId);\n if (state.currentSessionId === sessionId) {\n state.currentSessionId = null;\n }\n });\n },\n\n // UI State\n isLoading: false,\n error: null,\n setLoading: (loading) =>\n set((state) => {\n state.isLoading = loading;\n }),\n setError: (error) =>\n set((state) => {\n state.error = error;\n }),\n\n // Agent State\n currentAgentId: 'coder',\n setCurrentAgentId: (agentId) =>\n set((state) => {\n state.currentAgentId = agentId;\n }),\n\n // Rule State\n enabledRuleIds: [],\n setEnabledRuleIds: (ruleIds) =>\n set((state) => {\n state.enabledRuleIds = ruleIds;\n }),\n\n // Debug Logs\n debugLogs: [],\n addDebugLog: (message) =>\n set((state) => {\n // Only log in debug mode (controlled by DEBUG env var)\n // In production, this is a no-op to avoid performance overhead\n if (!process.env.DEBUG) {\n return;\n }\n\n const timestamp = new Date().toLocaleTimeString();\n state.debugLogs.push(`[${timestamp}] ${message}`);\n\n // Log rotation: keep max 1000 entries to prevent memory leak\n const MAX_LOGS = 1000;\n if (state.debugLogs.length > MAX_LOGS) {\n // Remove oldest half when limit reached\n state.debugLogs = state.debugLogs.slice(-MAX_LOGS / 2);\n }\n }),\n clearDebugLogs: () =>\n set((state) => {\n state.debugLogs = [];\n }),\n\n // Notification Settings\n notificationSettings: {\n osNotifications: true,\n terminalNotifications: true,\n sound: true,\n },\n updateNotificationSettings: (settings) =>\n set((state) => {\n state.notificationSettings = {\n ...state.notificationSettings,\n ...settings,\n };\n }),\n\n // Todo State (per-session)\n updateTodos: (sessionId, updates) =>\n set((state) => {\n const session = state.sessions.find((s) => s.id === sessionId);\n if (!session) return;\n\n for (const update of updates) {\n if (update.id === undefined || update.id === null) {\n // Add new todo\n const newId = session.nextTodoId;\n const maxOrdering = session.todos.length > 0\n ? Math.max(...session.todos.map((t) => t.ordering))\n : 0;\n\n session.todos.push({\n id: newId,\n content: update.content || '',\n activeForm: update.activeForm || '',\n status: update.status || 'pending',\n ordering: maxOrdering + 10,\n });\n session.nextTodoId = newId + 1;\n } else {\n // Update existing todo\n const todo = session.todos.find((t) => t.id === update.id);\n if (!todo) continue;\n\n // Update fields\n if (update.content !== undefined) todo.content = update.content;\n if (update.activeForm !== undefined) todo.activeForm = update.activeForm;\n if (update.status !== undefined) todo.status = update.status;\n\n // Handle reordering\n if (update.reorder) {\n const { type, id: targetId } = update.reorder;\n\n if (type === 'top') {\n const minOrdering = Math.min(...session.todos.map((t) => t.ordering));\n todo.ordering = minOrdering - 10;\n } else if (type === 'last') {\n const maxOrdering = Math.max(...session.todos.map((t) => t.ordering));\n todo.ordering = maxOrdering + 10;\n } else if (type === 'before' && targetId !== undefined) {\n const target = session.todos.find((t) => t.id === targetId);\n if (target) {\n // Find the todo before target (lower ordering, shows earlier)\n const sorted = [...session.todos].sort((a, b) => a.ordering - b.ordering || a.id - b.id);\n const targetIdx = sorted.findIndex((t) => t.id === targetId);\n const before = targetIdx > 0 ? sorted[targetIdx - 1] : null;\n\n if (before) {\n // Insert between before and target\n todo.ordering = Math.floor((before.ordering + target.ordering) / 2);\n } else {\n // Target is first, put this todo before it\n todo.ordering = target.ordering - 10;\n }\n }\n } else if (type === 'after' && targetId !== undefined) {\n const target = session.todos.find((t) => t.id === targetId);\n if (target) {\n // Find the todo after target (higher ordering, shows later)\n const sorted = [...session.todos].sort((a, b) => a.ordering - b.ordering || a.id - b.id);\n const targetIdx = sorted.findIndex((t) => t.id === targetId);\n const after = targetIdx < sorted.length - 1 ? sorted[targetIdx + 1] : null;\n\n if (after) {\n // Insert between target and after\n todo.ordering = Math.floor((target.ordering + after.ordering) / 2);\n } else {\n // Target is last, put this todo after it\n todo.ordering = target.ordering + 10;\n }\n }\n }\n }\n }\n }\n\n // ⚠️ CRITICAL: Copy todos and nextTodoId BEFORE async database operation\n // Immer draft proxies are revoked after set() completes\n // Accessing session.todos after set() will throw \"Proxy has been revoked\"\n const todosCopy = JSON.parse(JSON.stringify(session.todos));\n const nextTodoIdCopy = session.nextTodoId;\n\n // Sync to database asynchronously after state update\n getSessionRepository().then((repo) => {\n repo.updateTodos(sessionId, todosCopy, nextTodoIdCopy).catch((error) => {\n console.error('Failed to update todos in database:', error);\n });\n });\n }),\n }))\n )\n);\n\n// Database persistence is now handled via optimistic updates in each action\n// No need for separate subscription - each CRUD operation syncs to DB immediately\n"
|
|
12
|
+
],
|
|
13
|
+
"mappings": "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",
|
|
14
|
+
"debugId": "1289C6BE3D6A205B64756E2164756E21",
|
|
15
|
+
"names": []
|
|
16
|
+
}
|