An experimental TypeSpec syntax for Lexicon

bump

+571 -199
+1 -1
packages/emitter/lib/decorators.tsp
··· 40 * 41 * @param key - The key type for the record (e.g., "tid", "literal:self", "any") 42 */ 43 - extern dec record(target: unknown, key: valueof string); 44 45 /** 46 * Explicitly marks a field as required in the lexicon.
··· 40 * 41 * @param key - The key type for the record (e.g., "tid", "literal:self", "any") 42 */ 43 + extern dec rec(target: unknown, key: valueof string); 44 45 /** 46 * Explicitly marks a field as required in the lexicon.
+4 -4
packages/emitter/package.json
··· 33 "author": "", 34 "license": "MIT", 35 "dependencies": { 36 - "@typespec/compiler": "^0.64.0" 37 }, 38 "devDependencies": { 39 "@types/node": "^20.0.0", 40 - "@typespec/http": "^0.64.0", 41 - "@typespec/openapi": "^0.64.0", 42 "concurrently": "^9.2.1", 43 "tsc-watch": "^7.2.0", 44 "typescript": "^5.0.0", 45 "vitest": "^1.0.0" 46 }, 47 "peerDependencies": { 48 - "@typespec/compiler": "^0.64.0" 49 }, 50 "typespec": { 51 "emitter": {
··· 33 "author": "", 34 "license": "MIT", 35 "dependencies": { 36 + "@typespec/compiler": "^1.4.0" 37 }, 38 "devDependencies": { 39 "@types/node": "^20.0.0", 40 + "@typespec/http": "^1.4.0", 41 + "@typespec/openapi": "^1.4.0", 42 "concurrently": "^9.2.1", 43 "tsc-watch": "^7.2.0", 44 "typescript": "^5.0.0", 45 "vitest": "^1.0.0" 46 }, 47 "peerDependencies": { 48 + "@typespec/compiler": "^1.4.0" 49 }, 50 "typespec": { 51 "emitter": {
+2 -2
packages/emitter/src/decorators.ts
··· 126 } 127 128 /** 129 - * @record decorator for record type lexicons 130 */ 131 - export function $record(context: DecoratorContext, target: Type, key: Type) { 132 const keyValue = (key as any).kind === "String" ? (key as any).value : key; 133 context.program.stateMap(recordKey).set(target, keyValue); 134 }
··· 126 } 127 128 /** 129 + * @rec decorator for record type lexicons 130 */ 131 + export function $rec(context: DecoratorContext, target: Type, key: Type) { 132 const keyValue = (key as any).kind === "String" ? (key as any).value : key; 133 context.program.stateMap(recordKey).set(target, keyValue); 134 }
+21 -19
packages/emitter/src/emitter.ts
··· 16 getMaxItems, 17 getMinItems, 18 isArrayModelType, 19 } from "@typespec/compiler"; 20 import { join, dirname } from "path"; 21 import type { ··· 568 const propDesc = getDoc(this.program, prop); 569 if (propDesc) primitive.description = propDesc; 570 571 - const defaultValue = (prop as any).default; 572 - if ( 573 - defaultValue?.value !== undefined && 574 - typeof defaultValue.value === "number" 575 - ) { 576 - primitive.default = defaultValue.value; 577 } 578 } 579 ··· 595 const propDesc = getDoc(this.program, prop); 596 if (propDesc) primitive.description = propDesc; 597 598 - const defaultValue = (prop as any).default; 599 - if ( 600 - defaultValue?.value !== undefined && 601 - typeof defaultValue.value === "boolean" 602 - ) { 603 - primitive.default = defaultValue.value; 604 } 605 } 606 ··· 637 const propDesc = getDoc(this.program, prop); 638 if (propDesc) primitive.description = propDesc; 639 640 - const defaultValue = (prop as any).default; 641 - if ( 642 - defaultValue?.value !== undefined && 643 - typeof defaultValue.value === "string" 644 - ) { 645 - primitive.default = defaultValue.value; 646 } 647 } 648 ··· 1189 const hasReadOnly = isReadOnly(this.program, prop); 1190 1191 // Apply default value as const if @readOnly is present 1192 - const defaultValue = (prop as any).default?.value; 1193 if (hasReadOnly) { 1194 // Validate that readOnly is only used on string, boolean, or integer 1195 if (!this.isValidConstForType(primitive.type, defaultValue)) {
··· 16 getMaxItems, 17 getMinItems, 18 isArrayModelType, 19 + serializeValueAsJson, 20 } from "@typespec/compiler"; 21 import { join, dirname } from "path"; 22 import type { ··· 569 const propDesc = getDoc(this.program, prop); 570 if (propDesc) primitive.description = propDesc; 571 572 + const defaultValue = prop.defaultValue 573 + ? serializeValueAsJson(this.program, prop.defaultValue, prop) 574 + : undefined; 575 + if (defaultValue !== undefined && typeof defaultValue === "number") { 576 + primitive.default = defaultValue; 577 } 578 } 579 ··· 595 const propDesc = getDoc(this.program, prop); 596 if (propDesc) primitive.description = propDesc; 597 598 + const defaultValue = prop.defaultValue 599 + ? serializeValueAsJson(this.program, prop.defaultValue, prop) 600 + : undefined; 601 + if (defaultValue !== undefined && typeof defaultValue === "boolean") { 602 + primitive.default = defaultValue; 603 } 604 } 605 ··· 636 const propDesc = getDoc(this.program, prop); 637 if (propDesc) primitive.description = propDesc; 638 639 + const defaultValue = prop.defaultValue 640 + ? serializeValueAsJson(this.program, prop.defaultValue, prop) 641 + : undefined; 642 + if (defaultValue !== undefined && typeof defaultValue === "string") { 643 + primitive.default = defaultValue; 644 } 645 } 646 ··· 1187 const hasReadOnly = isReadOnly(this.program, prop); 1188 1189 // Apply default value as const if @readOnly is present 1190 + // In TypeSpec 1.x, the default value is accessed via defaultValue property 1191 + const defaultValue = prop.defaultValue 1192 + ? serializeValueAsJson(this.program, prop.defaultValue, prop) 1193 + : undefined; 1194 + 1195 if (hasReadOnly) { 1196 // Validate that readOnly is only used on string, boolean, or integer 1197 if (!this.isValidConstForType(primitive.type, defaultValue)) {
+1 -1
packages/emitter/src/index.ts
··· 20 export { 21 $maxGraphemes, 22 $minGraphemes, 23 - $record, 24 $blob, 25 $required, 26 $readOnly,
··· 20 export { 21 $maxGraphemes, 22 $minGraphemes, 23 + $rec, 24 $blob, 25 $required, 26 $readOnly,
+2 -2
packages/emitter/src/tsp-index.ts
··· 1 import { 2 $maxGraphemes, 3 $minGraphemes, 4 - $record, 5 $blob, 6 $required, 7 $readOnly, ··· 22 "": { 23 maxGraphemes: $maxGraphemes, 24 minGraphemes: $minGraphemes, 25 - record: $record, 26 required: $required, 27 readOnly: $readOnly, 28 token: $token,
··· 1 import { 2 $maxGraphemes, 3 $minGraphemes, 4 + $rec, 5 $blob, 6 $required, 7 $readOnly, ··· 22 "": { 23 maxGraphemes: $maxGraphemes, 24 minGraphemes: $minGraphemes, 25 + rec: $rec, 26 required: $required, 27 readOnly: $readOnly, 28 token: $token,
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/profile.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.actor.profile { 4 - @record("literal:self") 5 @doc("A declaration of a Bluesky account profile.") 6 model Main { 7 @maxGraphemes(64)
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.actor.profile { 4 + @rec("literal:self") 5 @doc("A declaration of a Bluesky account profile.") 6 model Main { 7 @maxGraphemes(64)
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/status.tsp
··· 2 3 namespace app.bsky.actor.status { 4 @doc("A declaration of a Bluesky account status.") 5 - @record("literal:self") 6 model Main { 7 @doc("The status for the account.") 8 @required
··· 2 3 namespace app.bsky.actor.status { 4 @doc("A declaration of a Bluesky account status.") 5 + @rec("literal:self") 6 model Main { 7 @doc("The status for the account.") 8 @required
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/embed/record.tsp
··· 1 import "@tylex/emitter"; 2 3 @doc("A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record.") 4 - namespace app.bsky.embed.record { 5 model Main { 6 @required record: com.atproto.repo.strongRef.Main; 7 }
··· 1 import "@tylex/emitter"; 2 3 @doc("A representation of a record embedded in a Bluesky record (eg, a post). For example, a quote-post, or sharing a feed generator record.") 4 + namespace app.bsky.embed.`record` { 5 model Main { 6 @required record: com.atproto.repo.strongRef.Main; 7 }
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/generator.tsp
··· 2 3 namespace app.bsky.feed.generator { 4 @doc("Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.") 5 - @record("any") 6 model Main { 7 @required did: did; 8
··· 2 3 namespace app.bsky.feed.generator { 4 @doc("Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.") 5 + @rec("any") 6 model Main { 7 @required did: did; 8
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/like.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.like { 4 - @record("tid") 5 @doc("Record declaring a 'like' of a piece of subject content.") 6 model Main { 7 @required
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.like { 4 + @rec("tid") 5 @doc("Record declaring a 'like' of a piece of subject content.") 6 model Main { 7 @required
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/post.tsp
··· 2 3 namespace app.bsky.feed.post { 4 @doc("Record containing a Bluesky post.") 5 - @record("tid") 6 model Main { 7 @doc("The primary post content. May be an empty string, if there are embeds.") 8 @maxGraphemes(300)
··· 2 3 namespace app.bsky.feed.post { 4 @doc("Record containing a Bluesky post.") 5 + @rec("tid") 6 model Main { 7 @doc("The primary post content. May be an empty string, if there are embeds.") 8 @maxGraphemes(300)
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/postgate.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.postgate { 4 - @record("tid") 5 @doc("Record defining interaction rules for a post. The record key (rkey) of the postgate record must match the record key of the post, and that record must be in the same repository.") 6 model Main { 7 @doc("Reference (AT-URI) to the post record.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.postgate { 4 + @rec("tid") 5 @doc("Record defining interaction rules for a post. The record key (rkey) of the postgate record must match the record key of the post, and that record must be in the same repository.") 6 model Main { 7 @doc("Reference (AT-URI) to the post record.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/repost.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.repost { 4 - @record("tid") 5 @doc("Record representing a 'repost' of an existing Bluesky post.") 6 model Main { 7 @required subject: com.atproto.repo.strongRef.Main;
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.repost { 4 + @rec("tid") 5 @doc("Record representing a 'repost' of an existing Bluesky post.") 6 model Main { 7 @required subject: com.atproto.repo.strongRef.Main;
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/threadgate.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.threadgate { 4 - @record("tid") 5 @doc("Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository.") 6 model Main { 7 @doc("Reference (AT-URI) to the post record.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.feed.threadgate { 4 + @rec("tid") 5 @doc("Record defining interaction gating rules for a thread (aka, reply controls). The record key (rkey) of the threadgate record must match the record key of the thread's root post, and that record must be in the same repository.") 6 model Main { 7 @doc("Reference (AT-URI) to the post record.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/block.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.block { 4 - @record("tid") 5 @doc("Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details.") 6 model Main { 7 @doc("DID of the account to be blocked.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.block { 4 + @rec("tid") 5 @doc("Record declaring a 'block' relationship against another account. NOTE: blocks are public in Bluesky; see blog posts for details.") 6 model Main { 7 @doc("DID of the account to be blocked.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/follow.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.follow { 4 - @record("tid") 5 @doc("Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView.") 6 model Main { 7 @required subject: did;
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.follow { 4 + @rec("tid") 5 @doc("Record declaring a social 'follow' relationship of another account. Duplicate follows will be ignored by the AppView.") 6 model Main { 7 @required subject: did;
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/list.tsp
··· 2 3 namespace app.bsky.graph.list { 4 @doc("Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists.") 5 - @record("tid") 6 model Main { 7 @doc("Display name for list; can not be empty.") 8 @minLength(1)
··· 2 3 namespace app.bsky.graph.list { 4 @doc("Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists.") 5 + @rec("tid") 6 model Main { 7 @doc("Display name for list; can not be empty.") 8 @minLength(1)
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/listblock.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.listblock { 4 - @record("tid") 5 @doc("Record representing a block relationship against an entire an entire list of accounts (actors).") 6 model Main { 7 @doc("Reference (AT-URI) to the mod list record.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.listblock { 4 + @rec("tid") 5 @doc("Record representing a block relationship against an entire an entire list of accounts (actors).") 6 model Main { 7 @doc("Reference (AT-URI) to the mod list record.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/listitem.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.listitem { 4 - @record("tid") 5 @doc("Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records.") 6 model Main { 7 @doc("The account which is included on the list.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.listitem { 4 + @rec("tid") 5 @doc("Record representing an account's inclusion on a specific list. The AppView will ignore duplicate listitem records.") 6 model Main { 7 @doc("The account which is included on the list.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/starterpack.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.starterpack { 4 - @record("tid") 5 @doc("Record defining a starter pack of actors and feeds for new users.") 6 model Main { 7 @doc("Display name for starter pack; can not be empty.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.starterpack { 4 + @rec("tid") 5 @doc("Record defining a starter pack of actors and feeds for new users.") 6 model Main { 7 @doc("Display name for starter pack; can not be empty.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/verification.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.verification { 4 - @record("tid") 5 @doc("Record declaring a verification relationship between two accounts. Verifications are only considered valid by an app if issued by an account the app considers trusted.") 6 model Main { 7 @doc("DID of the subject the verification applies to.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.graph.verification { 4 + @rec("tid") 5 @doc("Record declaring a verification relationship between two accounts. Verifications are only considered valid by an app if issued by an account the app considers trusted.") 6 model Main { 7 @doc("DID of the subject the verification applies to.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/labeler/service.tsp
··· 2 3 namespace app.bsky.labeler.service { 4 @doc("A declaration of the existence of labeler service.") 5 - @record("literal:self") 6 model Main { 7 @required policies: app.bsky.labeler.defs.LabelerPolicies; 8
··· 2 3 namespace app.bsky.labeler.service { 4 @doc("A declaration of the existence of labeler service.") 5 + @rec("literal:self") 6 model Main { 7 @required policies: app.bsky.labeler.defs.LabelerPolicies; 8
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/declaration.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.notification.declaration { 4 - @record("literal:self") 5 @doc("A declaration of the user's choices related to notifications that can be produced by them.") 6 model Main { 7 @doc("A declaration of the user's preference for allowing activity subscriptions from other users. Absence of a record implies 'followers'.")
··· 1 import "@tylex/emitter"; 2 3 namespace app.bsky.notification.declaration { 4 + @rec("literal:self") 5 @doc("A declaration of the user's choices related to notifications that can be produced by them.") 6 model Main { 7 @doc("A declaration of the user's preference for allowing activity subscriptions from other users. Absence of a record implies 'followers'.")
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/actor/declaration.tsp
··· 1 import "@tylex/emitter"; 2 3 namespace chat.bsky.actor.declaration { 4 - @record("literal:self") 5 @doc("A declaration of a Bluesky chat account.") 6 model Main { 7 @required allowIncoming: "all" | "none" | "following" | string;
··· 1 import "@tylex/emitter"; 2 3 namespace chat.bsky.actor.declaration { 4 + @rec("literal:self") 5 @doc("A declaration of a Bluesky chat account.") 6 model Main { 7 @required allowIncoming: "all" | "none" | "following" | string;
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/lexicon/schema.tsp
··· 2 3 namespace com.atproto.lexicon.schema { 4 @doc("Representation of Lexicon schemas themselves, when published as atproto records. Note that the schema language is not defined in Lexicon; this meta schema currently only includes a single version field ('lexicon'). See the atproto specifications for description of the other expected top-level fields ('id', 'defs', etc).") 5 - @record("nsid") 6 model Main { 7 @doc("Indicates the 'version' of the Lexicon language. Must be '1' for the current atproto/Lexicon schema system.") 8 @required
··· 2 3 namespace com.atproto.lexicon.schema { 4 @doc("Representation of Lexicon schemas themselves, when published as atproto records. Note that the schema language is not defined in Lexicon; this meta schema currently only includes a single version field ('lexicon'). See the atproto specifications for description of the other expected top-level fields ('id', 'defs', etc).") 5 + @rec("nsid") 6 model Main { 7 @doc("Indicates the 'version' of the Lexicon language. Must be '1' for the current atproto/Lexicon schema system.") 8 @required
+1 -1
packages/example/package.json
··· 11 "dependencies": { 12 "@atproto/lex-cli": "^0.9.5", 13 "@atproto/xrpc-server": "^0.9.5", 14 - "@typespec/compiler": "^0.64.0", 15 "@tylex/emitter": "workspace:*" 16 }, 17 "devDependencies": {
··· 11 "dependencies": { 12 "@atproto/lex-cli": "^0.9.5", 13 "@atproto/xrpc-server": "^0.9.5", 14 + "@typespec/compiler": "^1.4.0", 15 "@tylex/emitter": "workspace:*" 16 }, 17 "devDependencies": {
+5 -5
packages/example/tylex/main.tsp
··· 61 // ============ Records ============ 62 63 namespace app.example.post { 64 - @record("tid") 65 @doc("A post in the feed") 66 model Main { 67 @doc("Post text content") ··· 84 } 85 86 namespace app.example.follow { 87 - @record("tid") 88 @doc("A follow relationship") 89 model Main { 90 @doc("DID of the account being followed") ··· 98 } 99 100 namespace app.example.like { 101 - @record("tid") 102 @doc("A like on a post") 103 model Main { 104 @doc("Post being liked") ··· 112 } 113 114 namespace app.example.repost { 115 - @record("tid") 116 @doc("A repost of another post") 117 model Main { 118 @doc("Post being reposted") ··· 126 } 127 128 namespace app.example.profile { 129 - @record("self") 130 @doc("User profile information") 131 model Main { 132 @doc("Display name")
··· 61 // ============ Records ============ 62 63 namespace app.example.post { 64 + @rec("tid") 65 @doc("A post in the feed") 66 model Main { 67 @doc("Post text content") ··· 84 } 85 86 namespace app.example.follow { 87 + @rec("tid") 88 @doc("A follow relationship") 89 model Main { 90 @doc("DID of the account being followed") ··· 98 } 99 100 namespace app.example.like { 101 + @rec("tid") 102 @doc("A like on a post") 103 model Main { 104 @doc("Post being liked") ··· 112 } 113 114 namespace app.example.repost { 115 + @rec("tid") 116 @doc("A repost of another post") 117 model Main { 118 @doc("Post being reposted") ··· 126 } 127 128 namespace app.example.profile { 129 + @rec("self") 130 @doc("User profile information") 131 model Main { 132 @doc("Display name")
+514 -144
pnpm-lock.yaml
··· 15 packages/emitter: 16 dependencies: 17 '@typespec/compiler': 18 - specifier: ^0.64.0 19 - version: 0.64.0 20 devDependencies: 21 '@types/node': 22 specifier: ^20.0.0 23 version: 20.19.19 24 '@typespec/http': 25 - specifier: ^0.64.0 26 - version: 0.64.0(@typespec/compiler@0.64.0) 27 '@typespec/openapi': 28 - specifier: ^0.64.0 29 - version: 0.64.0(@typespec/compiler@0.64.0)(@typespec/http@0.64.0(@typespec/compiler@0.64.0)) 30 concurrently: 31 specifier: ^9.2.1 32 version: 9.2.1 ··· 52 specifier: workspace:* 53 version: link:../emitter 54 '@typespec/compiler': 55 - specifier: ^0.64.0 56 - version: 0.64.0 57 devDependencies: 58 typescript: 59 specifier: ^5.0.0 ··· 90 '@atproto/xrpc@0.7.5': 91 resolution: {integrity: sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA==} 92 93 - '@babel/code-frame@7.25.9': 94 - resolution: {integrity: sha512-z88xeGxnzehn2sqZ8UdGQEvYErF1odv2CftxInpSYJt6uHuPe9YjahKZITGs3l5LeI9d2ROG+obuDAoSlqbNfQ==} 95 engines: {node: '>=6.9.0'} 96 97 '@babel/helper-validator-identifier@7.27.1': 98 resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 99 - engines: {node: '>=6.9.0'} 100 - 101 - '@babel/highlight@7.25.9': 102 - resolution: {integrity: sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==} 103 engines: {node: '>=6.9.0'} 104 105 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': ··· 270 cpu: [x64] 271 os: [win32] 272 273 '@ipld/dag-cbor@7.0.3': 274 resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 275 276 '@jest/schemas@29.6.3': 277 resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} ··· 426 '@types/node@20.19.19': 427 resolution: {integrity: sha512-pb1Uqj5WJP7wrcbLU7Ru4QtA0+3kAXrkutGiD26wUKzSMgNNaPARTUDQmElUXp64kh3cWdou3Q0C7qwwxqSFmg==} 428 429 - '@typespec/compiler@0.64.0': 430 - resolution: {integrity: sha512-LnQGlQMWyqvhGg4Z9iyr5qSBTjI9zd49sodbEJbLafrxbj9pbHyjfSFbvt60gVbfuNvLErsdXvZiqqXV5nZdmQ==} 431 - engines: {node: '>=18.0.0'} 432 hasBin: true 433 434 - '@typespec/http@0.64.0': 435 - resolution: {integrity: sha512-vyyZP3Woo7or/2Oiq1fH+R0X/4WOBDjAlGsb9tLQzswfQHp710kNfiecA10y9gDC/9h+PjKsTElS1RcRRanpwA==} 436 - engines: {node: '>=18.0.0'} 437 peerDependencies: 438 - '@typespec/compiler': ~0.64.0 439 - '@typespec/streams': ~0.64.0 440 peerDependenciesMeta: 441 '@typespec/streams': 442 optional: true 443 444 - '@typespec/openapi@0.64.0': 445 - resolution: {integrity: sha512-C4sPdj86ejsNkpmEaAMMqQR+0kq4Ayp4sPKvj4OTtawLXacXKzZ9NYng2jrguO6WbLr5f3NyRZKi7Ys2suT27A==} 446 - engines: {node: '>=18.0.0'} 447 peerDependencies: 448 - '@typespec/compiler': ~0.64.0 449 - '@typespec/http': ~0.64.0 450 451 '@vitest/expect@1.6.1': 452 resolution: {integrity: sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==} ··· 487 resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 488 engines: {node: '>=8'} 489 490 - ansi-styles@3.2.1: 491 - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 492 - engines: {node: '>=4'} 493 494 ansi-styles@4.3.0: 495 resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} ··· 499 resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 500 engines: {node: '>=10'} 501 502 array-flatten@1.1.1: 503 resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 504 ··· 560 resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} 561 engines: {node: '>=4'} 562 563 - chalk@2.4.2: 564 - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 565 - engines: {node: '>=4'} 566 - 567 chalk@4.1.2: 568 resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 569 engines: {node: '>=10'} ··· 571 change-case@5.4.4: 572 resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} 573 574 check-error@1.0.3: 575 resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} 576 577 cliui@8.0.1: 578 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 579 engines: {node: '>=12'} 580 581 code-block-writer@13.0.3: 582 resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} 583 584 - color-convert@1.9.3: 585 - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 586 - 587 color-convert@2.0.1: 588 resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 589 engines: {node: '>=7.0.0'} 590 - 591 - color-name@1.1.3: 592 - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 593 594 color-name@1.1.4: 595 resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} ··· 672 ee-first@1.1.1: 673 resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 674 675 emoji-regex@8.0.0: 676 resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 677 ··· 683 resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 684 engines: {node: '>= 0.8'} 685 686 es-define-property@1.0.1: 687 resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 688 engines: {node: '>= 0.4'} ··· 706 707 escape-html@1.0.3: 708 resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 709 - 710 - escape-string-regexp@1.0.5: 711 - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 712 - engines: {node: '>=0.8.0'} 713 714 estree-walker@3.0.3: 715 resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} ··· 794 resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 795 engines: {node: 6.* || 8.* || >= 10.*} 796 797 get-func-name@2.0.2: 798 resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 799 ··· 813 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 814 engines: {node: '>= 6'} 815 816 - globby@14.0.2: 817 - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} 818 engines: {node: '>=18'} 819 820 gopd@1.2.0: ··· 824 graphemer@1.4.0: 825 resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 826 827 - has-flag@3.0.0: 828 - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 829 - engines: {node: '>=4'} 830 - 831 has-flag@4.0.0: 832 resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 833 engines: {node: '>=8'} ··· 852 resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 853 engines: {node: '>=0.10.0'} 854 855 ieee754@1.2.1: 856 resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 857 858 - ignore@5.3.2: 859 - resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 860 engines: {node: '>= 4'} 861 862 inherits@2.0.4: ··· 886 resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 887 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 888 889 isexe@2.0.0: 890 resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 891 ··· 900 901 json-schema-traverse@1.0.0: 902 resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 903 - 904 - kleur@3.0.3: 905 - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 906 - engines: {node: '>=6'} 907 908 local-pkg@0.5.1: 909 resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} ··· 965 resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 966 engines: {node: '>=16 || 14 >=14.17'} 967 968 mlly@1.8.0: 969 resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} 970 ··· 980 mustache@4.2.0: 981 resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} 982 hasBin: true 983 984 nanoid@3.3.11: 985 resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} ··· 1039 path-to-regexp@0.1.12: 1040 resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} 1041 1042 - path-type@5.0.0: 1043 - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} 1044 - engines: {node: '>=12'} 1045 1046 pathe@1.1.2: 1047 resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} ··· 1088 engines: {node: '>=14'} 1089 hasBin: true 1090 1091 pretty-format@29.7.0: 1092 resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 1093 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} ··· 1099 resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1100 engines: {node: '>= 0.6.0'} 1101 1102 - prompts@2.4.2: 1103 - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 1104 - engines: {node: '>= 6'} 1105 - 1106 proxy-addr@2.0.7: 1107 resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1108 engines: {node: '>= 0.10'} ··· 1228 resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1229 engines: {node: '>=14'} 1230 1231 - sisteransi@1.0.5: 1232 - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 1233 - 1234 slash@5.1.0: 1235 resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} 1236 engines: {node: '>=14.16'} ··· 1270 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1271 engines: {node: '>=8'} 1272 1273 string_decoder@1.3.0: 1274 resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1275 ··· 1277 resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1278 engines: {node: '>=8'} 1279 1280 strip-final-newline@3.0.0: 1281 resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 1282 engines: {node: '>=12'} ··· 1284 strip-literal@2.1.1: 1285 resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} 1286 1287 - supports-color@5.5.0: 1288 - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1289 - engines: {node: '>=4'} 1290 - 1291 supports-color@7.2.0: 1292 resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1293 engines: {node: '>=8'} ··· 1296 resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 1297 engines: {node: '>=10'} 1298 1299 - temporal-polyfill@0.2.5: 1300 - resolution: {integrity: sha512-ye47xp8Cb0nDguAhrrDS1JT1SzwEV9e26sSsrWzVu+yPZ7LzceEcH0i2gci9jWfOfSCCgM3Qv5nOYShVUUFUXA==} 1301 1302 - temporal-spec@0.2.4: 1303 - resolution: {integrity: sha512-lDMFv4nKQrSjlkHKAlHVqKrBG4DyFfa9F74cmBZ3Iy3ed8yvWnlWSIdi4IKfSqwmazAohBNwiN64qGx4y5Q3IQ==} 1304 1305 thread-stream@2.7.0: 1306 resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} ··· 1370 undici-types@6.21.0: 1371 resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1372 1373 - unicorn-magic@0.1.0: 1374 - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} 1375 engines: {node: '>=18'} 1376 1377 unpipe@1.0.0: ··· 1474 engines: {node: '>=8'} 1475 hasBin: true 1476 1477 wrap-ansi@7.0.0: 1478 resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1479 engines: {node: '>=10'} 1480 1481 ws@8.18.3: 1482 resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} ··· 1494 resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1495 engines: {node: '>=10'} 1496 1497 - yaml@2.5.1: 1498 - resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==} 1499 - engines: {node: '>= 14'} 1500 hasBin: true 1501 1502 yargs-parser@21.1.1: 1503 resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1504 engines: {node: '>=12'} 1505 1506 yargs@17.7.2: 1507 resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1508 engines: {node: '>=12'} 1509 1510 yesno@0.4.0: 1511 resolution: {integrity: sha512-tdBxmHvbXPBKYIg81bMCB7bVeDmHkRzk5rVJyYYXurwKkHq/MCd8rz4HSJUP7hW0H2NlXiq8IFiWvYKEHhlotA==} 1512 1513 yocto-queue@1.2.1: 1514 resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} 1515 engines: {node: '>=12.20'} 1516 1517 zod@3.25.76: 1518 resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} ··· 1586 '@atproto/lexicon': 0.5.1 1587 zod: 3.25.76 1588 1589 - '@babel/code-frame@7.25.9': 1590 - dependencies: 1591 - '@babel/highlight': 7.25.9 1592 - picocolors: 1.1.1 1593 - 1594 - '@babel/helper-validator-identifier@7.27.1': {} 1595 - 1596 - '@babel/highlight@7.25.9': 1597 dependencies: 1598 '@babel/helper-validator-identifier': 7.27.1 1599 - chalk: 2.4.2 1600 js-tokens: 4.0.0 1601 picocolors: 1.1.1 1602 1603 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 1604 optional: true ··· 1687 '@esbuild/win32-x64@0.21.5': 1688 optional: true 1689 1690 '@ipld/dag-cbor@7.0.3': 1691 dependencies: 1692 cborg: 1.10.2 1693 multiformats: 9.9.0 1694 1695 '@jest/schemas@29.6.3': 1696 dependencies: ··· 1798 dependencies: 1799 undici-types: 6.21.0 1800 1801 - '@typespec/compiler@0.64.0': 1802 dependencies: 1803 - '@babel/code-frame': 7.25.9 1804 ajv: 8.17.1 1805 change-case: 5.4.4 1806 - globby: 14.0.2 1807 mustache: 4.2.0 1808 picocolors: 1.1.1 1809 - prettier: 3.3.3 1810 - prompts: 2.4.2 1811 semver: 7.7.2 1812 - temporal-polyfill: 0.2.5 1813 vscode-languageserver: 9.0.1 1814 vscode-languageserver-textdocument: 1.0.12 1815 - yaml: 2.5.1 1816 - yargs: 17.7.2 1817 1818 - '@typespec/http@0.64.0(@typespec/compiler@0.64.0)': 1819 dependencies: 1820 - '@typespec/compiler': 0.64.0 1821 1822 - '@typespec/openapi@0.64.0(@typespec/compiler@0.64.0)(@typespec/http@0.64.0(@typespec/compiler@0.64.0))': 1823 dependencies: 1824 - '@typespec/compiler': 0.64.0 1825 - '@typespec/http': 0.64.0(@typespec/compiler@0.64.0) 1826 1827 '@vitest/expect@1.6.1': 1828 dependencies: ··· 1877 1878 ansi-regex@5.0.1: {} 1879 1880 - ansi-styles@3.2.1: 1881 - dependencies: 1882 - color-convert: 1.9.3 1883 1884 ansi-styles@4.3.0: 1885 dependencies: 1886 color-convert: 2.0.1 1887 1888 ansi-styles@5.2.0: {} 1889 1890 array-flatten@1.1.1: {} 1891 ··· 1969 pathval: 1.1.1 1970 type-detect: 4.1.0 1971 1972 - chalk@2.4.2: 1973 - dependencies: 1974 - ansi-styles: 3.2.1 1975 - escape-string-regexp: 1.0.5 1976 - supports-color: 5.5.0 1977 - 1978 chalk@4.1.2: 1979 dependencies: 1980 ansi-styles: 4.3.0 ··· 1982 1983 change-case@5.4.4: {} 1984 1985 check-error@1.0.3: 1986 dependencies: 1987 get-func-name: 2.0.2 1988 1989 cliui@8.0.1: 1990 dependencies: ··· 1992 strip-ansi: 6.0.1 1993 wrap-ansi: 7.0.0 1994 1995 - code-block-writer@13.0.3: {} 1996 1997 - color-convert@1.9.3: 1998 - dependencies: 1999 - color-name: 1.1.3 2000 2001 color-convert@2.0.1: 2002 dependencies: 2003 color-name: 1.1.4 2004 - 2005 - color-name@1.1.3: {} 2006 2007 color-name@1.1.4: {} 2008 ··· 2066 2067 ee-first@1.1.1: {} 2068 2069 emoji-regex@8.0.0: {} 2070 2071 encodeurl@1.0.2: {} 2072 2073 encodeurl@2.0.0: {} 2074 2075 es-define-property@1.0.1: {} 2076 ··· 2110 2111 escape-html@1.0.3: {} 2112 2113 - escape-string-regexp@1.0.5: {} 2114 - 2115 estree-walker@3.0.3: 2116 dependencies: 2117 '@types/estree': 1.0.8 ··· 2231 2232 get-caller-file@2.0.5: {} 2233 2234 get-func-name@2.0.2: {} 2235 2236 get-intrinsic@1.3.0: ··· 2257 dependencies: 2258 is-glob: 4.0.3 2259 2260 - globby@14.0.2: 2261 dependencies: 2262 '@sindresorhus/merge-streams': 2.3.0 2263 fast-glob: 3.3.3 2264 - ignore: 5.3.2 2265 - path-type: 5.0.0 2266 slash: 5.1.0 2267 - unicorn-magic: 0.1.0 2268 2269 gopd@1.2.0: {} 2270 2271 graphemer@1.4.0: {} 2272 - 2273 - has-flag@3.0.0: {} 2274 2275 has-flag@4.0.0: {} 2276 ··· 2294 dependencies: 2295 safer-buffer: 2.1.2 2296 2297 ieee754@1.2.1: {} 2298 2299 - ignore@5.3.2: {} 2300 2301 inherits@2.0.4: {} 2302 ··· 2314 2315 is-stream@3.0.0: {} 2316 2317 isexe@2.0.0: {} 2318 2319 iso-datestring-validator@2.2.2: {} ··· 2323 js-tokens@9.0.1: {} 2324 2325 json-schema-traverse@1.0.0: {} 2326 - 2327 - kleur@3.0.3: {} 2328 2329 local-pkg@0.5.1: 2330 dependencies: ··· 2372 dependencies: 2373 brace-expansion: 2.0.2 2374 2375 mlly@1.8.0: 2376 dependencies: 2377 acorn: 8.15.0 ··· 2387 2388 mustache@4.2.0: {} 2389 2390 nanoid@3.3.11: {} 2391 2392 negotiator@0.6.3: {} ··· 2428 2429 path-to-regexp@0.1.12: {} 2430 2431 - path-type@5.0.0: {} 2432 2433 pathe@1.1.2: {} 2434 ··· 2480 source-map-js: 1.2.1 2481 2482 prettier@3.3.3: {} 2483 2484 pretty-format@29.7.0: 2485 dependencies: ··· 2490 process-warning@3.0.0: {} 2491 2492 process@0.11.10: {} 2493 - 2494 - prompts@2.4.2: 2495 - dependencies: 2496 - kleur: 3.0.3 2497 - sisteransi: 1.0.5 2498 2499 proxy-addr@2.0.7: 2500 dependencies: ··· 2655 2656 signal-exit@4.1.0: {} 2657 2658 - sisteransi@1.0.5: {} 2659 - 2660 slash@5.1.0: {} 2661 2662 sonic-boom@3.8.1: ··· 2689 is-fullwidth-code-point: 3.0.0 2690 strip-ansi: 6.0.1 2691 2692 string_decoder@1.3.0: 2693 dependencies: 2694 safe-buffer: 5.2.1 ··· 2697 dependencies: 2698 ansi-regex: 5.0.1 2699 2700 strip-final-newline@3.0.0: {} 2701 2702 strip-literal@2.1.1: 2703 dependencies: 2704 js-tokens: 9.0.1 2705 2706 - supports-color@5.5.0: 2707 - dependencies: 2708 - has-flag: 3.0.0 2709 - 2710 supports-color@7.2.0: 2711 dependencies: 2712 has-flag: 4.0.0 ··· 2715 dependencies: 2716 has-flag: 4.0.0 2717 2718 - temporal-polyfill@0.2.5: 2719 dependencies: 2720 - temporal-spec: 0.2.4 2721 2722 - temporal-spec@0.2.4: {} 2723 2724 thread-stream@2.7.0: 2725 dependencies: ··· 2778 2779 undici-types@6.21.0: {} 2780 2781 - unicorn-magic@0.1.0: {} 2782 2783 unpipe@1.0.0: {} 2784 ··· 2871 siginfo: 2.0.0 2872 stackback: 0.0.2 2873 2874 wrap-ansi@7.0.0: 2875 dependencies: 2876 ansi-styles: 4.3.0 2877 string-width: 4.2.3 2878 strip-ansi: 6.0.1 2879 2880 ws@8.18.3: {} 2881 2882 y18n@5.0.8: {} 2883 2884 - yaml@2.5.1: {} 2885 2886 yargs-parser@21.1.1: {} 2887 2888 yargs@17.7.2: 2889 dependencies: ··· 2895 y18n: 5.0.8 2896 yargs-parser: 21.1.1 2897 2898 yesno@0.4.0: {} 2899 2900 yocto-queue@1.2.1: {} 2901 2902 zod@3.25.76: {}
··· 15 packages/emitter: 16 dependencies: 17 '@typespec/compiler': 18 + specifier: ^1.4.0 19 + version: 1.4.0(@types/node@20.19.19) 20 devDependencies: 21 '@types/node': 22 specifier: ^20.0.0 23 version: 20.19.19 24 '@typespec/http': 25 + specifier: ^1.4.0 26 + version: 1.4.0(@typespec/compiler@1.4.0(@types/node@20.19.19)) 27 '@typespec/openapi': 28 + specifier: ^1.4.0 29 + version: 1.4.0(@typespec/compiler@1.4.0(@types/node@20.19.19))(@typespec/http@1.4.0(@typespec/compiler@1.4.0(@types/node@20.19.19))) 30 concurrently: 31 specifier: ^9.2.1 32 version: 9.2.1 ··· 52 specifier: workspace:* 53 version: link:../emitter 54 '@typespec/compiler': 55 + specifier: ^1.4.0 56 + version: 1.4.0(@types/node@20.19.19) 57 devDependencies: 58 typescript: 59 specifier: ^5.0.0 ··· 90 '@atproto/xrpc@0.7.5': 91 resolution: {integrity: sha512-MUYNn5d2hv8yVegRL0ccHvTHAVj5JSnW07bkbiaz96UH45lvYNRVwt44z+yYVnb0/mvBzyD3/ZQ55TRGt7fHkA==} 92 93 + '@babel/code-frame@7.27.1': 94 + resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 95 engines: {node: '>=6.9.0'} 96 97 '@babel/helper-validator-identifier@7.27.1': 98 resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 99 engines: {node: '>=6.9.0'} 100 101 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': ··· 266 cpu: [x64] 267 os: [win32] 268 269 + '@inquirer/ansi@1.0.0': 270 + resolution: {integrity: sha512-JWaTfCxI1eTmJ1BIv86vUfjVatOdxwD0DAVKYevY8SazeUUZtW+tNbsdejVO1GYE0GXJW1N1ahmiC3TFd+7wZA==} 271 + engines: {node: '>=18'} 272 + 273 + '@inquirer/checkbox@4.2.4': 274 + resolution: {integrity: sha512-2n9Vgf4HSciFq8ttKXk+qy+GsyTXPV1An6QAwe/8bkbbqvG4VW1I/ZY1pNu2rf+h9bdzMLPbRSfcNxkHBy/Ydw==} 275 + engines: {node: '>=18'} 276 + peerDependencies: 277 + '@types/node': '>=18' 278 + peerDependenciesMeta: 279 + '@types/node': 280 + optional: true 281 + 282 + '@inquirer/confirm@5.1.18': 283 + resolution: {integrity: sha512-MilmWOzHa3Ks11tzvuAmFoAd/wRuaP3SwlT1IZhyMke31FKLxPiuDWcGXhU+PKveNOpAc4axzAgrgxuIJJRmLw==} 284 + engines: {node: '>=18'} 285 + peerDependencies: 286 + '@types/node': '>=18' 287 + peerDependenciesMeta: 288 + '@types/node': 289 + optional: true 290 + 291 + '@inquirer/core@10.2.2': 292 + resolution: {integrity: sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==} 293 + engines: {node: '>=18'} 294 + peerDependencies: 295 + '@types/node': '>=18' 296 + peerDependenciesMeta: 297 + '@types/node': 298 + optional: true 299 + 300 + '@inquirer/editor@4.2.20': 301 + resolution: {integrity: sha512-7omh5y5bK672Q+Brk4HBbnHNowOZwrb/78IFXdrEB9PfdxL3GudQyDk8O9vQ188wj3xrEebS2M9n18BjJoI83g==} 302 + engines: {node: '>=18'} 303 + peerDependencies: 304 + '@types/node': '>=18' 305 + peerDependenciesMeta: 306 + '@types/node': 307 + optional: true 308 + 309 + '@inquirer/expand@4.0.20': 310 + resolution: {integrity: sha512-Dt9S+6qUg94fEvgn54F2Syf0Z3U8xmnBI9ATq2f5h9xt09fs2IJXSCIXyyVHwvggKWFXEY/7jATRo2K6Dkn6Ow==} 311 + engines: {node: '>=18'} 312 + peerDependencies: 313 + '@types/node': '>=18' 314 + peerDependenciesMeta: 315 + '@types/node': 316 + optional: true 317 + 318 + '@inquirer/external-editor@1.0.2': 319 + resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==} 320 + engines: {node: '>=18'} 321 + peerDependencies: 322 + '@types/node': '>=18' 323 + peerDependenciesMeta: 324 + '@types/node': 325 + optional: true 326 + 327 + '@inquirer/figures@1.0.13': 328 + resolution: {integrity: sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==} 329 + engines: {node: '>=18'} 330 + 331 + '@inquirer/input@4.2.4': 332 + resolution: {integrity: sha512-cwSGpLBMwpwcZZsc6s1gThm0J+it/KIJ+1qFL2euLmSKUMGumJ5TcbMgxEjMjNHRGadouIYbiIgruKoDZk7klw==} 333 + engines: {node: '>=18'} 334 + peerDependencies: 335 + '@types/node': '>=18' 336 + peerDependenciesMeta: 337 + '@types/node': 338 + optional: true 339 + 340 + '@inquirer/number@3.0.20': 341 + resolution: {integrity: sha512-bbooay64VD1Z6uMfNehED2A2YOPHSJnQLs9/4WNiV/EK+vXczf/R988itL2XLDGTgmhMF2KkiWZo+iEZmc4jqg==} 342 + engines: {node: '>=18'} 343 + peerDependencies: 344 + '@types/node': '>=18' 345 + peerDependenciesMeta: 346 + '@types/node': 347 + optional: true 348 + 349 + '@inquirer/password@4.0.20': 350 + resolution: {integrity: sha512-nxSaPV2cPvvoOmRygQR+h0B+Av73B01cqYLcr7NXcGXhbmsYfUb8fDdw2Us1bI2YsX+VvY7I7upgFYsyf8+Nug==} 351 + engines: {node: '>=18'} 352 + peerDependencies: 353 + '@types/node': '>=18' 354 + peerDependenciesMeta: 355 + '@types/node': 356 + optional: true 357 + 358 + '@inquirer/prompts@7.8.6': 359 + resolution: {integrity: sha512-68JhkiojicX9SBUD8FE/pSKbOKtwoyaVj1kwqLfvjlVXZvOy3iaSWX4dCLsZyYx/5Ur07Fq+yuDNOen+5ce6ig==} 360 + engines: {node: '>=18'} 361 + peerDependencies: 362 + '@types/node': '>=18' 363 + peerDependenciesMeta: 364 + '@types/node': 365 + optional: true 366 + 367 + '@inquirer/rawlist@4.1.8': 368 + resolution: {integrity: sha512-CQ2VkIASbgI2PxdzlkeeieLRmniaUU1Aoi5ggEdm6BIyqopE9GuDXdDOj9XiwOqK5qm72oI2i6J+Gnjaa26ejg==} 369 + engines: {node: '>=18'} 370 + peerDependencies: 371 + '@types/node': '>=18' 372 + peerDependenciesMeta: 373 + '@types/node': 374 + optional: true 375 + 376 + '@inquirer/search@3.1.3': 377 + resolution: {integrity: sha512-D5T6ioybJJH0IiSUK/JXcoRrrm8sXwzrVMjibuPs+AgxmogKslaafy1oxFiorNI4s3ElSkeQZbhYQgLqiL8h6Q==} 378 + engines: {node: '>=18'} 379 + peerDependencies: 380 + '@types/node': '>=18' 381 + peerDependenciesMeta: 382 + '@types/node': 383 + optional: true 384 + 385 + '@inquirer/select@4.3.4': 386 + resolution: {integrity: sha512-Qp20nySRmfbuJBBsgPU7E/cL62Hf250vMZRzYDcBHty2zdD1kKCnoDFWRr0WO2ZzaXp3R7a4esaVGJUx0E6zvA==} 387 + engines: {node: '>=18'} 388 + peerDependencies: 389 + '@types/node': '>=18' 390 + peerDependenciesMeta: 391 + '@types/node': 392 + optional: true 393 + 394 + '@inquirer/type@3.0.8': 395 + resolution: {integrity: sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==} 396 + engines: {node: '>=18'} 397 + peerDependencies: 398 + '@types/node': '>=18' 399 + peerDependenciesMeta: 400 + '@types/node': 401 + optional: true 402 + 403 '@ipld/dag-cbor@7.0.3': 404 resolution: {integrity: sha512-1VVh2huHsuohdXC1bGJNE8WR72slZ9XE2T3wbBBq31dm7ZBatmKLLxrB+XAqafxfRFjv08RZmj/W/ZqaM13AuA==} 405 + 406 + '@isaacs/fs-minipass@4.0.1': 407 + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} 408 + engines: {node: '>=18.0.0'} 409 410 '@jest/schemas@29.6.3': 411 resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} ··· 560 '@types/node@20.19.19': 561 resolution: {integrity: sha512-pb1Uqj5WJP7wrcbLU7Ru4QtA0+3kAXrkutGiD26wUKzSMgNNaPARTUDQmElUXp64kh3cWdou3Q0C7qwwxqSFmg==} 562 563 + '@typespec/compiler@1.4.0': 564 + resolution: {integrity: sha512-/AFiU3ImuhH/vHKzSGv7I2peewdJ7YLhgMCfFDNk6Ae0a5Ylrc8R1GOATVilisEPBFG9lnjHn3uUcyaZs5VWRw==} 565 + engines: {node: '>=20.0.0'} 566 hasBin: true 567 568 + '@typespec/http@1.4.0': 569 + resolution: {integrity: sha512-Y0PDDtBu+oZnwivfhbL0lN6Mk3QiCxZ66DgB5kFjcgKNpnXf0u440PPyaL42a8lbchzz5lVwz+cinyIMI89FIQ==} 570 + engines: {node: '>=20.0.0'} 571 peerDependencies: 572 + '@typespec/compiler': ^1.4.0 573 + '@typespec/streams': ^0.74.0 574 peerDependenciesMeta: 575 '@typespec/streams': 576 optional: true 577 578 + '@typespec/openapi@1.4.0': 579 + resolution: {integrity: sha512-ZfrCsmZG/Zt1laLaWC0pKvnZr4jqrm/YS/YuZe/gVrSYKBxGLopXle7H0wrSSMYkIVCNCLiC68/HqRxV6XTfoA==} 580 + engines: {node: '>=20.0.0'} 581 peerDependencies: 582 + '@typespec/compiler': ^1.4.0 583 + '@typespec/http': ^1.4.0 584 585 '@vitest/expect@1.6.1': 586 resolution: {integrity: sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==} ··· 621 resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 622 engines: {node: '>=8'} 623 624 + ansi-regex@6.2.2: 625 + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} 626 + engines: {node: '>=12'} 627 628 ansi-styles@4.3.0: 629 resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} ··· 633 resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 634 engines: {node: '>=10'} 635 636 + ansi-styles@6.2.3: 637 + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} 638 + engines: {node: '>=12'} 639 + 640 array-flatten@1.1.1: 641 resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} 642 ··· 698 resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} 699 engines: {node: '>=4'} 700 701 chalk@4.1.2: 702 resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 703 engines: {node: '>=10'} ··· 705 change-case@5.4.4: 706 resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} 707 708 + chardet@2.1.0: 709 + resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} 710 + 711 check-error@1.0.3: 712 resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} 713 714 + chownr@3.0.0: 715 + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} 716 + engines: {node: '>=18'} 717 + 718 + cli-width@4.1.0: 719 + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 720 + engines: {node: '>= 12'} 721 + 722 cliui@8.0.1: 723 resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 724 engines: {node: '>=12'} 725 726 + cliui@9.0.1: 727 + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} 728 + engines: {node: '>=20'} 729 + 730 code-block-writer@13.0.3: 731 resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==} 732 733 color-convert@2.0.1: 734 resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 735 engines: {node: '>=7.0.0'} 736 737 color-name@1.1.4: 738 resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} ··· 815 ee-first@1.1.1: 816 resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 817 818 + emoji-regex@10.5.0: 819 + resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} 820 + 821 emoji-regex@8.0.0: 822 resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 823 ··· 829 resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 830 engines: {node: '>= 0.8'} 831 832 + env-paths@3.0.0: 833 + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} 834 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 835 + 836 es-define-property@1.0.1: 837 resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 838 engines: {node: '>= 0.4'} ··· 856 857 escape-html@1.0.3: 858 resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 859 860 estree-walker@3.0.3: 861 resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} ··· 940 resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 941 engines: {node: 6.* || 8.* || >= 10.*} 942 943 + get-east-asian-width@1.4.0: 944 + resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} 945 + engines: {node: '>=18'} 946 + 947 get-func-name@2.0.2: 948 resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 949 ··· 963 resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 964 engines: {node: '>= 6'} 965 966 + globby@14.1.0: 967 + resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} 968 engines: {node: '>=18'} 969 970 gopd@1.2.0: ··· 974 graphemer@1.4.0: 975 resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 976 977 has-flag@4.0.0: 978 resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 979 engines: {node: '>=8'} ··· 998 resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 999 engines: {node: '>=0.10.0'} 1000 1001 + iconv-lite@0.7.0: 1002 + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} 1003 + engines: {node: '>=0.10.0'} 1004 + 1005 ieee754@1.2.1: 1006 resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1007 1008 + ignore@7.0.5: 1009 + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 1010 engines: {node: '>= 4'} 1011 1012 inherits@2.0.4: ··· 1036 resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1037 engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1038 1039 + is-unicode-supported@2.1.0: 1040 + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 1041 + engines: {node: '>=18'} 1042 + 1043 isexe@2.0.0: 1044 resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1045 ··· 1054 1055 json-schema-traverse@1.0.0: 1056 resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} 1057 1058 local-pkg@0.5.1: 1059 resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} ··· 1115 resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1116 engines: {node: '>=16 || 14 >=14.17'} 1117 1118 + minipass@7.1.2: 1119 + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1120 + engines: {node: '>=16 || 14 >=14.17'} 1121 + 1122 + minizlib@3.1.0: 1123 + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} 1124 + engines: {node: '>= 18'} 1125 + 1126 mlly@1.8.0: 1127 resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} 1128 ··· 1138 mustache@4.2.0: 1139 resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} 1140 hasBin: true 1141 + 1142 + mute-stream@2.0.0: 1143 + resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} 1144 + engines: {node: ^18.17.0 || >=20.5.0} 1145 1146 nanoid@3.3.11: 1147 resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} ··· 1201 path-to-regexp@0.1.12: 1202 resolution: {integrity: sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==} 1203 1204 + path-type@6.0.0: 1205 + resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} 1206 + engines: {node: '>=18'} 1207 1208 pathe@1.1.2: 1209 resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} ··· 1250 engines: {node: '>=14'} 1251 hasBin: true 1252 1253 + prettier@3.6.2: 1254 + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} 1255 + engines: {node: '>=14'} 1256 + hasBin: true 1257 + 1258 pretty-format@29.7.0: 1259 resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 1260 engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} ··· 1266 resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1267 engines: {node: '>= 0.6.0'} 1268 1269 proxy-addr@2.0.7: 1270 resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1271 engines: {node: '>= 0.10'} ··· 1391 resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1392 engines: {node: '>=14'} 1393 1394 slash@5.1.0: 1395 resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} 1396 engines: {node: '>=14.16'} ··· 1430 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1431 engines: {node: '>=8'} 1432 1433 + string-width@7.2.0: 1434 + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 1435 + engines: {node: '>=18'} 1436 + 1437 string_decoder@1.3.0: 1438 resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1439 ··· 1441 resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1442 engines: {node: '>=8'} 1443 1444 + strip-ansi@7.1.2: 1445 + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} 1446 + engines: {node: '>=12'} 1447 + 1448 strip-final-newline@3.0.0: 1449 resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 1450 engines: {node: '>=12'} ··· 1452 strip-literal@2.1.1: 1453 resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} 1454 1455 supports-color@7.2.0: 1456 resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1457 engines: {node: '>=8'} ··· 1460 resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 1461 engines: {node: '>=10'} 1462 1463 + tar@7.5.1: 1464 + resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==} 1465 + engines: {node: '>=18'} 1466 + 1467 + temporal-polyfill@0.3.0: 1468 + resolution: {integrity: sha512-qNsTkX9K8hi+FHDfHmf22e/OGuXmfBm9RqNismxBrnSmZVJKegQ+HYYXT+R7Ha8F/YSm2Y34vmzD4cxMu2u95g==} 1469 1470 + temporal-spec@0.3.0: 1471 + resolution: {integrity: sha512-n+noVpIqz4hYgFSMOSiINNOUOMFtV5cZQNCmmszA6GiVFVRt3G7AqVyhXjhCSmowvQn+NsGn+jMDMKJYHd3bSQ==} 1472 1473 thread-stream@2.7.0: 1474 resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} ··· 1538 undici-types@6.21.0: 1539 resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1540 1541 + unicorn-magic@0.3.0: 1542 + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} 1543 engines: {node: '>=18'} 1544 1545 unpipe@1.0.0: ··· 1642 engines: {node: '>=8'} 1643 hasBin: true 1644 1645 + wrap-ansi@6.2.0: 1646 + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 1647 + engines: {node: '>=8'} 1648 + 1649 wrap-ansi@7.0.0: 1650 resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1651 engines: {node: '>=10'} 1652 + 1653 + wrap-ansi@9.0.2: 1654 + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} 1655 + engines: {node: '>=18'} 1656 1657 ws@8.18.3: 1658 resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} ··· 1670 resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1671 engines: {node: '>=10'} 1672 1673 + yallist@5.0.0: 1674 + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} 1675 + engines: {node: '>=18'} 1676 + 1677 + yaml@2.8.1: 1678 + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} 1679 + engines: {node: '>= 14.6'} 1680 hasBin: true 1681 1682 yargs-parser@21.1.1: 1683 resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1684 engines: {node: '>=12'} 1685 1686 + yargs-parser@22.0.0: 1687 + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} 1688 + engines: {node: ^20.19.0 || ^22.12.0 || >=23} 1689 + 1690 yargs@17.7.2: 1691 resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1692 engines: {node: '>=12'} 1693 1694 + yargs@18.0.0: 1695 + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} 1696 + engines: {node: ^20.19.0 || ^22.12.0 || >=23} 1697 + 1698 yesno@0.4.0: 1699 resolution: {integrity: sha512-tdBxmHvbXPBKYIg81bMCB7bVeDmHkRzk5rVJyYYXurwKkHq/MCd8rz4HSJUP7hW0H2NlXiq8IFiWvYKEHhlotA==} 1700 1701 yocto-queue@1.2.1: 1702 resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} 1703 engines: {node: '>=12.20'} 1704 + 1705 + yoctocolors-cjs@2.1.3: 1706 + resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} 1707 + engines: {node: '>=18'} 1708 1709 zod@3.25.76: 1710 resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} ··· 1778 '@atproto/lexicon': 0.5.1 1779 zod: 3.25.76 1780 1781 + '@babel/code-frame@7.27.1': 1782 dependencies: 1783 '@babel/helper-validator-identifier': 7.27.1 1784 js-tokens: 4.0.0 1785 picocolors: 1.1.1 1786 + 1787 + '@babel/helper-validator-identifier@7.27.1': {} 1788 1789 '@cbor-extract/cbor-extract-darwin-arm64@2.2.0': 1790 optional: true ··· 1873 '@esbuild/win32-x64@0.21.5': 1874 optional: true 1875 1876 + '@inquirer/ansi@1.0.0': {} 1877 + 1878 + '@inquirer/checkbox@4.2.4(@types/node@20.19.19)': 1879 + dependencies: 1880 + '@inquirer/ansi': 1.0.0 1881 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1882 + '@inquirer/figures': 1.0.13 1883 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1884 + yoctocolors-cjs: 2.1.3 1885 + optionalDependencies: 1886 + '@types/node': 20.19.19 1887 + 1888 + '@inquirer/confirm@5.1.18(@types/node@20.19.19)': 1889 + dependencies: 1890 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1891 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1892 + optionalDependencies: 1893 + '@types/node': 20.19.19 1894 + 1895 + '@inquirer/core@10.2.2(@types/node@20.19.19)': 1896 + dependencies: 1897 + '@inquirer/ansi': 1.0.0 1898 + '@inquirer/figures': 1.0.13 1899 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1900 + cli-width: 4.1.0 1901 + mute-stream: 2.0.0 1902 + signal-exit: 4.1.0 1903 + wrap-ansi: 6.2.0 1904 + yoctocolors-cjs: 2.1.3 1905 + optionalDependencies: 1906 + '@types/node': 20.19.19 1907 + 1908 + '@inquirer/editor@4.2.20(@types/node@20.19.19)': 1909 + dependencies: 1910 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1911 + '@inquirer/external-editor': 1.0.2(@types/node@20.19.19) 1912 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1913 + optionalDependencies: 1914 + '@types/node': 20.19.19 1915 + 1916 + '@inquirer/expand@4.0.20(@types/node@20.19.19)': 1917 + dependencies: 1918 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1919 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1920 + yoctocolors-cjs: 2.1.3 1921 + optionalDependencies: 1922 + '@types/node': 20.19.19 1923 + 1924 + '@inquirer/external-editor@1.0.2(@types/node@20.19.19)': 1925 + dependencies: 1926 + chardet: 2.1.0 1927 + iconv-lite: 0.7.0 1928 + optionalDependencies: 1929 + '@types/node': 20.19.19 1930 + 1931 + '@inquirer/figures@1.0.13': {} 1932 + 1933 + '@inquirer/input@4.2.4(@types/node@20.19.19)': 1934 + dependencies: 1935 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1936 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1937 + optionalDependencies: 1938 + '@types/node': 20.19.19 1939 + 1940 + '@inquirer/number@3.0.20(@types/node@20.19.19)': 1941 + dependencies: 1942 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1943 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1944 + optionalDependencies: 1945 + '@types/node': 20.19.19 1946 + 1947 + '@inquirer/password@4.0.20(@types/node@20.19.19)': 1948 + dependencies: 1949 + '@inquirer/ansi': 1.0.0 1950 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1951 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1952 + optionalDependencies: 1953 + '@types/node': 20.19.19 1954 + 1955 + '@inquirer/prompts@7.8.6(@types/node@20.19.19)': 1956 + dependencies: 1957 + '@inquirer/checkbox': 4.2.4(@types/node@20.19.19) 1958 + '@inquirer/confirm': 5.1.18(@types/node@20.19.19) 1959 + '@inquirer/editor': 4.2.20(@types/node@20.19.19) 1960 + '@inquirer/expand': 4.0.20(@types/node@20.19.19) 1961 + '@inquirer/input': 4.2.4(@types/node@20.19.19) 1962 + '@inquirer/number': 3.0.20(@types/node@20.19.19) 1963 + '@inquirer/password': 4.0.20(@types/node@20.19.19) 1964 + '@inquirer/rawlist': 4.1.8(@types/node@20.19.19) 1965 + '@inquirer/search': 3.1.3(@types/node@20.19.19) 1966 + '@inquirer/select': 4.3.4(@types/node@20.19.19) 1967 + optionalDependencies: 1968 + '@types/node': 20.19.19 1969 + 1970 + '@inquirer/rawlist@4.1.8(@types/node@20.19.19)': 1971 + dependencies: 1972 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1973 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1974 + yoctocolors-cjs: 2.1.3 1975 + optionalDependencies: 1976 + '@types/node': 20.19.19 1977 + 1978 + '@inquirer/search@3.1.3(@types/node@20.19.19)': 1979 + dependencies: 1980 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1981 + '@inquirer/figures': 1.0.13 1982 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1983 + yoctocolors-cjs: 2.1.3 1984 + optionalDependencies: 1985 + '@types/node': 20.19.19 1986 + 1987 + '@inquirer/select@4.3.4(@types/node@20.19.19)': 1988 + dependencies: 1989 + '@inquirer/ansi': 1.0.0 1990 + '@inquirer/core': 10.2.2(@types/node@20.19.19) 1991 + '@inquirer/figures': 1.0.13 1992 + '@inquirer/type': 3.0.8(@types/node@20.19.19) 1993 + yoctocolors-cjs: 2.1.3 1994 + optionalDependencies: 1995 + '@types/node': 20.19.19 1996 + 1997 + '@inquirer/type@3.0.8(@types/node@20.19.19)': 1998 + optionalDependencies: 1999 + '@types/node': 20.19.19 2000 + 2001 '@ipld/dag-cbor@7.0.3': 2002 dependencies: 2003 cborg: 1.10.2 2004 multiformats: 9.9.0 2005 + 2006 + '@isaacs/fs-minipass@4.0.1': 2007 + dependencies: 2008 + minipass: 7.1.2 2009 2010 '@jest/schemas@29.6.3': 2011 dependencies: ··· 2113 dependencies: 2114 undici-types: 6.21.0 2115 2116 + '@typespec/compiler@1.4.0(@types/node@20.19.19)': 2117 dependencies: 2118 + '@babel/code-frame': 7.27.1 2119 + '@inquirer/prompts': 7.8.6(@types/node@20.19.19) 2120 ajv: 8.17.1 2121 change-case: 5.4.4 2122 + env-paths: 3.0.0 2123 + globby: 14.1.0 2124 + is-unicode-supported: 2.1.0 2125 mustache: 4.2.0 2126 picocolors: 1.1.1 2127 + prettier: 3.6.2 2128 semver: 7.7.2 2129 + tar: 7.5.1 2130 + temporal-polyfill: 0.3.0 2131 vscode-languageserver: 9.0.1 2132 vscode-languageserver-textdocument: 1.0.12 2133 + yaml: 2.8.1 2134 + yargs: 18.0.0 2135 + transitivePeerDependencies: 2136 + - '@types/node' 2137 2138 + '@typespec/http@1.4.0(@typespec/compiler@1.4.0(@types/node@20.19.19))': 2139 dependencies: 2140 + '@typespec/compiler': 1.4.0(@types/node@20.19.19) 2141 2142 + '@typespec/openapi@1.4.0(@typespec/compiler@1.4.0(@types/node@20.19.19))(@typespec/http@1.4.0(@typespec/compiler@1.4.0(@types/node@20.19.19)))': 2143 dependencies: 2144 + '@typespec/compiler': 1.4.0(@types/node@20.19.19) 2145 + '@typespec/http': 1.4.0(@typespec/compiler@1.4.0(@types/node@20.19.19)) 2146 2147 '@vitest/expect@1.6.1': 2148 dependencies: ··· 2197 2198 ansi-regex@5.0.1: {} 2199 2200 + ansi-regex@6.2.2: {} 2201 2202 ansi-styles@4.3.0: 2203 dependencies: 2204 color-convert: 2.0.1 2205 2206 ansi-styles@5.2.0: {} 2207 + 2208 + ansi-styles@6.2.3: {} 2209 2210 array-flatten@1.1.1: {} 2211 ··· 2289 pathval: 1.1.1 2290 type-detect: 4.1.0 2291 2292 chalk@4.1.2: 2293 dependencies: 2294 ansi-styles: 4.3.0 ··· 2296 2297 change-case@5.4.4: {} 2298 2299 + chardet@2.1.0: {} 2300 + 2301 check-error@1.0.3: 2302 dependencies: 2303 get-func-name: 2.0.2 2304 + 2305 + chownr@3.0.0: {} 2306 + 2307 + cli-width@4.1.0: {} 2308 2309 cliui@8.0.1: 2310 dependencies: ··· 2312 strip-ansi: 6.0.1 2313 wrap-ansi: 7.0.0 2314 2315 + cliui@9.0.1: 2316 + dependencies: 2317 + string-width: 7.2.0 2318 + strip-ansi: 7.1.2 2319 + wrap-ansi: 9.0.2 2320 2321 + code-block-writer@13.0.3: {} 2322 2323 color-convert@2.0.1: 2324 dependencies: 2325 color-name: 1.1.4 2326 2327 color-name@1.1.4: {} 2328 ··· 2386 2387 ee-first@1.1.1: {} 2388 2389 + emoji-regex@10.5.0: {} 2390 + 2391 emoji-regex@8.0.0: {} 2392 2393 encodeurl@1.0.2: {} 2394 2395 encodeurl@2.0.0: {} 2396 + 2397 + env-paths@3.0.0: {} 2398 2399 es-define-property@1.0.1: {} 2400 ··· 2434 2435 escape-html@1.0.3: {} 2436 2437 estree-walker@3.0.3: 2438 dependencies: 2439 '@types/estree': 1.0.8 ··· 2553 2554 get-caller-file@2.0.5: {} 2555 2556 + get-east-asian-width@1.4.0: {} 2557 + 2558 get-func-name@2.0.2: {} 2559 2560 get-intrinsic@1.3.0: ··· 2581 dependencies: 2582 is-glob: 4.0.3 2583 2584 + globby@14.1.0: 2585 dependencies: 2586 '@sindresorhus/merge-streams': 2.3.0 2587 fast-glob: 3.3.3 2588 + ignore: 7.0.5 2589 + path-type: 6.0.0 2590 slash: 5.1.0 2591 + unicorn-magic: 0.3.0 2592 2593 gopd@1.2.0: {} 2594 2595 graphemer@1.4.0: {} 2596 2597 has-flag@4.0.0: {} 2598 ··· 2616 dependencies: 2617 safer-buffer: 2.1.2 2618 2619 + iconv-lite@0.7.0: 2620 + dependencies: 2621 + safer-buffer: 2.1.2 2622 + 2623 ieee754@1.2.1: {} 2624 2625 + ignore@7.0.5: {} 2626 2627 inherits@2.0.4: {} 2628 ··· 2640 2641 is-stream@3.0.0: {} 2642 2643 + is-unicode-supported@2.1.0: {} 2644 + 2645 isexe@2.0.0: {} 2646 2647 iso-datestring-validator@2.2.2: {} ··· 2651 js-tokens@9.0.1: {} 2652 2653 json-schema-traverse@1.0.0: {} 2654 2655 local-pkg@0.5.1: 2656 dependencies: ··· 2698 dependencies: 2699 brace-expansion: 2.0.2 2700 2701 + minipass@7.1.2: {} 2702 + 2703 + minizlib@3.1.0: 2704 + dependencies: 2705 + minipass: 7.1.2 2706 + 2707 mlly@1.8.0: 2708 dependencies: 2709 acorn: 8.15.0 ··· 2719 2720 mustache@4.2.0: {} 2721 2722 + mute-stream@2.0.0: {} 2723 + 2724 nanoid@3.3.11: {} 2725 2726 negotiator@0.6.3: {} ··· 2762 2763 path-to-regexp@0.1.12: {} 2764 2765 + path-type@6.0.0: {} 2766 2767 pathe@1.1.2: {} 2768 ··· 2814 source-map-js: 1.2.1 2815 2816 prettier@3.3.3: {} 2817 + 2818 + prettier@3.6.2: {} 2819 2820 pretty-format@29.7.0: 2821 dependencies: ··· 2826 process-warning@3.0.0: {} 2827 2828 process@0.11.10: {} 2829 2830 proxy-addr@2.0.7: 2831 dependencies: ··· 2986 2987 signal-exit@4.1.0: {} 2988 2989 slash@5.1.0: {} 2990 2991 sonic-boom@3.8.1: ··· 3018 is-fullwidth-code-point: 3.0.0 3019 strip-ansi: 6.0.1 3020 3021 + string-width@7.2.0: 3022 + dependencies: 3023 + emoji-regex: 10.5.0 3024 + get-east-asian-width: 1.4.0 3025 + strip-ansi: 7.1.2 3026 + 3027 string_decoder@1.3.0: 3028 dependencies: 3029 safe-buffer: 5.2.1 ··· 3032 dependencies: 3033 ansi-regex: 5.0.1 3034 3035 + strip-ansi@7.1.2: 3036 + dependencies: 3037 + ansi-regex: 6.2.2 3038 + 3039 strip-final-newline@3.0.0: {} 3040 3041 strip-literal@2.1.1: 3042 dependencies: 3043 js-tokens: 9.0.1 3044 3045 supports-color@7.2.0: 3046 dependencies: 3047 has-flag: 4.0.0 ··· 3050 dependencies: 3051 has-flag: 4.0.0 3052 3053 + tar@7.5.1: 3054 dependencies: 3055 + '@isaacs/fs-minipass': 4.0.1 3056 + chownr: 3.0.0 3057 + minipass: 7.1.2 3058 + minizlib: 3.1.0 3059 + yallist: 5.0.0 3060 3061 + temporal-polyfill@0.3.0: 3062 + dependencies: 3063 + temporal-spec: 0.3.0 3064 + 3065 + temporal-spec@0.3.0: {} 3066 3067 thread-stream@2.7.0: 3068 dependencies: ··· 3121 3122 undici-types@6.21.0: {} 3123 3124 + unicorn-magic@0.3.0: {} 3125 3126 unpipe@1.0.0: {} 3127 ··· 3214 siginfo: 2.0.0 3215 stackback: 0.0.2 3216 3217 + wrap-ansi@6.2.0: 3218 + dependencies: 3219 + ansi-styles: 4.3.0 3220 + string-width: 4.2.3 3221 + strip-ansi: 6.0.1 3222 + 3223 wrap-ansi@7.0.0: 3224 dependencies: 3225 ansi-styles: 4.3.0 3226 string-width: 4.2.3 3227 strip-ansi: 6.0.1 3228 3229 + wrap-ansi@9.0.2: 3230 + dependencies: 3231 + ansi-styles: 6.2.3 3232 + string-width: 7.2.0 3233 + strip-ansi: 7.1.2 3234 + 3235 ws@8.18.3: {} 3236 3237 y18n@5.0.8: {} 3238 3239 + yallist@5.0.0: {} 3240 + 3241 + yaml@2.8.1: {} 3242 3243 yargs-parser@21.1.1: {} 3244 + 3245 + yargs-parser@22.0.0: {} 3246 3247 yargs@17.7.2: 3248 dependencies: ··· 3254 y18n: 5.0.8 3255 yargs-parser: 21.1.1 3256 3257 + yargs@18.0.0: 3258 + dependencies: 3259 + cliui: 9.0.1 3260 + escalade: 3.2.0 3261 + get-caller-file: 2.0.5 3262 + string-width: 7.2.0 3263 + y18n: 5.0.8 3264 + yargs-parser: 22.0.0 3265 + 3266 yesno@0.4.0: {} 3267 3268 yocto-queue@1.2.1: {} 3269 + 3270 + yoctocolors-cjs@2.1.3: {} 3271 3272 zod@3.25.76: {}