add openapi-typescript

This commit is contained in:
kritzl 2026-05-10 21:13:47 +02:00
commit a1b37de674
Signed by: kritzl
SSH key fingerprint: SHA256:5BmINP9VjZWaUk5Z+2CTut1KFhwLtd0ZynMekKbtViM
4 changed files with 519 additions and 36 deletions

View file

@ -18,10 +18,13 @@
"@tailwindcss/vite": "^4.2.4", "@tailwindcss/vite": "^4.2.4",
"astro": "^6.2.1", "astro": "^6.2.1",
"lucide-solid": "^1.14.0", "lucide-solid": "^1.14.0",
"openapi-typescript-fetch": "^2.2.1",
"tailwindcss": "^4.2.4", "tailwindcss": "^4.2.4",
"vue": "^3.5.33" "vue": "^3.5.33"
}, },
"devDependencies": { "devDependencies": {
"daisyui": "^5.5.19" "daisyui": "^5.5.19",
"openapi-typescript": "^7.13.0",
"typescript": "^6.0.3"
} }
} }

272
app/pnpm-lock.yaml generated
View file

@ -10,32 +10,41 @@ importers:
dependencies: dependencies:
'@astrojs/vue': '@astrojs/vue':
specifier: ^6.0.1 specifier: ^6.0.1
version: 6.0.1(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2))(jiti@2.6.1)(lightningcss@1.32.0)(vue@3.5.33) version: 6.0.1(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3))(jiti@2.6.1)(lightningcss@1.32.0)(vue@3.5.33(typescript@6.0.3))
'@lucide/astro': '@lucide/astro':
specifier: ^1.14.0 specifier: ^1.14.0
version: 1.14.0(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)) version: 1.14.0(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3))
'@lucide/vue': '@lucide/vue':
specifier: ^1.14.0 specifier: ^1.14.0
version: 1.14.0(vue@3.5.33) version: 1.14.0(vue@3.5.33(typescript@6.0.3))
'@tailwindcss/vite': '@tailwindcss/vite':
specifier: ^4.2.4 specifier: ^4.2.4
version: 4.2.4(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0)) version: 4.2.4(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))
astro: astro:
specifier: ^6.2.1 specifier: ^6.2.1
version: 6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2) version: 6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3)
lucide-solid: lucide-solid:
specifier: ^1.14.0 specifier: ^1.14.0
version: 1.14.0(solid-js@1.9.12) version: 1.14.0(solid-js@1.9.12)
openapi-typescript-fetch:
specifier: ^2.2.1
version: 2.2.1
tailwindcss: tailwindcss:
specifier: ^4.2.4 specifier: ^4.2.4
version: 4.2.4 version: 4.2.4
vue: vue:
specifier: ^3.5.33 specifier: ^3.5.33
version: 3.5.33 version: 3.5.33(typescript@6.0.3)
devDependencies: devDependencies:
daisyui: daisyui:
specifier: ^5.5.19 specifier: ^5.5.19
version: 5.5.19 version: 5.5.19
openapi-typescript:
specifier: ^7.13.0
version: 7.13.0(typescript@6.0.3)
typescript:
specifier: ^6.0.3
version: 6.0.3
packages: packages:
@ -543,6 +552,16 @@ packages:
'@polka/url@1.0.0-next.29': '@polka/url@1.0.0-next.29':
resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==}
'@redocly/ajv@8.11.2':
resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==}
'@redocly/config@0.22.0':
resolution: {integrity: sha512-gAy93Ddo01Z3bHuVdPWfCwzgfaYgMdaZPcfL7JZ7hWJoK9V0lXDbigTWkhiPFAaLWzbOJ+kbUQG1+XwIm0KRGQ==}
'@redocly/openapi-core@1.34.14':
resolution: {integrity: sha512-y+xFx+Zz54Xhr8jUdnLENYnt7Y7GEDL6Q03ga7rTtX8DVwefX9H+hQEPgJp1nda7vdH+wJ9/HBVvyfBuW9x6rA==}
engines: {node: '>=18.17.0', npm: '>=9.5.0'}
'@rolldown/pluginutils@1.0.0-rc.13': '@rolldown/pluginutils@1.0.0-rc.13':
resolution: {integrity: sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==} resolution: {integrity: sha512-3ngTAv6F/Py35BsYbeeLeecvhMKdsKm4AoOETVhAA+Qc8nrA2I0kF7oa93mE9qnIurngOSpMnQ0x2nQY2FPviA==}
@ -914,6 +933,14 @@ packages:
'@vue/shared@3.5.33': '@vue/shared@3.5.33':
resolution: {integrity: sha512-5vR2QIlmaLG77Ygd4pMP6+SGQ5yox9VhtnbDWTy9DzMzdmeLxZ1QqxrywEZ9sa1AVubfIJyaCG3ytyWU81ufcQ==} resolution: {integrity: sha512-5vR2QIlmaLG77Ygd4pMP6+SGQ5yox9VhtnbDWTy9DzMzdmeLxZ1QqxrywEZ9sa1AVubfIJyaCG3ytyWU81ufcQ==}
agent-base@7.1.4:
resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==}
engines: {node: '>= 14'}
ansi-colors@4.1.3:
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
engines: {node: '>=6'}
ansis@4.2.0: ansis@4.2.0:
resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
engines: {node: '>=14'} engines: {node: '>=14'}
@ -944,6 +971,9 @@ packages:
bail@2.0.2: bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
baseline-browser-mapping@2.10.24: baseline-browser-mapping@2.10.24:
resolution: {integrity: sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==} resolution: {integrity: sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
@ -955,6 +985,9 @@ packages:
boolbase@1.0.0: boolbase@1.0.0:
resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
brace-expansion@2.1.0:
resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==}
browserslist@4.28.2: browserslist@4.28.2:
resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@ -970,6 +1003,9 @@ packages:
ccount@2.0.1: ccount@2.0.1:
resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
change-case@5.4.4:
resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==}
character-entities-html4@2.1.0: character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
@ -991,6 +1027,9 @@ packages:
resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
engines: {node: '>=6'} engines: {node: '>=6'}
colorette@1.4.0:
resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
comma-separated-tokens@2.0.3: comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
@ -1155,6 +1194,9 @@ packages:
extend@3.0.2: extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
fast-string-truncated-width@3.0.3: fast-string-truncated-width@3.0.3:
resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==}
@ -1244,6 +1286,14 @@ packages:
http-cache-semantics@4.2.0: http-cache-semantics@4.2.0:
resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
https-proxy-agent@7.0.6:
resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
engines: {node: '>= 14'}
index-to-position@1.2.0:
resolution: {integrity: sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==}
engines: {node: '>=18'}
iron-webcrypto@1.2.1: iron-webcrypto@1.2.1:
resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
@ -1274,6 +1324,10 @@ packages:
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
hasBin: true hasBin: true
js-levenshtein@1.1.6:
resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==}
engines: {node: '>=0.10.0'}
js-tokens@4.0.0: js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
@ -1286,6 +1340,9 @@ packages:
engines: {node: '>=6'} engines: {node: '>=6'}
hasBin: true hasBin: true
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
json5@2.2.3: json5@2.2.3:
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'} engines: {node: '>=6'}
@ -1517,6 +1574,10 @@ packages:
micromark@4.0.2: micromark@4.0.2:
resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
minimatch@5.1.9:
resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==}
engines: {node: '>=10'}
mrmime@2.0.1: mrmime@2.0.1:
resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -1571,6 +1632,16 @@ packages:
resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==}
engines: {node: '>=18'} engines: {node: '>=18'}
openapi-typescript-fetch@2.2.1:
resolution: {integrity: sha512-aBp1cR5FTNxp4HA8bb2ST53aIqEiJgoOMyXiyzKi6YF7vogW8KkyyUQ1FeDz8D05uspxFrKvFbkVU2YiiKkULA==}
engines: {node: '>= 12.0.0', npm: '>= 7.0.0'}
openapi-typescript@7.13.0:
resolution: {integrity: sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==}
hasBin: true
peerDependencies:
typescript: ^5.x
p-limit@7.3.0: p-limit@7.3.0:
resolution: {integrity: sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw==} resolution: {integrity: sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw==}
engines: {node: '>=20'} engines: {node: '>=20'}
@ -1586,6 +1657,10 @@ packages:
package-manager-detector@1.6.0: package-manager-detector@1.6.0:
resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==} resolution: {integrity: sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==}
parse-json@8.3.0:
resolution: {integrity: sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==}
engines: {node: '>=18'}
parse-latin@7.0.0: parse-latin@7.0.0:
resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==} resolution: {integrity: sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==}
@ -1612,6 +1687,10 @@ packages:
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
engines: {node: '>=12'} engines: {node: '>=12'}
pluralize@8.0.0:
resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
engines: {node: '>=4'}
postcss@8.5.12: postcss@8.5.12:
resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==} resolution: {integrity: sha512-W62t/Se6rA0Az3DfCL0AqJwXuKwBeYg6nOaIgzP+xZ7N5BFCI7DYi1qs6ygUYT6rvfi6t9k65UMLJC+PHZpDAA==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
@ -1667,6 +1746,10 @@ packages:
remark-stringify@11.0.0: remark-stringify@11.0.0:
resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
require-from-string@2.0.2:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
retext-latin@4.0.0: retext-latin@4.0.0:
resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==} resolution: {integrity: sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==}
@ -1743,6 +1826,10 @@ packages:
stringify-entities@4.0.4: stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
supports-color@10.2.2:
resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
engines: {node: '>=18'}
svgo@4.0.1: svgo@4.0.1:
resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==} resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==}
engines: {node: '>=16'} engines: {node: '>=16'}
@ -1793,6 +1880,15 @@ packages:
tslib@2.8.1: tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
type-fest@4.41.0:
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
typescript@6.0.3:
resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
engines: {node: '>=14.17'}
hasBin: true
ufo@1.6.4: ufo@1.6.4:
resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==} resolution: {integrity: sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==}
@ -1907,6 +2003,9 @@ packages:
peerDependencies: peerDependencies:
browserslist: '>= 4.21.0' browserslist: '>= 4.21.0'
uri-js-replace@1.0.1:
resolution: {integrity: sha512-W+C9NWNLFOoBI2QWDp4UT9pv65r2w5Cx+3sTYFvtMdDBxkKt1syCqsUdSFAChbEe1uK5TfS04wt/nGwmaeIQ0g==}
vfile-location@5.0.3: vfile-location@5.0.3:
resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==}
@ -2020,6 +2119,13 @@ packages:
yallist@3.1.1: yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
yaml-ast-parser@0.0.43:
resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==}
yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
yargs-parser@22.0.0: yargs-parser@22.0.0:
resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
engines: {node: ^20.19.0 || ^22.12.0 || >=23} engines: {node: ^20.19.0 || ^22.12.0 || >=23}
@ -2081,15 +2187,15 @@ snapshots:
is-wsl: 3.1.1 is-wsl: 3.1.1
which-pm-runs: 1.1.0 which-pm-runs: 1.1.0
'@astrojs/vue@6.0.1(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2))(jiti@2.6.1)(lightningcss@1.32.0)(vue@3.5.33)': '@astrojs/vue@6.0.1(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3))(jiti@2.6.1)(lightningcss@1.32.0)(vue@3.5.33(typescript@6.0.3))':
dependencies: dependencies:
'@vitejs/plugin-vue': 6.0.6(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33) '@vitejs/plugin-vue': 6.0.6(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33(typescript@6.0.3))
'@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33) '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33(typescript@6.0.3))
'@vue/compiler-sfc': 3.5.33 '@vue/compiler-sfc': 3.5.33
astro: 6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2) astro: 6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3)
vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0) vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0)
vite-plugin-vue-devtools: 8.1.1(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33) vite-plugin-vue-devtools: 8.1.1(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33(typescript@6.0.3))
vue: 3.5.33 vue: 3.5.33(typescript@6.0.3)
transitivePeerDependencies: transitivePeerDependencies:
- '@nuxt/kit' - '@nuxt/kit'
- '@types/node' - '@types/node'
@ -2126,7 +2232,7 @@ snapshots:
'@babel/types': 7.29.0 '@babel/types': 7.29.0
'@jridgewell/remapping': 2.3.5 '@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0 convert-source-map: 2.0.0
debug: 4.4.3 debug: 4.4.3(supports-color@10.2.2)
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
json5: 2.2.3 json5: 2.2.3
semver: 6.3.1 semver: 6.3.1
@ -2287,7 +2393,7 @@ snapshots:
'@babel/parser': 7.29.2 '@babel/parser': 7.29.2
'@babel/template': 7.28.6 '@babel/template': 7.28.6
'@babel/types': 7.29.0 '@babel/types': 7.29.0
debug: 4.4.3 debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -2511,18 +2617,41 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2 '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5 '@jridgewell/sourcemap-codec': 1.5.5
'@lucide/astro@1.14.0(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2))': '@lucide/astro@1.14.0(astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3))':
dependencies: dependencies:
astro: 6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2) astro: 6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3)
'@lucide/vue@1.14.0(vue@3.5.33)': '@lucide/vue@1.14.0(vue@3.5.33(typescript@6.0.3))':
dependencies: dependencies:
vue: 3.5.33 vue: 3.5.33(typescript@6.0.3)
'@oslojs/encoding@1.1.0': {} '@oslojs/encoding@1.1.0': {}
'@polka/url@1.0.0-next.29': {} '@polka/url@1.0.0-next.29': {}
'@redocly/ajv@8.11.2':
dependencies:
fast-deep-equal: 3.1.3
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
uri-js-replace: 1.0.1
'@redocly/config@0.22.0': {}
'@redocly/openapi-core@1.34.14(supports-color@10.2.2)':
dependencies:
'@redocly/ajv': 8.11.2
'@redocly/config': 0.22.0
colorette: 1.4.0
https-proxy-agent: 7.0.6(supports-color@10.2.2)
js-levenshtein: 1.1.6
js-yaml: 4.1.1
minimatch: 5.1.9
pluralize: 8.0.0
yaml-ast-parser: 0.0.43
transitivePeerDependencies:
- supports-color
'@rolldown/pluginutils@1.0.0-rc.13': {} '@rolldown/pluginutils@1.0.0-rc.13': {}
'@rolldown/pluginutils@1.0.0-rc.18': {} '@rolldown/pluginutils@1.0.0-rc.18': {}
@ -2742,7 +2871,7 @@ snapshots:
'@ungap/structured-clone@1.3.0': {} '@ungap/structured-clone@1.3.0': {}
'@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33)': '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33(typescript@6.0.3))':
dependencies: dependencies:
'@babel/core': 7.29.0 '@babel/core': 7.29.0
'@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0)
@ -2750,15 +2879,15 @@ snapshots:
'@rolldown/pluginutils': 1.0.0-rc.18 '@rolldown/pluginutils': 1.0.0-rc.18
'@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0)
vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0) vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0)
vue: 3.5.33 vue: 3.5.33(typescript@6.0.3)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@vitejs/plugin-vue@6.0.6(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33)': '@vitejs/plugin-vue@6.0.6(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33(typescript@6.0.3))':
dependencies: dependencies:
'@rolldown/pluginutils': 1.0.0-rc.13 '@rolldown/pluginutils': 1.0.0-rc.13
vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0) vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0)
vue: 3.5.33 vue: 3.5.33(typescript@6.0.3)
'@vue/babel-helper-vue-transform-on@1.5.0': {} '@vue/babel-helper-vue-transform-on@1.5.0': {}
@ -2848,11 +2977,11 @@ snapshots:
'@vue/compiler-dom': 3.5.33 '@vue/compiler-dom': 3.5.33
'@vue/shared': 3.5.33 '@vue/shared': 3.5.33
'@vue/devtools-core@8.1.1(vue@3.5.33)': '@vue/devtools-core@8.1.1(vue@3.5.33(typescript@6.0.3))':
dependencies: dependencies:
'@vue/devtools-kit': 8.1.1 '@vue/devtools-kit': 8.1.1
'@vue/devtools-shared': 8.1.1 '@vue/devtools-shared': 8.1.1
vue: 3.5.33 vue: 3.5.33(typescript@6.0.3)
'@vue/devtools-kit@8.1.1': '@vue/devtools-kit@8.1.1':
dependencies: dependencies:
@ -2879,14 +3008,18 @@ snapshots:
'@vue/shared': 3.5.33 '@vue/shared': 3.5.33
csstype: 3.2.3 csstype: 3.2.3
'@vue/server-renderer@3.5.33(vue@3.5.33)': '@vue/server-renderer@3.5.33(vue@3.5.33(typescript@6.0.3))':
dependencies: dependencies:
'@vue/compiler-ssr': 3.5.33 '@vue/compiler-ssr': 3.5.33
'@vue/shared': 3.5.33 '@vue/shared': 3.5.33
vue: 3.5.33 vue: 3.5.33(typescript@6.0.3)
'@vue/shared@3.5.33': {} '@vue/shared@3.5.33': {}
agent-base@7.1.4: {}
ansi-colors@4.1.3: {}
ansis@4.2.0: {} ansis@4.2.0: {}
anymatch@3.1.3: anymatch@3.1.3:
@ -2900,7 +3033,7 @@ snapshots:
array-iterate@2.0.1: {} array-iterate@2.0.1: {}
astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2): astro@6.2.1(jiti@2.6.1)(lightningcss@1.32.0)(rollup@4.60.2)(typescript@6.0.3):
dependencies: dependencies:
'@astrojs/compiler': 4.0.0 '@astrojs/compiler': 4.0.0
'@astrojs/internal-helpers': 0.9.0 '@astrojs/internal-helpers': 0.9.0
@ -2945,7 +3078,7 @@ snapshots:
tinyclip: 0.1.12 tinyclip: 0.1.12
tinyexec: 1.1.2 tinyexec: 1.1.2
tinyglobby: 0.2.16 tinyglobby: 0.2.16
tsconfck: 3.1.6 tsconfck: 3.1.6(typescript@6.0.3)
ultrahtml: 1.6.0 ultrahtml: 1.6.0
unifont: 0.7.4 unifont: 0.7.4
unist-util-visit: 5.1.0 unist-util-visit: 5.1.0
@ -2997,12 +3130,18 @@ snapshots:
bail@2.0.2: {} bail@2.0.2: {}
balanced-match@1.0.2: {}
baseline-browser-mapping@2.10.24: {} baseline-browser-mapping@2.10.24: {}
birpc@2.9.0: {} birpc@2.9.0: {}
boolbase@1.0.0: {} boolbase@1.0.0: {}
brace-expansion@2.1.0:
dependencies:
balanced-match: 1.0.2
browserslist@4.28.2: browserslist@4.28.2:
dependencies: dependencies:
baseline-browser-mapping: 2.10.24 baseline-browser-mapping: 2.10.24
@ -3019,6 +3158,8 @@ snapshots:
ccount@2.0.1: {} ccount@2.0.1: {}
change-case@5.4.4: {}
character-entities-html4@2.1.0: {} character-entities-html4@2.1.0: {}
character-entities-legacy@3.0.0: {} character-entities-legacy@3.0.0: {}
@ -3033,6 +3174,8 @@ snapshots:
clsx@2.1.1: {} clsx@2.1.1: {}
colorette@1.4.0: {}
comma-separated-tokens@2.0.3: {} comma-separated-tokens@2.0.3: {}
commander@11.1.0: {} commander@11.1.0: {}
@ -3077,9 +3220,11 @@ snapshots:
daisyui@5.5.19: {} daisyui@5.5.19: {}
debug@4.4.3: debug@4.4.3(supports-color@10.2.2):
dependencies: dependencies:
ms: 2.1.3 ms: 2.1.3
optionalDependencies:
supports-color: 10.2.2
decode-named-character-reference@1.3.0: decode-named-character-reference@1.3.0:
dependencies: dependencies:
@ -3188,6 +3333,8 @@ snapshots:
extend@3.0.2: {} extend@3.0.2: {}
fast-deep-equal@3.1.3: {}
fast-string-truncated-width@3.0.3: {} fast-string-truncated-width@3.0.3: {}
fast-string-width@3.0.2: fast-string-width@3.0.2:
@ -3328,6 +3475,15 @@ snapshots:
http-cache-semantics@4.2.0: {} http-cache-semantics@4.2.0: {}
https-proxy-agent@7.0.6(supports-color@10.2.2):
dependencies:
agent-base: 7.1.4
debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
index-to-position@1.2.0: {}
iron-webcrypto@1.2.1: {} iron-webcrypto@1.2.1: {}
is-docker@3.0.0: {} is-docker@3.0.0: {}
@ -3346,6 +3502,8 @@ snapshots:
jiti@2.6.1: {} jiti@2.6.1: {}
js-levenshtein@1.1.6: {}
js-tokens@4.0.0: {} js-tokens@4.0.0: {}
js-yaml@4.1.1: js-yaml@4.1.1:
@ -3354,6 +3512,8 @@ snapshots:
jsesc@3.1.0: {} jsesc@3.1.0: {}
json-schema-traverse@1.0.0: {}
json5@2.2.3: {} json5@2.2.3: {}
kolorist@1.8.0: {} kolorist@1.8.0: {}
@ -3727,7 +3887,7 @@ snapshots:
micromark@4.0.2: micromark@4.0.2:
dependencies: dependencies:
'@types/debug': 4.1.13 '@types/debug': 4.1.13
debug: 4.4.3 debug: 4.4.3(supports-color@10.2.2)
decode-named-character-reference: 1.3.0 decode-named-character-reference: 1.3.0
devlop: 1.1.0 devlop: 1.1.0
micromark-core-commonmark: 2.0.3 micromark-core-commonmark: 2.0.3
@ -3746,6 +3906,10 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
minimatch@5.1.9:
dependencies:
brace-expansion: 2.1.0
mrmime@2.0.1: {} mrmime@2.0.1: {}
ms@2.1.3: {} ms@2.1.3: {}
@ -3795,6 +3959,18 @@ snapshots:
is-inside-container: 1.0.0 is-inside-container: 1.0.0
wsl-utils: 0.1.0 wsl-utils: 0.1.0
openapi-typescript-fetch@2.2.1: {}
openapi-typescript@7.13.0(typescript@6.0.3):
dependencies:
'@redocly/openapi-core': 1.34.14(supports-color@10.2.2)
ansi-colors: 4.1.3
change-case: 5.4.4
parse-json: 8.3.0
supports-color: 10.2.2
typescript: 6.0.3
yargs-parser: 21.1.1
p-limit@7.3.0: p-limit@7.3.0:
dependencies: dependencies:
yocto-queue: 1.2.2 yocto-queue: 1.2.2
@ -3808,6 +3984,12 @@ snapshots:
package-manager-detector@1.6.0: {} package-manager-detector@1.6.0: {}
parse-json@8.3.0:
dependencies:
'@babel/code-frame': 7.29.0
index-to-position: 1.2.0
type-fest: 4.41.0
parse-latin@7.0.0: parse-latin@7.0.0:
dependencies: dependencies:
'@types/nlcst': 2.0.3 '@types/nlcst': 2.0.3
@ -3833,6 +4015,8 @@ snapshots:
picomatch@4.0.4: {} picomatch@4.0.4: {}
pluralize@8.0.0: {}
postcss@8.5.12: postcss@8.5.12:
dependencies: dependencies:
nanoid: 3.3.11 nanoid: 3.3.11
@ -3923,6 +4107,8 @@ snapshots:
mdast-util-to-markdown: 2.1.2 mdast-util-to-markdown: 2.1.2
unified: 11.0.5 unified: 11.0.5
require-from-string@2.0.2: {}
retext-latin@4.0.0: retext-latin@4.0.0:
dependencies: dependencies:
'@types/nlcst': 2.0.3 '@types/nlcst': 2.0.3
@ -4061,6 +4247,8 @@ snapshots:
character-entities-html4: 2.1.0 character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0 character-entities-legacy: 3.0.0
supports-color@10.2.2: {}
svgo@4.0.1: svgo@4.0.1:
dependencies: dependencies:
commander: 11.1.0 commander: 11.1.0
@ -4092,11 +4280,17 @@ snapshots:
trough@2.2.0: {} trough@2.2.0: {}
tsconfck@3.1.6: {} tsconfck@3.1.6(typescript@6.0.3):
optionalDependencies:
typescript: 6.0.3
tslib@2.8.1: tslib@2.8.1:
optional: true optional: true
type-fest@4.41.0: {}
typescript@6.0.3: {}
ufo@1.6.4: {} ufo@1.6.4: {}
ultrahtml@1.6.0: {} ultrahtml@1.6.0: {}
@ -4183,6 +4377,8 @@ snapshots:
escalade: 3.2.0 escalade: 3.2.0
picocolors: 1.1.1 picocolors: 1.1.1
uri-js-replace@1.0.1: {}
vfile-location@5.0.3: vfile-location@5.0.3:
dependencies: dependencies:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
@ -4211,7 +4407,7 @@ snapshots:
vite-plugin-inspect@11.3.3(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0)): vite-plugin-inspect@11.3.3(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0)):
dependencies: dependencies:
ansis: 4.2.0 ansis: 4.2.0
debug: 4.4.3 debug: 4.4.3(supports-color@10.2.2)
error-stack-parser-es: 1.0.5 error-stack-parser-es: 1.0.5
ohash: 2.0.11 ohash: 2.0.11
open: 10.2.0 open: 10.2.0
@ -4223,9 +4419,9 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
vite-plugin-vue-devtools@8.1.1(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33): vite-plugin-vue-devtools@8.1.1(vite@7.3.2(jiti@2.6.1)(lightningcss@1.32.0))(vue@3.5.33(typescript@6.0.3)):
dependencies: dependencies:
'@vue/devtools-core': 8.1.1(vue@3.5.33) '@vue/devtools-core': 8.1.1(vue@3.5.33(typescript@6.0.3))
'@vue/devtools-kit': 8.1.1 '@vue/devtools-kit': 8.1.1
'@vue/devtools-shared': 8.1.1 '@vue/devtools-shared': 8.1.1
sirv: 3.0.2 sirv: 3.0.2
@ -4269,13 +4465,15 @@ snapshots:
optionalDependencies: optionalDependencies:
vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0) vite: 7.3.2(jiti@2.6.1)(lightningcss@1.32.0)
vue@3.5.33: vue@3.5.33(typescript@6.0.3):
dependencies: dependencies:
'@vue/compiler-dom': 3.5.33 '@vue/compiler-dom': 3.5.33
'@vue/compiler-sfc': 3.5.33 '@vue/compiler-sfc': 3.5.33
'@vue/runtime-dom': 3.5.33 '@vue/runtime-dom': 3.5.33
'@vue/server-renderer': 3.5.33(vue@3.5.33) '@vue/server-renderer': 3.5.33(vue@3.5.33(typescript@6.0.3))
'@vue/shared': 3.5.33 '@vue/shared': 3.5.33
optionalDependencies:
typescript: 6.0.3
web-namespaces@2.0.1: {} web-namespaces@2.0.1: {}
@ -4289,6 +4487,10 @@ snapshots:
yallist@3.1.1: {} yallist@3.1.1: {}
yaml-ast-parser@0.0.43: {}
yargs-parser@21.1.1: {}
yargs-parser@22.0.0: {} yargs-parser@22.0.0: {}
yocto-queue@1.2.2: {} yocto-queue@1.2.2: {}

3
app/src/api/README.md Normal file
View file

@ -0,0 +1,3 @@
# Update schema
`pnpm dlx openapi-typescript http://localhost:8000/openapi.json -o ./schema.d.ts`

275
app/src/api/schema.ts Normal file
View file

@ -0,0 +1,275 @@
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
export interface paths {
"/api/user-info/": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Get-User-Info */
get: operations["get_user_info_api_user_info__get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/login": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Login Init */
get: operations["login_init_auth_login_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/auth/login-callback": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** Login Callback */
get: operations["login_callback_auth_login_callback_get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
"/api/locks/": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
/** List Locks */
get: operations["list_locks_api_locks__get"];
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** HTTPValidationError */
HTTPValidationError: {
/** Detail */
detail?: components["schemas"]["ValidationError"][];
};
/**
* HttpProblemDetail
* @description API Error modeled after [RFC9475](https://www.rfc-editor.org/rfc/rfc9457.html).
*/
HttpProblemDetail: {
/** Status */
status: number;
type: components["schemas"]["HttpProblemType"];
/** Title */
title: string;
/** Detail */
detail: string;
/** Instance */
instance: string | null;
};
/**
* HttpProblemType
* @description Statically known HTTP problem types using the [type URI scheme](https://datatracker.ietf.org/doc/rfc4151/)
* @enum {string}
*/
HttpProblemType: "type:noc@hamburg.ccc.de,2026:UNAUTHORIZED" | "type:noc@hamburg.ccc.de,2026:DOOR_NOT_FOUND";
/** Lock */
Lock: {
/** Name */
name: string;
status: components["schemas"]["LockStatus"];
};
/** LockStatus */
LockStatus: {
/** Is Unreachable */
is_unreachable: boolean;
/** Is Low Battery */
is_low_battery: boolean;
/** Is Error Jammed */
is_error_jammed: boolean;
/**
* Lock Target Level
* @enum {string}
*/
lock_target_level: "locked" | "unlocked" | "open";
/**
* Lock State
* @enum {string}
*/
lock_state: "unknown" | "locked" | "unlocked";
/**
* Activity State
* @enum {string}
*/
activity_state: "unknown" | "locking" | "unlocking" | "stable";
};
/** UserInfo */
UserInfo: {
/** Username */
username: string;
};
/** UserStatus */
UserStatus: {
/** Is Logged In */
is_logged_in: boolean;
/** Guaranteed Session Until */
guaranteed_session_until: string | null;
user_info: components["schemas"]["UserInfo"] | null;
};
/** ValidationError */
ValidationError: {
/** Location */
loc: (string | number)[];
/** Message */
msg: string;
/** Error Type */
type: string;
/** Input */
input?: unknown;
/** Context */
ctx?: Record<string, never>;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export interface operations {
get_user_info_api_user_info__get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["UserStatus"];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HttpProblemDetail"];
};
};
};
};
login_init_auth_login_get: {
parameters: {
query?: {
next?: string | null;
};
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
302: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Validation Error */
422: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HTTPValidationError"];
};
};
};
};
login_callback_auth_login_callback_get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
302: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
list_locks_api_locks__get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Successful Response */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["Lock"][];
};
};
/** @description Unauthorized */
401: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": components["schemas"]["HttpProblemDetail"];
};
};
};
};
}