@signa-so/sdk 0.2.2 → 0.7.0

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 (137) hide show
  1. package/README.md +22 -14
  2. package/dist/_internals/fetch-with-retry.d.ts.map +1 -1
  3. package/dist/_internals/fetch-with-retry.js +11 -3
  4. package/dist/_internals/fetch-with-retry.js.map +1 -1
  5. package/dist/_internals/query-string.d.ts +5 -4
  6. package/dist/_internals/query-string.d.ts.map +1 -1
  7. package/dist/_internals/query-string.js +6 -14
  8. package/dist/_internals/query-string.js.map +1 -1
  9. package/dist/category-nice.d.ts +22 -0
  10. package/dist/category-nice.d.ts.map +1 -0
  11. package/dist/category-nice.js +109 -0
  12. package/dist/category-nice.js.map +1 -0
  13. package/dist/client.d.ts +80 -10
  14. package/dist/client.d.ts.map +1 -1
  15. package/dist/client.js +110 -13
  16. package/dist/client.js.map +1 -1
  17. package/dist/errors.d.ts +7 -0
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js +10 -1
  20. package/dist/errors.js.map +1 -1
  21. package/dist/generated/api-types.d.ts +9700 -2920
  22. package/dist/generated/api-types.d.ts.map +1 -1
  23. package/dist/index.d.ts +6 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +5 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/pagination.d.ts +24 -2
  28. package/dist/pagination.d.ts.map +1 -1
  29. package/dist/pagination.js +28 -1
  30. package/dist/pagination.js.map +1 -1
  31. package/dist/resources/alerts.d.ts +18 -13
  32. package/dist/resources/alerts.d.ts.map +1 -1
  33. package/dist/resources/alerts.js +28 -20
  34. package/dist/resources/alerts.js.map +1 -1
  35. package/dist/resources/analytics.d.ts +8 -0
  36. package/dist/resources/analytics.d.ts.map +1 -0
  37. package/dist/resources/analytics.js +13 -0
  38. package/dist/resources/analytics.js.map +1 -0
  39. package/dist/resources/assignments.d.ts +25 -0
  40. package/dist/resources/assignments.d.ts.map +1 -0
  41. package/dist/resources/assignments.js +33 -0
  42. package/dist/resources/assignments.js.map +1 -0
  43. package/dist/resources/attorneys.d.ts +7 -3
  44. package/dist/resources/attorneys.d.ts.map +1 -1
  45. package/dist/resources/attorneys.js +10 -5
  46. package/dist/resources/attorneys.js.map +1 -1
  47. package/dist/resources/compare.d.ts +29 -0
  48. package/dist/resources/compare.d.ts.map +1 -0
  49. package/dist/resources/compare.js +30 -0
  50. package/dist/resources/compare.js.map +1 -0
  51. package/dist/resources/deadlines.d.ts +24 -0
  52. package/dist/resources/deadlines.d.ts.map +1 -0
  53. package/dist/resources/deadlines.js +26 -0
  54. package/dist/resources/deadlines.js.map +1 -0
  55. package/dist/resources/entities.d.ts +53 -0
  56. package/dist/resources/entities.d.ts.map +1 -0
  57. package/dist/resources/entities.js +74 -0
  58. package/dist/resources/entities.js.map +1 -0
  59. package/dist/resources/events.d.ts +2 -2
  60. package/dist/resources/events.d.ts.map +1 -1
  61. package/dist/resources/events.js +2 -2
  62. package/dist/resources/events.js.map +1 -1
  63. package/dist/resources/feedback.d.ts +19 -0
  64. package/dist/resources/feedback.d.ts.map +1 -0
  65. package/dist/resources/feedback.js +29 -0
  66. package/dist/resources/feedback.js.map +1 -0
  67. package/dist/resources/firms.d.ts +7 -6
  68. package/dist/resources/firms.d.ts.map +1 -1
  69. package/dist/resources/firms.js +9 -5
  70. package/dist/resources/firms.js.map +1 -1
  71. package/dist/resources/goods-services.d.ts +56 -0
  72. package/dist/resources/goods-services.d.ts.map +1 -0
  73. package/dist/resources/goods-services.js +60 -0
  74. package/dist/resources/goods-services.js.map +1 -0
  75. package/dist/resources/oppositions.d.ts +18 -0
  76. package/dist/resources/oppositions.d.ts.map +1 -0
  77. package/dist/resources/oppositions.js +20 -0
  78. package/dist/resources/oppositions.js.map +1 -0
  79. package/dist/resources/organization.d.ts +56 -0
  80. package/dist/resources/organization.d.ts.map +1 -0
  81. package/dist/resources/organization.js +89 -0
  82. package/dist/resources/organization.js.map +1 -0
  83. package/dist/resources/owners.d.ts +7 -3
  84. package/dist/resources/owners.d.ts.map +1 -1
  85. package/dist/resources/owners.js +10 -5
  86. package/dist/resources/owners.js.map +1 -1
  87. package/dist/resources/portfolios.d.ts +3 -3
  88. package/dist/resources/portfolios.d.ts.map +1 -1
  89. package/dist/resources/portfolios.js +4 -4
  90. package/dist/resources/portfolios.js.map +1 -1
  91. package/dist/resources/proceedings.d.ts +1 -1
  92. package/dist/resources/proceedings.js +1 -1
  93. package/dist/resources/reconcile.d.ts +22 -0
  94. package/dist/resources/reconcile.d.ts.map +1 -0
  95. package/dist/resources/reconcile.js +24 -0
  96. package/dist/resources/reconcile.js.map +1 -0
  97. package/dist/resources/references.d.ts +51 -12
  98. package/dist/resources/references.d.ts.map +1 -1
  99. package/dist/resources/references.js +33 -15
  100. package/dist/resources/references.js.map +1 -1
  101. package/dist/resources/screening.d.ts +63 -0
  102. package/dist/resources/screening.d.ts.map +1 -0
  103. package/dist/resources/screening.js +66 -0
  104. package/dist/resources/screening.js.map +1 -0
  105. package/dist/resources/suggest.d.ts +16 -0
  106. package/dist/resources/suggest.d.ts.map +1 -0
  107. package/dist/resources/suggest.js +18 -0
  108. package/dist/resources/suggest.js.map +1 -0
  109. package/dist/resources/trademarks.d.ts +82 -6
  110. package/dist/resources/trademarks.d.ts.map +1 -1
  111. package/dist/resources/trademarks.js +132 -5
  112. package/dist/resources/trademarks.js.map +1 -1
  113. package/dist/resources/watches.d.ts +68 -9
  114. package/dist/resources/watches.d.ts.map +1 -1
  115. package/dist/resources/watches.js +111 -12
  116. package/dist/resources/watches.js.map +1 -1
  117. package/dist/resources/webhooks.d.ts +57 -0
  118. package/dist/resources/webhooks.d.ts.map +1 -0
  119. package/dist/resources/webhooks.js +86 -0
  120. package/dist/resources/webhooks.js.map +1 -0
  121. package/dist/types.d.ts +2781 -239
  122. package/dist/types.d.ts.map +1 -1
  123. package/dist/version.d.ts +1 -1
  124. package/dist/version.js +1 -1
  125. package/dist/webhooks.d.ts +57 -0
  126. package/dist/webhooks.d.ts.map +1 -0
  127. package/dist/webhooks.js +76 -0
  128. package/dist/webhooks.js.map +1 -0
  129. package/package.json +9 -3
  130. package/dist/resources/platform.d.ts +0 -29
  131. package/dist/resources/platform.d.ts.map +0 -1
  132. package/dist/resources/platform.js +0 -50
  133. package/dist/resources/platform.js.map +0 -1
  134. package/dist/resources/search.d.ts +0 -27
  135. package/dist/resources/search.d.ts.map +0 -1
  136. package/dist/resources/search.js +0 -36
  137. package/dist/resources/search.js.map +0 -1
@@ -0,0 +1,66 @@
1
+ import { BaseResource } from '../resource.js';
2
+ /**
3
+ * Screening operations — PUBLIC beta (requires the `screening:read` scope,
4
+ * granted to design partners during beta).
5
+ *
6
+ * Public exposure of the single-name screening surface was authorized by the
7
+ * founder's 2026-07-10 public-beta decision. `checkListing` is the listing-check
8
+ * surface (ENG-30): extract candidate marks from commerce text and fan them out
9
+ * through the screening core.
10
+ */
11
+ export class Screening extends BaseResource {
12
+ /**
13
+ * Screen a single candidate name — `GET /v1/screening`.
14
+ *
15
+ * PUBLIC beta. Requires the `screening:read` scope, granted to design partners
16
+ * during beta. Returns coarse risk bands and a verdict, never a numeric score.
17
+ * Billed at 10 units per request. Not legal advice.
18
+ *
19
+ * ```typescript
20
+ * const result = await signa.screening.screen({
21
+ * q: 'KOFEE',
22
+ * nice_classes: [30, 43],
23
+ * jurisdictions: ['US', 'EU'],
24
+ * });
25
+ * // result.screening.verdict → 'clear' | 'caution' | 'needs_review' | 'high_risk'
26
+ * ```
27
+ * `needs_review` is a would-be `clear` the screen could not complete to `clear`
28
+ * standard, most often incomplete register coverage for a requested territory
29
+ * but also a stale corpus, capped horizon, failed lane, unsupported language,
30
+ * or low-confidence class inference. Inspect `result.screening.coverage` for the
31
+ * details when present (it can be absent if the coverage assessment failed).
32
+ * Pass `trademark_id` instead of `q` to screen an existing register record;
33
+ * its own collapsed family is excluded from the returned conflicts.
34
+ */
35
+ async screen(params, options) {
36
+ return this._get('/v1/screening', { ...params }, options);
37
+ }
38
+ /**
39
+ * Screen a whole LISTING — `POST /v1/screening/listings`.
40
+ *
41
+ * Deterministic + synchronous. Extracts candidate marks from `title` / `brand`
42
+ * / `description` / `keywords`, fans them out through the screening core, and
43
+ * returns a listing-level verdict with per-candidate conflicts. Billed flat at
44
+ * 25 units per listing regardless of internal fan-out. Not legal advice.
45
+ * Beta limitation: common-word listings are over-flagged, so treat `caution`
46
+ * as no-signal pending the ENG-199 verdict-separation redesign.
47
+ * Supply `nice_classes` whenever possible: caller-provided classes are the only
48
+ * high-quality class signal that may corroborate a conflict upward. If your
49
+ * platform has only a category label, derive them explicitly with
50
+ * `categoryToNiceClasses(category)` from `@signa-so/sdk`.
51
+ *
52
+ * ```typescript
53
+ * import { categoryToNiceClasses } from '@signa-so/sdk';
54
+ *
55
+ * const result = await signa.screening.checkListing({
56
+ * title: 'Vintage AirPods Case — Handmade Leather',
57
+ * nice_classes: categoryToNiceClasses('handbags'),
58
+ * });
59
+ * // result.listing.verdict → 'clear' | 'caution' | 'high_risk'
60
+ * ```
61
+ */
62
+ async checkListing(params, options) {
63
+ return this._post('/v1/screening/listings', params, options);
64
+ }
65
+ }
66
+ //# sourceMappingURL=screening.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screening.js","sourceRoot":"","sources":["../../src/resources/screening.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAU,SAAQ,YAAY;IACzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,CAAC,MAAM,CAAC,MAAoB,EAAE,OAAwB;QACzD,OAAO,IAAI,CAAC,IAAI,CAAe,eAAe,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,YAAY,CAChB,MAA0B,EAC1B,OAAwB;QAExB,OAAO,IAAI,CAAC,KAAK,CAAqB,wBAAwB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ import { BaseResource } from '../resource.js';
2
+ import { type SignaList } from '../pagination.js';
3
+ import type { CrossEntitySuggestion, CrossEntitySuggestParams, RequestOptions } from '../types.js';
4
+ export declare class Suggest extends BaseResource {
5
+ /**
6
+ * Cross-entity typeahead across trademarks, owners, attorneys, and firms.
7
+ *
8
+ * Scope: `trademarks:read`.
9
+ *
10
+ * ```typescript
11
+ * const suggestions = await signa.suggest.crossEntity({ q: 'apple' });
12
+ * ```
13
+ */
14
+ crossEntity(params: CrossEntitySuggestParams, options?: RequestOptions): Promise<SignaList<CrossEntitySuggestion>>;
15
+ }
16
+ //# sourceMappingURL=suggest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../../src/resources/suggest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,qBAAa,OAAQ,SAAQ,YAAY;IACvC;;;;;;;;OAQG;IACG,WAAW,CACf,MAAM,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;CAU7C"}
@@ -0,0 +1,18 @@
1
+ import { BaseResource } from '../resource.js';
2
+ import { createList } from '../pagination.js';
3
+ export class Suggest extends BaseResource {
4
+ /**
5
+ * Cross-entity typeahead across trademarks, owners, attorneys, and firms.
6
+ *
7
+ * Scope: `trademarks:read`.
8
+ *
9
+ * ```typescript
10
+ * const suggestions = await signa.suggest.crossEntity({ q: 'apple' });
11
+ * ```
12
+ */
13
+ async crossEntity(params, options) {
14
+ const response = await this._getListResponse('/v1/suggest', params, options);
15
+ return createList({ ...response, has_more: false }, () => Promise.resolve({ ...response, data: [], has_more: false }));
16
+ }
17
+ }
18
+ //# sourceMappingURL=suggest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.js","sourceRoot":"","sources":["../../src/resources/suggest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAO9D,MAAM,OAAO,OAAQ,SAAQ,YAAY;IACvC;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CACf,MAAgC,EAChC,OAAwB;QAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAC1C,aAAa,EACb,MAA4C,EAC5C,OAAO,CACR,CAAC;QACF,OAAO,UAAU,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CACvD,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC5D,CAAC;IACJ,CAAC;CACF"}
@@ -1,29 +1,100 @@
1
1
  import { BaseResource } from '../resource.js';
2
2
  import { type SignaList } from '../pagination.js';
3
- import type { Trademark, TrademarkSummary, Event, TrademarkRetrieveParams, TrademarkListParams, TrademarkHistoryParams, TrademarkBatchBody, TrademarkBatchResponse, TrademarkChangesParams, TrademarkChange, TrademarkRelatedParams, TrademarkRelationship, TrademarkCoverageParams, TrademarkCoverage, TrademarkProceedingsParams, TrademarkProceeding, TrademarkSource, TrademarkSuggestParams, TrademarkSuggestion, RequestOptions } from '../types.js';
3
+ import type { Trademark, TrademarkSummary, TrademarkSearchResult, Event, TrademarkRetrieveParams, TrademarkListParams, TrademarkSearchBody, TrademarkHistoryParams, TrademarkBatchBody, TrademarkBatchResponse, TrademarkChangesParams, TrademarkChange, TrademarkRelatedParams, TrademarkRelationship, TrademarkCoverageParams, TrademarkCoverage, TrademarkProceedingsParams, TrademarkProceeding, TrademarkAssignmentsParams, TrademarkAssignment, TrademarkDocumentParams, TrademarkDocument, TrademarkSource, TrademarkSuggestParams, TrademarkSuggestion, TrademarkImageSearchParams, ImageSearchResults, RequestOptions } from '../types.js';
4
+ type TrademarkWithOwners = {
5
+ owners?: Array<{
6
+ name?: string | null;
7
+ }> | null;
8
+ };
9
+ export declare function primaryOwnerName(trademark: TrademarkWithOwners): string | null;
4
10
  export declare class Trademarks extends BaseResource {
5
11
  /**
6
12
  * Retrieve a single trademark by ID.
7
13
  *
14
+ * The full detail tier (owners, classifications, attorneys, media,
15
+ * priorities, proceedings, Madrid coverage) is always returned inline.
16
+ * Pass `include: ['office_extensions']` to add the raw office-specific
17
+ * extension blob (omitted by default). Pass `language` to prefer matching
18
+ * goods/services classification variants without filtering unmatched groups.
19
+ *
8
20
  * ```typescript
9
21
  * const tm = await signa.trademarks.retrieve('tm_abc123');
10
- * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['owners', 'history'] });
22
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['office_extensions'] });
23
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { language: 'en' });
11
24
  * ```
12
25
  */
13
26
  retrieve(id: string, params?: TrademarkRetrieveParams, options?: RequestOptions): Promise<Trademark>;
14
27
  /**
15
- * List trademarks with filters. At least one filter is required.
28
+ * List trademarks with filters via GET. At least one filter or `q` query is required.
16
29
  * Returns a SignaList supporting auto-pagination.
17
30
  *
31
+ * Now supports text search via `q`, sorting via `sort`, and search options
32
+ * like `strategies`, `include_total`, `highlights`, and `include_timing`.
33
+ *
18
34
  * ```typescript
19
- * const page = await signa.trademarks.list({ jurisdiction_code: 'US', status: 'registered' });
35
+ * // Filter-only (sorted by -filing_date by default)
36
+ * const page = await signa.trademarks.list({ jurisdictions: ['US'], status_primary: 'active' });
37
+ *
38
+ * // Text search with filters
39
+ * const results = await signa.trademarks.list({ q: 'SIGNA', jurisdictions: ['US'] });
20
40
  *
21
- * for await (const tm of signa.trademarks.list({ jurisdiction_code: 'US' })) {
41
+ * // Explicit sort
42
+ * const sorted = await signa.trademarks.list({ offices: ['US'], sort: '-registration_date' });
43
+ *
44
+ * // Auto-pagination
45
+ * for await (const tm of signa.trademarks.list({ jurisdictions: ['US'] })) {
22
46
  * console.log(tm.mark_text);
23
47
  * }
24
48
  * ```
25
49
  */
26
50
  list(params?: TrademarkListParams, options?: RequestOptions): Promise<SignaList<TrademarkSummary>>;
51
+ /**
52
+ * Search trademarks via POST with a JSON body. Use this for complex queries
53
+ * with structured filters, aggregations, strategies, or ranking profiles.
54
+ *
55
+ * This replaces the old `signa.search.query()` method. The endpoint is
56
+ * `POST /v1/trademarks` (the old `/v1/trademarks/search` is deprecated).
57
+ *
58
+ * ```typescript
59
+ * const results = await signa.trademarks.search({
60
+ * query: 'SIGNA',
61
+ * strategies: ['exact', 'phonetic'],
62
+ * filters: { jurisdictions: ['US'], nice_classes: [9, 42] },
63
+ * options: { aggregations: ['status_stage', 'office_code'] },
64
+ * });
65
+ * console.log(results.aggregations);
66
+ * console.log(results.search_meta);
67
+ *
68
+ * // Filter-only POST (no text query)
69
+ * const filtered = await signa.trademarks.search({
70
+ * filters: { offices: ['US'], status_primary: 'active' },
71
+ * sort: '-filing_date',
72
+ * options: { include_total: true },
73
+ * });
74
+ * ```
75
+ */
76
+ search(params: TrademarkSearchBody, options?: RequestOptions): Promise<SignaList<TrademarkSearchResult>>;
77
+ /**
78
+ * Search trademarks by logo/image similarity (beta, internal). Requires the
79
+ * `image-search:read` scope. Provide EXACTLY ONE image source:
80
+ * - `image`: raw bytes (multipart upload — Blob / ArrayBuffer / Uint8Array)
81
+ * - `image_url`: an https URL (fetched + SSRF-guarded server-side)
82
+ * - `media_id`: an existing mark's media id (reuses its stored vector)
83
+ *
84
+ * Returns mark-level hits, each with the §3.5 signal channels + a
85
+ * `thumbnail_url`. Results are a bounded top-K (limit ≤ 100, not paginable).
86
+ *
87
+ * ```typescript
88
+ * const bytes = await fs.readFile('logo.png');
89
+ * const res = await signa.trademarks.searchByImage({
90
+ * image: bytes,
91
+ * filters: { offices: ['US'], nice_classes: [9] },
92
+ * channels: ['visual', 'exact_dup'],
93
+ * });
94
+ * for (const hit of res.data) console.log(hit.trademark.mark_text, hit.band);
95
+ * ```
96
+ */
97
+ searchByImage(params: TrademarkImageSearchParams, options?: RequestOptions): Promise<ImageSearchResults>;
27
98
  /**
28
99
  * List event history for a trademark.
29
100
  *
@@ -39,7 +110,7 @@ export declare class Trademarks extends BaseResource {
39
110
  * ```typescript
40
111
  * const result = await signa.trademarks.batch({ ids: ['tm_abc', 'tm_def'] });
41
112
  * const result = await signa.trademarks.batch({
42
- * identifiers: [{ application_number: '97123456', office: 'uspto' }],
113
+ * identifiers: [{ application_number: '97123456', office: 'US' }],
43
114
  * });
44
115
  * ```
45
116
  */
@@ -74,7 +145,12 @@ export declare class Trademarks extends BaseResource {
74
145
  coverage(id: string, params?: TrademarkCoverageParams, options?: RequestOptions): Promise<SignaList<TrademarkCoverage>>;
75
146
  /** Proceedings (oppositions, cancellations) linked to a trademark. */
76
147
  proceedings(id: string, params?: TrademarkProceedingsParams, options?: RequestOptions): Promise<SignaList<TrademarkProceeding>>;
148
+ /** Recorded assignment chain of title linked to a trademark. */
149
+ assignments(id: string, params?: TrademarkAssignmentsParams, options?: RequestOptions): Promise<SignaList<TrademarkAssignment>>;
150
+ /** Office documents linked to a trademark. */
151
+ documents(id: string, params?: TrademarkDocumentParams, options?: RequestOptions): Promise<SignaList<TrademarkDocument>>;
77
152
  /** Get the redirect URL for a trademark media asset (image, sound, etc). */
78
153
  media(id: string, mediaId: string, options?: RequestOptions): Promise<string>;
79
154
  }
155
+ export {};
80
156
  //# sourceMappingURL=trademarks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trademarks.d.ts","sourceRoot":"","sources":["../../src/resources/trademarks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,qBAAa,UAAW,SAAQ,YAAY;IAC1C;;;;;;;OAOG;IACG,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAQrB;;;;;;;;;;;OAWG;IACG,IAAI,CACR,MAAM,CAAC,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAQvC;;;;;;;OAOG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAa5B;;;;;;;;;OASG;IACG,KAAK,CACT,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,sBAAsB,CAAC;IAIlC;;;;;;OAMG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAgBtC;;;;;;OAMG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAgB5C;;;;;;OAMG;IACG,OAAO,CACX,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAW1C,kDAAkD;IAC5C,MAAM,CACV,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC;IAS3B,oEAAoE;IAC9D,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAgBxC,sEAAsE;IAChE,WAAW,CACf,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;IAgB1C,4EAA4E;IACtE,KAAK,CACT,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC;CAQnB"}
1
+ {"version":3,"file":"trademarks.d.ts","sourceRoot":"","sources":["../../src/resources/trademarks.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,22 @@
1
1
  import { BaseResource } from '../resource.js';
2
2
  import { createList } from '../pagination.js';
3
+ export function primaryOwnerName(trademark) {
4
+ return trademark.owners?.[0]?.name ?? null;
5
+ }
3
6
  export class Trademarks extends BaseResource {
4
7
  /**
5
8
  * Retrieve a single trademark by ID.
6
9
  *
10
+ * The full detail tier (owners, classifications, attorneys, media,
11
+ * priorities, proceedings, Madrid coverage) is always returned inline.
12
+ * Pass `include: ['office_extensions']` to add the raw office-specific
13
+ * extension blob (omitted by default). Pass `language` to prefer matching
14
+ * goods/services classification variants without filtering unmatched groups.
15
+ *
7
16
  * ```typescript
8
17
  * const tm = await signa.trademarks.retrieve('tm_abc123');
9
- * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['owners', 'history'] });
18
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['office_extensions'] });
19
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { language: 'en' });
10
20
  * ```
11
21
  */
12
22
  async retrieve(id, params, options) {
@@ -14,16 +24,28 @@ export class Trademarks extends BaseResource {
14
24
  return this._get(`/v1/trademarks/${encodeURIComponent(id)}`, {
15
25
  include: params?.include,
16
26
  fields: params?.fields,
27
+ language: params?.language,
17
28
  }, options);
18
29
  }
19
30
  /**
20
- * List trademarks with filters. At least one filter is required.
31
+ * List trademarks with filters via GET. At least one filter or `q` query is required.
21
32
  * Returns a SignaList supporting auto-pagination.
22
33
  *
34
+ * Now supports text search via `q`, sorting via `sort`, and search options
35
+ * like `strategies`, `include_total`, `highlights`, and `include_timing`.
36
+ *
23
37
  * ```typescript
24
- * const page = await signa.trademarks.list({ jurisdiction_code: 'US', status: 'registered' });
38
+ * // Filter-only (sorted by -filing_date by default)
39
+ * const page = await signa.trademarks.list({ jurisdictions: ['US'], status_primary: 'active' });
40
+ *
41
+ * // Text search with filters
42
+ * const results = await signa.trademarks.list({ q: 'SIGNA', jurisdictions: ['US'] });
25
43
  *
26
- * for await (const tm of signa.trademarks.list({ jurisdiction_code: 'US' })) {
44
+ * // Explicit sort
45
+ * const sorted = await signa.trademarks.list({ offices: ['US'], sort: '-registration_date' });
46
+ *
47
+ * // Auto-pagination
48
+ * for await (const tm of signa.trademarks.list({ jurisdictions: ['US'] })) {
27
49
  * console.log(tm.mark_text);
28
50
  * }
29
51
  * ```
@@ -35,6 +57,99 @@ export class Trademarks extends BaseResource {
35
57
  const firstPage = await fetchPage(params?.cursor);
36
58
  return createList(firstPage, fetchPage);
37
59
  }
60
+ /**
61
+ * Search trademarks via POST with a JSON body. Use this for complex queries
62
+ * with structured filters, aggregations, strategies, or ranking profiles.
63
+ *
64
+ * This replaces the old `signa.search.query()` method. The endpoint is
65
+ * `POST /v1/trademarks` (the old `/v1/trademarks/search` is deprecated).
66
+ *
67
+ * ```typescript
68
+ * const results = await signa.trademarks.search({
69
+ * query: 'SIGNA',
70
+ * strategies: ['exact', 'phonetic'],
71
+ * filters: { jurisdictions: ['US'], nice_classes: [9, 42] },
72
+ * options: { aggregations: ['status_stage', 'office_code'] },
73
+ * });
74
+ * console.log(results.aggregations);
75
+ * console.log(results.search_meta);
76
+ *
77
+ * // Filter-only POST (no text query)
78
+ * const filtered = await signa.trademarks.search({
79
+ * filters: { offices: ['US'], status_primary: 'active' },
80
+ * sort: '-filing_date',
81
+ * options: { include_total: true },
82
+ * });
83
+ * ```
84
+ */
85
+ async search(params, options) {
86
+ const body = { ...params };
87
+ const response = await this._post('/v1/trademarks', body, options);
88
+ return createList(response, async (cursor) => {
89
+ const nextBody = { ...params, cursor };
90
+ return this._post('/v1/trademarks', nextBody, options);
91
+ });
92
+ }
93
+ /**
94
+ * Search trademarks by logo/image similarity (beta, internal). Requires the
95
+ * `image-search:read` scope. Provide EXACTLY ONE image source:
96
+ * - `image`: raw bytes (multipart upload — Blob / ArrayBuffer / Uint8Array)
97
+ * - `image_url`: an https URL (fetched + SSRF-guarded server-side)
98
+ * - `media_id`: an existing mark's media id (reuses its stored vector)
99
+ *
100
+ * Returns mark-level hits, each with the §3.5 signal channels + a
101
+ * `thumbnail_url`. Results are a bounded top-K (limit ≤ 100, not paginable).
102
+ *
103
+ * ```typescript
104
+ * const bytes = await fs.readFile('logo.png');
105
+ * const res = await signa.trademarks.searchByImage({
106
+ * image: bytes,
107
+ * filters: { offices: ['US'], nice_classes: [9] },
108
+ * channels: ['visual', 'exact_dup'],
109
+ * });
110
+ * for (const hit of res.data) console.log(hit.trademark.mark_text, hit.band);
111
+ * ```
112
+ */
113
+ async searchByImage(params, options) {
114
+ const { image, image_filename, image_url, media_id, filters, territory_match, crop, limit, channels } = params;
115
+ if (image !== undefined) {
116
+ // Multipart upload — the file part plus JSON-encoded scalars/objects.
117
+ const form = new FormData();
118
+ const blob = image instanceof Blob
119
+ ? image
120
+ : new Blob([(image instanceof Uint8Array ? image : new Uint8Array(image)).slice()]);
121
+ form.append('image', blob, image_filename ?? 'image');
122
+ if (filters !== undefined)
123
+ form.append('filters', JSON.stringify(filters));
124
+ // territory_match is a plain enum string on the multipart transport (not JSON-encoded).
125
+ if (territory_match !== undefined)
126
+ form.append('territory_match', territory_match);
127
+ if (crop !== undefined)
128
+ form.append('crop', JSON.stringify(crop));
129
+ if (channels !== undefined)
130
+ form.append('channels', JSON.stringify(channels));
131
+ if (limit !== undefined)
132
+ form.append('limit', String(limit));
133
+ return this._post('/v1/trademarks/search/image', form, options);
134
+ }
135
+ // JSON body — image_url or media_id.
136
+ const body = {};
137
+ if (image_url !== undefined)
138
+ body.image_url = image_url;
139
+ if (media_id !== undefined)
140
+ body.media_id = media_id;
141
+ if (filters !== undefined)
142
+ body.filters = filters;
143
+ if (territory_match !== undefined)
144
+ body.territory_match = territory_match;
145
+ if (crop !== undefined)
146
+ body.crop = crop;
147
+ if (channels !== undefined)
148
+ body.channels = channels;
149
+ if (limit !== undefined)
150
+ body.limit = limit;
151
+ return this._post('/v1/trademarks/search/image', body, options);
152
+ }
38
153
  /**
39
154
  * List event history for a trademark.
40
155
  *
@@ -57,7 +172,7 @@ export class Trademarks extends BaseResource {
57
172
  * ```typescript
58
173
  * const result = await signa.trademarks.batch({ ids: ['tm_abc', 'tm_def'] });
59
174
  * const result = await signa.trademarks.batch({
60
- * identifiers: [{ application_number: '97123456', office: 'uspto' }],
175
+ * identifiers: [{ application_number: '97123456', office: 'US' }],
61
176
  * });
62
177
  * ```
63
178
  */
@@ -116,6 +231,18 @@ export class Trademarks extends BaseResource {
116
231
  const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/proceedings`, params, options);
117
232
  return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/proceedings`, { ...params, cursor }, options));
118
233
  }
234
+ /** Recorded assignment chain of title linked to a trademark. */
235
+ async assignments(id, params, options) {
236
+ this._validateId(id);
237
+ const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/assignments`, params, options);
238
+ return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/assignments`, { ...params, cursor }, options));
239
+ }
240
+ /** Office documents linked to a trademark. */
241
+ async documents(id, params, options) {
242
+ this._validateId(id);
243
+ const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/documents`, params, options);
244
+ return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/documents`, { ...params, cursor }, options));
245
+ }
119
246
  /** Get the redirect URL for a trademark media asset (image, sound, etc). */
120
247
  async media(id, mediaId, options) {
121
248
  this._validateId(id, 'id');
@@ -1 +1 @@
1
- {"version":3,"file":"trademarks.js","sourceRoot":"","sources":["../../src/resources/trademarks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trademarks.js","sourceRoot":"","sources":["../../src/resources/trademarks.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,77 @@
1
1
  import { BaseResource } from '../resource.js';
2
2
  import { type SignaList } from '../pagination.js';
3
- import type { Watch, Alert, DeletedResponse, WatchCreateParams, WatchUpdateParams, WatchListParams, AlertListParams, RequestOptions } from '../types.js';
3
+ import type { Watch, Alert, DeletedResponse, WatchCreateParams, WatchCreateQueryParams, WatchUpdateParams, WatchListParams, WatchReplayParams, WatchPreviewParams, WatchPreviewResponse, WatchBulkParams, WatchDiagnostics, WatchDiagnosticsParams, WatchAttestation, WatchAttestationParams, AlertListParams, RequestOptions } from '../types.js';
4
+ /**
5
+ * Watch management — monitoring v1 (TSK-111).
6
+ *
7
+ * Five watch types compile to one query shape (VAL-PRODUCT-001):
8
+ * `'mark' | 'portfolio' | 'owner' | 'class' | 'similarity'`. `query.match`
9
+ * is rejected in ANY form (object or string) — use `filters.ownerId`,
10
+ * `filters.trademarkIds`, `filters.niceClasses` for scoping and
11
+ * `min_match_tier` for similarity precision. See {@link WatchQuery} and
12
+ * the watches guide for worked examples.
13
+ */
4
14
  export declare class Watches extends BaseResource {
5
- /** Create a watch. */
6
- create(body: WatchCreateParams, options?: RequestOptions): Promise<Watch>;
7
- /** List organization's watches. */
15
+ /** Create a watch (or hydrate from a saved search via `?from_saved_search=`). */
16
+ create(body: WatchCreateParams, options?: RequestOptions & {
17
+ query?: WatchCreateQueryParams;
18
+ }): Promise<Watch>;
19
+ /** List watches for the calling org (cursor pagination, max 100/page). */
8
20
  list(params?: WatchListParams, options?: RequestOptions): Promise<SignaList<Watch>>;
9
- /** Retrieve a watch. */
21
+ /** Retrieve a watch (`alert_count_24h` populated). */
10
22
  retrieve(id: string, options?: RequestOptions): Promise<Watch>;
11
- /** Update a watch. */
23
+ /** Update a watch (PATCH — partial body). */
12
24
  update(id: string, body: WatchUpdateParams, options?: RequestOptions): Promise<Watch>;
13
- /** Soft-delete a watch. */
25
+ /** Soft-delete a watch (sets `deleted_at`). */
14
26
  delete(id: string, options?: RequestOptions): Promise<DeletedResponse>;
15
- /** List alerts for a specific watch. */
16
- alerts(id: string, params?: Omit<AlertListParams, 'watch_id'>, options?: RequestOptions): Promise<SignaList<Alert>>;
27
+ /** Pause evaluation. The watch is preserved; no alerts fire until resumed. */
28
+ pause(id: string, options?: RequestOptions): Promise<Watch>;
29
+ /** Resume a paused watch. */
30
+ resume(id: string, options?: RequestOptions): Promise<Watch>;
31
+ /**
32
+ * Bump `evaluation_epoch` to trigger a full re-evaluation across watched
33
+ * offices. Requires the `watches:admin` scope. Returns 409 if the
34
+ * evaluator currently holds the per-(watch, office) lease (15-min stale
35
+ * takeover).
36
+ *
37
+ * v1 accepts an empty body only — `from_date` (historical replay) is
38
+ * reserved for v1.1 and the server rejects it with 400.
39
+ */
40
+ replay(id: string, body?: WatchReplayParams, options?: RequestOptions): Promise<Watch>;
41
+ /**
42
+ * Dry-run a watch query — returns the count of trademarks that would have
43
+ * alerted if this query had been a live watch over the last
44
+ * `trial_window_days` (default 7). Does not write to the DB
45
+ * (VAL-API-011).
46
+ */
47
+ preview(body: WatchPreviewParams, options?: RequestOptions): Promise<WatchPreviewResponse>;
48
+ /** Bulk-create up to 100 watches. Counts against the per-plan resource quota. */
49
+ bulk(body: WatchBulkParams, options?: RequestOptions): Promise<Watch[]>;
50
+ /**
51
+ * Self-service diagnostics for a single (watch, trademark) pair.
52
+ * Returns an 11-field explainable trace — see the
53
+ * [diagnostics docs](https://docs.signa.so/api-reference/monitoring/watches/diagnostics)
54
+ * for the full schema and `reason` enum walk-order.
55
+ *
56
+ * Required scope: `portfolios:manage`. Cross-org or missing references
57
+ * return 404.
58
+ */
59
+ diagnostics(watchId: string, params: WatchDiagnosticsParams, options?: RequestOptions): Promise<WatchDiagnostics>;
60
+ /**
61
+ * Fetch the monthly proof-of-monitoring attestation (JSON) for a closed UTC
62
+ * calendar month. Defaults to the previous month. The current (open) month
63
+ * returns 422 unless `{ partial: true }`. Deterministic: re-fetch a closed
64
+ * period later and compare `content_hash` to verify integrity.
65
+ *
66
+ * The PDF business record is available at the HTTP layer via
67
+ * `GET /v1/watches/{id}/attestation?format=pdf` (or `Accept: application/pdf`).
68
+ *
69
+ * Required scope: `portfolios:manage`. Cross-org / unknown watch returns 404.
70
+ */
71
+ attestation(watchId: string, params?: WatchAttestationParams, options?: RequestOptions): Promise<WatchAttestation>;
72
+ /** List alerts scoped to a single watch (cursor pagination). */
73
+ listAlerts(watchId: string, params?: AlertListParams, options?: RequestOptions): Promise<SignaList<Alert>>;
74
+ /** @internal Build a query string from a flat params object. */
75
+ private _buildQS;
17
76
  }
18
77
  //# sourceMappingURL=watches.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watches.d.ts","sourceRoot":"","sources":["../../src/resources/watches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACV,KAAK,EACL,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,qBAAa,OAAQ,SAAQ,YAAY;IACvC,sBAAsB;IAChB,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAI/E,mCAAmC;IAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAezF,wBAAwB;IAClB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpE,sBAAsB;IAChB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAK3F,2BAA2B;IACrB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAK5E,wCAAwC;IAClC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;CAe1H"}
1
+ {"version":3,"file":"watches.d.ts","sourceRoot":"","sources":["../../src/resources/watches.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EACV,KAAK,EACL,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,cAAc,EACf,MAAM,aAAa,CAAC;AAErB;;;;;;;;;GASG;AACH,qBAAa,OAAQ,SAAQ,YAAY;IACvC,iFAAiF;IAC3E,MAAM,CACV,IAAI,EAAE,iBAAiB,EACvB,OAAO,CAAC,EAAE,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,sBAAsB,CAAA;KAAE,GAC5D,OAAO,CAAC,KAAK,CAAC;IAQjB,0EAA0E;IACpE,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAOzF,sDAAsD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpE,6CAA6C;IACvC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAK3F,+CAA+C;IACzC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAK5E,8EAA8E;IACxE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAKjE,6BAA6B;IACvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAKlE;;;;;;;;OAQG;IACG,MAAM,CACV,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,KAAK,CAAC;IAKjB;;;;;OAKG;IACG,OAAO,CACX,IAAI,EAAE,kBAAkB,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,oBAAoB,CAAC;IAIhC,iFAAiF;IAC3E,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAS7E;;;;;;;;OAQG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,sBAAsB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAY5B;;;;;;;;;;OAUG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAY5B,gEAAgE;IAC1D,UAAU,CACd,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAY5B,gEAAgE;IAChE,OAAO,CAAC,QAAQ;CAQjB"}