@atproto/bsky 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/api/app/bsky/embed/getEmbedExternalView.d.ts.map +1 -1
  3. package/dist/api/app/bsky/embed/getEmbedExternalView.js +5 -1
  4. package/dist/api/app/bsky/embed/getEmbedExternalView.js.map +1 -1
  5. package/dist/api/app/bsky/notification/grouping/grouping.d.ts +4 -1
  6. package/dist/api/app/bsky/notification/grouping/grouping.d.ts.map +1 -1
  7. package/dist/api/app/bsky/notification/grouping/grouping.js +10 -1
  8. package/dist/api/app/bsky/notification/grouping/grouping.js.map +1 -1
  9. package/dist/api/app/bsky/unspecced/getAtmosphereExploreTab.d.ts.map +1 -1
  10. package/dist/api/app/bsky/unspecced/getAtmosphereExploreTab.js +8 -3
  11. package/dist/api/app/bsky/unspecced/getAtmosphereExploreTab.js.map +1 -1
  12. package/dist/feature-gates/gates.d.ts +1 -0
  13. package/dist/feature-gates/gates.d.ts.map +1 -1
  14. package/dist/feature-gates/gates.js +1 -0
  15. package/dist/feature-gates/gates.js.map +1 -1
  16. package/dist/hydration/external.d.ts +31 -8
  17. package/dist/hydration/external.d.ts.map +1 -1
  18. package/dist/hydration/external.js +59 -22
  19. package/dist/hydration/external.js.map +1 -1
  20. package/dist/hydration/hydrator.d.ts +4 -0
  21. package/dist/hydration/hydrator.d.ts.map +1 -1
  22. package/dist/hydration/hydrator.js +36 -14
  23. package/dist/hydration/hydrator.js.map +1 -1
  24. package/dist/hydration/util.d.ts +1 -2
  25. package/dist/hydration/util.d.ts.map +1 -1
  26. package/dist/hydration/util.js +4 -5
  27. package/dist/hydration/util.js.map +1 -1
  28. package/dist/lexicons/social/grain/photo.defs.d.ts +11 -11
  29. package/dist/lexicons/social/grain/photo.defs.d.ts.map +1 -1
  30. package/dist/lexicons/social/grain/photo.defs.js +1 -1
  31. package/dist/lexicons/social/grain/photo.defs.js.map +1 -1
  32. package/dist/lexicons/tools/ozone/safelink/addRule.defs.d.ts +7 -1
  33. package/dist/lexicons/tools/ozone/safelink/addRule.defs.d.ts.map +1 -1
  34. package/dist/lexicons/tools/ozone/safelink/addRule.defs.js +2 -2
  35. package/dist/lexicons/tools/ozone/safelink/addRule.defs.js.map +1 -1
  36. package/dist/lexicons/tools/ozone/safelink/defs.defs.d.ts +10 -2
  37. package/dist/lexicons/tools/ozone/safelink/defs.defs.d.ts.map +1 -1
  38. package/dist/lexicons/tools/ozone/safelink/defs.defs.js +3 -3
  39. package/dist/lexicons/tools/ozone/safelink/defs.defs.js.map +1 -1
  40. package/dist/lexicons/tools/ozone/safelink/removeRule.defs.d.ts +6 -0
  41. package/dist/lexicons/tools/ozone/safelink/removeRule.defs.d.ts.map +1 -1
  42. package/dist/lexicons/tools/ozone/safelink/removeRule.defs.js +1 -1
  43. package/dist/lexicons/tools/ozone/safelink/removeRule.defs.js.map +1 -1
  44. package/dist/lexicons/tools/ozone/safelink/updateRule.defs.d.ts +7 -1
  45. package/dist/lexicons/tools/ozone/safelink/updateRule.defs.d.ts.map +1 -1
  46. package/dist/lexicons/tools/ozone/safelink/updateRule.defs.js +2 -2
  47. package/dist/lexicons/tools/ozone/safelink/updateRule.defs.js.map +1 -1
  48. package/dist/telemetry/events.d.ts +33 -4
  49. package/dist/telemetry/events.d.ts.map +1 -1
  50. package/dist/telemetry/events.js +49 -4
  51. package/dist/telemetry/events.js.map +1 -1
  52. package/dist/views/index.d.ts.map +1 -1
  53. package/dist/views/index.js +3 -6
  54. package/dist/views/index.js.map +1 -1
  55. package/package.json +8 -8
@@ -1,7 +1,6 @@
1
1
  import type { Timestamp } from '@bufbuild/protobuf';
2
2
  import { type AtUriString, type Cid, type InferInput, type InferOutput, type LexValue, type RecordSchema, type Schema, type TypedLexMap } from '@atproto/lex';
3
3
  import type { Record as RecordEntry } from '../proto/bsky_pb.js';
4
- import type { FollowRecord } from '../views/types.js';
5
4
  export declare class HydrationMap<K, T> extends Map<K, T | null> implements Merges {
6
5
  merge(map: HydrationMap<K, T>): this;
7
6
  }
@@ -45,5 +44,5 @@ export declare const isActivitySubscriptionEnabled: ({ post, reply, }: {
45
44
  post: boolean;
46
45
  reply: boolean;
47
46
  }) => boolean;
48
- export declare const getStarterPackUriFromFollow: (follow: FollowRecord) => AtUriString | undefined;
47
+ export declare const getStarterPackUriFromNotification: (reasonSubject?: string | null) => AtUriString | undefined;
49
48
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/hydration/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/hydration/util.ts"],"names":[],"mappings":"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"}
@@ -128,15 +128,14 @@ export const safeTakedownRef = (obj) => {
128
128
  return 'BSKY-TAKEDOWN-UNKNOWN';
129
129
  };
130
130
  export const isActivitySubscriptionEnabled = ({ post, reply, }) => post || reply;
131
- export const getStarterPackUriFromFollow = (follow) => {
132
- const viaUri = follow.via?.uri;
133
- if (!viaUri)
131
+ export const getStarterPackUriFromNotification = (reasonSubject) => {
132
+ if (!reasonSubject)
134
133
  return;
135
134
  try {
136
- const parsed = new AtUri(viaUri);
135
+ const parsed = new AtUri(reasonSubject);
137
136
  if (parsed.collection !== app.bsky.graph.starterpack.$type)
138
137
  return;
139
- return viaUri;
138
+ return reasonSubject;
140
139
  }
141
140
  catch {
142
141
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/hydration/util.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Timestamp } from '@bufbuild/protobuf'\nimport {\n type AtUriString,\n type Cid,\n type InferInput,\n type InferOutput,\n type LexParseOptions,\n type LexValue,\n type RecordSchema,\n type Schema,\n type TypedLexMap,\n type ValidateOptions,\n lexParseJsonBytes,\n parseCidSafe,\n} from '@atproto/lex'\nimport { AtUri } from '@atproto/syntax'\nimport { app } from '../lexicons/index.js'\nimport type { Record as RecordEntry } from '../proto/bsky_pb.js'\nimport type { FollowRecord } from '../views/types.js'\n\nconst PARSE_OPTIONS: LexParseOptions & ValidateOptions = {\n strict: false,\n}\n\nexport class HydrationMap<K, T> extends Map<K, T | null> implements Merges {\n merge(map: HydrationMap<K, T>): this {\n for (const [key, val] of map) {\n this.set(key, val)\n }\n return this\n }\n}\n\nexport interface Merges {\n merge<T extends this>(map: T): this\n}\n\nexport type RecordInfo<T extends TypedLexMap> = {\n record: T\n cid: string\n sortedAt: Date\n indexedAt: Date\n takedownRef: string | undefined\n}\n\nexport const mergeMaps = <V extends HydrationMap<any, any>>(\n mapA?: V,\n mapB?: V,\n): V | undefined => {\n if (!mapA) return mapB\n if (!mapB) return mapA\n return mapA.merge(mapB)\n}\n\nexport const mergeNestedMaps = <K, V extends HydrationMap<any, any>>(\n mapA?: HydrationMap<K, V>,\n mapB?: HydrationMap<K, V>,\n): HydrationMap<K, V> | undefined => {\n if (!mapA) return mapB\n if (!mapB) return mapA\n\n for (const [key, map] of mapB) {\n const merged = mergeMaps(mapA.get(key) ?? undefined, map ?? undefined)\n mapA.set(key, merged ?? null)\n }\n\n return mapA\n}\n\nexport const mergeManyMaps = <K, T>(...maps: HydrationMap<K, T>[]) => {\n return maps.reduce(mergeMaps, undefined as HydrationMap<K, T> | undefined)\n}\n\nexport type ItemRef = { uri: AtUriString; cid?: string }\n\nexport function parseRecord<TSchema extends RecordSchema>(\n recordSchema: TSchema,\n recordEntry: RecordEntry,\n includeTakedowns: boolean,\n): RecordInfo<InferInput<TSchema>> | undefined {\n if (!includeTakedowns && recordEntry.takenDown) {\n return undefined\n }\n\n const cid = recordEntry.cid\n if (!cid) {\n return undefined\n }\n\n if (recordEntry.record.byteLength === 0) {\n return undefined\n }\n\n const record = lexParseJsonBytes(recordEntry.record, PARSE_OPTIONS)\n if (!record) {\n return undefined\n }\n\n // @NOTE We cannot use parse mode here. We must return the original to ensure\n // that the caller gets the same data as what is stored in the PDS (in case of\n // records). This is important because the receiver of the data should be able\n // to compute the right record CID.\n\n if (!recordSchema.$matches(record, PARSE_OPTIONS)) {\n return undefined\n }\n\n return {\n record,\n cid,\n sortedAt: parseDate(recordEntry.sortedAt) ?? new Date(0),\n indexedAt: parseDate(recordEntry.indexedAt) ?? new Date(0),\n takedownRef: safeTakedownRef(recordEntry),\n }\n}\n\n/**\n * Decodes binary data containing a JSON representation of a Lex value, and\n * validates it against the provided schema, in parse mode (i.e., allowing\n * coercion & defaults).\n *\n * Returns undefined if the input is empty (from dataplane's empty value\n * convention), or if the validation fails.\n */\nexport const parseJsonBytes = <TSchema extends Schema<LexValue>>(\n schema: TSchema,\n bytes: Uint8Array | undefined,\n): InferOutput<TSchema> | undefined => {\n if (!bytes || bytes.byteLength === 0) return undefined\n const value = lexParseJsonBytes(bytes, PARSE_OPTIONS)\n const result = schema.safeParse(value, PARSE_OPTIONS)\n return result.success ? result.value : undefined\n}\n\nexport const parseString = <T extends string | undefined>(\n str: undefined | string,\n): T | undefined => {\n return str ? (str as T) : undefined\n}\n\nexport const parseCid = (cidStr: string | undefined): Cid | null => {\n if (!cidStr) return null\n return parseCidSafe(cidStr)\n}\n\nexport const parseDate = (\n timestamp: Timestamp | undefined,\n): Date | undefined => {\n if (!timestamp) return undefined\n const date = timestamp.toDate()\n // Check for year 1 (0001-01-01 00:00:00 UTC) which is -62135596800000ms from epoch.\n // The Go dataplane gives us those values as they come from the Go zero-value for dates.\n if (date.getTime() === -62135596800000) return undefined\n return date\n}\n\nexport const urisByCollection = <T extends string>(\n uris: Iterable<T>,\n): Map<string, T[]> => {\n const result = new Map<string, T[]>()\n for (const uri of uris) {\n const collection = new AtUri(uri).collection\n const items = result.get(collection) ?? []\n items.push(uri)\n result.set(collection, items)\n }\n return result\n}\n\nexport const split = <T>(\n items: T[],\n predicate: (item: T) => boolean,\n): [T[], T[]] => {\n const yes: T[] = []\n const no: T[] = []\n for (const item of items) {\n if (predicate(item)) {\n yes.push(item)\n } else {\n no.push(item)\n }\n }\n return [yes, no]\n}\n\nexport const safeTakedownRef = (obj?: {\n takenDown: boolean\n takedownRef: string\n}): string | undefined => {\n if (!obj) return\n if (obj.takedownRef) return obj.takedownRef\n if (obj.takenDown) return 'BSKY-TAKEDOWN-UNKNOWN'\n}\n\nexport const isActivitySubscriptionEnabled = ({\n post,\n reply,\n}: {\n post: boolean\n reply: boolean\n}): boolean => post || reply\nexport const getStarterPackUriFromFollow = (\n follow: FollowRecord,\n): AtUriString | undefined => {\n const viaUri = follow.via?.uri\n if (!viaUri) return\n try {\n const parsed = new AtUri(viaUri)\n if (parsed.collection !== app.bsky.graph.starterpack.$type) return\n return viaUri as AtUriString\n } catch {\n return\n }\n}\n"]}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/hydration/util.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Timestamp } from '@bufbuild/protobuf'\nimport {\n type AtUriString,\n type Cid,\n type InferInput,\n type InferOutput,\n type LexParseOptions,\n type LexValue,\n type RecordSchema,\n type Schema,\n type TypedLexMap,\n type ValidateOptions,\n lexParseJsonBytes,\n parseCidSafe,\n} from '@atproto/lex'\nimport { AtUri } from '@atproto/syntax'\nimport { app } from '../lexicons/index.js'\nimport type { Record as RecordEntry } from '../proto/bsky_pb.js'\n\nconst PARSE_OPTIONS: LexParseOptions & ValidateOptions = {\n strict: false,\n}\n\nexport class HydrationMap<K, T> extends Map<K, T | null> implements Merges {\n merge(map: HydrationMap<K, T>): this {\n for (const [key, val] of map) {\n this.set(key, val)\n }\n return this\n }\n}\n\nexport interface Merges {\n merge<T extends this>(map: T): this\n}\n\nexport type RecordInfo<T extends TypedLexMap> = {\n record: T\n cid: string\n sortedAt: Date\n indexedAt: Date\n takedownRef: string | undefined\n}\n\nexport const mergeMaps = <V extends HydrationMap<any, any>>(\n mapA?: V,\n mapB?: V,\n): V | undefined => {\n if (!mapA) return mapB\n if (!mapB) return mapA\n return mapA.merge(mapB)\n}\n\nexport const mergeNestedMaps = <K, V extends HydrationMap<any, any>>(\n mapA?: HydrationMap<K, V>,\n mapB?: HydrationMap<K, V>,\n): HydrationMap<K, V> | undefined => {\n if (!mapA) return mapB\n if (!mapB) return mapA\n\n for (const [key, map] of mapB) {\n const merged = mergeMaps(mapA.get(key) ?? undefined, map ?? undefined)\n mapA.set(key, merged ?? null)\n }\n\n return mapA\n}\n\nexport const mergeManyMaps = <K, T>(...maps: HydrationMap<K, T>[]) => {\n return maps.reduce(mergeMaps, undefined as HydrationMap<K, T> | undefined)\n}\n\nexport type ItemRef = { uri: AtUriString; cid?: string }\n\nexport function parseRecord<TSchema extends RecordSchema>(\n recordSchema: TSchema,\n recordEntry: RecordEntry,\n includeTakedowns: boolean,\n): RecordInfo<InferInput<TSchema>> | undefined {\n if (!includeTakedowns && recordEntry.takenDown) {\n return undefined\n }\n\n const cid = recordEntry.cid\n if (!cid) {\n return undefined\n }\n\n if (recordEntry.record.byteLength === 0) {\n return undefined\n }\n\n const record = lexParseJsonBytes(recordEntry.record, PARSE_OPTIONS)\n if (!record) {\n return undefined\n }\n\n // @NOTE We cannot use parse mode here. We must return the original to ensure\n // that the caller gets the same data as what is stored in the PDS (in case of\n // records). This is important because the receiver of the data should be able\n // to compute the right record CID.\n\n if (!recordSchema.$matches(record, PARSE_OPTIONS)) {\n return undefined\n }\n\n return {\n record,\n cid,\n sortedAt: parseDate(recordEntry.sortedAt) ?? new Date(0),\n indexedAt: parseDate(recordEntry.indexedAt) ?? new Date(0),\n takedownRef: safeTakedownRef(recordEntry),\n }\n}\n\n/**\n * Decodes binary data containing a JSON representation of a Lex value, and\n * validates it against the provided schema, in parse mode (i.e., allowing\n * coercion & defaults).\n *\n * Returns undefined if the input is empty (from dataplane's empty value\n * convention), or if the validation fails.\n */\nexport const parseJsonBytes = <TSchema extends Schema<LexValue>>(\n schema: TSchema,\n bytes: Uint8Array | undefined,\n): InferOutput<TSchema> | undefined => {\n if (!bytes || bytes.byteLength === 0) return undefined\n const value = lexParseJsonBytes(bytes, PARSE_OPTIONS)\n const result = schema.safeParse(value, PARSE_OPTIONS)\n return result.success ? result.value : undefined\n}\n\nexport const parseString = <T extends string | undefined>(\n str: undefined | string,\n): T | undefined => {\n return str ? (str as T) : undefined\n}\n\nexport const parseCid = (cidStr: string | undefined): Cid | null => {\n if (!cidStr) return null\n return parseCidSafe(cidStr)\n}\n\nexport const parseDate = (\n timestamp: Timestamp | undefined,\n): Date | undefined => {\n if (!timestamp) return undefined\n const date = timestamp.toDate()\n // Check for year 1 (0001-01-01 00:00:00 UTC) which is -62135596800000ms from epoch.\n // The Go dataplane gives us those values as they come from the Go zero-value for dates.\n if (date.getTime() === -62135596800000) return undefined\n return date\n}\n\nexport const urisByCollection = <T extends string>(\n uris: Iterable<T>,\n): Map<string, T[]> => {\n const result = new Map<string, T[]>()\n for (const uri of uris) {\n const collection = new AtUri(uri).collection\n const items = result.get(collection) ?? []\n items.push(uri)\n result.set(collection, items)\n }\n return result\n}\n\nexport const split = <T>(\n items: T[],\n predicate: (item: T) => boolean,\n): [T[], T[]] => {\n const yes: T[] = []\n const no: T[] = []\n for (const item of items) {\n if (predicate(item)) {\n yes.push(item)\n } else {\n no.push(item)\n }\n }\n return [yes, no]\n}\n\nexport const safeTakedownRef = (obj?: {\n takenDown: boolean\n takedownRef: string\n}): string | undefined => {\n if (!obj) return\n if (obj.takedownRef) return obj.takedownRef\n if (obj.takenDown) return 'BSKY-TAKEDOWN-UNKNOWN'\n}\n\nexport const isActivitySubscriptionEnabled = ({\n post,\n reply,\n}: {\n post: boolean\n reply: boolean\n}): boolean => post || reply\n\nexport const getStarterPackUriFromNotification = (\n reasonSubject?: string | null,\n): AtUriString | undefined => {\n if (!reasonSubject) return\n try {\n const parsed = new AtUri(reasonSubject)\n if (parsed.collection !== app.bsky.graph.starterpack.$type) return\n return reasonSubject as AtUriString\n } catch {\n return\n }\n}\n"]}
@@ -8,7 +8,7 @@ type Main = {
8
8
  /**
9
9
  * Alt text description of the image, for accessibility.
10
10
  */
11
- "alt": string;
11
+ "alt"?: string;
12
12
  "photo": l.BlobRef;
13
13
  "createdAt"?: l.DatetimeString;
14
14
  "aspectRatio"?: GrainDefs.AspectRatio;
@@ -25,14 +25,14 @@ export declare const $isTypeOf: <TValue extends {
25
25
  export declare const $build: {
26
26
  (input: Omit<Omit<Main, "$type">, "$type">): {
27
27
  $type: "social.grain.photo";
28
- alt: string;
28
+ alt?: string;
29
29
  photo: l.BlobRef;
30
30
  createdAt?: l.DatetimeString;
31
31
  aspectRatio?: GrainDefs.AspectRatio;
32
32
  };
33
33
  (input: Omit<Omit<Main, "$type">, "$type">): {
34
34
  $type: "social.grain.photo";
35
- alt: string;
35
+ alt?: string;
36
36
  photo: l.BlobRef;
37
37
  createdAt?: l.DatetimeString;
38
38
  aspectRatio?: GrainDefs.AspectRatio;
@@ -40,7 +40,7 @@ export declare const $build: {
40
40
  };
41
41
  export declare const $assert: (input: unknown, options?: l.ValidateOptions) => asserts input is {
42
42
  $type: "social.grain.photo";
43
- alt: string;
43
+ alt?: string;
44
44
  photo: l.BlobRef;
45
45
  createdAt?: l.DatetimeString;
46
46
  aspectRatio?: GrainDefs.AspectRatio;
@@ -48,49 +48,49 @@ export declare const $assert: (input: unknown, options?: l.ValidateOptions) => a
48
48
  export declare const $check: (input: unknown, options?: l.ValidateOptions) => void;
49
49
  export declare const $cast: <I>(input: I, options?: l.ValidateOptions) => I & {
50
50
  $type: "social.grain.photo";
51
- alt: string;
51
+ alt?: string;
52
52
  photo: l.BlobRef;
53
53
  createdAt?: l.DatetimeString;
54
54
  aspectRatio?: GrainDefs.AspectRatio;
55
55
  };
56
56
  export declare const $ifMatches: <I>(input: I, options?: l.ValidateOptions) => (I & {
57
57
  $type: "social.grain.photo";
58
- alt: string;
58
+ alt?: string;
59
59
  photo: l.BlobRef;
60
60
  createdAt?: l.DatetimeString;
61
61
  aspectRatio?: GrainDefs.AspectRatio;
62
62
  }) | undefined;
63
63
  export declare const $matches: <I>(input: I, options?: l.ValidateOptions) => input is I & {
64
64
  $type: "social.grain.photo";
65
- alt: string;
65
+ alt?: string;
66
66
  photo: l.BlobRef;
67
67
  createdAt?: l.DatetimeString;
68
68
  aspectRatio?: GrainDefs.AspectRatio;
69
69
  };
70
70
  export declare const $parse: (input: unknown, options?: l.ParseOptions) => {
71
71
  $type: "social.grain.photo";
72
- alt: string;
72
+ alt?: string;
73
73
  photo: l.BlobRef;
74
74
  createdAt?: l.DatetimeString;
75
75
  aspectRatio?: GrainDefs.AspectRatio;
76
76
  };
77
77
  export declare const $safeParse: (input: unknown, options?: l.ParseOptions) => l.ValidationResult<{
78
78
  $type: "social.grain.photo";
79
- alt: string;
79
+ alt?: string;
80
80
  photo: l.BlobRef;
81
81
  createdAt?: l.DatetimeString;
82
82
  aspectRatio?: GrainDefs.AspectRatio;
83
83
  }>;
84
84
  export declare const $validate: <I>(input: I, options?: l.ValidateOptions) => I & {
85
85
  $type: "social.grain.photo";
86
- alt: string;
86
+ alt?: string;
87
87
  photo: l.BlobRef;
88
88
  createdAt?: l.DatetimeString;
89
89
  aspectRatio?: GrainDefs.AspectRatio;
90
90
  };
91
91
  export declare const $safeValidate: <I>(input: I, options?: l.ValidateOptions) => l.ValidationResult<I & {
92
92
  $type: "social.grain.photo";
93
- alt: string;
93
+ alt?: string;
94
94
  photo: l.BlobRef;
95
95
  createdAt?: l.DatetimeString;
96
96
  aspectRatio?: GrainDefs.AspectRatio;
@@ -1 +1 @@
1
- {"version":3,"file":"photo.defs.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/social/grain/photo.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,QAAA,MAAM,KAAK,uBAAuB,CAAC;AAEnC,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,KAAK,IAAI,GAAG;IAAE,KAAK,EAAE,oBAAoB,CAAC;IAExC;;OAEG;IACH,KAAK,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,CAAC,CAAC,OAAO,CAAC;IAAA,WAAW,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC;IAAA,aAAa,CAAC,EAAC,SAAS,CAAC,WAAW,CAAA;CAAE,CAAC;AAEtG,YAAY,EAAE,IAAI,EAAE,CAAC;AAErB,QAAA,MAAM,IAAI,oGAAkY,CAAC;AAE7Y,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,KAAK,uBAAQ,CAAC;AAEpB,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,SAAS;;yEAAyC,CAAC;AAChE,eAAO,MAAM,MAAM;;;aAfX,MAAM;eAAS,CAAC,CAAC,OAAO;oBAAc,CAAC,CAAC,cAAc;sBAAgB,SAAS,CAAC,WAAW;;;;aAA3F,MAAM;eAAS,CAAC,CAAC,OAAO;oBAAc,CAAC,CAAC,cAAc;sBAAgB,SAAS,CAAC,WAAW;;CAe1C,CAAC;AAC1D,eAAO,MAAM,OAAO;;SAhBZ,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAgBxC,CAAC;AAC5D,eAAO,MAAM,MAAM,uDAAsC,CAAC;AAC1D,eAAO,MAAM,KAAK;;SAlBV,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAkB5C,CAAC;AACxD,eAAO,MAAM,UAAU;;SAnBf,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;cAmBlC,CAAC;AAClE,eAAO,MAAM,QAAQ;;SApBb,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAoBtC,CAAC;AAC9D,eAAO,MAAM,MAAM;;SArBX,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAqB1C,CAAC;AAC1D,eAAO,MAAM,UAAU;;SAtBf,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;EAsBlC,CAAC;AAClE,eAAO,MAAM,SAAS;;SAvBd,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAuBpC,CAAC;AAChE,eAAO,MAAM,aAAa;;SAxBlB,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;EAwB5B,CAAC"}
1
+ {"version":3,"file":"photo.defs.d.ts","sourceRoot":"","sources":["../../../../src/lexicons/social/grain/photo.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,QAAA,MAAM,KAAK,uBAAuB,CAAC;AAEnC,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,KAAK,IAAI,GAAG;IAAE,KAAK,EAAE,oBAAoB,CAAC;IAExC;;OAEG;IACH,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,CAAC,CAAC,OAAO,CAAC;IAAA,WAAW,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC;IAAA,aAAa,CAAC,EAAC,SAAS,CAAC,WAAW,CAAA;CAAE,CAAC;AAEvG,YAAY,EAAE,IAAI,EAAE,CAAC;AAErB,QAAA,MAAM,IAAI,oGAA4Z,CAAC;AAEva,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,KAAK,uBAAQ,CAAC;AAEpB,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,SAAS;;yEAAyC,CAAC;AAChE,eAAO,MAAM,MAAM;;;cAfV,MAAM;eAAS,CAAC,CAAC,OAAO;oBAAc,CAAC,CAAC,cAAc;sBAAgB,SAAS,CAAC,WAAW;;;;cAA3F,MAAM;eAAS,CAAC,CAAC,OAAO;oBAAc,CAAC,CAAC,cAAc;sBAAgB,SAAS,CAAC,WAAW;;CAe3C,CAAC;AAC1D,eAAO,MAAM,OAAO;;UAhBX,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAgBzC,CAAC;AAC5D,eAAO,MAAM,MAAM,uDAAsC,CAAC;AAC1D,eAAO,MAAM,KAAK;;UAlBT,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAkB7C,CAAC;AACxD,eAAO,MAAM,UAAU;;UAnBd,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;cAmBnC,CAAC;AAClE,eAAO,MAAM,QAAQ;;UApBZ,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAoBvC,CAAC;AAC9D,eAAO,MAAM,MAAM;;UArBV,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAqB3C,CAAC;AAC1D,eAAO,MAAM,UAAU;;UAtBd,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;EAsBnC,CAAC;AAClE,eAAO,MAAM,SAAS;;UAvBb,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;CAuBrC,CAAC;AAChE,eAAO,MAAM,aAAa;;UAxBjB,MAAM;WAAS,CAAC,CAAC,OAAO;gBAAc,CAAC,CAAC,cAAc;kBAAgB,SAAS,CAAC,WAAW;EAwB7B,CAAC"}
@@ -5,7 +5,7 @@ import { l } from "@atproto/lex";
5
5
  import * as GrainDefs from "./defs.defs.js";
6
6
  const $nsid = "social.grain.photo";
7
7
  export { $nsid };
8
- const main = /*#__PURE__*/ l.record("tid", $nsid, /*#__PURE__*/ l.object({ "alt": /*#__PURE__*/ l.string(), "photo": /*#__PURE__*/ l.blob({ "accept": ["image/*"], "maxSize": 1000000 }), "createdAt": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "datetime" })), "aspectRatio": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.ref((() => GrainDefs.aspectRatio))) }));
8
+ const main = /*#__PURE__*/ l.record("tid", $nsid, /*#__PURE__*/ l.object({ "alt": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "photo": /*#__PURE__*/ l.blob({ "accept": ["image/*"], "maxSize": 1000000 }), "createdAt": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "datetime" })), "aspectRatio": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.ref((() => GrainDefs.aspectRatio))) }));
9
9
  export { main };
10
10
  const $type = $nsid;
11
11
  export { $type };
@@ -1 +1 @@
1
- {"version":3,"file":"photo.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/social/grain/photo.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAInC,OAAO,EAAE,KAAK,EAAE,CAAC;AAWjB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAc,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC,OAAO,EAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAC,CAAC,SAAS,CAAC,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,CAAC,EAAC,aAAa,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAwB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAE7Y,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,KAAK,GAAG,KAAK,CAAC;AAIpB,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as GrainDefs from \"./defs.defs.js\";\n\nconst $nsid = \"social.grain.photo\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\ntype Main = { $type: \"social.grain.photo\";\n\n /**\n * Alt text description of the image, for accessibility.\n */\n \"alt\":string;\"photo\":l.BlobRef;\"createdAt\"?:l.DatetimeString;\"aspectRatio\"?:GrainDefs.AspectRatio };\n\nexport type { Main };\n\nconst main = /*#__PURE__*/ l.record<\"tid\", Main>(\"tid\", $nsid, /*#__PURE__*/ l.object({\"alt\":/*#__PURE__*/ l.string(),\"photo\":/*#__PURE__*/ l.blob({\"accept\":[\"image/*\"],\"maxSize\":1000000}),\"createdAt\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"datetime\"})),\"aspectRatio\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.ref<GrainDefs.AspectRatio>((() => GrainDefs.aspectRatio) as any))}));\n\nexport { main };\n\nconst $type = $nsid;\n\ntype $type = typeof $type;\n\nexport { $type };\n\nexport const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main);\nexport const $build = /*#__PURE__*/ main.build.bind(main);\nexport const $assert = /*#__PURE__*/ main.assert.bind(main);\nexport const $check = /*#__PURE__*/ main.check.bind(main);\nexport const $cast = /*#__PURE__*/ main.cast.bind(main);\nexport const $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main);\nexport const $matches = /*#__PURE__*/ main.matches.bind(main);\nexport const $parse = /*#__PURE__*/ main.parse.bind(main);\nexport const $safeParse = /*#__PURE__*/ main.safeParse.bind(main);\nexport const $validate = /*#__PURE__*/ main.validate.bind(main);\nexport const $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main);\n"]}
1
+ {"version":3,"file":"photo.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/social/grain/photo.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,MAAM,KAAK,GAAG,oBAAoB,CAAC;AAInC,OAAO,EAAE,KAAK,EAAE,CAAC;AAWjB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAc,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,OAAO,EAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,EAAC,QAAQ,EAAC,CAAC,SAAS,CAAC,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,UAAU,EAAC,CAAC,CAAC,EAAC,aAAa,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAwB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;AAEva,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,KAAK,GAAG,KAAK,CAAC;AAIpB,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as GrainDefs from \"./defs.defs.js\";\n\nconst $nsid = \"social.grain.photo\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\ntype Main = { $type: \"social.grain.photo\";\n\n /**\n * Alt text description of the image, for accessibility.\n */\n \"alt\"?:string;\"photo\":l.BlobRef;\"createdAt\"?:l.DatetimeString;\"aspectRatio\"?:GrainDefs.AspectRatio };\n\nexport type { Main };\n\nconst main = /*#__PURE__*/ l.record<\"tid\", Main>(\"tid\", $nsid, /*#__PURE__*/ l.object({\"alt\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"photo\":/*#__PURE__*/ l.blob({\"accept\":[\"image/*\"],\"maxSize\":1000000}),\"createdAt\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"datetime\"})),\"aspectRatio\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.ref<GrainDefs.AspectRatio>((() => GrainDefs.aspectRatio) as any))}));\n\nexport { main };\n\nconst $type = $nsid;\n\ntype $type = typeof $type;\n\nexport { $type };\n\nexport const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main);\nexport const $build = /*#__PURE__*/ main.build.bind(main);\nexport const $assert = /*#__PURE__*/ main.assert.bind(main);\nexport const $check = /*#__PURE__*/ main.check.bind(main);\nexport const $cast = /*#__PURE__*/ main.cast.bind(main);\nexport const $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main);\nexport const $matches = /*#__PURE__*/ main.matches.bind(main);\nexport const $parse = /*#__PURE__*/ main.parse.bind(main);\nexport const $safeParse = /*#__PURE__*/ main.safeParse.bind(main);\nexport const $validate = /*#__PURE__*/ main.validate.bind(main);\nexport const $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main);\n"]}
@@ -10,6 +10,9 @@ export declare const $input: l.Payload<"application/json", l.ObjectSchema<{
10
10
  pattern: l.RefSchema<l.Validator<SafelinkDefs.PatternType, SafelinkDefs.PatternType>>;
11
11
  action: l.RefSchema<l.Validator<SafelinkDefs.ActionType, SafelinkDefs.ActionType>>;
12
12
  reason: l.RefSchema<l.Validator<SafelinkDefs.ReasonType, SafelinkDefs.ReasonType>>;
13
+ source: l.OptionalSchema<l.WithDefaultSchema<l.StringSchema<{
14
+ readonly maxLength: 128;
15
+ }>>>;
13
16
  comment: l.OptionalSchema<l.StringSchema<{}>>;
14
17
  createdBy: l.OptionalSchema<l.StringSchema<{
15
18
  readonly format: "did";
@@ -26,11 +29,14 @@ declare const main: l.Procedure<"tools.ozone.safelink.addRule", l.ParamsSchema<{
26
29
  pattern: l.RefSchema<l.Validator<SafelinkDefs.PatternType, SafelinkDefs.PatternType>>;
27
30
  action: l.RefSchema<l.Validator<SafelinkDefs.ActionType, SafelinkDefs.ActionType>>;
28
31
  reason: l.RefSchema<l.Validator<SafelinkDefs.ReasonType, SafelinkDefs.ReasonType>>;
32
+ source: l.OptionalSchema<l.WithDefaultSchema<l.StringSchema<{
33
+ readonly maxLength: 128;
34
+ }>>>;
29
35
  comment: l.OptionalSchema<l.StringSchema<{}>>;
30
36
  createdBy: l.OptionalSchema<l.StringSchema<{
31
37
  readonly format: "did";
32
38
  }>>;
33
- }>>, l.Payload<"application/json", l.RefSchema<l.Validator<SafelinkDefs.Event, SafelinkDefs.Event>>>, readonly ["InvalidUrl", "RuleAlreadyExists"]>;
39
+ }>>, l.Payload<"application/json", l.RefSchema<l.Validator<SafelinkDefs.Event, SafelinkDefs.Event>>>, readonly ["InvalidUrl", "RuleAlreadyExists", "RuleSourceConflict"]>;
34
40
  export { main };
35
41
  declare const $lxm = "tools.ozone.safelink.addRule";
36
42
  type $lxm = typeof $lxm;
@@ -1 +1 @@
1
- {"version":3,"file":"addRule.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/addRule.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,QAAA,MAAM,KAAK,iCAAiC,CAAC;AAE7C,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,OAAO,oBAA2B,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;;;GAAye,CAAC;AAE7f,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,OAAO,iGAA0H,CAAC;AAE/I,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAElF,gCAAgC;AAChC,QAAA,MAAM,IAAI;;;;;;;;;mJAAiG,CAAC;AAE5G,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,IAAI,iCAAQ,CAAC;AAEnB,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"addRule.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/addRule.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,QAAA,MAAM,KAAK,iCAAiC,CAAC;AAE7C,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,OAAO,oBAA2B,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;;;;;;GAAomB,CAAC;AAExnB,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,OAAO,iGAA0H,CAAC;AAE/I,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAElF,gCAAgC;AAChC,QAAA,MAAM,IAAI;;;;;;;;;;;;yKAAsH,CAAC;AAEjI,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,IAAI,iCAAQ,CAAC;AAEnB,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -6,10 +6,10 @@ import * as SafelinkDefs from "./defs.defs.js";
6
6
  const $nsid = "tools.ozone.safelink.addRule";
7
7
  export { $nsid };
8
8
  export const $params = /*#__PURE__*/ l.params();
9
- export const $input = /*#__PURE__*/ l.jsonPayload({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => SafelinkDefs.patternType)), "action": /*#__PURE__*/ l.ref((() => SafelinkDefs.actionType)), "reason": /*#__PURE__*/ l.ref((() => SafelinkDefs.reasonType)), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "did" })) });
9
+ export const $input = /*#__PURE__*/ l.jsonPayload({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => SafelinkDefs.patternType)), "action": /*#__PURE__*/ l.ref((() => SafelinkDefs.actionType)), "reason": /*#__PURE__*/ l.ref((() => SafelinkDefs.reasonType)), "source": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string({ "maxLength": 128 }), "ozone/default")), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "did" })) });
10
10
  export const $output = /*#__PURE__*/ l.payload("application/json", /*#__PURE__*/ l.ref((() => SafelinkDefs.event)));
11
11
  /** Add a new URL safety rule */
12
- const main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, ["InvalidUrl", "RuleAlreadyExists"]);
12
+ const main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, ["InvalidUrl", "RuleAlreadyExists", "RuleSourceConflict"]);
13
13
  export { main };
14
14
  const $lxm = $nsid;
15
15
  export { $lxm };
@@ -1 +1 @@
1
- {"version":3,"file":"addRule.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/addRule.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,MAAM,KAAK,GAAG,8BAA8B,CAAC;AAI7C,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA2B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AAK7f,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC;AAK/I,gCAAgC;AAChC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,YAAY,EAAC,mBAAmB,CAAC,CAAC,CAAC;AAE5G,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,IAAI,GAAG,KAAK,CAAC;AAInB,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as SafelinkDefs from \"./defs.defs.js\";\n\nconst $nsid = \"tools.ozone.safelink.addRule\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\nexport const $params = /*#__PURE__*/ l.params();\n\nexport type $Params = l.InferOutput<typeof $params>;\n\nexport const $input = /*#__PURE__*/ l.jsonPayload({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<SafelinkDefs.PatternType>((() => SafelinkDefs.patternType) as any),\"action\":/*#__PURE__*/ l.ref<SafelinkDefs.ActionType>((() => SafelinkDefs.actionType) as any),\"reason\":/*#__PURE__*/ l.ref<SafelinkDefs.ReasonType>((() => SafelinkDefs.reasonType) as any),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"did\"}))});\n\nexport type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>;\nexport type $InputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $input, B>;\n\nexport const $output = /*#__PURE__*/ l.payload(\"application/json\", /*#__PURE__*/ l.ref<SafelinkDefs.Event>((() => SafelinkDefs.event) as any));\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;\n\n/** Add a new URL safety rule */\nconst main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, [\"InvalidUrl\",\"RuleAlreadyExists\"]);\n\nexport { main };\n\nconst $lxm = $nsid;\n\ntype $lxm = typeof $lxm;\n\nexport { $lxm };\n"]}
1
+ {"version":3,"file":"addRule.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/addRule.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,MAAM,KAAK,GAAG,8BAA8B,CAAC;AAI7C,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA2B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,EAAE,eAAe,CAAC,CAAC,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AAKxnB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC;AAK/I,gCAAgC;AAChC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,YAAY,EAAC,mBAAmB,EAAC,oBAAoB,CAAC,CAAC,CAAC;AAEjI,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,IAAI,GAAG,KAAK,CAAC;AAInB,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as SafelinkDefs from \"./defs.defs.js\";\n\nconst $nsid = \"tools.ozone.safelink.addRule\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\nexport const $params = /*#__PURE__*/ l.params();\n\nexport type $Params = l.InferOutput<typeof $params>;\n\nexport const $input = /*#__PURE__*/ l.jsonPayload({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<SafelinkDefs.PatternType>((() => SafelinkDefs.patternType) as any),\"action\":/*#__PURE__*/ l.ref<SafelinkDefs.ActionType>((() => SafelinkDefs.actionType) as any),\"reason\":/*#__PURE__*/ l.ref<SafelinkDefs.ReasonType>((() => SafelinkDefs.reasonType) as any),\"source\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string({\"maxLength\":128}), \"ozone/default\")),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"did\"}))});\n\nexport type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>;\nexport type $InputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $input, B>;\n\nexport const $output = /*#__PURE__*/ l.payload(\"application/json\", /*#__PURE__*/ l.ref<SafelinkDefs.Event>((() => SafelinkDefs.event) as any));\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;\n\n/** Add a new URL safety rule */\nconst main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, [\"InvalidUrl\",\"RuleAlreadyExists\",\"RuleSourceConflict\"]);\n\nexport { main };\n\nconst $lxm = $nsid;\n\ntype $lxm = typeof $lxm;\n\nexport { $lxm };\n"]}
@@ -17,6 +17,10 @@ type Event = {
17
17
  "pattern": PatternType;
18
18
  "action": ActionType;
19
19
  "reason": ReasonType;
20
+ /**
21
+ * Source of the decision
22
+ */
23
+ "source"?: string;
20
24
  /**
21
25
  * DID of the user who created this rule
22
26
  */
@@ -55,7 +59,7 @@ declare const reasonType: l.StringSchema<{
55
59
  knownValues: ["csam", "spam", "phishing", "none"];
56
60
  }>;
57
61
  export { reasonType };
58
- /** Input for creating a URL safety rule */
62
+ /** An active URL safety rule */
59
63
  type UrlRule = {
60
64
  $type?: "tools.ozone.safelink.defs#urlRule";
61
65
  /**
@@ -65,6 +69,10 @@ type UrlRule = {
65
69
  "pattern": PatternType;
66
70
  "action": ActionType;
67
71
  "reason": ReasonType;
72
+ /**
73
+ * Source of the rule
74
+ */
75
+ "source"?: string;
68
76
  /**
69
77
  * Optional comment about the decision
70
78
  */
@@ -83,7 +91,7 @@ type UrlRule = {
83
91
  "updatedAt": l.DatetimeString;
84
92
  };
85
93
  export type { UrlRule };
86
- /** Input for creating a URL safety rule */
94
+ /** An active URL safety rule */
87
95
  declare const urlRule: l.TypedObjectSchema<"tools.ozone.safelink.defs#urlRule", l.Validator<UrlRule, UrlRule>>;
88
96
  export { urlRule };
89
97
  //# sourceMappingURL=defs.defs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/defs.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEjC,QAAA,MAAM,KAAK,8BAA8B,CAAC;AAE1C,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,wCAAwC;AACxC,KAAK,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,iCAAiC,CAAC;IAEvD;;OAEG;IACH,IAAI,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,SAAS,CAAC;IAElC;;OAEG;IACH,KAAK,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,WAAW,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAE3E;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,SAAS,CAAC;IAAA,WAAW,EAAC,CAAC,CAAC,cAAc,CAAC;IAErD;;OAEG;IACH,SAAS,CAAC,EAAC,MAAM,CAAA;CAAE,CAAC;AAEtB,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,wCAAwC;AACxC,QAAA,MAAM,KAAK,mFAA8kB,CAAC;AAE1lB,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,KAAK,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC;AAE3E,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS;;EAAkF,CAAC;AAElG,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,KAAK,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC;AAEtD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,QAAA,MAAM,WAAW;;EAA6D,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC;AAEnE,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,QAAA,MAAM,UAAU;;EAAyE,CAAC;AAE1F,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC;AAE1E,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,QAAA,MAAM,UAAU;;EAA8E,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,2CAA2C;AAC3C,KAAK,OAAO,GAAG;IAAE,KAAK,CAAC,EAAE,mCAAmC,CAAC;IAE3D;;OAEG;IACH,KAAK,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,WAAW,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAE3E;;OAEG;IACH,SAAS,CAAC,EAAC,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,SAAS,CAAC;IAExB;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,cAAc,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,cAAc,CAAA;CAAE,CAAC;AAEjC,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,2CAA2C;AAC3C,QAAA,MAAM,OAAO,yFAAwiB,CAAC;AAEtjB,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/defs.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEjC,QAAA,MAAM,KAAK,8BAA8B,CAAC;AAE1C,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,wCAAwC;AACxC,KAAK,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,iCAAiC,CAAC;IAEvD;;OAEG;IACH,IAAI,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,SAAS,CAAC;IAElC;;OAEG;IACH,KAAK,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,WAAW,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAE3E;;OAEG;IACH,QAAQ,CAAC,EAAC,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,SAAS,CAAC;IAAA,WAAW,EAAC,CAAC,CAAC,cAAc,CAAC;IAErD;;OAEG;IACH,SAAS,CAAC,EAAC,MAAM,CAAA;CAAE,CAAC;AAEtB,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,wCAAwC;AACxC,QAAA,MAAM,KAAK,mFAAwrB,CAAC;AAEpsB,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,KAAK,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC;AAE3E,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS;;EAAkF,CAAC;AAElG,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,KAAK,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC;AAEtD,YAAY,EAAE,WAAW,EAAE,CAAC;AAE5B,QAAA,MAAM,WAAW;;EAA6D,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC;AAEnE,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,QAAA,MAAM,UAAU;;EAAyE,CAAC;AAE1F,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC;AAE1E,YAAY,EAAE,UAAU,EAAE,CAAC;AAE3B,QAAA,MAAM,UAAU;;EAA8E,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,gCAAgC;AAChC,KAAK,OAAO,GAAG;IAAE,KAAK,CAAC,EAAE,mCAAmC,CAAC;IAE3D;;OAEG;IACH,KAAK,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,WAAW,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAAA,QAAQ,EAAC,UAAU,CAAC;IAE3E;;OAEG;IACH,QAAQ,CAAC,EAAC,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,CAAC,EAAC,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,SAAS,CAAC;IAExB;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,cAAc,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAC,CAAC,CAAC,cAAc,CAAA;CAAE,CAAC;AAEjC,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,gCAAgC;AAChC,QAAA,MAAM,OAAO,yFAAkpB,CAAC;AAEhqB,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -5,7 +5,7 @@ import { l } from "@atproto/lex";
5
5
  const $nsid = "tools.ozone.safelink.defs";
6
6
  export { $nsid };
7
7
  /** An event for URL safety decisions */
8
- const event = /*#__PURE__*/ l.typedObject($nsid, "event", /*#__PURE__*/ l.object({ "id": /*#__PURE__*/ l.integer(), "eventType": /*#__PURE__*/ l.ref((() => eventType)), "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => patternType)), "action": /*#__PURE__*/ l.ref((() => actionType)), "reason": /*#__PURE__*/ l.ref((() => reasonType)), "createdBy": /*#__PURE__*/ l.string({ "format": "did" }), "createdAt": /*#__PURE__*/ l.string({ "format": "datetime" }), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()) }));
8
+ const event = /*#__PURE__*/ l.typedObject($nsid, "event", /*#__PURE__*/ l.object({ "id": /*#__PURE__*/ l.integer(), "eventType": /*#__PURE__*/ l.ref((() => eventType)), "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => patternType)), "action": /*#__PURE__*/ l.ref((() => actionType)), "reason": /*#__PURE__*/ l.ref((() => reasonType)), "source": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string(), "ozone/default")), "createdBy": /*#__PURE__*/ l.string({ "format": "did" }), "createdAt": /*#__PURE__*/ l.string({ "format": "datetime" }), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()) }));
9
9
  export { event };
10
10
  const eventType = /*#__PURE__*/ l.string();
11
11
  export { eventType };
@@ -15,7 +15,7 @@ const actionType = /*#__PURE__*/ l.string();
15
15
  export { actionType };
16
16
  const reasonType = /*#__PURE__*/ l.string();
17
17
  export { reasonType };
18
- /** Input for creating a URL safety rule */
19
- const urlRule = /*#__PURE__*/ l.typedObject($nsid, "urlRule", /*#__PURE__*/ l.object({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => patternType)), "action": /*#__PURE__*/ l.ref((() => actionType)), "reason": /*#__PURE__*/ l.ref((() => reasonType)), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.string({ "format": "did" }), "createdAt": /*#__PURE__*/ l.string({ "format": "datetime" }), "updatedAt": /*#__PURE__*/ l.string({ "format": "datetime" }) }));
18
+ /** An active URL safety rule */
19
+ const urlRule = /*#__PURE__*/ l.typedObject($nsid, "urlRule", /*#__PURE__*/ l.object({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => patternType)), "action": /*#__PURE__*/ l.ref((() => actionType)), "reason": /*#__PURE__*/ l.ref((() => reasonType)), "source": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string(), "ozone/default")), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.string({ "format": "did" }), "createdAt": /*#__PURE__*/ l.string({ "format": "datetime" }), "updatedAt": /*#__PURE__*/ l.string({ "format": "datetime" }) }));
20
20
  export { urlRule };
21
21
  //# sourceMappingURL=defs.defs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/defs.defs.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\n\nconst $nsid = \"tools.ozone.safelink.defs\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\n/** An event for URL safety decisions */\ntype Event = { $type?: \"tools.ozone.safelink.defs#event\";\n\n /**\n * Auto-incrementing row ID\n */\n \"id\":number;\"eventType\":EventType;\n\n /**\n * The URL that this rule applies to\n */\n \"url\":string;\"pattern\":PatternType;\"action\":ActionType;\"reason\":ReasonType;\n\n /**\n * DID of the user who created this rule\n */\n \"createdBy\":l.DidString;\"createdAt\":l.DatetimeString;\n\n /**\n * Optional comment about the decision\n */\n \"comment\"?:string };\n\nexport type { Event };\n\n/** An event for URL safety decisions */\nconst event = /*#__PURE__*/ l.typedObject<Event>($nsid, \"event\", /*#__PURE__*/ l.object({\"id\":/*#__PURE__*/ l.integer(),\"eventType\":/*#__PURE__*/ l.ref<EventType>((() => eventType) as any),\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<PatternType>((() => patternType) as any),\"action\":/*#__PURE__*/ l.ref<ActionType>((() => actionType) as any),\"reason\":/*#__PURE__*/ l.ref<ReasonType>((() => reasonType) as any),\"createdBy\":/*#__PURE__*/ l.string({\"format\":\"did\"}),\"createdAt\":/*#__PURE__*/ l.string({\"format\":\"datetime\"}),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string())}));\n\nexport { event };\n\ntype EventType = \"addRule\" | \"updateRule\" | \"removeRule\" | l.UnknownString;\n\nexport type { EventType };\n\nconst eventType = /*#__PURE__*/ l.string<{\"knownValues\":[\"addRule\",\"updateRule\",\"removeRule\"]}>();\n\nexport { eventType };\n\ntype PatternType = \"domain\" | \"url\" | l.UnknownString;\n\nexport type { PatternType };\n\nconst patternType = /*#__PURE__*/ l.string<{\"knownValues\":[\"domain\",\"url\"]}>();\n\nexport { patternType };\n\ntype ActionType = \"block\" | \"warn\" | \"whitelist\" | l.UnknownString;\n\nexport type { ActionType };\n\nconst actionType = /*#__PURE__*/ l.string<{\"knownValues\":[\"block\",\"warn\",\"whitelist\"]}>();\n\nexport { actionType };\n\ntype ReasonType = \"csam\" | \"spam\" | \"phishing\" | \"none\" | l.UnknownString;\n\nexport type { ReasonType };\n\nconst reasonType = /*#__PURE__*/ l.string<{\"knownValues\":[\"csam\",\"spam\",\"phishing\",\"none\"]}>();\n\nexport { reasonType };\n\n/** Input for creating a URL safety rule */\ntype UrlRule = { $type?: \"tools.ozone.safelink.defs#urlRule\";\n\n /**\n * The URL or domain to apply the rule to\n */\n \"url\":string;\"pattern\":PatternType;\"action\":ActionType;\"reason\":ReasonType;\n\n /**\n * Optional comment about the decision\n */\n \"comment\"?:string;\n\n /**\n * DID of the user added the rule.\n */\n \"createdBy\":l.DidString;\n\n /**\n * Timestamp when the rule was created\n */\n \"createdAt\":l.DatetimeString;\n\n /**\n * Timestamp when the rule was last updated\n */\n \"updatedAt\":l.DatetimeString };\n\nexport type { UrlRule };\n\n/** Input for creating a URL safety rule */\nconst urlRule = /*#__PURE__*/ l.typedObject<UrlRule>($nsid, \"urlRule\", /*#__PURE__*/ l.object({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<PatternType>((() => patternType) as any),\"action\":/*#__PURE__*/ l.ref<ActionType>((() => actionType) as any),\"reason\":/*#__PURE__*/ l.ref<ReasonType>((() => reasonType) as any),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.string({\"format\":\"did\"}),\"createdAt\":/*#__PURE__*/ l.string({\"format\":\"datetime\"}),\"updatedAt\":/*#__PURE__*/ l.string({\"format\":\"datetime\"})}));\n\nexport { urlRule };\n"]}
1
+ {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/defs.defs.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\n\nconst $nsid = \"tools.ozone.safelink.defs\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\n/** An event for URL safety decisions */\ntype Event = { $type?: \"tools.ozone.safelink.defs#event\";\n\n /**\n * Auto-incrementing row ID\n */\n \"id\":number;\"eventType\":EventType;\n\n /**\n * The URL that this rule applies to\n */\n \"url\":string;\"pattern\":PatternType;\"action\":ActionType;\"reason\":ReasonType;\n\n /**\n * Source of the decision\n */\n \"source\"?:string;\n\n /**\n * DID of the user who created this rule\n */\n \"createdBy\":l.DidString;\"createdAt\":l.DatetimeString;\n\n /**\n * Optional comment about the decision\n */\n \"comment\"?:string };\n\nexport type { Event };\n\n/** An event for URL safety decisions */\nconst event = /*#__PURE__*/ l.typedObject<Event>($nsid, \"event\", /*#__PURE__*/ l.object({\"id\":/*#__PURE__*/ l.integer(),\"eventType\":/*#__PURE__*/ l.ref<EventType>((() => eventType) as any),\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<PatternType>((() => patternType) as any),\"action\":/*#__PURE__*/ l.ref<ActionType>((() => actionType) as any),\"reason\":/*#__PURE__*/ l.ref<ReasonType>((() => reasonType) as any),\"source\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string(), \"ozone/default\")),\"createdBy\":/*#__PURE__*/ l.string({\"format\":\"did\"}),\"createdAt\":/*#__PURE__*/ l.string({\"format\":\"datetime\"}),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string())}));\n\nexport { event };\n\ntype EventType = \"addRule\" | \"updateRule\" | \"removeRule\" | l.UnknownString;\n\nexport type { EventType };\n\nconst eventType = /*#__PURE__*/ l.string<{\"knownValues\":[\"addRule\",\"updateRule\",\"removeRule\"]}>();\n\nexport { eventType };\n\ntype PatternType = \"domain\" | \"url\" | l.UnknownString;\n\nexport type { PatternType };\n\nconst patternType = /*#__PURE__*/ l.string<{\"knownValues\":[\"domain\",\"url\"]}>();\n\nexport { patternType };\n\ntype ActionType = \"block\" | \"warn\" | \"whitelist\" | l.UnknownString;\n\nexport type { ActionType };\n\nconst actionType = /*#__PURE__*/ l.string<{\"knownValues\":[\"block\",\"warn\",\"whitelist\"]}>();\n\nexport { actionType };\n\ntype ReasonType = \"csam\" | \"spam\" | \"phishing\" | \"none\" | l.UnknownString;\n\nexport type { ReasonType };\n\nconst reasonType = /*#__PURE__*/ l.string<{\"knownValues\":[\"csam\",\"spam\",\"phishing\",\"none\"]}>();\n\nexport { reasonType };\n\n/** An active URL safety rule */\ntype UrlRule = { $type?: \"tools.ozone.safelink.defs#urlRule\";\n\n /**\n * The URL or domain to apply the rule to\n */\n \"url\":string;\"pattern\":PatternType;\"action\":ActionType;\"reason\":ReasonType;\n\n /**\n * Source of the rule\n */\n \"source\"?:string;\n\n /**\n * Optional comment about the decision\n */\n \"comment\"?:string;\n\n /**\n * DID of the user added the rule.\n */\n \"createdBy\":l.DidString;\n\n /**\n * Timestamp when the rule was created\n */\n \"createdAt\":l.DatetimeString;\n\n /**\n * Timestamp when the rule was last updated\n */\n \"updatedAt\":l.DatetimeString };\n\nexport type { UrlRule };\n\n/** An active URL safety rule */\nconst urlRule = /*#__PURE__*/ l.typedObject<UrlRule>($nsid, \"urlRule\", /*#__PURE__*/ l.object({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<PatternType>((() => patternType) as any),\"action\":/*#__PURE__*/ l.ref<ActionType>((() => actionType) as any),\"reason\":/*#__PURE__*/ l.ref<ReasonType>((() => reasonType) as any),\"source\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string(), \"ozone/default\")),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.string({\"format\":\"did\"}),\"createdAt\":/*#__PURE__*/ l.string({\"format\":\"datetime\"}),\"updatedAt\":/*#__PURE__*/ l.string({\"format\":\"datetime\"})}));\n\nexport { urlRule };\n"]}
@@ -8,6 +8,9 @@ export type $Params = l.InferOutput<typeof $params>;
8
8
  export declare const $input: l.Payload<"application/json", l.ObjectSchema<{
9
9
  url: l.StringSchema<{}>;
10
10
  pattern: l.RefSchema<l.Validator<SafelinkDefs.PatternType, SafelinkDefs.PatternType>>;
11
+ source: l.OptionalSchema<l.WithDefaultSchema<l.StringSchema<{
12
+ readonly maxLength: 128;
13
+ }>>>;
11
14
  comment: l.OptionalSchema<l.StringSchema<{}>>;
12
15
  createdBy: l.OptionalSchema<l.StringSchema<{
13
16
  readonly format: "did";
@@ -22,6 +25,9 @@ export type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B
22
25
  declare const main: l.Procedure<"tools.ozone.safelink.removeRule", l.ParamsSchema<{}>, l.Payload<"application/json", l.ObjectSchema<{
23
26
  url: l.StringSchema<{}>;
24
27
  pattern: l.RefSchema<l.Validator<SafelinkDefs.PatternType, SafelinkDefs.PatternType>>;
28
+ source: l.OptionalSchema<l.WithDefaultSchema<l.StringSchema<{
29
+ readonly maxLength: 128;
30
+ }>>>;
25
31
  comment: l.OptionalSchema<l.StringSchema<{}>>;
26
32
  createdBy: l.OptionalSchema<l.StringSchema<{
27
33
  readonly format: "did";
@@ -1 +1 @@
1
- {"version":3,"file":"removeRule.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/removeRule.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,QAAA,MAAM,KAAK,oCAAoC,CAAC;AAEhD,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,OAAO,oBAA2B,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;GAA6S,CAAC;AAEjU,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,OAAO,iGAA0H,CAAC;AAE/I,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAElF,yCAAyC;AACzC,QAAA,MAAM,IAAI;;;;;;;gIAA+E,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,IAAI,oCAAQ,CAAC;AAEnB,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"removeRule.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/removeRule.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,QAAA,MAAM,KAAK,oCAAoC,CAAC;AAEhD,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,OAAO,oBAA2B,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;;;;GAAwa,CAAC;AAE5b,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,OAAO,iGAA0H,CAAC;AAE/I,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAElF,yCAAyC;AACzC,QAAA,MAAM,IAAI;;;;;;;;;;gIAA+E,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,IAAI,oCAAQ,CAAC;AAEnB,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -6,7 +6,7 @@ import * as SafelinkDefs from "./defs.defs.js";
6
6
  const $nsid = "tools.ozone.safelink.removeRule";
7
7
  export { $nsid };
8
8
  export const $params = /*#__PURE__*/ l.params();
9
- export const $input = /*#__PURE__*/ l.jsonPayload({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => SafelinkDefs.patternType)), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "did" })) });
9
+ export const $input = /*#__PURE__*/ l.jsonPayload({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => SafelinkDefs.patternType)), "source": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string({ "maxLength": 128 }), "ozone/default")), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "did" })) });
10
10
  export const $output = /*#__PURE__*/ l.payload("application/json", /*#__PURE__*/ l.ref((() => SafelinkDefs.event)));
11
11
  /** Remove an existing URL safety rule */
12
12
  const main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, ["RuleNotFound"]);
@@ -1 +1 @@
1
- {"version":3,"file":"removeRule.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/removeRule.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,MAAM,KAAK,GAAG,iCAAiC,CAAC;AAIhD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA2B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAQ,CAAC,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AAKjU,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC;AAK/I,yCAAyC;AACzC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,IAAI,GAAG,KAAK,CAAC;AAInB,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as SafelinkDefs from \"./defs.defs.js\";\n\nconst $nsid = \"tools.ozone.safelink.removeRule\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\nexport const $params = /*#__PURE__*/ l.params();\n\nexport type $Params = l.InferOutput<typeof $params>;\n\nexport const $input = /*#__PURE__*/ l.jsonPayload({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<SafelinkDefs.PatternType>((() => SafelinkDefs.patternType) as any),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"did\"}))});\n\nexport type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>;\nexport type $InputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $input, B>;\n\nexport const $output = /*#__PURE__*/ l.payload(\"application/json\", /*#__PURE__*/ l.ref<SafelinkDefs.Event>((() => SafelinkDefs.event) as any));\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;\n\n/** Remove an existing URL safety rule */\nconst main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, [\"RuleNotFound\"]);\n\nexport { main };\n\nconst $lxm = $nsid;\n\ntype $lxm = typeof $lxm;\n\nexport { $lxm };\n"]}
1
+ {"version":3,"file":"removeRule.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/removeRule.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,MAAM,KAAK,GAAG,iCAAiC,CAAC;AAIhD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA2B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,EAAE,eAAe,CAAC,CAAC,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AAK5b,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC;AAK/I,yCAAyC;AACzC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,IAAI,GAAG,KAAK,CAAC;AAInB,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as SafelinkDefs from \"./defs.defs.js\";\n\nconst $nsid = \"tools.ozone.safelink.removeRule\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\nexport const $params = /*#__PURE__*/ l.params();\n\nexport type $Params = l.InferOutput<typeof $params>;\n\nexport const $input = /*#__PURE__*/ l.jsonPayload({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<SafelinkDefs.PatternType>((() => SafelinkDefs.patternType) as any),\"source\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string({\"maxLength\":128}), \"ozone/default\")),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"did\"}))});\n\nexport type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>;\nexport type $InputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $input, B>;\n\nexport const $output = /*#__PURE__*/ l.payload(\"application/json\", /*#__PURE__*/ l.ref<SafelinkDefs.Event>((() => SafelinkDefs.event) as any));\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;\n\n/** Remove an existing URL safety rule */\nconst main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, [\"RuleNotFound\"]);\n\nexport { main };\n\nconst $lxm = $nsid;\n\ntype $lxm = typeof $lxm;\n\nexport { $lxm };\n"]}
@@ -10,6 +10,9 @@ export declare const $input: l.Payload<"application/json", l.ObjectSchema<{
10
10
  pattern: l.RefSchema<l.Validator<SafelinkDefs.PatternType, SafelinkDefs.PatternType>>;
11
11
  action: l.RefSchema<l.Validator<SafelinkDefs.ActionType, SafelinkDefs.ActionType>>;
12
12
  reason: l.RefSchema<l.Validator<SafelinkDefs.ReasonType, SafelinkDefs.ReasonType>>;
13
+ source: l.OptionalSchema<l.WithDefaultSchema<l.StringSchema<{
14
+ readonly maxLength: 128;
15
+ }>>>;
13
16
  comment: l.OptionalSchema<l.StringSchema<{}>>;
14
17
  createdBy: l.OptionalSchema<l.StringSchema<{
15
18
  readonly format: "did";
@@ -26,11 +29,14 @@ declare const main: l.Procedure<"tools.ozone.safelink.updateRule", l.ParamsSchem
26
29
  pattern: l.RefSchema<l.Validator<SafelinkDefs.PatternType, SafelinkDefs.PatternType>>;
27
30
  action: l.RefSchema<l.Validator<SafelinkDefs.ActionType, SafelinkDefs.ActionType>>;
28
31
  reason: l.RefSchema<l.Validator<SafelinkDefs.ReasonType, SafelinkDefs.ReasonType>>;
32
+ source: l.OptionalSchema<l.WithDefaultSchema<l.StringSchema<{
33
+ readonly maxLength: 128;
34
+ }>>>;
29
35
  comment: l.OptionalSchema<l.StringSchema<{}>>;
30
36
  createdBy: l.OptionalSchema<l.StringSchema<{
31
37
  readonly format: "did";
32
38
  }>>;
33
- }>>, l.Payload<"application/json", l.RefSchema<l.Validator<SafelinkDefs.Event, SafelinkDefs.Event>>>, readonly ["RuleNotFound"]>;
39
+ }>>, l.Payload<"application/json", l.RefSchema<l.Validator<SafelinkDefs.Event, SafelinkDefs.Event>>>, readonly ["RuleNotFound", "RuleSourceConflict"]>;
34
40
  export { main };
35
41
  declare const $lxm = "tools.ozone.safelink.updateRule";
36
42
  type $lxm = typeof $lxm;
@@ -1 +1 @@
1
- {"version":3,"file":"updateRule.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/updateRule.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,QAAA,MAAM,KAAK,oCAAoC,CAAC;AAEhD,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,OAAO,oBAA2B,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;;;GAAye,CAAC;AAE7f,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,OAAO,iGAA0H,CAAC;AAE/I,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAElF,yCAAyC;AACzC,QAAA,MAAM,IAAI;;;;;;;;;gIAA+E,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,IAAI,oCAAQ,CAAC;AAEnB,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"updateRule.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/updateRule.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,QAAA,MAAM,KAAK,oCAAoC,CAAC;AAEhD,KAAK,KAAK,GAAG,OAAO,KAAK,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,eAAO,MAAM,OAAO,oBAA2B,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;;;;;;GAAomB,CAAC;AAExnB,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AACxE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;AAEhF,eAAO,MAAM,OAAO,iGAA0H,CAAC;AAE/I,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAC1E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC;AAElF,yCAAyC;AACzC,QAAA,MAAM,IAAI;;;;;;;;;;;;sJAAoG,CAAC;AAE/G,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,QAAA,MAAM,IAAI,oCAAQ,CAAC;AAEnB,KAAK,IAAI,GAAG,OAAO,IAAI,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -6,10 +6,10 @@ import * as SafelinkDefs from "./defs.defs.js";
6
6
  const $nsid = "tools.ozone.safelink.updateRule";
7
7
  export { $nsid };
8
8
  export const $params = /*#__PURE__*/ l.params();
9
- export const $input = /*#__PURE__*/ l.jsonPayload({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => SafelinkDefs.patternType)), "action": /*#__PURE__*/ l.ref((() => SafelinkDefs.actionType)), "reason": /*#__PURE__*/ l.ref((() => SafelinkDefs.reasonType)), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "did" })) });
9
+ export const $input = /*#__PURE__*/ l.jsonPayload({ "url": /*#__PURE__*/ l.string(), "pattern": /*#__PURE__*/ l.ref((() => SafelinkDefs.patternType)), "action": /*#__PURE__*/ l.ref((() => SafelinkDefs.actionType)), "reason": /*#__PURE__*/ l.ref((() => SafelinkDefs.reasonType)), "source": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string({ "maxLength": 128 }), "ozone/default")), "comment": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()), "createdBy": /*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({ "format": "did" })) });
10
10
  export const $output = /*#__PURE__*/ l.payload("application/json", /*#__PURE__*/ l.ref((() => SafelinkDefs.event)));
11
11
  /** Update an existing URL safety rule */
12
- const main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, ["RuleNotFound"]);
12
+ const main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, ["RuleNotFound", "RuleSourceConflict"]);
13
13
  export { main };
14
14
  const $lxm = $nsid;
15
15
  export { $lxm };
@@ -1 +1 @@
1
- {"version":3,"file":"updateRule.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/updateRule.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,MAAM,KAAK,GAAG,iCAAiC,CAAC;AAIhD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA2B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AAK7f,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC;AAK/I,yCAAyC;AACzC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AAE1F,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,IAAI,GAAG,KAAK,CAAC;AAInB,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as SafelinkDefs from \"./defs.defs.js\";\n\nconst $nsid = \"tools.ozone.safelink.updateRule\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\nexport const $params = /*#__PURE__*/ l.params();\n\nexport type $Params = l.InferOutput<typeof $params>;\n\nexport const $input = /*#__PURE__*/ l.jsonPayload({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<SafelinkDefs.PatternType>((() => SafelinkDefs.patternType) as any),\"action\":/*#__PURE__*/ l.ref<SafelinkDefs.ActionType>((() => SafelinkDefs.actionType) as any),\"reason\":/*#__PURE__*/ l.ref<SafelinkDefs.ReasonType>((() => SafelinkDefs.reasonType) as any),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"did\"}))});\n\nexport type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>;\nexport type $InputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $input, B>;\n\nexport const $output = /*#__PURE__*/ l.payload(\"application/json\", /*#__PURE__*/ l.ref<SafelinkDefs.Event>((() => SafelinkDefs.event) as any));\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;\n\n/** Update an existing URL safety rule */\nconst main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, [\"RuleNotFound\"]);\n\nexport { main };\n\nconst $lxm = $nsid;\n\ntype $lxm = typeof $lxm;\n\nexport { $lxm };\n"]}
1
+ {"version":3,"file":"updateRule.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/tools/ozone/safelink/updateRule.defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAC;AAE/C,MAAM,KAAK,GAAG,iCAAiC,CAAC;AAIhD,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA2B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAA0B,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAQ,CAAC,EAAC,QAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,WAAW,EAAC,GAAG,EAAC,CAAC,EAAE,eAAe,CAAC,CAAC,EAAC,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAC,WAAW,EAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,KAAK,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AAKxnB,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAQ,CAAC,CAAC,CAAC;AAK/I,yCAAyC;AACzC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,cAAc,EAAC,oBAAoB,CAAC,CAAC,CAAC;AAE/G,OAAO,EAAE,IAAI,EAAE,CAAC;AAEhB,MAAM,IAAI,GAAG,KAAK,CAAC;AAInB,OAAO,EAAE,IAAI,EAAE,CAAC","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from \"@atproto/lex\";\nimport * as SafelinkDefs from \"./defs.defs.js\";\n\nconst $nsid = \"tools.ozone.safelink.updateRule\";\n\ntype $nsid = typeof $nsid;\n\nexport { $nsid };\n\nexport const $params = /*#__PURE__*/ l.params();\n\nexport type $Params = l.InferOutput<typeof $params>;\n\nexport const $input = /*#__PURE__*/ l.jsonPayload({\"url\":/*#__PURE__*/ l.string(),\"pattern\":/*#__PURE__*/ l.ref<SafelinkDefs.PatternType>((() => SafelinkDefs.patternType) as any),\"action\":/*#__PURE__*/ l.ref<SafelinkDefs.ActionType>((() => SafelinkDefs.actionType) as any),\"reason\":/*#__PURE__*/ l.ref<SafelinkDefs.ReasonType>((() => SafelinkDefs.reasonType) as any),\"source\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.withDefault(/*#__PURE__*/ l.string({\"maxLength\":128}), \"ozone/default\")),\"comment\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string()),\"createdBy\":/*#__PURE__*/ l.optional(/*#__PURE__*/ l.string({\"format\":\"did\"}))});\n\nexport type $Input<B = l.BinaryData> = l.InferPayload<typeof $input, B>;\nexport type $InputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $input, B>;\n\nexport const $output = /*#__PURE__*/ l.payload(\"application/json\", /*#__PURE__*/ l.ref<SafelinkDefs.Event>((() => SafelinkDefs.event) as any));\n\nexport type $Output<B = l.BinaryData> = l.InferPayload<typeof $output, B>;\nexport type $OutputBody<B = l.BinaryData> = l.InferPayloadBody<typeof $output, B>;\n\n/** Update an existing URL safety rule */\nconst main = /*#__PURE__*/ l.procedure($nsid, $params, $input, $output, [\"RuleNotFound\",\"RuleSourceConflict\"]);\n\nexport { main };\n\nconst $lxm = $nsid;\n\ntype $lxm = typeof $lxm;\n\nexport { $lxm };\n"]}