From a2e7bb2c9e5be2b8b3ab4b8e0df8953b0be1bfea Mon Sep 17 00:00:00 2001 From: Kirill Mokevnin Date: Sun, 27 Sep 2026 16:04:23 -0400 Subject: [PATCH] feat: describe image build, pull and push responses as progress streams The three operations returned void, so the progress messages the Engine API streams back, including the error that ends a failed build, had no type. They now return HttpStream of BuildInfo, CreateImageInfo and PushImageInfo, whose aux carries what each daemon sends: an image id, a BuildKit trace or the pushed digest. TypeSpec moves to 1.16 for @typespec/streams. Co-Authored-By: Claude Opus 5.5 --- models/images.tsp | 28 +- package.json | 5 +- pnpm-lock.yaml | 863 ++++++++++++++++++++-------------------------- routes/images.tsp | 8 +- 4 files changed, 415 insertions(+), 489 deletions(-) diff --git a/models/images.tsp b/models/images.tsp index 3e45529..54fb256 100644 --- a/models/images.tsp +++ b/models/images.tsp @@ -392,13 +392,22 @@ model SignerIdentity { SourceRepositoryVisibilityAtSigning?: string; } +/** One line of the `/build` progress stream. */ model BuildInfo { id?: string; stream?: string; + #deprecated "Use errorDetail." + error?: string; errorDetail?: ErrorDetail; status?: string; + #deprecated "Use progressDetail." + progress?: string; progressDetail?: ProgressDetail; - aux?: ImageID; + /** + * The classic builder sends the image ID; BuildKit sends a base64 protobuf + * `StatusResponse` when `id` is `moby.buildkit.trace`. + */ + aux?: ImageID | string; } /** BuildCache contains information about a build cache record. */ @@ -449,17 +458,34 @@ model ImageID { ID?: string; } +/** One line of the `/images/create` progress stream. */ model CreateImageInfo { id?: string; + #deprecated "Use errorDetail." + error?: string; errorDetail?: ErrorDetail; status?: string; + #deprecated "Use progressDetail." + progress?: string; progressDetail?: ProgressDetail; } +/** One line of the `/images/{name}/push` progress stream. */ model PushImageInfo { + id?: string; + #deprecated "Use errorDetail." + error?: string; errorDetail?: ErrorDetail; status?: string; + #deprecated "Use progressDetail." + progress?: string; progressDetail?: ProgressDetail; + /** The pushed tag, its digest and size. */ + aux?: { + Tag?: string; + Digest?: string; + Size?: int64; + }; } /** diff --git a/package.json b/package.json index a7610d4..4784ff2 100644 --- a/package.json +++ b/package.json @@ -9,11 +9,10 @@ "@typespec/openapi": "latest", "@typespec/openapi3": "latest", "@typespec/rest": "latest", + "@typespec/streams": "latest", "@typespec/versioning": "^0.78.0" }, "devDependencies": { - "npm-check-updates": "^19.3.2" + "npm-check-updates": "^19.6.6" } } - - diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c21c165..d576f9f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,165 +10,168 @@ importers: dependencies: '@typespec/compiler': specifier: latest - version: 1.9.0 + version: 1.16.0 '@typespec/http': specifier: latest - version: 1.9.0(@typespec/compiler@1.9.0) + version: 1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)) '@typespec/openapi': specifier: latest - version: 1.9.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0)) + version: 1.16.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))) '@typespec/openapi3': specifier: latest - version: 1.9.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0))(@typespec/openapi@1.9.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0)))(@typespec/versioning@0.78.0(@typespec/compiler@1.9.0)) + version: 1.16.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)))(@typespec/openapi@1.16.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))))(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))(@typespec/versioning@0.78.0(@typespec/compiler@1.16.0)) '@typespec/rest': specifier: latest - version: 0.79.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0)) + version: 0.86.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))) + '@typespec/streams': + specifier: latest + version: 0.86.0(@typespec/compiler@1.16.0) '@typespec/versioning': specifier: ^0.78.0 - version: 0.78.0(@typespec/compiler@1.9.0) + version: 0.78.0(@typespec/compiler@1.16.0) devDependencies: npm-check-updates: - specifier: ^19.3.2 - version: 19.3.2 + specifier: ^19.6.6 + version: 19.6.6 packages: - '@babel/code-frame@7.28.6': - resolution: {integrity: sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==} + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.28.5': - resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@inquirer/ansi@2.0.3': - resolution: {integrity: sha512-g44zhR3NIKVs0zUesa4iMzExmZpLUdTLRMCStqX3GE5NT6VkPcxQGJ+uC8tDgBUC/vB1rUhUd55cOf++4NZcmw==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/ansi@2.0.8': + resolution: {integrity: sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/checkbox@5.0.4': - resolution: {integrity: sha512-DrAMU3YBGMUAp6ArwTIp/25CNDtDbxk7UjIrrtM25JVVrlVYlVzHh5HR1BDFu9JMyUoZ4ZanzeaHqNDttf3gVg==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/checkbox@5.2.5': + resolution: {integrity: sha512-bRt8J8m+Fot9CXv+zNQGXUq2ET0MggR1fPz7v6edN6MFYmsbfGnMmkmWZJEegMKqrAC8ej/o1sqisHZXZJMAfQ==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/confirm@6.0.4': - resolution: {integrity: sha512-WdaPe7foUnoGYvXzH4jp4wH/3l+dBhZ3uwhKjXjwdrq5tEIFaANxj6zrGHxLdsIA0yKM0kFPVcEalOZXBB5ISA==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/confirm@6.3.2': + resolution: {integrity: sha512-Xvr/0HggjddPtGppuqVmxhTw+Hr8PvsZ/k0HmOEaAqQEt80OITNkFWnsdNmyT0/eM4Ab+iJLx2R8rctlEyfSVg==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/core@11.1.1': - resolution: {integrity: sha512-hV9o15UxX46OyQAtaoMqAOxGR8RVl1aZtDx1jHbCtSJy1tBdTfKxLPKf7utsE4cRy4tcmCQ4+vdV+ca+oNxqNA==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/core@12.0.3': + resolution: {integrity: sha512-wsSy0sznmXwkty+2PzZwx00Cazc/E0r0B7mAzdGROz2Ct+DFZXaK7WDjGZvgjRldxH5ZhFVfF2lgkYrqgOw2KA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/editor@5.0.4': - resolution: {integrity: sha512-QI3Jfqcv6UO2/VJaEFONH8Im1ll++Xn/AJTBn9Xf+qx2M+H8KZAdQ5sAe2vtYlo+mLW+d7JaMJB4qWtK4BG3pw==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/editor@5.3.3': + resolution: {integrity: sha512-YsKkS2q63IiLtaDK/9nqzdComN97SDQrmKiyNggN+ceP4ty+Z6VwyTz3FpjeUWeW1Efss2xHFKCC9sx7hnrsxg==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/expand@5.0.4': - resolution: {integrity: sha512-0I/16YwPPP0Co7a5MsomlZLpch48NzYfToyqYAOWtBmaXSB80RiNQ1J+0xx2eG+Wfxt0nHtpEWSRr6CzNVnOGg==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/expand@5.1.5': + resolution: {integrity: sha512-uHuXLmXW+TtIfT/9vSBotypAkqn1n34Ul+CLGPos/xANyO4Ff5xZzkYhbKR4NEcfVK4a9mHQOpwVZzluSHFRGw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/external-editor@2.0.3': - resolution: {integrity: sha512-LgyI7Agbda74/cL5MvA88iDpvdXI2KuMBCGRkbCl2Dg1vzHeOgs+s0SDcXV7b+WZJrv2+ERpWSM65Fpi9VfY3w==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/external-editor@3.0.5': + resolution: {integrity: sha512-f3QQJRIX5ZEneBHNUIuPjmbdzHnmRFJA8r2dkcb8q+OM5Uv5KtnuAttQumnrjcBVBM3mcTX1CkmtAkU58VRZxg==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/figures@2.0.3': - resolution: {integrity: sha512-y09iGt3JKoOCBQ3w4YrSJdokcD8ciSlMIWsD+auPu+OZpfxLuyz+gICAQ6GCBOmJJt4KEQGHuZSVff2jiNOy7g==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/figures@2.0.9': + resolution: {integrity: sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/input@5.0.4': - resolution: {integrity: sha512-4B3s3jvTREDFvXWit92Yc6jF1RJMDy2VpSqKtm4We2oVU65YOh2szY5/G14h4fHlyQdpUmazU5MPCFZPRJ0AOw==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/input@5.1.6': + resolution: {integrity: sha512-HtcJhB2QFVXbLuJ5S3syhNbTUVxYvwqV4VRBDkQceBloC9bmTViUoRFP5PbSaDZb3HzfPmpuU/gG4ybVBz4FHA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/number@4.0.4': - resolution: {integrity: sha512-CmMp9LF5HwE+G/xWsC333TlCzYYbXMkcADkKzcawh49fg2a1ryLc7JL1NJYYt1lJ+8f4slikNjJM9TEL/AljYQ==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/number@4.2.3': + resolution: {integrity: sha512-6Yuwh1NGSbu1Lo4N1EWjXs1jKRntLg/ZCwhmeorEHde90v1XxAozdbd4Iu30eOQLW+6h1hp2O9ujNfLSbTPJnA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/password@5.0.4': - resolution: {integrity: sha512-ZCEPyVYvHK4W4p2Gy6sTp9nqsdHQCfiPXIP9LbJVW4yCinnxL/dDDmPaEZVysGrj8vxVReRnpfS2fOeODe9zjg==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/password@5.2.2': + resolution: {integrity: sha512-W9zYdyzogK+6110mqwaSJWCBu2yA5Q/OfnGSjjZB1bNpHlmUozXxTl0+QOZBNeVd6Qo81/qT75gW05gLAtITxw==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/prompts@8.2.0': - resolution: {integrity: sha512-rqTzOprAj55a27jctS3vhvDDJzYXsr33WXTjODgVOru21NvBo9yIgLIAf7SBdSV0WERVly3dR6TWyp7ZHkvKFA==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/prompts@8.7.2': + resolution: {integrity: sha512-QoRB4wFIjgH5iOhSjoIKMkTvSHDuV+O3OITlIqAYO0oK5x364GJILXiMBvlPiE+klg7Xx9tq5XVqQHcGUDYYPA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/rawlist@5.2.0': - resolution: {integrity: sha512-CciqGoOUMrFo6HxvOtU5uL8fkjCmzyeB6fG7O1vdVAZVSopUBYECOwevDBlqNLyyYmzpm2Gsn/7nLrpruy9RFg==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/rawlist@5.3.5': + resolution: {integrity: sha512-1oHky1ONfCOwNrnkQGDE1oaSij/3fI6HFMSf2H/WsGO2lEyDX9My82iggITSy9ddSZ8yk8j9v41OI0fVoSIoaA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/search@4.1.0': - resolution: {integrity: sha512-EAzemfiP4IFvIuWnrHpgZs9lAhWDA0GM3l9F4t4mTQ22IFtzfrk8xbkMLcAN7gmVML9O/i+Hzu8yOUyAaL6BKA==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/search@4.3.3': + resolution: {integrity: sha512-fyuIU1Nbpvwlikjg3gXwJFDI11+EFjqQ7P+iByfmivIKQ1vmaykNrD/vy5unHuUqUpsOsnvJ25//tPF7E/RBRA==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/select@5.0.4': - resolution: {integrity: sha512-s8KoGpPYMEQ6WXc0dT9blX2NtIulMdLOO3LA1UKOiv7KFWzlJ6eLkEYTDBIi+JkyKXyn8t/CD6TinxGjyLt57g==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/select@5.2.5': + resolution: {integrity: sha512-9kc15hr8r/kI+3DO/xLog5nOzTz1jqsHXa6JBFzmQKhkoJ8Slda1I1L/uD8ZSZ9tF1yp79wwXe7mclvX1rqR2Q==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: '@types/node': optional: true - '@inquirer/type@4.0.3': - resolution: {integrity: sha512-cKZN7qcXOpj1h+1eTTcGDVLaBIHNMT1Rz9JqJP5MnEJ0JhgVWllx7H/tahUp5YEK1qaByH2Itb8wLG/iScD5kw==} - engines: {node: '>=23.5.0 || ^22.13.0 || ^21.7.0 || ^20.12.0'} + '@inquirer/type@4.1.1': + resolution: {integrity: sha512-yJoHYrMnxIsJZCY+0Vb66Dy3he3kL3e2wOBKhoSwWWAzZAY82emlxwgprCtp6yRixvNRNq9ztfRWQYPNr3Go7A==} + engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' peerDependenciesMeta: @@ -179,80 +182,72 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@scalar/helpers@0.11.1': + resolution: {integrity: sha512-Knwbe0IYqFk0PPDoOKLasqglBHfyf9/zwWWqFsSNi/AtdjM29wSZXN6p8DFid6iB5B9epYH9YiSgJ6tpD00TEw==} + engines: {node: '>=22'} - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@scalar/helpers@0.12.0': + resolution: {integrity: sha512-rcX0rFLiWWc0VBr/E+HkatubL0I0ZzxASQkd3032NWEMAEfNd2TiJ9kH46HwbSAOOl696ghxymWegjpjjvxwzA==} + engines: {node: '>=22'} - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@scalar/json-magic@0.13.2': + resolution: {integrity: sha512-T8rQw5u7+MSTDpUcd5ShX1taOUxpZMv2b/P6xsahdlv/u68VX/Bq/+uzuAf2xW8IIOy7BEP4MBggle/vMDgAXw==} + engines: {node: '>=22'} - '@scalar/helpers@0.2.11': - resolution: {integrity: sha512-Y7DLt1bIZF9dvHzJwSJTcC1lpSr1Tbf4VBhHOCRIHu23Rr7/lhQnddRxFmPV1tZXwEQKz7F7yRrubwCfKPCucw==} - engines: {node: '>=20'} + '@scalar/json-magic@0.13.5': + resolution: {integrity: sha512-w5eENfKAkc4CYiLva3nGUhTaJfyi3szmZ3E7+EHlzahOUnbDmB9rAWyzt8GFCXbwxeTuR+1m7lO1PyV/QAid4A==} + engines: {node: '>=22'} - '@scalar/json-magic@0.11.0': - resolution: {integrity: sha512-1zBseDDEPkKlAVd9lT1HlK9Nefeh0YEE+pcmyDL3J5derIZn9UYXAFecdkeXMdjDtWDgcrkmWCrHhpoT7zVKdQ==} - engines: {node: '>=20'} + '@scalar/openapi-parser@0.28.16': + resolution: {integrity: sha512-zHEQExXo58Nk7/Tju4y4HLVJ+B5nnDmR7vPhhHLVinL0z99aGrd6S/8HREupVpfAsim326pfzIbSM+UOvEbnOw==} + engines: {node: '>=22'} - '@scalar/json-magic@0.9.6': - resolution: {integrity: sha512-2TKoqkAophHti1nH+rvQlR4lhD6X9tqQpuNeAE0cytHSX/yndkSOE0yA7cep5T9tFjGN4Km0gMnelvY3LgWs4A==} - engines: {node: '>=20'} + '@scalar/openapi-types@0.9.5': + resolution: {integrity: sha512-czrz/zkVm1oPzrpYo3hI/iymfiw1s4dgJiQtwNi2U77Sqf3EQOGKsif4VNRa5suWMYRuPaFx5EiFM1FNEV4Whg==} + engines: {node: '>=22'} - '@scalar/openapi-parser@0.24.9': - resolution: {integrity: sha512-uqpwt6ZQJQu4c3CvMsJiXMUj32113yrclsDC31hlL33vEUS5JU9dCYfY27oLSCVoKl8R8KihlnEcbfRnH/O/GA==} - engines: {node: '>=20'} + '@scalar/openapi-types@0.9.7': + resolution: {integrity: sha512-UVSgxRxcTaIbTZGtNRdQJHZC60uyYi29zfDqQVp0lxx07BNczIHbf9jycgI/+W3Uxxod+yUUt7hzxnKllOHE0w==} + engines: {node: '>=22'} - '@scalar/openapi-types@0.5.3': - resolution: {integrity: sha512-m4n/Su3K01d15dmdWO1LlqecdSPKuNjuokrJLdiQ485kW/hRHbXW1QP6tJL75myhw/XhX5YhYAR+jrwnGjXiMw==} - engines: {node: '>=20'} - - '@scalar/openapi-upgrader@0.1.8': - resolution: {integrity: sha512-2xuYLLs0fBadLIk4I1ObjMiCnOyLPEMPf24A1HtHQvhKGDnGlvT63F2rU2Xw8lxCjgHnzveMPnOJEbwIy64RCg==} - engines: {node: '>=20'} - - '@sindresorhus/merge-streams@4.0.0': - resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} - engines: {node: '>=18'} + '@scalar/openapi-upgrader@0.2.15': + resolution: {integrity: sha512-yqROK9U96ElasEL4Wl/+PIjQZlqrQXVUUpXk9PA6xBnrp8KdEv7at8pR5gsZkvddJfYVwLILPlctyqUg4u4YZA==} + engines: {node: '>=22'} - '@typespec/asset-emitter@0.79.0': - resolution: {integrity: sha512-pNMtfSSwgmTQ2ex6bd1l6BUW2RLjSFnWQO5C5bNSleV62YEH5jMLn3THWDU9oUB0JoiBjgomV8cPqNRTJ+iV9w==} - engines: {node: '>=20.0.0'} + '@typespec/asset-emitter@0.79.2': + resolution: {integrity: sha512-hcr0jxYgXM0suBwPtjnScYXZVIIqkcdd8jgYh1T7VLHem8+q0WthFQxeKbDIrip4k/nCFtnZui6Dj5oOVJb8fA==} + engines: {node: '>=22.0.0'} peerDependencies: - '@typespec/compiler': ^1.9.0 + '@typespec/compiler': ^1.16.0 - '@typespec/compiler@1.9.0': - resolution: {integrity: sha512-Rz9fFWQSTJSnhBfZvtA/bDIuO82fknYdtyMsL9lZNJE82rquC6JByHPFsnbGH1VXA0HhMj9L7Oqyp3f0m/BTOA==} - engines: {node: '>=20.0.0'} + '@typespec/compiler@1.16.0': + resolution: {integrity: sha512-pT4gN+OSEXZMLxIhtI3QgIUafeFktfIBKVb7p+X/rAzDymQSO8yAb+srMBQ43PIcmfrvMxCNaD1SKBa9AGhWtA==} + engines: {node: '>=22.0.0'} hasBin: true - '@typespec/http@1.9.0': - resolution: {integrity: sha512-JzlZZsgCo71f2KhWbf4BLOz5e+dVLj7gJJ4kvXvrmuG9QHoT41VaGPpCQamYgpZLMz2LQbsOtw34AmpovhuJSw==} - engines: {node: '>=20.0.0'} + '@typespec/http@1.16.0': + resolution: {integrity: sha512-4cODL4uqoj6YGj3Z04mQx1JwrM7o4Ytv4dO75o3Y3fx66v4BF4B5hF2dwnwh02Xe0e9qO1aDoaRlO2QGDz3mEA==} + engines: {node: '>=22.0.0'} peerDependencies: - '@typespec/compiler': ^1.9.0 - '@typespec/streams': ^0.79.0 + '@typespec/compiler': ^1.16.0 + '@typespec/streams': ^0.86.0 peerDependenciesMeta: '@typespec/streams': optional: true - '@typespec/openapi3@1.9.0': - resolution: {integrity: sha512-htwhrGHQxuoNwAljeJE8CBt5yfKOv48T9Ugv91Y+4yNnlevJfDT29yrfD2mXYMujVOr3Kte1qilazClafkUIgg==} - engines: {node: '>=20.0.0'} + '@typespec/openapi3@1.16.0': + resolution: {integrity: sha512-eRyTwn4w5hWSRm15ys20O2Jp1aHDPHp6TZsctOsG3nxo+N50Qg7Epgu44ATsxaELmnCEg9G0B7N9czZKb51dSQ==} + engines: {node: '>=22.0.0'} hasBin: true peerDependencies: - '@typespec/compiler': ^1.9.0 - '@typespec/events': ^0.79.0 - '@typespec/http': ^1.9.0 - '@typespec/json-schema': ^1.9.0 - '@typespec/openapi': ^1.9.0 - '@typespec/sse': ^0.79.0 - '@typespec/streams': ^0.79.0 - '@typespec/versioning': ^0.79.0 + '@typespec/compiler': ^1.16.0 + '@typespec/events': ^0.86.0 + '@typespec/http': ^1.16.0 + '@typespec/json-schema': ^1.16.0 + '@typespec/openapi': ^1.16.0 + '@typespec/sse': ^0.86.0 + '@typespec/streams': ^0.86.0 + '@typespec/versioning': ^0.86.0 '@typespec/xml': '*' peerDependenciesMeta: '@typespec/events': @@ -268,19 +263,25 @@ packages: '@typespec/xml': optional: true - '@typespec/openapi@1.9.0': - resolution: {integrity: sha512-5ieXCWRLcyFLv3IFk26ena/RW/NxvT5KiHaoNVFRd79J0XZjFcE0Od6Lxxqj4dWmCo3C8oKtOwFoQuie18G3lQ==} - engines: {node: '>=20.0.0'} + '@typespec/openapi@1.16.0': + resolution: {integrity: sha512-6F+3e1dOJkIV4K0vCsuDpdwxoXnsT6eOomd4MpIUJAwyA7etEraUmPM9Qstp42MLIBoPWm9dK4Y9Whxtohc/KA==} + engines: {node: '>=22.0.0'} peerDependencies: - '@typespec/compiler': ^1.9.0 - '@typespec/http': ^1.9.0 + '@typespec/compiler': ^1.16.0 + '@typespec/http': ^1.16.0 - '@typespec/rest@0.79.0': - resolution: {integrity: sha512-6QIX7oaUGy/z4rseUrC86LjHxZn8rAAY4fXvGnlPRce6GhEdTb9S9OQPmlPeWngXwCx/07P2+FCR915APqmZxg==} - engines: {node: '>=20.0.0'} + '@typespec/rest@0.86.0': + resolution: {integrity: sha512-Lbl4x/ZW26r4ZsxpgvS7T3F998J7pvyDs+OsHgVKDI45EvPmdDydI4TKOH++UmHJ2tH8kw8KHzMPqCehWLIa6g==} + engines: {node: '>=22.0.0'} peerDependencies: - '@typespec/compiler': ^1.9.0 - '@typespec/http': ^1.9.0 + '@typespec/compiler': ^1.16.0 + '@typespec/http': ^1.16.0 + + '@typespec/streams@0.86.0': + resolution: {integrity: sha512-zK2kFtj53dVYnza6a6peEc5KPZ2l9iQCLaaoN1mO7IIYhNCaUMotv6qvbNJF7rw46HMm7u1Xzbi6NqeyVnnb9A==} + engines: {node: '>=22.0.0'} + peerDependencies: + '@typespec/compiler': ^1.16.0 '@typespec/versioning@0.78.0': resolution: {integrity: sha512-I14X6+IMd0wFMNI8oMFSeFBi2nD4idub+geSO34vuCs4rwuEj3FNzy+rkNkDDvf0+gIUGxeyg7s+YDUcNyiqOA==} @@ -304,26 +305,22 @@ packages: ajv: optional: true - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.20.0: + resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - ansi-regex@6.2.2: - resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + ansi-regex@6.3.0: + resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} engines: {node: '>=12'} ansi-styles@6.2.3: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - change-case@5.4.4: resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - chardet@2.1.1: - resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + chardet@2.2.0: + resolution: {integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==} chownr@3.0.0: resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} @@ -340,9 +337,9 @@ packages: emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + env-paths@4.0.0: + resolution: {integrity: sha512-pxP8eL2SwwaTRi/KHYwLYXinDs7gL3jxFcBYmEdYfZmZXbaVDvdppd0XBU8qVz03rDfKZMXg1omHCbsJjZrMsw==} + engines: {node: '>=20'} escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} @@ -351,59 +348,33 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} - fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + fast-uri@3.1.8: + resolution: {integrity: sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==} - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + get-east-asian-width@1.7.0: + resolution: {integrity: sha512-XjH1AECxf0giL2V1aU8vKyRR2ppRUb5c0EvT7zuJTokQ74bNo52zOtghqdWIqrhUD79fo3x0WfKZdOqxF6LG1Q==} engines: {node: '>=18'} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - globby@16.1.0: - resolution: {integrity: sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==} - engines: {node: '>=20'} - - iconv-lite@0.7.2: - resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} - engines: {node: '>=0.10.0'} - - ignore@7.0.5: - resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} - engines: {node: '>= 4'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + iconv-lite@0.7.3: + resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} engines: {node: '>=0.10.0'} - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-path-inside@4.0.0: - resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} - engines: {node: '>=12'} + is-safe-filename@0.1.1: + resolution: {integrity: sha512-4SrR7AdnY11LHfDKTZY1u6Ga3RuxZdl3YKWWShO5iyuG5h8QS4GD2tOb04peBJ5I7pXbR+CGBNEhTcwK+FzN3g==} + engines: {node: '>=20'} is-unicode-supported@2.1.0: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} @@ -423,16 +394,8 @@ packages: resolution: {integrity: sha512-KZ9W9nWDT7rF7Dazg8xyLHGLrmpgq2nVNFUckhqdW3szVP6YhCpp/RAnpmVExA9JvrMynjwSLVrEj3AepHR6ew==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} minizlib@3.1.0: @@ -447,42 +410,31 @@ packages: resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} engines: {node: ^20.17.0 || >=22.9.0} - npm-check-updates@19.3.2: - resolution: {integrity: sha512-9rr3z7znFjCSuaFxHGTFR2ZBOvLWaJcpLKmIquoTbDBNrwAGiHhv4MZyty6EJ9Xo/aMn35+2ISPSMgWIXx5Xkg==} + npm-check-updates@19.6.6: + resolution: {integrity: sha512-AvlRcnlUEyBEJfblUSjYMJwYKvCIWDRuCDa6x3hyUMTMkI3kslmFm0LDqwgzQfshfNh0Z3ouKiA4fLjRN7HejQ==} engines: {node: '>=20.0.0', npm: '>=8.12.1'} hasBin: true + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - prettier@3.8.1: - resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} + prettier@3.9.9: + resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==} engines: {node: '>=14'} hasBin: true - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - semver@7.7.4: - resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true @@ -490,51 +442,50 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - string-width@7.2.0: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - strip-ansi@7.1.2: - resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} + string-width@8.3.0: + resolution: {integrity: sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==} + engines: {node: '>=20'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} - tar@7.5.7: - resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} + tar@7.5.22: + resolution: {integrity: sha512-MFO/QzvtAOmJbkhOaCTvbGcFN9L9b+JunIsDwaKljSOdcLMea3NJ1k9Usz/rjdfSXTq4dfzfeS7W4p4YOAAHeA==} engines: {node: '>=18'} - temporal-polyfill@0.3.0: - resolution: {integrity: sha512-qNsTkX9K8hi+FHDfHmf22e/OGuXmfBm9RqNismxBrnSmZVJKegQ+HYYXT+R7Ha8F/YSm2Y34vmzD4cxMu2u95g==} + temporal-polyfill@1.0.5: + resolution: {integrity: sha512-+H/mmY74i6wXCMcjIhGuSnODcyZnc4eois2myhOyX0UqRAKNXQY5m9iB1en5jQ/n4SXtjLXo1ElBI5bmn8tZwQ==} - temporal-spec@0.3.0: - resolution: {integrity: sha512-n+noVpIqz4hYgFSMOSiINNOUOMFtV5cZQNCmmszA6GiVFVRt3G7AqVyhXjhCSmowvQn+NsGn+jMDMKJYHd3bSQ==} + temporal-spec@1.0.1: + resolution: {integrity: sha512-wxVoanmDeavXie1vu2JaQ3WIc3JZnWAOYFBsJyATaVsXsycKYUflGsyBmrRSnoCpZJpwPyr38VpgSUlQ8CbFxg==} - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + temporal-utils@1.0.3: + resolution: {integrity: sha512-9jbTSX3HvkOWvDpNpFzwX/d1mkCrgQgwLmVTOEiuocZGKHsrQJtttGZFmybJ2zYP5zCSZuU5ZyeS8+eOEPABiQ==} - unicorn-magic@0.4.0: - resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} - engines: {node: '>=20'} + undici@7.24.4: + resolution: {integrity: sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==} + engines: {node: '>=20.18.1'} - vscode-jsonrpc@8.2.0: - resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} + vscode-jsonrpc@9.0.3: + resolution: {integrity: sha512-qETYf9PCl1lVfwR+oBmMfc4vP2nqLNA35ABxorw3j06+xlKRgDVxbLgKm4Y/xPL0YWdeDjLoI4ImICIT3nB0zQ==} engines: {node: '>=14.0.0'} - vscode-languageserver-protocol@3.17.5: - resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + vscode-languageserver-protocol@3.18.4: + resolution: {integrity: sha512-CCXbyr99dafRJzJH/0Ryk7ly5T8XPmSR0//OuF2w4m+9JiOin7zcAT5iET8GRE7Z9taFBejb3GbM0a0mbjdbrg==} - vscode-languageserver-textdocument@1.0.12: - resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + vscode-languageserver-textdocument@1.0.15: + resolution: {integrity: sha512-Gsfr9S8LU3S6885cS+NaleasJ0n3V5y/SOTqHCifQiXWFw3G9w9/YItDfwHrlCz+dSZWWZ8ilYVMcJe7Sz7Sxw==} - vscode-languageserver-types@3.17.5: - resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + vscode-languageserver-types@3.18.4: + resolution: {integrity: sha512-nQsacoiijvl0fRf2q28uFDrAVwRhdCa3QveiF7/CX0r18mLR5FU/1WskSsCKOjmEbtteKUnY8x8Yzxop+k0zwg==} - vscode-languageserver@9.0.1: - resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} + vscode-languageserver@10.1.2: + resolution: {integrity: sha512-pXPWde3RytdeBVEs6PulOOT5OpeXC5GkWRpcT11f5rNn41jviQsAYPyAqJ/0oVGETQLKPJtYbHNiMPlfLb0NTQ==} hasBin: true wrap-ansi@9.0.2: @@ -549,8 +500,8 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.8.2: - resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} engines: {node: '>= 14.6'} hasBin: true @@ -558,248 +509,238 @@ packages: resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} - yargs@18.0.0: - resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + yargs@18.2.0: + resolution: {integrity: sha512-9OpKOLeaoNFecEp7P6iYbzze/5CqWoH7N3SMs/6y1XF4nMvFMspEGZzJ6uFi9MmQwXhyzqYoSEKO3tvA3Z/o2w==} engines: {node: ^20.19.0 || ^22.12.0 || >=23} - zod@4.3.6: - resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} - snapshots: - '@babel/code-frame@7.28.6': + '@babel/code-frame@7.29.7': dependencies: - '@babel/helper-validator-identifier': 7.28.5 + '@babel/helper-validator-identifier': 7.29.7 js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/helper-validator-identifier@7.28.5': {} + '@babel/helper-validator-identifier@7.29.7': {} - '@inquirer/ansi@2.0.3': {} + '@inquirer/ansi@2.0.8': {} - '@inquirer/checkbox@5.0.4': + '@inquirer/checkbox@5.2.5': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/core': 11.1.1 - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3 + '@inquirer/ansi': 2.0.8 + '@inquirer/core': 12.0.3 + '@inquirer/figures': 2.0.9 + '@inquirer/type': 4.1.1 - '@inquirer/confirm@6.0.4': + '@inquirer/confirm@6.3.2': dependencies: - '@inquirer/core': 11.1.1 - '@inquirer/type': 4.0.3 + '@inquirer/core': 12.0.3 + '@inquirer/type': 4.1.1 - '@inquirer/core@11.1.1': + '@inquirer/core@12.0.3': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3 + '@inquirer/ansi': 2.0.8 + '@inquirer/figures': 2.0.9 + '@inquirer/type': 4.1.1 cli-width: 4.1.0 + fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 signal-exit: 4.1.0 - wrap-ansi: 9.0.2 - '@inquirer/editor@5.0.4': + '@inquirer/editor@5.3.3': dependencies: - '@inquirer/core': 11.1.1 - '@inquirer/external-editor': 2.0.3 - '@inquirer/type': 4.0.3 + '@inquirer/core': 12.0.3 + '@inquirer/external-editor': 3.0.5 + '@inquirer/type': 4.1.1 - '@inquirer/expand@5.0.4': + '@inquirer/expand@5.1.5': dependencies: - '@inquirer/core': 11.1.1 - '@inquirer/type': 4.0.3 + '@inquirer/core': 12.0.3 + '@inquirer/type': 4.1.1 - '@inquirer/external-editor@2.0.3': + '@inquirer/external-editor@3.0.5': dependencies: - chardet: 2.1.1 - iconv-lite: 0.7.2 + chardet: 2.2.0 + iconv-lite: 0.7.3 - '@inquirer/figures@2.0.3': {} + '@inquirer/figures@2.0.9': {} - '@inquirer/input@5.0.4': + '@inquirer/input@5.1.6': dependencies: - '@inquirer/core': 11.1.1 - '@inquirer/type': 4.0.3 + '@inquirer/core': 12.0.3 + '@inquirer/type': 4.1.1 - '@inquirer/number@4.0.4': + '@inquirer/number@4.2.3': dependencies: - '@inquirer/core': 11.1.1 - '@inquirer/type': 4.0.3 + '@inquirer/core': 12.0.3 + '@inquirer/type': 4.1.1 - '@inquirer/password@5.0.4': + '@inquirer/password@5.2.2': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/core': 11.1.1 - '@inquirer/type': 4.0.3 + '@inquirer/ansi': 2.0.8 + '@inquirer/core': 12.0.3 + '@inquirer/type': 4.1.1 - '@inquirer/prompts@8.2.0': + '@inquirer/prompts@8.7.2': dependencies: - '@inquirer/checkbox': 5.0.4 - '@inquirer/confirm': 6.0.4 - '@inquirer/editor': 5.0.4 - '@inquirer/expand': 5.0.4 - '@inquirer/input': 5.0.4 - '@inquirer/number': 4.0.4 - '@inquirer/password': 5.0.4 - '@inquirer/rawlist': 5.2.0 - '@inquirer/search': 4.1.0 - '@inquirer/select': 5.0.4 + '@inquirer/checkbox': 5.2.5 + '@inquirer/confirm': 6.3.2 + '@inquirer/editor': 5.3.3 + '@inquirer/expand': 5.1.5 + '@inquirer/input': 5.1.6 + '@inquirer/number': 4.2.3 + '@inquirer/password': 5.2.2 + '@inquirer/rawlist': 5.3.5 + '@inquirer/search': 4.3.3 + '@inquirer/select': 5.2.5 - '@inquirer/rawlist@5.2.0': + '@inquirer/rawlist@5.3.5': dependencies: - '@inquirer/core': 11.1.1 - '@inquirer/type': 4.0.3 + '@inquirer/core': 12.0.3 + '@inquirer/type': 4.1.1 - '@inquirer/search@4.1.0': + '@inquirer/search@4.3.3': dependencies: - '@inquirer/core': 11.1.1 - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3 + '@inquirer/core': 12.0.3 + '@inquirer/figures': 2.0.9 + '@inquirer/type': 4.1.1 - '@inquirer/select@5.0.4': + '@inquirer/select@5.2.5': dependencies: - '@inquirer/ansi': 2.0.3 - '@inquirer/core': 11.1.1 - '@inquirer/figures': 2.0.3 - '@inquirer/type': 4.0.3 + '@inquirer/ansi': 2.0.8 + '@inquirer/core': 12.0.3 + '@inquirer/figures': 2.0.9 + '@inquirer/type': 4.1.1 - '@inquirer/type@4.0.3': {} + '@inquirer/type@4.1.1': {} '@isaacs/fs-minipass@4.0.1': dependencies: - minipass: 7.1.2 + minipass: 7.1.3 - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@scalar/helpers@0.11.1': {} - '@nodelib/fs.stat@2.0.5': {} + '@scalar/helpers@0.12.0': {} - '@nodelib/fs.walk@1.2.8': + '@scalar/json-magic@0.13.2': dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 - - '@scalar/helpers@0.2.11': {} + '@scalar/helpers': 0.11.1 + pathe: 2.0.3 + yaml: 2.9.1 - '@scalar/json-magic@0.11.0': + '@scalar/json-magic@0.13.5': dependencies: - '@scalar/helpers': 0.2.11 - yaml: 2.8.2 + '@scalar/helpers': 0.12.0 + pathe: 2.0.3 + undici: 7.24.4 + yaml: 2.9.1 - '@scalar/json-magic@0.9.6': + '@scalar/openapi-parser@0.28.16': dependencies: - '@scalar/helpers': 0.2.11 - yaml: 2.8.2 - - '@scalar/openapi-parser@0.24.9': - dependencies: - '@scalar/helpers': 0.2.11 - '@scalar/json-magic': 0.11.0 - '@scalar/openapi-types': 0.5.3 - '@scalar/openapi-upgrader': 0.1.8 - ajv: 8.17.1 - ajv-draft-04: 1.0.0(ajv@8.17.1) - ajv-formats: 3.0.1(ajv@8.17.1) + '@scalar/helpers': 0.11.1 + '@scalar/json-magic': 0.13.2 + '@scalar/openapi-types': 0.9.5 + '@scalar/openapi-upgrader': 0.2.15 + ajv: 8.20.0 + ajv-draft-04: 1.0.0(ajv@8.20.0) + ajv-formats: 3.0.1(ajv@8.20.0) jsonpointer: 5.0.1 leven: 4.1.0 - yaml: 2.8.2 + yaml: 2.9.1 - '@scalar/openapi-types@0.5.3': - dependencies: - zod: 4.3.6 + '@scalar/openapi-types@0.9.5': {} - '@scalar/openapi-upgrader@0.1.8': - dependencies: - '@scalar/openapi-types': 0.5.3 + '@scalar/openapi-types@0.9.7': {} - '@sindresorhus/merge-streams@4.0.0': {} + '@scalar/openapi-upgrader@0.2.15': + dependencies: + '@scalar/openapi-types': 0.9.5 - '@typespec/asset-emitter@0.79.0(@typespec/compiler@1.9.0)': + '@typespec/asset-emitter@0.79.2(@typespec/compiler@1.16.0)': dependencies: - '@typespec/compiler': 1.9.0 + '@typespec/compiler': 1.16.0 - '@typespec/compiler@1.9.0': + '@typespec/compiler@1.16.0': dependencies: - '@babel/code-frame': 7.28.6 - '@inquirer/prompts': 8.2.0 - ajv: 8.17.1 + '@babel/code-frame': 7.29.7 + '@inquirer/prompts': 8.7.2 + ajv: 8.20.0 change-case: 5.4.4 - env-paths: 3.0.0 - globby: 16.1.0 + env-paths: 4.0.0 is-unicode-supported: 2.1.0 mustache: 4.2.0 picocolors: 1.1.1 - prettier: 3.8.1 - semver: 7.7.4 - tar: 7.5.7 - temporal-polyfill: 0.3.0 - vscode-languageserver: 9.0.1 - vscode-languageserver-textdocument: 1.0.12 - yaml: 2.8.2 - yargs: 18.0.0 + prettier: 3.9.9 + semver: 7.8.5 + tar: 7.5.22 + temporal-polyfill: 1.0.5 + vscode-languageserver: 10.1.2 + vscode-languageserver-textdocument: 1.0.15 + yaml: 2.9.1 + yargs: 18.2.0 transitivePeerDependencies: - '@types/node' - '@typespec/http@1.9.0(@typespec/compiler@1.9.0)': + '@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))': dependencies: - '@typespec/compiler': 1.9.0 + '@typespec/compiler': 1.16.0 + optionalDependencies: + '@typespec/streams': 0.86.0(@typespec/compiler@1.16.0) + + '@typespec/openapi3@1.16.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)))(@typespec/openapi@1.16.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))))(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))(@typespec/versioning@0.78.0(@typespec/compiler@1.16.0))': + dependencies: + '@scalar/json-magic': 0.13.5 + '@scalar/openapi-parser': 0.28.16 + '@scalar/openapi-types': 0.9.7 + '@typespec/asset-emitter': 0.79.2(@typespec/compiler@1.16.0) + '@typespec/compiler': 1.16.0 + '@typespec/http': 1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)) + '@typespec/openapi': 1.16.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0))) + yaml: 2.9.1 + optionalDependencies: + '@typespec/streams': 0.86.0(@typespec/compiler@1.16.0) + '@typespec/versioning': 0.78.0(@typespec/compiler@1.16.0) - '@typespec/openapi3@1.9.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0))(@typespec/openapi@1.9.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0)))(@typespec/versioning@0.78.0(@typespec/compiler@1.9.0))': + '@typespec/openapi@1.16.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)))': dependencies: - '@scalar/json-magic': 0.9.6 - '@scalar/openapi-parser': 0.24.9 - '@scalar/openapi-types': 0.5.3 - '@typespec/asset-emitter': 0.79.0(@typespec/compiler@1.9.0) - '@typespec/compiler': 1.9.0 - '@typespec/http': 1.9.0(@typespec/compiler@1.9.0) - '@typespec/openapi': 1.9.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0)) - yaml: 2.8.2 - optionalDependencies: - '@typespec/versioning': 0.78.0(@typespec/compiler@1.9.0) + '@typespec/compiler': 1.16.0 + '@typespec/http': 1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)) - '@typespec/openapi@1.9.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0))': + '@typespec/rest@0.86.0(@typespec/compiler@1.16.0)(@typespec/http@1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)))': dependencies: - '@typespec/compiler': 1.9.0 - '@typespec/http': 1.9.0(@typespec/compiler@1.9.0) + '@typespec/compiler': 1.16.0 + '@typespec/http': 1.16.0(@typespec/compiler@1.16.0)(@typespec/streams@0.86.0(@typespec/compiler@1.16.0)) - '@typespec/rest@0.79.0(@typespec/compiler@1.9.0)(@typespec/http@1.9.0(@typespec/compiler@1.9.0))': + '@typespec/streams@0.86.0(@typespec/compiler@1.16.0)': dependencies: - '@typespec/compiler': 1.9.0 - '@typespec/http': 1.9.0(@typespec/compiler@1.9.0) + '@typespec/compiler': 1.16.0 - '@typespec/versioning@0.78.0(@typespec/compiler@1.9.0)': + '@typespec/versioning@0.78.0(@typespec/compiler@1.16.0)': dependencies: - '@typespec/compiler': 1.9.0 + '@typespec/compiler': 1.16.0 - ajv-draft-04@1.0.0(ajv@8.17.1): + ajv-draft-04@1.0.0(ajv@8.20.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.20.0 - ajv-formats@3.0.1(ajv@8.17.1): + ajv-formats@3.0.1(ajv@8.20.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.20.0 - ajv@8.17.1: + ajv@8.20.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 + fast-uri: 3.1.8 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-regex@6.2.2: {} + ansi-regex@6.3.0: {} ansi-styles@6.2.3: {} - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - change-case@5.4.4: {} - chardet@2.1.1: {} + chardet@2.2.0: {} chownr@3.0.0: {} @@ -808,67 +749,40 @@ snapshots: cliui@9.0.1: dependencies: string-width: 7.2.0 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 wrap-ansi: 9.0.2 emoji-regex@10.6.0: {} - env-paths@3.0.0: {} + env-paths@4.0.0: + dependencies: + is-safe-filename: 0.1.1 escalade@3.2.0: {} fast-deep-equal@3.1.3: {} - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 + fast-string-truncated-width@3.0.3: {} - fast-uri@3.1.0: {} - - fastq@1.20.1: + fast-string-width@3.0.2: dependencies: - reusify: 1.1.0 + fast-string-truncated-width: 3.0.3 + + fast-uri@3.1.8: {} - fill-range@7.1.1: + fast-wrap-ansi@0.2.2: dependencies: - to-regex-range: 5.0.1 + fast-string-width: 3.0.2 get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} + get-east-asian-width@1.7.0: {} - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - globby@16.1.0: - dependencies: - '@sindresorhus/merge-streams': 4.0.0 - fast-glob: 3.3.3 - ignore: 7.0.5 - is-path-inside: 4.0.0 - slash: 5.1.0 - unicorn-magic: 0.4.0 - - iconv-lite@0.7.2: + iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 - ignore@7.0.5: {} - - is-extglob@2.1.1: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@7.0.0: {} - - is-path-inside@4.0.0: {} + is-safe-filename@0.1.1: {} is-unicode-supported@2.1.0: {} @@ -880,115 +794,100 @@ snapshots: leven@4.1.0: {} - merge2@1.4.1: {} - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - - minipass@7.1.2: {} + minipass@7.1.3: {} minizlib@3.1.0: dependencies: - minipass: 7.1.2 + minipass: 7.1.3 mustache@4.2.0: {} mute-stream@3.0.0: {} - npm-check-updates@19.3.2: {} - - picocolors@1.1.1: {} + npm-check-updates@19.6.6: {} - picomatch@2.3.1: {} + pathe@2.0.3: {} - prettier@3.8.1: {} + picocolors@1.1.1: {} - queue-microtask@1.2.3: {} + prettier@3.9.9: {} require-from-string@2.0.2: {} - reusify@1.1.0: {} - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - safer-buffer@2.1.2: {} - semver@7.7.4: {} + semver@7.8.5: {} signal-exit@4.1.0: {} - slash@5.1.0: {} - string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 + get-east-asian-width: 1.7.0 + strip-ansi: 7.2.0 - strip-ansi@7.1.2: + string-width@8.3.0: dependencies: - ansi-regex: 6.2.2 + get-east-asian-width: 1.7.0 + strip-ansi: 7.2.0 - tar@7.5.7: + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.3.0 + + tar@7.5.22: dependencies: '@isaacs/fs-minipass': 4.0.1 chownr: 3.0.0 - minipass: 7.1.2 + minipass: 7.1.3 minizlib: 3.1.0 yallist: 5.0.0 - temporal-polyfill@0.3.0: + temporal-polyfill@1.0.5: dependencies: - temporal-spec: 0.3.0 + temporal-spec: 1.0.1 + temporal-utils: 1.0.3 - temporal-spec@0.3.0: {} + temporal-spec@1.0.1: {} - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 + temporal-utils@1.0.3: {} - unicorn-magic@0.4.0: {} + undici@7.24.4: {} - vscode-jsonrpc@8.2.0: {} + vscode-jsonrpc@9.0.3: {} - vscode-languageserver-protocol@3.17.5: + vscode-languageserver-protocol@3.18.4: dependencies: - vscode-jsonrpc: 8.2.0 - vscode-languageserver-types: 3.17.5 + vscode-jsonrpc: 9.0.3 + vscode-languageserver-types: 3.18.4 - vscode-languageserver-textdocument@1.0.12: {} + vscode-languageserver-textdocument@1.0.15: {} - vscode-languageserver-types@3.17.5: {} + vscode-languageserver-types@3.18.4: {} - vscode-languageserver@9.0.1: + vscode-languageserver@10.1.2: dependencies: - vscode-languageserver-protocol: 3.17.5 + vscode-languageserver-protocol: 3.18.4 wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 string-width: 7.2.0 - strip-ansi: 7.1.2 + strip-ansi: 7.2.0 y18n@5.0.8: {} yallist@5.0.0: {} - yaml@2.8.2: {} + yaml@2.9.1: {} yargs-parser@22.0.0: {} - yargs@18.0.0: + yargs@18.2.0: dependencies: cliui: 9.0.1 escalade: 3.2.0 get-caller-file: 2.0.5 - string-width: 7.2.0 + string-width: 8.3.0 y18n: 5.0.8 yargs-parser: 22.0.0 - - zod@4.3.6: {} diff --git a/routes/images.tsp b/routes/images.tsp index cade50f..6914804 100644 --- a/routes/images.tsp +++ b/routes/images.tsp @@ -1,4 +1,5 @@ import "@typespec/http"; +import "@typespec/http/streams"; import "@typespec/openapi"; import "../models/common.tsp"; @@ -6,6 +7,7 @@ import "../models/containers.tsp"; import "../models/images.tsp"; using TypeSpec.Http; +using TypeSpec.Http.Streams; using TypeSpec.OpenAPI; namespace DockerEngine; @@ -18,7 +20,7 @@ op ImageList(@query all?: boolean, @query filters?: string, @query("shared-size" /** Build an image */ @post @route("/build") -op ImageBuild(@query dockerfile?: string, @query t?: string, @query extrahosts?: string, @query remote?: string, @query q?: boolean, @query nocache?: boolean, @query cachefrom?: string, @query pull?: string, @query rm?: boolean, @query forcerm?: boolean, @query memory?: int32, @query memswap?: int32, @query cpushares?: int32, @query cpusetcpus?: string, @query cpuperiod?: int32, @query cpuquota?: int32, @query buildargs?: string, @query shmsize?: int32, @query squash?: boolean, @query labels?: string, @query networkmode?: string, @header("Content-type") Content_type?: "application/x-tar", @header("X-Registry-Config") X_Registry_Config?: string, @query platform?: string, @query target?: string, @query outputs?: string, @query version?: "1" | "2", @body body: bytes): void; +op ImageBuild(@query dockerfile?: string, @query t?: string, @query extrahosts?: string, @query remote?: string, @query q?: boolean, @query nocache?: boolean, @query cachefrom?: string, @query pull?: string, @query rm?: boolean, @query forcerm?: boolean, @query memory?: int32, @query memswap?: int32, @query cpushares?: int32, @query cpusetcpus?: string, @query cpuperiod?: int32, @query cpuquota?: int32, @query buildargs?: string, @query shmsize?: int32, @query squash?: boolean, @query labels?: string, @query networkmode?: string, @header("Content-type") Content_type?: "application/x-tar", @header("X-Registry-Config") X_Registry_Config?: string, @query platform?: string, @query target?: string, @query outputs?: string, @query version?: "1" | "2", @body body: bytes): HttpStream; /** Delete builder cache */ @post @@ -31,7 +33,7 @@ op BuildPrune(@query("reserved-space") reserved_space?: int64, @query("max-used- /** Create an image */ @post @route("/images/create") -op ImageCreate(@query fromImage?: string, @query fromSrc?: string, @query repo?: string, @query tag?: string, @query message?: string, @header("X-Registry-Auth") X_Registry_Auth?: string, @query changes?: string[], @query platform?: string, @body body: string): void; +op ImageCreate(@query fromImage?: string, @query fromSrc?: string, @query repo?: string, @query tag?: string, @query message?: string, @header("X-Registry-Auth") X_Registry_Auth?: string, @query changes?: string[], @query platform?: string, @body body: string): HttpStream; /** Inspect an image */ @get @@ -46,7 +48,7 @@ op ImageHistory(@path name: string, @query platform?: string): ImageHistoryRespo /** Push an image */ @post @route("/images/{name}/push") -op ImagePush(@path name: string, @query tag?: string, @query platform?: string, @header("X-Registry-Auth") X_Registry_Auth: string): void; +op ImagePush(@path name: string, @query tag?: string, @query platform?: string, @header("X-Registry-Auth") X_Registry_Auth: string): HttpStream; /** Tag an image */ @post