lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false importers: .: dependencies: '@kevisual/context': specifier: ^0.0.4 version: 0.0.4 '@kevisual/router': specifier: ^0.0.52 version: 0.0.52 '@kevisual/use-config': specifier: ^1.0.24 version: 1.0.24(dotenv@17.2.3) '@opencode-ai/plugin': specifier: ^1.1.14 version: 1.1.14 nanoid: specifier: ^5.1.6 version: 5.1.6 devDependencies: '@kevisual/cnb': specifier: ^0.0.2 version: 0.0.2(dotenv@17.2.3) '@types/bun': specifier: ^1.3.5 version: 1.3.5 '@types/node': specifier: ^25.0.6 version: 25.0.6 packages: '@kevisual/cnb@0.0.2': resolution: {integrity: sha512-mpoIbBTiavM8T1oJ2jMStnm2PSC9d6LUAro//nceg60vD0m0Q9fh0p1Sb+PMvrUrOvcs+1zc/AjrgE9BeNWprg==} '@kevisual/context@0.0.4': resolution: {integrity: sha512-HJeLeZQLU+7tCluSfOyvkgKLs0HjCZrdJlZgEgKRSa8XTwZfMAUt6J7qZTbrZAHBlPtX68EPu/PI8JMCeu3WAQ==} '@kevisual/load@0.0.6': resolution: {integrity: sha512-+3YTFehRcZ1haGel5DKYMUwmi5i6f2psyaPZlfkKU/cOXgkpwoG9/BEqPCnPjicKqqnksEpixVRkyHJ+5bjLVA==} '@kevisual/query@0.0.35': resolution: {integrity: sha512-80dyy2LMCmEC72g+X4QWUKlZErhawQPgnGSBNR4yhrBcFgHIJQ14LR1Z+bS5S1I7db+1PDNpaxBTjIaoYoXunw==} '@kevisual/router@0.0.52': resolution: {integrity: sha512-Qiv3P1XjzD813Tm79S+atrDb2eickGCI9tuy/aCu512LcoYYJqZhwwkeT4ES0DinnA13Ckqd43QWBR6UmuYkHQ==} '@kevisual/use-config@1.0.24': resolution: {integrity: sha512-R/NcK7JtJuFuT+kKGpK89EM9oCyQzy+bIoL+hPnzdQv2TuoFULgS+CoxxYBfAjX2kCjELoNFuo9nceWSNcHNMw==} peerDependencies: dotenv: ^17 '@noble/hashes@1.4.0': resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} engines: {node: '>= 16'} '@opencode-ai/plugin@1.1.14': resolution: {integrity: sha512-tfF4bEjeF7Gm0W0ViQUhzy77AaZfRxQ/kcPa7/Bc/YM9HddzjEqz0wOJ6ePG8UdUYc0dkKSJOJVhapUbAn/tOw==} '@opencode-ai/sdk@1.1.14': resolution: {integrity: sha512-PJFu2QPxnOk0VZzlPm+IxhD1wSA41PJyCG6gkxAMI767gfAO96A0ukJJN7VK/gO6MbxLF5oTFaxBX5rAGcBRVw==} '@peculiar/asn1-cms@2.6.0': resolution: {integrity: sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==} '@peculiar/asn1-csr@2.6.0': resolution: {integrity: sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==} '@peculiar/asn1-ecc@2.6.0': resolution: {integrity: sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==} '@peculiar/asn1-pfx@2.6.0': resolution: {integrity: sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==} '@peculiar/asn1-pkcs8@2.6.0': resolution: {integrity: sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==} '@peculiar/asn1-pkcs9@2.6.0': resolution: {integrity: sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==} '@peculiar/asn1-rsa@2.6.0': resolution: {integrity: sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==} '@peculiar/asn1-schema@2.6.0': resolution: {integrity: sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==} '@peculiar/asn1-x509-attr@2.6.0': resolution: {integrity: sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==} '@peculiar/asn1-x509@2.6.0': resolution: {integrity: sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==} '@peculiar/x509@1.14.3': resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} engines: {node: '>=20.0.0'} '@types/bun@1.3.5': resolution: {integrity: sha512-RnygCqNrd3srIPEWBd5LFeUYG7plCoH2Yw9WaZGyNmdTEei+gWaHqydbaIRkIkcbXwhBT94q78QljxN0Sk838w==} '@types/node@25.0.6': resolution: {integrity: sha512-NNu0sjyNxpoiW3YuVFfNz7mxSQ+S4X2G28uqg2s+CzoqoQjLPsWSbsFFyztIAqt2vb8kfEAsJNepMGPTxFDx3Q==} asn1js@3.0.7: resolution: {integrity: sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==} engines: {node: '>=12.0.0'} bun-types@1.3.5: resolution: {integrity: sha512-inmAYe2PFLs0SUbFOWSVD24sg1jFlMPxOjOSSCYqUgn4Hsc3rDc7dFvfVYjFPNHtov6kgUeulV4SxbuIV/stPw==} bytestreamjs@2.0.1: resolution: {integrity: sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==} engines: {node: '>=6.0.0'} debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} dotenv@17.2.3: resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} es-toolkit@1.43.0: resolution: {integrity: sha512-SKCT8AsWvYzBBuUqMk4NPwFlSdqLpJwmy6AP322ERn8W2YLIB6JBXnwMI2Qsh2gfphT3q7EKAxKb23cvFHFwKA==} escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} etag@1.8.1: resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} engines: {node: '>= 0.6'} eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} http-errors@2.0.1: resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} engines: {node: '>= 0.8'} inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} mime-db@1.54.0: resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} engines: {node: '>= 0.6'} mime-types@3.0.2: resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} engines: {node: '>=18'} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} nanoid@5.1.6: resolution: {integrity: sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==} engines: {node: ^18 || >=20} hasBin: true on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} path-to-regexp@8.3.0: resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} pkijs@3.3.3: resolution: {integrity: sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==} engines: {node: '>=16.0.0'} pvtsutils@1.3.6: resolution: {integrity: sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==} pvutils@1.1.5: resolution: {integrity: sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==} engines: {node: '>=16.0.0'} range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} selfsigned@5.5.0: resolution: {integrity: sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==} engines: {node: '>=18'} send@1.2.1: resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} engines: {node: '>= 18'} setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} tsyringe@4.10.0: resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} engines: {node: '>= 6.0.0'} undici-types@7.16.0: resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} zod@4.1.8: resolution: {integrity: sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ==} snapshots: '@kevisual/cnb@0.0.2(dotenv@17.2.3)': dependencies: '@kevisual/query': 0.0.35 '@kevisual/router': 0.0.52 '@kevisual/use-config': 1.0.24(dotenv@17.2.3) es-toolkit: 1.43.0 nanoid: 5.1.6 transitivePeerDependencies: - dotenv - supports-color '@kevisual/context@0.0.4': {} '@kevisual/load@0.0.6': dependencies: eventemitter3: 5.0.1 '@kevisual/query@0.0.35': dependencies: tslib: 2.8.1 '@kevisual/router@0.0.52': dependencies: eventemitter3: 5.0.1 path-to-regexp: 8.3.0 selfsigned: 5.5.0 send: 1.2.1 transitivePeerDependencies: - supports-color '@kevisual/use-config@1.0.24(dotenv@17.2.3)': dependencies: '@kevisual/load': 0.0.6 dotenv: 17.2.3 '@noble/hashes@1.4.0': {} '@opencode-ai/plugin@1.1.14': dependencies: '@opencode-ai/sdk': 1.1.14 zod: 4.1.8 '@opencode-ai/sdk@1.1.14': {} '@peculiar/asn1-cms@2.6.0': dependencies: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 '@peculiar/asn1-x509-attr': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-csr@2.6.0': dependencies: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-ecc@2.6.0': dependencies: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-pfx@2.6.0': dependencies: '@peculiar/asn1-cms': 2.6.0 '@peculiar/asn1-pkcs8': 2.6.0 '@peculiar/asn1-rsa': 2.6.0 '@peculiar/asn1-schema': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-pkcs8@2.6.0': dependencies: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-pkcs9@2.6.0': dependencies: '@peculiar/asn1-cms': 2.6.0 '@peculiar/asn1-pfx': 2.6.0 '@peculiar/asn1-pkcs8': 2.6.0 '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 '@peculiar/asn1-x509-attr': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-rsa@2.6.0': dependencies: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-schema@2.6.0': dependencies: asn1js: 3.0.7 pvtsutils: 1.3.6 tslib: 2.8.1 '@peculiar/asn1-x509-attr@2.6.0': dependencies: '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 asn1js: 3.0.7 tslib: 2.8.1 '@peculiar/asn1-x509@2.6.0': dependencies: '@peculiar/asn1-schema': 2.6.0 asn1js: 3.0.7 pvtsutils: 1.3.6 tslib: 2.8.1 '@peculiar/x509@1.14.3': dependencies: '@peculiar/asn1-cms': 2.6.0 '@peculiar/asn1-csr': 2.6.0 '@peculiar/asn1-ecc': 2.6.0 '@peculiar/asn1-pkcs9': 2.6.0 '@peculiar/asn1-rsa': 2.6.0 '@peculiar/asn1-schema': 2.6.0 '@peculiar/asn1-x509': 2.6.0 pvtsutils: 1.3.6 reflect-metadata: 0.2.2 tslib: 2.8.1 tsyringe: 4.10.0 '@types/bun@1.3.5': dependencies: bun-types: 1.3.5 '@types/node@25.0.6': dependencies: undici-types: 7.16.0 asn1js@3.0.7: dependencies: pvtsutils: 1.3.6 pvutils: 1.1.5 tslib: 2.8.1 bun-types@1.3.5: dependencies: '@types/node': 25.0.6 bytestreamjs@2.0.1: {} debug@4.4.3: dependencies: ms: 2.1.3 depd@2.0.0: {} dotenv@17.2.3: {} ee-first@1.1.1: {} encodeurl@2.0.0: {} es-toolkit@1.43.0: {} escape-html@1.0.3: {} etag@1.8.1: {} eventemitter3@5.0.1: {} fresh@2.0.0: {} http-errors@2.0.1: dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 2.0.2 toidentifier: 1.0.1 inherits@2.0.4: {} mime-db@1.54.0: {} mime-types@3.0.2: dependencies: mime-db: 1.54.0 ms@2.1.3: {} nanoid@5.1.6: {} on-finished@2.4.1: dependencies: ee-first: 1.1.1 path-to-regexp@8.3.0: {} pkijs@3.3.3: dependencies: '@noble/hashes': 1.4.0 asn1js: 3.0.7 bytestreamjs: 2.0.1 pvtsutils: 1.3.6 pvutils: 1.1.5 tslib: 2.8.1 pvtsutils@1.3.6: dependencies: tslib: 2.8.1 pvutils@1.1.5: {} range-parser@1.2.1: {} reflect-metadata@0.2.2: {} selfsigned@5.5.0: dependencies: '@peculiar/x509': 1.14.3 pkijs: 3.3.3 send@1.2.1: dependencies: debug: 4.4.3 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 fresh: 2.0.0 http-errors: 2.0.1 mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 statuses: 2.0.2 transitivePeerDependencies: - supports-color setprototypeof@1.2.0: {} statuses@2.0.2: {} toidentifier@1.0.1: {} tslib@1.14.1: {} tslib@2.8.1: {} tsyringe@4.10.0: dependencies: tslib: 1.14.1 undici-types@7.16.0: {} zod@4.1.8: {}