An experimental TypeSpec syntax for Lexicon

rename

+522 -372
+1 -1
.husky/pre-commit
··· 2 2 . "$(dirname -- "$0")/_/husky.sh" 3 3 4 4 # Run tests before commit 5 - npm run test -w @tlex/emitter 5 + npm run test -w @tylex/emitter
+1 -1
CLAUDE.md
··· 1 1 you're working on a TypeSpec emitter for atproto lexicons. you have these commands: `pnpm run build` builds the example (you can inspect the generated lexicons in the `packages/example/lexicon`) and `pnpm test` runs tests (they are in `packages/emitter/test/`). 2 2 3 - what i want you to do is to gradually keep adding features to tlex so that in the end it's possible to express all Lexicon code with that language. you have the following resources: 3 + what i want you to do is to gradually keep adding features to tylex so that in the end it's possible to express all Lexicon code with that language. you have the following resources: 4 4 5 5 - read `SYNTAX.md`!!! it's the main guideline 6 6
+1 -1
LICENSE
··· 1 1 MIT License 2 2 3 - Copyright (c) 2024 tlex Contributors 3 + Copyright (c) 2024 tylex Contributors 4 4 5 5 Permission is hereby granted, free of charge, to any person obtaining a copy 6 6 of this software and associated documentation files (the "Software"), to deal
+10 -10
README.md
··· 1 - # tlex 1 + # tylex 2 2 3 3 > TypeSpec-based IDL for ATProto Lexicons 4 4 5 - tlex allows you to define [ATProto](https://atproto.com) lexicons using [TypeSpec](https://typespec.io), providing type safety, better tooling, and a more ergonomic syntax compared to writing raw JSON. 5 + tylex allows you to define [ATProto](https://atproto.com) lexicons using [TypeSpec](https://typespec.io), providing type safety, better tooling, and a more ergonomic syntax compared to writing raw JSON. 6 6 7 7 ## Features 8 8 ··· 17 17 # Install TypeSpec compiler 18 18 npm install -g @typespec/compiler 19 19 20 - # Install tlex emitter 21 - npm install --save-dev @tlex/emitter 20 + # Install tylex emitter 21 + npm install --save-dev @tylex/emitter 22 22 ``` 23 23 24 24 Create a `main.tsp` file: ··· 43 43 44 44 ```yaml 45 45 emit: 46 - - "@tlex/emitter" 46 + - "@tylex/emitter" 47 47 options: 48 - "@tlex/emitter": 48 + "@tylex/emitter": 49 49 output-dir: "./lexicons" 50 50 ``` 51 51 ··· 57 57 58 58 ## Output 59 59 60 - tlex generates standard ATProto lexicon files: 60 + tylex generates standard ATProto lexicon files: 61 61 62 62 ```json 63 63 { ··· 102 102 103 103 ```bash 104 104 # Clone the repository 105 - git clone https://github.com/yourusername/tlex.git 106 - cd tlex 105 + git clone https://github.com/yourusername/tylex.git 106 + cd tylex 107 107 108 108 # Build the emitter 109 109 pnpm install ··· 115 115 116 116 ## Current Status 117 117 118 - ⚠️ **Early Development** - tlex currently supports basic record types. Support for queries, procedures, and subscriptions is coming soon. 118 + ⚠️ **Early Development** - tylex currently supports basic record types. Support for queries, procedures, and subscriptions is coming soon. 119 119 120 120 ### Supported 121 121
+1 -1
SYNTAX.md
··· 11 11 <tr><td> 12 12 13 13 ```typespec 14 - import "@tlex/emitter"; 14 + import "@tylex/emitter"; 15 15 16 16 namespace app.bsky.feed.like { 17 17 @record("tid")
+5 -5
package.json
··· 1 1 { 2 - "name": "tlex-monorepo", 2 + "name": "tylex-monorepo", 3 3 "version": "0.1.0", 4 4 "private": true, 5 5 "description": "TypeSpec-based IDL for ATProto Lexicons", 6 6 "scripts": { 7 7 "build": "pnpm -r build", 8 - "test": "pnpm --filter @tlex/emitter test", 9 - "test:watch": "pnpm --filter @tlex/emitter test:watch", 10 - "example": "pnpm --filter @tlex/example build", 8 + "test": "pnpm --filter @tylex/emitter test", 9 + "test:watch": "pnpm --filter @tylex/emitter test:watch", 10 + "example": "pnpm --filter @tylex/example build", 11 11 "validate": "pnpm build && pnpm run validate-lexicons && pnpm test", 12 12 "validate-lexicons": "node scripts/validate-lexicons.js" 13 13 }, 14 14 "repository": { 15 15 "type": "git", 16 - "url": "https://github.com/yourusername/tlex.git" 16 + "url": "https://github.com/yourusername/tylex.git" 17 17 }, 18 18 "keywords": [ 19 19 "typespec",
+4 -4
packages/emitter/README.md
··· 1 - # @tlex/emitter 1 + # @tylex/emitter 2 2 3 3 TypeSpec emitter for generating ATProto Lexicon definitions. 4 4 5 5 ## Installation 6 6 7 7 ```bash 8 - npm install @tlex/emitter 8 + npm install @tylex/emitter 9 9 ``` 10 10 11 11 ## Usage ··· 15 15 ```yaml 16 16 # tspconfig.yaml 17 17 emit: 18 - - "@tlex/emitter" 18 + - "@tylex/emitter" 19 19 options: 20 - "@tlex/emitter": 20 + "@tylex/emitter": 21 21 output-dir: "./lexicons" 22 22 ``` 23 23
+1 -1
packages/emitter/lib/main.tsp
··· 29 29 * avatar: ImageBlob; 30 30 * ``` 31 31 */ 32 - @Tlex.Private.blob 32 + @Tylex.Private.blob 33 33 model Blob<Accept extends valueof unknown = #[], MaxSize extends valueof int32 = 0> { 34 34 _blob: never; 35 35 }
+2 -2
packages/emitter/lib/private.decorators.tsp
··· 1 1 import "../dist/tsp-index.js"; 2 2 3 3 /** 4 - * Private decorators for internal use by the Tlex emitter. 4 + * Private decorators for internal use by the Tylex emitter. 5 5 * These are not intended for direct use in user code. 6 6 */ 7 - namespace Tlex.Private; 7 + namespace Tylex.Private; 8 8 9 9 /** 10 10 * Internal decorator that marks the Blob model.
+2 -2
packages/emitter/package-lock.json
··· 1 1 { 2 - "name": "@tlex/emitter", 2 + "name": "@tylex/emitter", 3 3 "version": "0.1.0", 4 4 "lockfileVersion": 3, 5 5 "requires": true, 6 6 "packages": { 7 7 "": { 8 - "name": "@tlex/emitter", 8 + "name": "@tylex/emitter", 9 9 "version": "0.1.0", 10 10 "license": "MIT", 11 11 "dependencies": {
+1 -1
packages/emitter/package.json
··· 1 1 { 2 - "name": "@tlex/emitter", 2 + "name": "@tylex/emitter", 3 3 "version": "0.1.0", 4 4 "description": "TypeSpec emitter for ATProto Lexicon definitions", 5 5 "main": "dist/index.js",
+13 -4
packages/emitter/src/emitter.ts
··· 84 84 atIdentifier: "at-identifier", 85 85 }; 86 86 87 - export class TlexEmitter { 87 + export class TylexEmitter { 88 88 private lexicons = new Map<string, LexiconDocument>(); 89 89 private currentLexiconId: string | null = null; 90 90 ··· 123 123 this.program.reportDiagnostic({ 124 124 code: "enum-not-supported", 125 125 severity: "error", 126 - message: "TypeSpec enum syntax is not supported. Use @closed @inline union instead.", 126 + message: 127 + "TypeSpec enum syntax is not supported. Use @closed @inline union instead.", 127 128 target: enumType, 128 129 }); 129 130 } ··· 424 425 variants.unionRefs.length === 0 && 425 426 isClosed(this.program, unionType) 426 427 ) { 427 - return this.createIntegerEnumDef(unionType, variants.numericLiterals, prop); 428 + return this.createIntegerEnumDef( 429 + unionType, 430 + variants.numericLiterals, 431 + prop, 432 + ); 428 433 } 429 434 430 435 // Boolean enum (@closed only) ··· 433 438 variants.unionRefs.length === 0 && 434 439 isClosed(this.program, unionType) 435 440 ) { 436 - return this.createBooleanEnumDef(unionType, variants.booleanLiterals, prop); 441 + return this.createBooleanEnumDef( 442 + unionType, 443 + variants.booleanLiterals, 444 + prop, 445 + ); 437 446 } 438 447 439 448 // String enum (string literals with or without string type)
+4 -4
packages/emitter/src/index.ts
··· 1 1 import type { EmitContext } from "@typespec/compiler"; 2 - import { TlexEmitter } from "./emitter.js"; 2 + import { TylexEmitter } from "./emitter.js"; 3 3 4 - export interface TlexEmitterOptions { 4 + export interface TylexEmitterOptions { 5 5 "output-dir"?: string; 6 6 } 7 7 8 - export async function $onEmit(context: EmitContext<TlexEmitterOptions>) { 8 + export async function $onEmit(context: EmitContext<TylexEmitterOptions>) { 9 9 // Use custom output-dir from options if provided, otherwise use emitterOutputDir 10 10 const outputDir = context.options["output-dir"] || context.emitterOutputDir; 11 11 12 - const emitter = new TlexEmitter(context.program, { 12 + const emitter = new TylexEmitter(context.program, { 13 13 outputDir, 14 14 }); 15 15
+1 -1
packages/emitter/src/tsp-index.ts
··· 36 36 maxBytes: $maxBytes, 37 37 minBytes: $minBytes, 38 38 }, 39 - "Tlex.Private": { 39 + "Tylex.Private": { 40 40 blob: $blob, 41 41 }, 42 42 };
+11 -11
packages/emitter/test/integration.test.ts
··· 18 18 const pkgRoot = await findTestPackageRoot(import.meta.url); 19 19 const TESTS_DIR = resolvePath(pkgRoot, "test/integration"); 20 20 21 - const TlexTestLibrary: TypeSpecTestLibrary = { 22 - name: "@tlex/emitter", 21 + const TylexTestLibrary: TypeSpecTestLibrary = { 22 + name: "@tylex/emitter", 23 23 packageRoot: await findTestPackageRoot(import.meta.url), 24 24 files: [ 25 25 { 26 26 realDir: "", 27 27 pattern: "package.json", 28 - virtualPath: "./node_modules/@tlex/emitter", 28 + virtualPath: "./node_modules/@tylex/emitter", 29 29 }, 30 30 { 31 31 realDir: "dist", 32 32 pattern: "**/*.js", 33 - virtualPath: "./node_modules/@tlex/emitter/dist", 33 + virtualPath: "./node_modules/@tylex/emitter/dist", 34 34 }, 35 35 { 36 36 realDir: "lib/", 37 37 pattern: "*.tsp", 38 - virtualPath: "./node_modules/@tlex/emitter/lib", 38 + virtualPath: "./node_modules/@tylex/emitter/lib", 39 39 }, 40 40 ], 41 41 }; ··· 63 63 if (tspFiles.length > 0) { 64 64 // Create a virtual main.tsp that imports all other files 65 65 const mainContent = 66 - 'import "@tlex/emitter";\n' + 66 + 'import "@tylex/emitter";\n' + 67 67 tspFiles.map((f) => `import "./${f}";`).join("\n"); 68 68 const filesWithMain = { ...inputFiles, "main.tsp": mainContent }; 69 69 emitResult = await doEmit(filesWithMain, "main.tsp"); ··· 124 124 const baseOutputPath = resolveVirtualPath("test-output/"); 125 125 126 126 const host = await createTestHost({ 127 - libraries: [TlexTestLibrary], 127 + libraries: [TylexTestLibrary], 128 128 }); 129 129 130 130 for (const [fileName, content] of Object.entries(files)) { ··· 134 134 const [, diagnostics] = await host.compileAndDiagnose(entryPoint, { 135 135 outputDir: baseOutputPath, 136 136 noEmit: false, 137 - emit: ["@tlex/emitter"], 137 + emit: ["@tylex/emitter"], 138 138 }); 139 139 140 140 const outputFiles = Object.fromEntries( ··· 142 142 .filter(([name]) => name.startsWith(baseOutputPath)) 143 143 .map(([name, value]) => { 144 144 let relativePath = name.replace(baseOutputPath, ""); 145 - // Strip the @tlex/emitter/ prefix if present 146 - if (relativePath.startsWith("@tlex/emitter/")) { 147 - relativePath = relativePath.replace("@tlex/emitter/", ""); 145 + // Strip the @tylex/emitter/ prefix if present 146 + if (relativePath.startsWith("@tylex/emitter/")) { 147 + relativePath = relativePath.replace("@tylex/emitter/", ""); 148 148 } 149 149 return [relativePath, value]; 150 150 }),
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.defs { 4 4 model ProfileViewBasic {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/getPreferences.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.getPreferences { 4 4 @doc("Get private preferences attached to the current account. Expected use is synchronization between multiple devices, and import/export during account migration. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/getProfile.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.getProfile { 4 4 @doc("Get detailed profile view of an actor. Does not require auth, but contains relevant metadata with auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/getProfiles.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.getProfiles { 4 4 @doc("Get detailed profile views of multiple actors.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/getSuggestions.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.getSuggestions { 4 4 @doc("Get a list of suggested actors. Expected use is discovery of accounts to follow during new account onboarding.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/profile.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.profile { 4 4 @record("literal:self")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/putPreferences.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.putPreferences { 4 4 @doc("Set the private preferences attached to the account.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/searchActors.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.searchActors { 4 4 @doc("Find actors (profiles) matching search criteria. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/searchActorsTypeahead.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.searchActorsTypeahead { 4 4 @doc("Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/actor/status.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.actor.status { 4 4 @doc("A declaration of a Bluesky account status.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/bookmark/createBookmark.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.bookmark.createBookmark { 4 4 @doc("Creates a private bookmark for the specified record. Currently, only `app.bsky.feed.post` records are supported. Requires authentication.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/bookmark/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.bookmark.defs { 4 4 @doc("Object used to store bookmark data in stash.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/bookmark/deleteBookmark.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.bookmark.deleteBookmark { 4 4 @doc("Deletes a private bookmark for the specified record. Currently, only `app.bsky.feed.post` records are supported. Requires authentication.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/bookmark/getBookmarks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.bookmark.getBookmarks { 4 4 @doc("Gets views of records bookmarked by the authenticated user. Requires authentication.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/embed/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.embed.defs { 4 4 // Description goes on the model for defs, unlike standalone lexicons where it goes at lexicon level
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/embed/external.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.embed.external { 4 4 @doc("A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/embed/images.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 import "./defs.tsp"; 3 3 4 4 @doc("A set of images embedded in a Bluesky record (eg, a post).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/embed/record.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 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 4 namespace app.bsky.embed.record {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/embed/recordWithMedia.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 @doc("A representation of a record embedded in a Bluesky record (eg, a post), alongside other compatible embeds. For example, a quote post and image, or a quote post and external URL card.") 4 4 namespace app.bsky.embed.recordWithMedia {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/embed/video.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 import "./defs.tsp"; 3 3 4 4 @doc("A video embedded in a Bluesky record (eg, a post).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.defs { 4 4 model PostView {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/describeFeedGenerator.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.describeFeedGenerator { 4 4 @doc("Get information about a feed generator, including policies and offered feed URIs. Does not require auth; implemented by Feed Generator services (not App View).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/generator.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.generator { 4 4 @doc("Record declaring of the existence of a feed generator, and containing metadata about it. The record can exist in any repository.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getActorFeeds.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getActorFeeds { 4 4 @doc("Get a list of feeds (feed generator records) created by the actor (in the actor's repo).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getActorLikes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getActorLikes { 4 4 model BlockedActor {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getAuthorFeed.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getAuthorFeed { 4 4 model BlockedActor {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getFeed.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getFeed { 4 4 model UnknownFeed {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getFeedGenerator.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getFeedGenerator { 4 4 @doc("Get information about a feed generator. Implemented by AppView.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getFeedGenerators.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getFeedGenerators { 4 4 @doc("Get information about a list of feed generators.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getFeedSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getFeedSkeleton { 4 4 model UnknownFeed {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getLikes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getLikes { 4 4 @doc("Get like records which reference a subject (by AT-URI and CID).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getListFeed.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getListFeed { 4 4 model UnknownList {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getPostThread.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getPostThread { 4 4 model NotFound {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getPosts.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getPosts { 4 4 @doc("Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getQuotes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getQuotes { 4 4 @doc("Get a list of quotes for a given post.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getRepostedBy.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getRepostedBy { 4 4 @doc("Get a list of reposts for a given post.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getSuggestedFeeds.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getSuggestedFeeds { 4 4 @doc("Get a list of suggested feeds (feed generators) for the requesting account.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/getTimeline.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.getTimeline { 4 4 @doc("Get a view of the requesting account's home timeline. This is expected to be some form of reverse-chronological feed.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/like.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.like { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/post.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.post { 4 4 @doc("Record containing a Bluesky post.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/postgate.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.postgate { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/repost.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.repost { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/searchPosts.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 @maxLength(640) 4 4 @maxGraphemes(64)
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/sendInteractions.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.sendInteractions { 4 4 @doc("Send information about interactions with feed items back to the feed generator that served them.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/feed/threadgate.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.feed.threadgate { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/block.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.block { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.defs { 4 4 model ListViewBasic {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/follow.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.follow { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getActorStarterPacks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getActorStarterPacks { 4 4 @doc("Get a list of starter packs created by the actor.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getBlocks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getBlocks { 4 4 @doc("Enumerates which accounts the requesting account is currently blocking. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getFollowers.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getFollowers { 4 4 @doc("Enumerates accounts which follow a specified account (actor).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getFollows.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getFollows { 4 4 @doc("Enumerates accounts which a specified account (actor) follows.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getKnownFollowers.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getKnownFollowers { 4 4 @doc("Enumerates accounts which follow a specified account (actor) and are followed by the viewer.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getList.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getList { 4 4 @doc("Gets a 'view' (with additional context) of a specified list.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getListBlocks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getListBlocks { 4 4 @doc("Get mod lists that the requesting account (actor) is blocking. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getListMutes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getListMutes { 4 4 @doc("Enumerates mod lists that the requesting account (actor) currently has muted. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getLists.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getLists { 4 4 @doc("Enumerates the lists created by a specified account (actor).")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getListsWithMembership.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getListsWithMembership { 4 4 @doc("Enumerates the lists created by the session user, and includes membership information about `actor` in those lists. Only supports curation and moderation lists (no reference lists, used in starter packs). Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getMutes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getMutes { 4 4 @doc("Enumerates accounts that the requesting account (actor) currently has muted. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getRelationships.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getRelationships { 4 4 @doc("Enumerates public relationships between one account, and a list of other accounts. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getStarterPack.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getStarterPack { 4 4 @doc("Gets a view of a starter pack.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getStarterPacks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getStarterPacks { 4 4 @doc("Get views for a list of starter packs.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getStarterPacksWithMembership.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getStarterPacksWithMembership { 4 4 @doc("Enumerates the starter packs created by the session user, and includes membership information about `actor` in those starter packs. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/getSuggestedFollowsByActor.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.getSuggestedFollowsByActor { 4 4 @doc("Enumerates follows similar to a given account (actor). Expected use is to recommend additional accounts immediately after following one account.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/list.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.list { 4 4 @doc("Record representing a list of accounts (actors). Scope includes both moderation-oriented lists and curration-oriented lists.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/listblock.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.listblock { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/listitem.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.listitem { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/muteActor.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.muteActor { 4 4 @doc("Creates a mute relationship for the specified account. Mutes are private in Bluesky. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/muteActorList.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.muteActorList { 4 4 @doc("Creates a mute relationship for the specified list of accounts. Mutes are private in Bluesky. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/muteThread.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.muteThread { 4 4 @doc("Mutes a thread preventing notifications from the thread and any of its children. Mutes are private in Bluesky. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/searchStarterPacks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.searchStarterPacks { 4 4 @doc("Find starter packs matching search criteria. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/starterpack.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.starterpack { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/unmuteActor.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.unmuteActor { 4 4 @doc("Unmutes the specified account. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/unmuteActorList.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.unmuteActorList { 4 4 @doc("Unmutes the specified list of accounts. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/unmuteThread.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.unmuteThread { 4 4 @doc("Unmutes the specified thread. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/graph/verification.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.graph.verification { 4 4 @record("tid")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/labeler/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.labeler.defs { 4 4 model LabelerView {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/labeler/getServices.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.labeler.getServices { 4 4 @doc("Get information about a list of labeler services.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/labeler/service.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.labeler.service { 4 4 @doc("A declaration of the existence of labeler service.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/declaration.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.declaration { 4 4 @record("literal:self")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.defs { 4 4 model RecordDeleted {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/getPreferences.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.getPreferences { 4 4 @doc("Get notification-related preferences for an account. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/getUnreadCount.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.getUnreadCount { 4 4 @doc("Count the number of unread notifications for the requesting account. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/listActivitySubscriptions.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.listActivitySubscriptions { 4 4 @doc("Enumerate all accounts to which the requesting account is subscribed to receive notifications for. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/listNotifications.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 @doc("A reason that matches the reason property of #notification.") 4 4 scalar ReasonString extends string;
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/putActivitySubscription.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.putActivitySubscription { 4 4 @doc("Puts an activity subscription entry. The key should be omitted for creation and provided for updates. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/putPreferences.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.putPreferences { 4 4 @doc("Set notification-related preferences for an account. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/putPreferencesV2.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.putPreferencesV2 { 4 4 @doc("Set notification-related preferences for an account. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/registerPush.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.registerPush { 4 4 @doc("Register to receive push notifications, via a specified service, for the requesting account. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/unregisterPush.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.unregisterPush { 4 4 @doc("The inverse of registerPush - inform a specified service that push notifications should no longer be sent to the given token for the requesting account. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/notification/updateSeen.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.notification.updateSeen { 4 4 @doc("Notify server that the requesting account has seen notifications. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/richtext/facet.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.richtext.facet { 4 4 @doc("Annotation of a sub-string within rich text.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.defs { 4 4 model SkeletonSearchPost {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getAgeAssuranceState.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getAgeAssuranceState { 4 4 @doc("Returns the current state of the age assurance process for an account. This is used to check if the user has completed age assurance or if further action is required.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getConfig.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getConfig { 4 4 @doc("Get miscellaneous runtime configuration.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getOnboardingSuggestedStarterPacks { 4 4 @doc("Get a list of suggested starterpacks for onboarding")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getOnboardingSuggestedStarterPacksSkeleton { 4 4 @doc("Get a skeleton of suggested starterpacks for onboarding. Intended to be called and hydrated by app.bsky.unspecced.getOnboardingSuggestedStarterPacks")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getPopularFeedGenerators.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getPopularFeedGenerators { 4 4 @doc("An unspecced view of globally popular feed generators.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getPostThreadOtherV2.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getPostThreadOtherV2 { 4 4 @doc("(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get additional posts under a thread e.g. replies hidden by threadgate. Based on an anchor post at any depth of the tree, returns top-level replies below that anchor. It does not include ancestors nor the anchor itself. This should be called after exhausting `app.bsky.unspecced.getPostThreadV2`. Does not require auth, but additional metadata and filtering will be applied for authed requests.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getPostThreadV2.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getPostThreadV2 { 4 4 @doc("(NOTE: this endpoint is under development and WILL change without notice. Don't use it until it is moved out of `unspecced` or your application WILL break) Get posts in a thread. It is based in an anchor post at any depth of the tree, and returns posts above it (recursively resolving the parent, without further branching to their replies) and below it (recursive replies, with branching to their replies). Does not require auth, but additional metadata and filtering will be applied for authed requests.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getSuggestedFeeds.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getSuggestedFeeds { 4 4 @doc("Get a list of suggested feeds")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getSuggestedFeedsSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getSuggestedFeedsSkeleton { 4 4 @doc("Get a skeleton of suggested feeds. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedFeeds")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getSuggestedStarterPacks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getSuggestedStarterPacks { 4 4 @doc("Get a list of suggested starterpacks")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getSuggestedStarterPacksSkeleton { 4 4 @doc("Get a skeleton of suggested starterpacks. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedStarterpacks")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getSuggestedUsers.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getSuggestedUsers { 4 4 @doc("Get a list of suggested users")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getSuggestedUsersSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getSuggestedUsersSkeleton { 4 4 @doc("Get a skeleton of suggested users. Intended to be called and hydrated by app.bsky.unspecced.getSuggestedUsers")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getSuggestionsSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getSuggestionsSkeleton { 4 4 @doc("Get a skeleton of suggested actors. Intended to be called and then hydrated through app.bsky.actor.getSuggestions")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getTaggedSuggestions.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getTaggedSuggestions { 4 4 @doc("Get a list of suggestions (feeds and users) tagged with categories")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getTrendingTopics.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getTrendingTopics { 4 4 @doc("Get a list of trending topics")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getTrends.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getTrends { 4 4 @doc("Get the current trends on the network")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/getTrendsSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.getTrendsSkeleton { 4 4 @doc("Get the skeleton of trends on the network. Intended to be called and then hydrated through app.bsky.unspecced.getTrends")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/initAgeAssurance.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.initAgeAssurance { 4 4 model InvalidEmail {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/searchActorsSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.searchActorsSkeleton { 4 4 model BadQueryString {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/searchPostsSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 @maxLength(640) 4 4 @maxGraphemes(64)
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/unspecced/searchStarterPacksSkeleton.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.unspecced.searchStarterPacksSkeleton { 4 4 model BadQueryString {}
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/video/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.video.defs { 4 4 model JobStatus {
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/video/getJobStatus.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.video.getJobStatus { 4 4 @doc("Get status details for a video processing job.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/video/getUploadLimits.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.video.getUploadLimits { 4 4 @doc("Get video upload limits for the authenticated user.")
+1 -1
packages/emitter/test/integration/atproto/input/app/bsky/video/uploadVideo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace app.bsky.video.uploadVideo { 4 4 @doc("Upload a video to be processed then stored on the PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/actor/declaration.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.actor.declaration { 4 4 @record("literal:self")
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/actor/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.actor.defs { 4 4 model ProfileViewBasic {
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/actor/deleteAccount.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.actor.deleteAccount { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/actor/exportAccountData.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.actor.exportAccountData { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/acceptConvo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.acceptConvo { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/addReaction.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.addReaction { 4 4 @doc("Indicates that the message has been deleted and reactions can no longer be added/removed.")
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.defs { 4 4 model MessageRef {
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/deleteMessageForSelf.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.deleteMessageForSelf { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/getConvo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.getConvo { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/getConvoAvailability.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.getConvoAvailability { 4 4 @doc("Get whether the requester and the other members can chat. If an existing convo is found for these members, it is returned.")
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/getConvoForMembers.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.getConvoForMembers { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/getLog.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.getLog { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/getMessages.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.getMessages { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/leaveConvo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.leaveConvo { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/listConvos.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.listConvos { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/muteConvo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.muteConvo { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/removeReaction.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.removeReaction { 4 4 @doc("Indicates that the message has been deleted and reactions can no longer be added/removed.")
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/sendMessage.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.sendMessage { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/sendMessageBatch.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.sendMessageBatch { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/unmuteConvo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.unmuteConvo { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/updateAllRead.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.updateAllRead { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/convo/updateRead.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.convo.updateRead { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/moderation/getActorMetadata.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.moderation.getActorMetadata { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/moderation/getMessageContext.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.moderation.getMessageContext { 4 4 @query
+1 -1
packages/emitter/test/integration/atproto/input/chat/bsky/moderation/updateActorAccess.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace chat.bsky.moderation.updateActorAccess { 4 4 @procedure
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.defs { 4 4 model StatusAttr {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/deleteAccount.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.deleteAccount { 4 4 @doc("Delete a user account as an administrator.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/disableAccountInvites.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.disableAccountInvites { 4 4 @doc("Disable an account from receiving new invite codes, but does not invalidate existing codes.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/disableInviteCodes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.disableInviteCodes { 4 4 @doc("Disable some set of codes and/or all codes associated with a set of users.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/enableAccountInvites.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.enableAccountInvites { 4 4 @doc("Re-enable an account's ability to receive invite codes.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/getAccountInfo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.getAccountInfo { 4 4 @doc("Get details about an account.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/getAccountInfos.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.getAccountInfos { 4 4 @doc("Get details about some accounts.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/getInviteCodes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.getInviteCodes { 4 4 @doc("Get an admin view of invite codes.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/getSubjectStatus.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.getSubjectStatus { 4 4 @doc("Get the service-specific admin status of a subject (account, record, or blob).")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/searchAccounts.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.searchAccounts { 4 4 @doc("Get list of accounts that matches your search query.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/sendEmail.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.sendEmail { 4 4 @doc("Send email to a user's account email address.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/updateAccountEmail.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.updateAccountEmail { 4 4 @doc("Administrative action to update an account's email.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/updateAccountHandle.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.updateAccountHandle { 4 4 @doc("Administrative action to update an account's handle.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/updateAccountPassword.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.updateAccountPassword { 4 4 @doc("Update the password for a user account as an administrator.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/updateAccountSigningKey.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.updateAccountSigningKey { 4 4 @doc("Administrative action to update an account's signing key in their Did document.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/admin/updateSubjectStatus.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.admin.updateSubjectStatus { 4 4 @doc("Update the service-specific admin status of a subject (account, record, or blob).")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.defs { 4 4 model IdentityInfo {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/getRecommendedDidCredentials.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.getRecommendedDidCredentials { 4 4 @doc("Describe the credentials that should be included in the DID doc of an account that is migrating to this service.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/refreshIdentity.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.refreshIdentity { 4 4 @doc("The resolution process confirmed that the handle does not resolve to any DID.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/requestPlcOperationSignature.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.requestPlcOperationSignature { 4 4 @doc("Request an email with a code to in order to request a signed PLC operation. Requires Auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/resolveDid.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.resolveDid { 4 4 @doc("Resolves DID to DID document. Does not bi-directionally verify handle.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/resolveHandle.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.resolveHandle { 4 4 @doc("Resolves an atproto handle (hostname) to a DID. Does not necessarily bi-directionally verify against the the DID document.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/resolveIdentity.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.resolveIdentity { 4 4 @doc("The resolution process confirmed that the handle does not resolve to any DID.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/signPlcOperation.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.signPlcOperation { 4 4 @doc("Signs a PLC operation to update some value(s) in the requesting DID's document.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/submitPlcOperation.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.submitPlcOperation { 4 4 @doc("Validates a PLC operation to ensure that it doesn't violate a service's constraints or get the identity into a bad state, then submits it to the PLC registry")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/identity/updateHandle.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.identity.updateHandle { 4 4 @doc("Updates the current account's handle. Verifies handle validity, and updates did:plc document if necessary. Implemented by PDS, and requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/label/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.label.defs { 4 4 @doc("Metadata tag on an atproto resource (eg, repo or record).")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/label/queryLabels.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.label.queryLabels { 4 4 @doc("Find labels relevant to the provided AT-URI patterns. Public endpoint for moderation services, though may return different or additional results with auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/label/subscribeLabels.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.label.subscribeLabels { 4 4 model FutureCursor {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/lexicon/schema.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.lexicon.schema { 4 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).")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/moderation/createReport.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.moderation.createReport { 4 4 @doc("Submit a moderation report regarding an atproto account or record. Implemented by moderation services (with PDS proxying), and requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/moderation/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.moderation.defs { 4 4 union ReasonType {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/applyWrites.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.applyWrites { 4 4 @doc("Indicates that the 'swapCommit' parameter did not match current commit.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/createRecord.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.createRecord { 4 4 @doc("Create a single new repository record. Requires auth, implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.defs { 4 4 model CommitMeta {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/deleteRecord.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.deleteRecord { 4 4 @doc("Delete a repository record, or ensure it doesn't exist. Requires auth, implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/describeRepo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.describeRepo { 4 4 @doc("Get information about an account and repository, including the list of collections. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/getRecord.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.getRecord { 4 4 @doc("Get a single record from a repository. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/importRepo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.importRepo { 4 4 @doc("Import a repo in the form of a CAR file. Requires Content-Length HTTP header to be set.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/listMissingBlobs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.listMissingBlobs { 4 4 @doc("Returns a list of missing blobs for the requesting account. Intended to be used in the account migration flow.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/listRecords.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.listRecords { 4 4 @doc("List a range of records in a repository, matching a specific collection. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/putRecord.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.putRecord { 4 4 @doc("Write a repository record, creating or updating it as needed. Requires auth, implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/strongRef.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 @doc("A URI with a content-hash fingerprint.") 4 4 namespace com.atproto.repo.strongRef {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/repo/uploadBlob.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.repo.uploadBlob { 4 4 @doc("Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference is created. Requires auth, implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/activateAccount.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.activateAccount { 4 4 @doc("Activates a currently deactivated account. Used to finalize account migration after the account's repo is imported and identity is setup.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/checkAccountStatus.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.checkAccountStatus { 4 4 @doc("Returns the status of an account, especially as pertaining to import or recovery. Can be called many times over the course of an account migration. Requires auth and can only be called pertaining to oneself.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/confirmEmail.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.confirmEmail { 4 4 model AccountNotFound {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/createAccount.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.createAccount { 4 4 model InvalidHandle {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/createAppPassword.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.createAppPassword { 4 4 model AccountTakedown {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/createInviteCode.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.createInviteCode { 4 4 @doc("Create an invite code.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/createInviteCodes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.createInviteCodes { 4 4 model AccountCodes {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/createSession.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.createSession { 4 4 model AccountTakedown {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/deactivateAccount.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.deactivateAccount { 4 4 @doc("Deactivates a currently active account. Stops serving of repo, and future writes to repo until reactivated. Used to finalize account migration with the old host after the account has been activated on the new host.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.defs { 4 4 model InviteCode {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/deleteAccount.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.deleteAccount { 4 4 model ExpiredToken {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/deleteSession.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.deleteSession { 4 4 @doc("Delete the current session. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/describeServer.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.describeServer { 4 4 @doc("Describes the server's account creation requirements and capabilities. Implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/getAccountInviteCodes.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 import "./defs.tsp"; 3 3 4 4 namespace com.atproto.server.getAccountInviteCodes {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/getServiceAuth.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.getServiceAuth { 4 4 @doc("Indicates that the requested expiration date is not a valid. May be in the past or may be reliant on the requested scopes.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/getSession.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.getSession { 4 4 @doc("Get information about the current auth session. Requires auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/listAppPasswords.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.listAppPasswords { 4 4 model AccountTakedown {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/refreshSession.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.refreshSession { 4 4 model AccountTakedown {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/requestAccountDelete.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.requestAccountDelete { 4 4 @doc("Initiate a user account deletion via email.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/requestEmailConfirmation.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.requestEmailConfirmation { 4 4 @doc("Request an email with a code to confirm ownership of email.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/requestEmailUpdate.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.requestEmailUpdate { 4 4 @doc("Request a token in order to update email.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/requestPasswordReset.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.requestPasswordReset { 4 4 @doc("Initiate a user account password reset via email.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/reserveSigningKey.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.reserveSigningKey { 4 4 @doc("Reserve a repo signing key, for use with account creation. Necessary so that a DID PLC update operation can be constructed during an account migraiton. Public and does not require auth; implemented by PDS. NOTE: this endpoint may change when full account migration is implemented.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/resetPassword.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.resetPassword { 4 4 model ExpiredToken {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/revokeAppPassword.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.revokeAppPassword { 4 4 @doc("Revoke an App Password by name.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/server/updateEmail.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.server.updateEmail { 4 4 model ExpiredToken {}
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.defs { 4 4 union HostStatus {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getBlob.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getBlob { 4 4 @doc("Get a blob associated with a given account. Returns the full blob as originally uploaded. Does not require auth; implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getBlocks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getBlocks { 4 4 @doc("Get data blocks from a given repo, by CID. For example, intermediate MST nodes, or records. Does not require auth; implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getCheckout.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getCheckout { 4 4 @doc("DEPRECATED - please use com.atproto.sync.getRepo instead")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getHead.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getHead { 4 4 @doc("DEPRECATED - please use com.atproto.sync.getLatestCommit instead")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getHostStatus.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 import "./defs.tsp"; 3 3 4 4 namespace com.atproto.sync.getHostStatus {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getLatestCommit.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getLatestCommit { 4 4 @doc("Get the current commit CID & revision of the specified repo. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getRecord.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getRecord { 4 4 @doc("Get data blocks needed to prove the existence or non-existence of record in the current version of repo. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getRepo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getRepo { 4 4 @doc("Download a repository export as CAR file. Optionally only a 'diff' since a previous revision. Does not require auth; implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/getRepoStatus.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.getRepoStatus { 4 4 @doc("Get the hosting status for a repository, on this server. Expected to be implemented by PDS and Relay.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/listBlobs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.listBlobs { 4 4 @doc("List blob CIDs for an account, since some repo revision. Does not require auth; implemented by PDS.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/listHosts.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 import "./defs.tsp"; 3 3 4 4 namespace com.atproto.sync.listHosts {
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/listRepos.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.listRepos { 4 4 @doc("Enumerates all the DID, rev, and commit CID for all repos hosted by this service. Does not require auth; implemented by PDS and Relay.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/listReposByCollection.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.listReposByCollection { 4 4 @doc("Enumerates all the DIDs which have records with the given collection NSID.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/notifyOfUpdate.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.notifyOfUpdate { 4 4 @doc("Notify a crawling service of a recent update, and that crawling should resume. Intended use is after a gap between repo stream events caused the crawling service to disconnect. Does not require auth; implemented by Relay. DEPRECATED: just use com.atproto.sync.requestCrawl")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/requestCrawl.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.requestCrawl { 4 4 @doc("Request a service to persistently crawl hosted repos. Expected use is new PDS instances declaring their existence to Relays. Does not require auth.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/sync/subscribeRepos.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.sync.subscribeRepos { 4 4 @subscription
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/temp/addReservedHandle.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.temp.addReservedHandle { 4 4 @doc("Add a handle to the set of reserved handles.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/temp/checkHandleAvailability.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.temp.checkHandleAvailability { 4 4 @doc("An invalid email was provided.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/temp/checkSignupQueue.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.temp.checkSignupQueue { 4 4 @doc("Check accounts location in signup queue.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/temp/dereferenceScope.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.temp.dereferenceScope { 4 4 @doc("An invalid scope reference was provided.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/temp/fetchLabels.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.temp.fetchLabels { 4 4 @doc("DEPRECATED: use queryLabels or subscribeLabels instead -- Fetch all labels from a labeler created after a certain date.")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/temp/requestPhoneVerification.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.temp.requestPhoneVerification { 4 4 @doc("Request a verification code to be sent to the supplied phone number")
+1 -1
packages/emitter/test/integration/atproto/input/com/atproto/temp/revokeAccountCredentials.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.atproto.temp.revokeAccountCredentials { 4 4 @doc("Revoke sessions, password, and app passwords associated with account. May be resolved by a password reset.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/communication/createTemplate.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.communication.createTemplate { 4 4 model DuplicateTemplateName {}
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/communication/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.communication.defs { 4 4 model TemplateView {
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/communication/deleteTemplate.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.communication.deleteTemplate { 4 4 @doc("Delete a communication template.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/communication/listTemplates.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.communication.listTemplates { 4 4 @doc("Get list of all communication templates.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/communication/updateTemplate.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.communication.updateTemplate { 4 4 model DuplicateTemplateName {}
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/hosting/getAccountHistory.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.hosting.getAccountHistory { 4 4 @doc("Get account history, e.g. log of updated email addresses or other identity information.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.defs { 4 4 model ModEventView {
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/emitEvent.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.emitEvent { 4 4 model SubjectHasAction {}
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getAccountTimeline.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getAccountTimeline { 4 4 model RepoNotFound {}
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getEvent.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getEvent { 4 4 @doc("Get details about a moderation event.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getRecord.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getRecord { 4 4 model RecordNotFound {}
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getRecords.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getRecords { 4 4 @doc("Get details about some records.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getRepo.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getRepo { 4 4 model RepoNotFound {}
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getReporterStats.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getReporterStats { 4 4 @doc("Get reporter stats for a list of users.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getRepos.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getRepos { 4 4 @doc("Get details about some repositories.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/getSubjects.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.getSubjects { 4 4 @doc("Get details about subjects.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/queryEvents.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.queryEvents { 4 4 @closed
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/queryStatuses.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.queryStatuses { 4 4 @closed
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/moderation/searchRepos.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.moderation.searchRepos { 4 4 @doc("Find repositories based on a search term.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/report/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.report.defs { 4 4 union ReasonType {
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/safelink/addRule.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.safelink.addRule { 4 4 @doc("The provided URL is invalid")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/safelink/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.safelink.defs { 4 4 @doc("An event for URL safety decisions")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/safelink/queryEvents.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.safelink.queryEvents { 4 4 @doc("Query URL safety audit events")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/safelink/queryRules.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.safelink.queryRules { 4 4 @doc("Query URL safety rules")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/safelink/removeRule.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.safelink.removeRule { 4 4 @doc("No active rule found for this URL/domain")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/safelink/updateRule.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.safelink.updateRule { 4 4 @doc("No active rule found for this URL/domain")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/server/getConfig.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.server.getConfig { 4 4 @doc("Get details about ozone's server configuration.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/set/addValues.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.set.addValues { 4 4 @doc("Add values to a specific set. Attempting to add values to a set that does not exist will result in an error.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/set/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.set.defs { 4 4 model Set {
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/set/deleteSet.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.set.deleteSet { 4 4 @doc("set with the given name does not exist")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/set/deleteValues.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.set.deleteValues { 4 4 @doc("set with the given name does not exist")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/set/getValues.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.set.getValues { 4 4 @doc("set with the given name does not exist")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/set/querySets.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.set.querySets { 4 4 @closed
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/set/upsertSet.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.set.upsertSet { 4 4 @doc("Create or update set metadata")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/setting/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.setting.defs { 4 4 model Option {
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/setting/listOptions.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.setting.listOptions { 4 4 @doc("List settings with optional filtering")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/setting/removeOptions.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.setting.removeOptions { 4 4 @doc("Delete settings by key")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/setting/upsertOption.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.setting.upsertOption { 4 4 @doc("Create or update setting option")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/signature/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.signature.defs { 4 4 model SigDetail {
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/signature/findCorrelation.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.signature.findCorrelation { 4 4 @doc("Find all correlated threat signatures between 2 or more accounts.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/signature/findRelatedAccounts.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.signature.findRelatedAccounts { 4 4 @doc("Get accounts that share some matching threat signatures with the root account.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/signature/searchAccounts.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.signature.searchAccounts { 4 4 @doc("Search for accounts that match one or more threat signature values.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/team/addMember.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.team.addMember { 4 4 @doc("Member already exists in the team.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/team/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.team.defs { 4 4 model Member {
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/team/deleteMember.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.team.deleteMember { 4 4 @doc("The member being deleted does not exist")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/team/listMembers.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.team.listMembers { 4 4 @doc("List all members with access to the ozone service.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/team/updateMember.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.team.updateMember { 4 4 @doc("The member being updated does not exist in the team")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/verification/defs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.verification.defs { 4 4 @doc("Verification data for the associated subject.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/verification/grantVerifications.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.verification.grantVerifications { 4 4 @doc("Grant verifications to multiple subjects. Allows batch processing of up to 100 verifications at once.")
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/verification/listVerifications.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.verification.listVerifications { 4 4 @closed
+1 -1
packages/emitter/test/integration/atproto/input/tools/ozone/verification/revokeVerifications.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace tools.ozone.verification.revokeVerifications { 4 4 @doc("Revoke previously granted verifications in batches of up to 100.")
+11 -11
packages/emitter/test/spec.test.ts
··· 18 18 const pkgRoot = await findTestPackageRoot(import.meta.url); 19 19 const TESTS_DIR = resolvePath(pkgRoot, "test/spec"); 20 20 21 - const TlexTestLibrary: TypeSpecTestLibrary = { 22 - name: "@tlex/emitter", 21 + const TylexTestLibrary: TypeSpecTestLibrary = { 22 + name: "@tylex/emitter", 23 23 packageRoot: await findTestPackageRoot(import.meta.url), 24 24 files: [ 25 25 { 26 26 realDir: "", 27 27 pattern: "package.json", 28 - virtualPath: "./node_modules/@tlex/emitter", 28 + virtualPath: "./node_modules/@tylex/emitter", 29 29 }, 30 30 { 31 31 realDir: "dist", 32 32 pattern: "**/*.js", 33 - virtualPath: "./node_modules/@tlex/emitter/dist", 33 + virtualPath: "./node_modules/@tylex/emitter/dist", 34 34 }, 35 35 { 36 36 realDir: "lib/", 37 37 pattern: "*.tsp", 38 - virtualPath: "./node_modules/@tlex/emitter/lib", 38 + virtualPath: "./node_modules/@tylex/emitter/lib", 39 39 }, 40 40 ], 41 41 }; ··· 63 63 if (tspFiles.length > 0) { 64 64 // Create a virtual main.tsp that imports all other files 65 65 const mainContent = 66 - 'import "@tlex/emitter";\n' + 66 + 'import "@tylex/emitter";\n' + 67 67 tspFiles.map((f) => `import "./${f}";`).join("\n"); 68 68 const filesWithMain = { ...inputFiles, "main.tsp": mainContent }; 69 69 emitResult = await doEmit(filesWithMain, "main.tsp"); ··· 124 124 const baseOutputPath = resolveVirtualPath("test-output/"); 125 125 126 126 const host = await createTestHost({ 127 - libraries: [TlexTestLibrary], 127 + libraries: [TylexTestLibrary], 128 128 }); 129 129 130 130 for (const [fileName, content] of Object.entries(files)) { ··· 134 134 const [, diagnostics] = await host.compileAndDiagnose(entryPoint, { 135 135 outputDir: baseOutputPath, 136 136 noEmit: false, 137 - emit: ["@tlex/emitter"], 137 + emit: ["@tylex/emitter"], 138 138 }); 139 139 140 140 const outputFiles = Object.fromEntries( ··· 142 142 .filter(([name]) => name.startsWith(baseOutputPath)) 143 143 .map(([name, value]) => { 144 144 let relativePath = name.replace(baseOutputPath, ""); 145 - // Strip the @tlex/emitter/ prefix if present 146 - if (relativePath.startsWith("@tlex/emitter/")) { 147 - relativePath = relativePath.replace("@tlex/emitter/", ""); 145 + // Strip the @tylex/emitter/ prefix if present 146 + if (relativePath.startsWith("@tylex/emitter/")) { 147 + relativePath = relativePath.replace("@tylex/emitter/", ""); 148 148 } 149 149 return [relativePath, value]; 150 150 }),
+1 -1
packages/emitter/test/spec/basic/input/com/example/arrays.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.arrays { 4 4 @doc("Array container types")
+1 -1
packages/emitter/test/spec/basic/input/com/example/blobs.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.blobs { 4 4 @doc("Blob type examples")
+1 -1
packages/emitter/test/spec/basic/input/com/example/booleanConstraints.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.booleanConstraints { 4 4 @doc("Boolean field constraints")
+1 -1
packages/emitter/test/spec/basic/input/com/example/bytesConstraints.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.bytesConstraints { 4 4 @doc("Bytes field constraints")
+1 -1
packages/emitter/test/spec/basic/input/com/example/cidLinks.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.cidLinks { 4 4 @doc("CID link examples")
+1 -1
packages/emitter/test/spec/basic/input/com/example/datetimeExamples.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.datetimeExamples { 4 4 @doc("Datetime format usage examples")
+1 -1
packages/emitter/test/spec/basic/input/com/example/identifierExamples.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.identifierExamples { 4 4 @doc("Identifier format examples")
+1 -1
packages/emitter/test/spec/basic/input/com/example/integerConstraints.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.integerConstraints { 4 4 @closed
+1 -1
packages/emitter/test/spec/basic/input/com/example/nullableFields.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.nullableFields { 4 4 @doc("Demonstrates nullable field semantics")
+1 -1
packages/emitter/test/spec/basic/input/com/example/objects.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.objects { 4 4 @doc("Object with various property configurations")
+1 -1
packages/emitter/test/spec/basic/input/com/example/primitives.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.primitives { 4 4 @doc("All primitive field types")
+1 -1
packages/emitter/test/spec/basic/input/com/example/stringConstraints.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.stringConstraints { 4 4 @closed
+1 -1
packages/emitter/test/spec/basic/input/com/example/stringFormats.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.stringFormats { 4 4 @doc("All string format types")
+1 -1
packages/emitter/test/spec/basic/input/com/example/uriExamples.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 3 namespace com.example.uriExamples { 4 4 @doc("Various URI format examples")
+4 -4
packages/example/package.json
··· 1 1 { 2 - "name": "@tlex/example", 2 + "name": "@tylex/example", 3 3 "version": "0.1.0", 4 4 "private": true, 5 5 "type": "module", 6 6 "scripts": { 7 - "build": "pnpm run build:tlex && pnpm run build:codegen", 8 - "build:tlex": "tsp compile tlex/main.tsp", 7 + "build": "pnpm run build:tylex && pnpm run build:codegen", 8 + "build:tylex": "tsp compile tylex/main.tsp", 9 9 "build:codegen": "lex gen-server --yes ./src lexicon/app/example/*.json" 10 10 }, 11 11 "dependencies": { 12 12 "@atproto/lex-cli": "^0.9.5", 13 13 "@atproto/xrpc-server": "^0.9.5", 14 14 "@typespec/compiler": "^0.64.0", 15 - "@tlex/emitter": "workspace:*" 15 + "@tylex/emitter": "workspace:*" 16 16 }, 17 17 "devDependencies": { 18 18 "typescript": "^5.0.0"
+2 -2
packages/example/tlex/main.tsp
··· 1 - import "@tlex/emitter"; 1 + import "@tylex/emitter"; 2 2 3 - // Example showing tlex as source of truth for atproto lexicons 3 + // Example showing tylex as source of truth for atproto lexicons 4 4 5 5 // ============ Common Types ============ 6 6
+2 -2
packages/example/tspconfig.yaml
··· 1 1 emit: 2 - - "@tlex/emitter" 2 + - "@tylex/emitter" 3 3 options: 4 - "@tlex/emitter": 4 + "@tylex/emitter": 5 5 output-dir: "./lexicon"
+142 -1
pnpm-lock.yaml
··· 27 27 '@typespec/openapi': 28 28 specifier: ^0.64.0 29 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 33 + tsc-watch: 34 + specifier: ^7.2.0 35 + version: 7.2.0(typescript@5.9.3) 30 36 typescript: 31 37 specifier: ^5.0.0 32 38 version: 5.9.3 ··· 42 48 '@atproto/xrpc-server': 43 49 specifier: ^0.9.5 44 50 version: 0.9.5 45 - '@tlex/emitter': 51 + '@tylex/emitter': 46 52 specifier: workspace:* 47 53 version: link:../emitter 48 54 '@typespec/compiler': ··· 592 598 resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 593 599 engines: {node: ^12.20.0 || >=14} 594 600 601 + concurrently@9.2.1: 602 + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} 603 + engines: {node: '>=18'} 604 + hasBin: true 605 + 595 606 confbox@0.1.8: 596 607 resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 597 608 ··· 655 666 resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 656 667 engines: {node: '>= 0.4'} 657 668 669 + duplexer@0.1.2: 670 + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} 671 + 658 672 ee-first@1.1.1: 659 673 resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 660 674 ··· 703 717 etag@1.8.1: 704 718 resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 705 719 engines: {node: '>= 0.6'} 720 + 721 + event-stream@3.3.4: 722 + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} 706 723 707 724 event-target-shim@5.0.1: 708 725 resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} ··· 761 778 fresh@0.5.2: 762 779 resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} 763 780 engines: {node: '>= 0.6'} 781 + 782 + from@0.1.7: 783 + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} 764 784 765 785 fsevents@2.3.3: 766 786 resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} ··· 895 915 magic-string@0.30.19: 896 916 resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} 897 917 918 + map-stream@0.1.0: 919 + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} 920 + 898 921 math-intrinsics@1.1.0: 899 922 resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 900 923 engines: {node: '>= 0.4'} ··· 967 990 resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 968 991 engines: {node: '>= 0.6'} 969 992 993 + node-cleanup@2.1.2: 994 + resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} 995 + 970 996 node-gyp-build-optional-packages@5.1.1: 971 997 resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} 972 998 hasBin: true ··· 1026 1052 pathval@1.1.1: 1027 1053 resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 1028 1054 1055 + pause-stream@0.0.11: 1056 + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} 1057 + 1029 1058 picocolors@1.1.1: 1030 1059 resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1031 1060 ··· 1077 1106 proxy-addr@2.0.7: 1078 1107 resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1079 1108 engines: {node: '>= 0.10'} 1109 + 1110 + ps-tree@1.2.0: 1111 + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} 1112 + engines: {node: '>= 0.10'} 1113 + hasBin: true 1080 1114 1081 1115 qs@6.13.0: 1082 1116 resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} ··· 1130 1164 run-parallel@1.2.0: 1131 1165 resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1132 1166 1167 + rxjs@7.8.2: 1168 + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} 1169 + 1133 1170 safe-buffer@5.2.1: 1134 1171 resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1135 1172 ··· 1163 1200 shebang-regex@3.0.0: 1164 1201 resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1165 1202 engines: {node: '>=8'} 1203 + 1204 + shell-quote@1.8.3: 1205 + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} 1206 + engines: {node: '>= 0.4'} 1166 1207 1167 1208 side-channel-list@1.0.0: 1168 1209 resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} ··· 1205 1246 resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 1206 1247 engines: {node: '>= 10.x'} 1207 1248 1249 + split@0.3.3: 1250 + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} 1251 + 1208 1252 stackback@0.0.2: 1209 1253 resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1210 1254 ··· 1214 1258 1215 1259 std-env@3.9.0: 1216 1260 resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} 1261 + 1262 + stream-combiner@0.0.4: 1263 + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} 1264 + 1265 + string-argv@0.3.2: 1266 + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 1267 + engines: {node: '>=0.6.19'} 1217 1268 1218 1269 string-width@4.2.3: 1219 1270 resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} ··· 1241 1292 resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1242 1293 engines: {node: '>=8'} 1243 1294 1295 + supports-color@8.1.1: 1296 + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 1297 + engines: {node: '>=10'} 1298 + 1244 1299 temporal-polyfill@0.2.5: 1245 1300 resolution: {integrity: sha512-ye47xp8Cb0nDguAhrrDS1JT1SzwEV9e26sSsrWzVu+yPZ7LzceEcH0i2gci9jWfOfSCCgM3Qv5nOYShVUUFUXA==} 1246 1301 ··· 1249 1304 1250 1305 thread-stream@2.7.0: 1251 1306 resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} 1307 + 1308 + through@2.3.8: 1309 + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 1252 1310 1253 1311 tinybench@2.9.0: 1254 1312 resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} ··· 1273 1331 resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 1274 1332 engines: {node: '>=0.6'} 1275 1333 1334 + tree-kill@1.2.2: 1335 + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1336 + hasBin: true 1337 + 1276 1338 ts-morph@24.0.0: 1277 1339 resolution: {integrity: sha512-2OAOg/Ob5yx9Et7ZX4CvTCc0UFoZHwLEJ+dpDPSUi5TgwwlTlX47w+iFRrEwzUZwYACjq83cgjS/Da50Ga37uw==} 1278 1340 1341 + tsc-watch@7.2.0: 1342 + resolution: {integrity: sha512-4gRFawQD1cVSaILvG7wl2x6NtteKbS2dGBMbL7Q6n1ldLIOKXCJUoEwUXdGuee4dp+zcnA6tukBBLz1lZrNI9w==} 1343 + engines: {node: '>=12.12.0'} 1344 + hasBin: true 1345 + peerDependencies: 1346 + typescript: '*' 1347 + 1348 + tslib@2.8.1: 1349 + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1350 + 1279 1351 type-detect@4.1.0: 1280 1352 resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} 1281 1353 engines: {node: '>=4'} ··· 1936 2008 1937 2009 commander@9.5.0: {} 1938 2010 2011 + concurrently@9.2.1: 2012 + dependencies: 2013 + chalk: 4.1.2 2014 + rxjs: 7.8.2 2015 + shell-quote: 1.8.3 2016 + supports-color: 8.1.1 2017 + tree-kill: 1.2.2 2018 + yargs: 17.7.2 2019 + 1939 2020 confbox@0.1.8: {} 1940 2021 1941 2022 content-disposition@0.5.4: ··· 1981 2062 es-errors: 1.3.0 1982 2063 gopd: 1.2.0 1983 2064 2065 + duplexer@0.1.2: {} 2066 + 1984 2067 ee-first@1.1.1: {} 1985 2068 1986 2069 emoji-regex@8.0.0: {} ··· 2035 2118 2036 2119 etag@1.8.1: {} 2037 2120 2121 + event-stream@3.3.4: 2122 + dependencies: 2123 + duplexer: 0.1.2 2124 + from: 0.1.7 2125 + map-stream: 0.1.0 2126 + pause-stream: 0.0.11 2127 + split: 0.3.3 2128 + stream-combiner: 0.0.4 2129 + through: 2.3.8 2130 + 2038 2131 event-target-shim@5.0.1: {} 2039 2132 2040 2133 events@3.3.0: {} ··· 2129 2222 2130 2223 fresh@0.5.2: {} 2131 2224 2225 + from@0.1.7: {} 2226 + 2132 2227 fsevents@2.3.3: 2133 2228 optional: true 2134 2229 ··· 2244 2339 dependencies: 2245 2340 '@jridgewell/sourcemap-codec': 1.5.5 2246 2341 2342 + map-stream@0.1.0: {} 2343 + 2247 2344 math-intrinsics@1.1.0: {} 2248 2345 2249 2346 media-typer@0.3.0: {} ··· 2294 2391 2295 2392 negotiator@0.6.3: {} 2296 2393 2394 + node-cleanup@2.1.2: {} 2395 + 2297 2396 node-gyp-build-optional-packages@5.1.1: 2298 2397 dependencies: 2299 2398 detect-libc: 2.1.1 ··· 2336 2435 pathe@2.0.3: {} 2337 2436 2338 2437 pathval@1.1.1: {} 2438 + 2439 + pause-stream@0.0.11: 2440 + dependencies: 2441 + through: 2.3.8 2339 2442 2340 2443 picocolors@1.1.1: {} 2341 2444 ··· 2398 2501 forwarded: 0.2.0 2399 2502 ipaddr.js: 1.9.1 2400 2503 2504 + ps-tree@1.2.0: 2505 + dependencies: 2506 + event-stream: 3.3.4 2507 + 2401 2508 qs@6.13.0: 2402 2509 dependencies: 2403 2510 side-channel: 1.1.0 ··· 2466 2573 run-parallel@1.2.0: 2467 2574 dependencies: 2468 2575 queue-microtask: 1.2.3 2576 + 2577 + rxjs@7.8.2: 2578 + dependencies: 2579 + tslib: 2.8.1 2469 2580 2470 2581 safe-buffer@5.2.1: {} 2471 2582 ··· 2510 2621 2511 2622 shebang-regex@3.0.0: {} 2512 2623 2624 + shell-quote@1.8.3: {} 2625 + 2513 2626 side-channel-list@1.0.0: 2514 2627 dependencies: 2515 2628 es-errors: 1.3.0 ··· 2554 2667 2555 2668 split2@4.2.0: {} 2556 2669 2670 + split@0.3.3: 2671 + dependencies: 2672 + through: 2.3.8 2673 + 2557 2674 stackback@0.0.2: {} 2558 2675 2559 2676 statuses@2.0.1: {} 2560 2677 2561 2678 std-env@3.9.0: {} 2679 + 2680 + stream-combiner@0.0.4: 2681 + dependencies: 2682 + duplexer: 0.1.2 2683 + 2684 + string-argv@0.3.2: {} 2562 2685 2563 2686 string-width@4.2.3: 2564 2687 dependencies: ··· 2588 2711 dependencies: 2589 2712 has-flag: 4.0.0 2590 2713 2714 + supports-color@8.1.1: 2715 + dependencies: 2716 + has-flag: 4.0.0 2717 + 2591 2718 temporal-polyfill@0.2.5: 2592 2719 dependencies: 2593 2720 temporal-spec: 0.2.4 ··· 2597 2724 thread-stream@2.7.0: 2598 2725 dependencies: 2599 2726 real-require: 0.2.0 2727 + 2728 + through@2.3.8: {} 2600 2729 2601 2730 tinybench@2.9.0: {} 2602 2731 ··· 2615 2744 2616 2745 toidentifier@1.0.1: {} 2617 2746 2747 + tree-kill@1.2.2: {} 2748 + 2618 2749 ts-morph@24.0.0: 2619 2750 dependencies: 2620 2751 '@ts-morph/common': 0.25.0 2621 2752 code-block-writer: 13.0.3 2753 + 2754 + tsc-watch@7.2.0(typescript@5.9.3): 2755 + dependencies: 2756 + cross-spawn: 7.0.6 2757 + node-cleanup: 2.1.2 2758 + ps-tree: 1.2.0 2759 + string-argv: 0.3.2 2760 + typescript: 5.9.3 2761 + 2762 + tslib@2.8.1: {} 2622 2763 2623 2764 type-detect@4.1.0: {} 2624 2765