@signa-so/sdk 0.4.0 → 0.8.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 (102) hide show
  1. package/README.md +47 -6
  2. package/dist/_internals/fetch-with-retry.d.ts +0 -2
  3. package/dist/_internals/fetch-with-retry.d.ts.map +1 -1
  4. package/dist/_internals/fetch-with-retry.js +11 -8
  5. package/dist/_internals/fetch-with-retry.js.map +1 -1
  6. package/dist/_internals/query-string.d.ts +1 -1
  7. package/dist/_internals/query-string.js +1 -1
  8. package/dist/category-nice.d.ts +22 -0
  9. package/dist/category-nice.d.ts.map +1 -0
  10. package/dist/category-nice.js +109 -0
  11. package/dist/category-nice.js.map +1 -0
  12. package/dist/client.d.ts +26 -0
  13. package/dist/client.d.ts.map +1 -1
  14. package/dist/client.js +34 -0
  15. package/dist/client.js.map +1 -1
  16. package/dist/generated/api-types.d.ts +7325 -2217
  17. package/dist/generated/api-types.d.ts.map +1 -1
  18. package/dist/index.d.ts +4 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/pagination.d.ts +23 -1
  23. package/dist/pagination.d.ts.map +1 -1
  24. package/dist/pagination.js +27 -0
  25. package/dist/pagination.js.map +1 -1
  26. package/dist/resource.d.ts +0 -2
  27. package/dist/resource.d.ts.map +1 -1
  28. package/dist/resource.js +0 -10
  29. package/dist/resource.js.map +1 -1
  30. package/dist/resources/analytics.d.ts +8 -0
  31. package/dist/resources/analytics.d.ts.map +1 -0
  32. package/dist/resources/analytics.js +13 -0
  33. package/dist/resources/analytics.js.map +1 -0
  34. package/dist/resources/assignments.d.ts +25 -0
  35. package/dist/resources/assignments.d.ts.map +1 -0
  36. package/dist/resources/assignments.js +33 -0
  37. package/dist/resources/assignments.js.map +1 -0
  38. package/dist/resources/attorneys.d.ts +2 -1
  39. package/dist/resources/attorneys.d.ts.map +1 -1
  40. package/dist/resources/attorneys.js +4 -0
  41. package/dist/resources/attorneys.js.map +1 -1
  42. package/dist/resources/compare.d.ts +29 -0
  43. package/dist/resources/compare.d.ts.map +1 -0
  44. package/dist/resources/compare.js +30 -0
  45. package/dist/resources/compare.js.map +1 -0
  46. package/dist/resources/deadlines.d.ts +24 -0
  47. package/dist/resources/deadlines.d.ts.map +1 -0
  48. package/dist/resources/deadlines.js +26 -0
  49. package/dist/resources/deadlines.js.map +1 -0
  50. package/dist/resources/entities.d.ts +2 -1
  51. package/dist/resources/entities.d.ts.map +1 -1
  52. package/dist/resources/entities.js +4 -0
  53. package/dist/resources/entities.js.map +1 -1
  54. package/dist/resources/events.d.ts +2 -2
  55. package/dist/resources/events.d.ts.map +1 -1
  56. package/dist/resources/events.js +2 -2
  57. package/dist/resources/events.js.map +1 -1
  58. package/dist/resources/feedback.d.ts +19 -0
  59. package/dist/resources/feedback.d.ts.map +1 -0
  60. package/dist/resources/feedback.js +29 -0
  61. package/dist/resources/feedback.js.map +1 -0
  62. package/dist/resources/firms.d.ts +3 -2
  63. package/dist/resources/firms.d.ts.map +1 -1
  64. package/dist/resources/firms.js +5 -1
  65. package/dist/resources/firms.js.map +1 -1
  66. package/dist/resources/goods-services.d.ts +1 -1
  67. package/dist/resources/goods-services.js +1 -1
  68. package/dist/resources/oppositions.d.ts +18 -0
  69. package/dist/resources/oppositions.d.ts.map +1 -0
  70. package/dist/resources/oppositions.js +20 -0
  71. package/dist/resources/oppositions.js.map +1 -0
  72. package/dist/resources/organization.d.ts +7 -1
  73. package/dist/resources/organization.d.ts.map +1 -1
  74. package/dist/resources/organization.js +8 -0
  75. package/dist/resources/organization.js.map +1 -1
  76. package/dist/resources/owners.d.ts +2 -1
  77. package/dist/resources/owners.d.ts.map +1 -1
  78. package/dist/resources/owners.js +4 -0
  79. package/dist/resources/owners.js.map +1 -1
  80. package/dist/resources/reconcile.d.ts +22 -0
  81. package/dist/resources/reconcile.d.ts.map +1 -0
  82. package/dist/resources/reconcile.js +24 -0
  83. package/dist/resources/reconcile.js.map +1 -0
  84. package/dist/resources/references.d.ts +2 -2
  85. package/dist/resources/references.js +2 -2
  86. package/dist/resources/screening.d.ts +63 -0
  87. package/dist/resources/screening.d.ts.map +1 -0
  88. package/dist/resources/screening.js +66 -0
  89. package/dist/resources/screening.js.map +1 -0
  90. package/dist/resources/trademarks.d.ts +67 -33
  91. package/dist/resources/trademarks.d.ts.map +1 -1
  92. package/dist/resources/trademarks.js +114 -50
  93. package/dist/resources/trademarks.js.map +1 -1
  94. package/dist/resources/watches.d.ts +14 -2
  95. package/dist/resources/watches.d.ts.map +1 -1
  96. package/dist/resources/watches.js +21 -1
  97. package/dist/resources/watches.js.map +1 -1
  98. package/dist/types.d.ts +1712 -141
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/version.d.ts +1 -1
  101. package/dist/version.js +1 -1
  102. package/package.json +3 -2
@@ -1,18 +1,27 @@
1
1
  import { BaseResource } from '../resource.js';
2
2
  import { type SignaList } from '../pagination.js';
3
- import type { Trademark, TrademarkSummary, SearchV2Result, Event, TrademarkRetrieveParams, TrademarkListParams, TrademarkSearchBody, 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, TrademarkEventsParams, TrademarkBatchBody, TrademarkBatchResponse, TrademarkProceedingsParams, TrademarkProceeding, TrademarkAssignmentsParams, TrademarkAssignment, TrademarkDocumentParams, TrademarkDocument, 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
  *
8
14
  * The full detail tier (owners, classifications, attorneys, media,
9
- * priorities, proceedings, Madrid coverage) is always returned inline.
10
- * Pass `include: ['history']` to embed the 50 most recent prosecution
11
- * events alongside the detail object.
15
+ * priorities, proceedings, plus the inline `coverage`, `relationships` and
16
+ * `provenance` blocks) is always returned inline.
17
+ * Pass `include: ['office_extensions']` to add the raw office-specific
18
+ * extension blob (omitted by default). Pass `language` to prefer matching
19
+ * goods/services classification variants without filtering unmatched groups.
12
20
  *
13
21
  * ```typescript
14
22
  * const tm = await signa.trademarks.retrieve('tm_abc123');
15
- * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['history'] });
23
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['office_extensions'] });
24
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { language: 'en' });
16
25
  * ```
17
26
  */
18
27
  retrieve(id: string, params?: TrademarkRetrieveParams, options?: RequestOptions): Promise<Trademark>;
@@ -31,7 +40,7 @@ export declare class Trademarks extends BaseResource {
31
40
  * const results = await signa.trademarks.list({ q: 'SIGNA', jurisdictions: ['US'] });
32
41
  *
33
42
  * // Explicit sort
34
- * const sorted = await signa.trademarks.list({ offices: ['uspto'], sort: '-registration_date' });
43
+ * const sorted = await signa.trademarks.list({ offices: ['US'], sort: '-registration_date' });
35
44
  *
36
45
  * // Auto-pagination
37
46
  * for await (const tm of signa.trademarks.list({ jurisdictions: ['US'] })) {
@@ -59,49 +68,56 @@ export declare class Trademarks extends BaseResource {
59
68
  *
60
69
  * // Filter-only POST (no text query)
61
70
  * const filtered = await signa.trademarks.search({
62
- * filters: { offices: ['uspto'], status_primary: 'active' },
71
+ * filters: { offices: ['US'], status_primary: 'active' },
63
72
  * sort: '-filing_date',
64
73
  * options: { include_total: true },
65
74
  * });
66
75
  * ```
67
76
  */
68
- search(params: TrademarkSearchBody, options?: RequestOptions): Promise<SignaList<SearchV2Result>>;
77
+ search(params: TrademarkSearchBody, options?: RequestOptions): Promise<SignaList<TrademarkSearchResult>>;
69
78
  /**
70
- * List event history for a trademark.
79
+ * Search trademarks by logo/image similarity (beta, internal). Requires the
80
+ * `image-search:read` scope. Provide EXACTLY ONE image source:
81
+ * - `image`: raw bytes (multipart upload — Blob / ArrayBuffer / Uint8Array)
82
+ * - `image_url`: an https URL (fetched + SSRF-guarded server-side)
83
+ * - `media_id`: an existing mark's media id (reuses its stored vector)
71
84
  *
72
- * ```typescript
73
- * const events = await signa.trademarks.history('tm_abc123');
74
- * const filtered = await signa.trademarks.history('tm_abc123', { event_type: 'status_change' });
75
- * ```
76
- */
77
- history(id: string, params?: TrademarkHistoryParams, options?: RequestOptions): Promise<SignaList<Event>>;
78
- /**
79
- * Look up multiple trademarks by ID or office identifiers.
85
+ * Returns mark-level hits, each with the §3.5 signal channels + a
86
+ * `thumbnail_url`. Results are a bounded top-K (limit ≤ 100, not paginable).
80
87
  *
81
88
  * ```typescript
82
- * const result = await signa.trademarks.batch({ ids: ['tm_abc', 'tm_def'] });
83
- * const result = await signa.trademarks.batch({
84
- * identifiers: [{ application_number: '97123456', office: 'uspto' }],
89
+ * const bytes = await fs.readFile('logo.png');
90
+ * const res = await signa.trademarks.searchByImage({
91
+ * image: bytes,
92
+ * filters: { offices: ['US'], nice_classes: [9] },
93
+ * channels: ['visual', 'exact_dup'],
85
94
  * });
95
+ * for (const hit of res.data) console.log(hit.trademark.mark_text, hit.band);
86
96
  * ```
87
97
  */
88
- batch(body: TrademarkBatchBody, options?: RequestOptions): Promise<TrademarkBatchResponse>;
98
+ searchByImage(params: TrademarkImageSearchParams, options?: RequestOptions): Promise<ImageSearchResults>;
89
99
  /**
90
- * Version-level change history for a trademark.
100
+ * List the prosecution event timeline for a trademark (reverse chronological).
101
+ *
102
+ * Renamed from `history()` in 0.8.0.
91
103
  *
92
104
  * ```typescript
93
- * const changes = await signa.trademarks.changes('tm_abc123');
105
+ * const events = await signa.trademarks.events('tm_abc123');
106
+ * const filtered = await signa.trademarks.events('tm_abc123', { event_type: 'status_change' });
94
107
  * ```
95
108
  */
96
- changes(id: string, params?: TrademarkChangesParams, options?: RequestOptions): Promise<SignaList<TrademarkChange>>;
109
+ events(id: string, params?: TrademarkEventsParams, options?: RequestOptions): Promise<SignaList<Event>>;
97
110
  /**
98
- * Mark-to-mark relationships for a trademark.
111
+ * Look up multiple trademarks by ID or office identifiers.
99
112
  *
100
113
  * ```typescript
101
- * const related = await signa.trademarks.related('tm_abc123');
114
+ * const result = await signa.trademarks.batch({ ids: ['tm_abc', 'tm_def'] });
115
+ * const result = await signa.trademarks.batch({
116
+ * identifiers: [{ application_number: '97123456', office: 'US' }],
117
+ * });
102
118
  * ```
103
119
  */
104
- related(id: string, params?: TrademarkRelatedParams, options?: RequestOptions): Promise<SignaList<TrademarkRelationship>>;
120
+ batch(body: TrademarkBatchBody, options?: RequestOptions): Promise<TrademarkBatchResponse>;
105
121
  /**
106
122
  * Trademark-specific autocomplete suggestions.
107
123
  *
@@ -110,13 +126,31 @@ export declare class Trademarks extends BaseResource {
110
126
  * ```
111
127
  */
112
128
  suggest(params: TrademarkSuggestParams, options?: RequestOptions): Promise<SignaList<TrademarkSuggestion>>;
113
- /** Source provenance metadata for a trademark. */
114
- source(id: string, options?: RequestOptions): Promise<TrademarkSource>;
115
- /** Madrid IR coverage (designation territories) for a trademark. */
116
- coverage(id: string, params?: TrademarkCoverageParams, options?: RequestOptions): Promise<SignaList<TrademarkCoverage>>;
117
129
  /** Proceedings (oppositions, cancellations) linked to a trademark. */
118
130
  proceedings(id: string, params?: TrademarkProceedingsParams, options?: RequestOptions): Promise<SignaList<TrademarkProceeding>>;
119
- /** Get the redirect URL for a trademark media asset (image, sound, etc). */
120
- media(id: string, mediaId: string, options?: RequestOptions): Promise<string>;
131
+ /** Recorded assignment chain of title linked to a trademark. */
132
+ assignments(id: string, params?: TrademarkAssignmentsParams, options?: RequestOptions): Promise<SignaList<TrademarkAssignment>>;
133
+ /** Office documents linked to a trademark. */
134
+ documents(id: string, params?: TrademarkDocumentParams, options?: RequestOptions): Promise<SignaList<TrademarkDocument>>;
135
+ /**
136
+ * Absolute URL for the unauthenticated media proxy — safe to drop straight
137
+ * into an `<img src>`.
138
+ *
139
+ * This performs NO network request: it builds the URL. The endpoint is a
140
+ * server-side STREAMING proxy that answers `200` with the image bytes (it
141
+ * follows any upstream redirects internally and never emits a `Location`
142
+ * header to the caller), so there is nothing to resolve client-side.
143
+ *
144
+ * You rarely need this: `media[].url`, `primary_image_url` and
145
+ * `documents[].url` on a retrieved trademark are already absolute URLs
146
+ * pointing here — prefer following those.
147
+ *
148
+ * ```typescript
149
+ * const url = signa.trademarks.media('tm_abc123', 'med_def456');
150
+ * // => https://api.signa.so/v1/trademarks/tm_abc123/media/med_def456
151
+ * ```
152
+ */
153
+ media(id: string, mediaId: string): string;
121
154
  }
155
+ export {};
122
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,cAAc,EACd,KAAK,EACL,uBAAuB,EACvB,mBAAmB,EACnB,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,EAEf,MAAM,aAAa,CAAC;AAErB,qBAAa,UAAW,SAAQ,YAAY;IAC1C;;;;;;;;;;;;OAYG;IACG,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC;IAOrB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,IAAI,CACR,MAAM,CAAC,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAQvC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,MAAM,CACV,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAiBrC;;;;;;;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,23 +1,31 @@
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
  *
7
10
  * The full detail tier (owners, classifications, attorneys, media,
8
- * priorities, proceedings, Madrid coverage) is always returned inline.
9
- * Pass `include: ['history']` to embed the 50 most recent prosecution
10
- * events alongside the detail object.
11
+ * priorities, proceedings, plus the inline `coverage`, `relationships` and
12
+ * `provenance` blocks) is always returned inline.
13
+ * Pass `include: ['office_extensions']` to add the raw office-specific
14
+ * extension blob (omitted by default). Pass `language` to prefer matching
15
+ * goods/services classification variants without filtering unmatched groups.
11
16
  *
12
17
  * ```typescript
13
18
  * const tm = await signa.trademarks.retrieve('tm_abc123');
14
- * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['history'] });
19
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { include: ['office_extensions'] });
20
+ * const tm = await signa.trademarks.retrieve('tm_abc123', { language: 'en' });
15
21
  * ```
16
22
  */
17
23
  async retrieve(id, params, options) {
18
24
  this._validateId(id);
19
25
  return this._get(`/v1/trademarks/${encodeURIComponent(id)}`, {
20
26
  include: params?.include,
27
+ fields: params?.fields,
28
+ language: params?.language,
21
29
  }, options);
22
30
  }
23
31
  /**
@@ -35,7 +43,7 @@ export class Trademarks extends BaseResource {
35
43
  * const results = await signa.trademarks.list({ q: 'SIGNA', jurisdictions: ['US'] });
36
44
  *
37
45
  * // Explicit sort
38
- * const sorted = await signa.trademarks.list({ offices: ['uspto'], sort: '-registration_date' });
46
+ * const sorted = await signa.trademarks.list({ offices: ['US'], sort: '-registration_date' });
39
47
  *
40
48
  * // Auto-pagination
41
49
  * for await (const tm of signa.trademarks.list({ jurisdictions: ['US'] })) {
@@ -69,7 +77,7 @@ export class Trademarks extends BaseResource {
69
77
  *
70
78
  * // Filter-only POST (no text query)
71
79
  * const filtered = await signa.trademarks.search({
72
- * filters: { offices: ['uspto'], status_primary: 'active' },
80
+ * filters: { offices: ['US'], status_primary: 'active' },
73
81
  * sort: '-filing_date',
74
82
  * options: { include_total: true },
75
83
  * });
@@ -84,17 +92,79 @@ export class Trademarks extends BaseResource {
84
92
  });
85
93
  }
86
94
  /**
87
- * List event history for a trademark.
95
+ * Search trademarks by logo/image similarity (beta, internal). Requires the
96
+ * `image-search:read` scope. Provide EXACTLY ONE image source:
97
+ * - `image`: raw bytes (multipart upload — Blob / ArrayBuffer / Uint8Array)
98
+ * - `image_url`: an https URL (fetched + SSRF-guarded server-side)
99
+ * - `media_id`: an existing mark's media id (reuses its stored vector)
100
+ *
101
+ * Returns mark-level hits, each with the §3.5 signal channels + a
102
+ * `thumbnail_url`. Results are a bounded top-K (limit ≤ 100, not paginable).
103
+ *
104
+ * ```typescript
105
+ * const bytes = await fs.readFile('logo.png');
106
+ * const res = await signa.trademarks.searchByImage({
107
+ * image: bytes,
108
+ * filters: { offices: ['US'], nice_classes: [9] },
109
+ * channels: ['visual', 'exact_dup'],
110
+ * });
111
+ * for (const hit of res.data) console.log(hit.trademark.mark_text, hit.band);
112
+ * ```
113
+ */
114
+ async searchByImage(params, options) {
115
+ const { image, image_filename, image_url, media_id, filters, territory_match, crop, limit, channels } = params;
116
+ if (image !== undefined) {
117
+ // Multipart upload — the file part plus JSON-encoded scalars/objects.
118
+ const form = new FormData();
119
+ const blob = image instanceof Blob
120
+ ? image
121
+ : new Blob([(image instanceof Uint8Array ? image : new Uint8Array(image)).slice()]);
122
+ form.append('image', blob, image_filename ?? 'image');
123
+ if (filters !== undefined)
124
+ form.append('filters', JSON.stringify(filters));
125
+ // territory_match is a plain enum string on the multipart transport (not JSON-encoded).
126
+ if (territory_match !== undefined)
127
+ form.append('territory_match', territory_match);
128
+ if (crop !== undefined)
129
+ form.append('crop', JSON.stringify(crop));
130
+ if (channels !== undefined)
131
+ form.append('channels', JSON.stringify(channels));
132
+ if (limit !== undefined)
133
+ form.append('limit', String(limit));
134
+ return this._post('/v1/trademarks/search/image', form, options);
135
+ }
136
+ // JSON body — image_url or media_id.
137
+ const body = {};
138
+ if (image_url !== undefined)
139
+ body.image_url = image_url;
140
+ if (media_id !== undefined)
141
+ body.media_id = media_id;
142
+ if (filters !== undefined)
143
+ body.filters = filters;
144
+ if (territory_match !== undefined)
145
+ body.territory_match = territory_match;
146
+ if (crop !== undefined)
147
+ body.crop = crop;
148
+ if (channels !== undefined)
149
+ body.channels = channels;
150
+ if (limit !== undefined)
151
+ body.limit = limit;
152
+ return this._post('/v1/trademarks/search/image', body, options);
153
+ }
154
+ /**
155
+ * List the prosecution event timeline for a trademark (reverse chronological).
156
+ *
157
+ * Renamed from `history()` in 0.8.0.
88
158
  *
89
159
  * ```typescript
90
- * const events = await signa.trademarks.history('tm_abc123');
91
- * const filtered = await signa.trademarks.history('tm_abc123', { event_type: 'status_change' });
160
+ * const events = await signa.trademarks.events('tm_abc123');
161
+ * const filtered = await signa.trademarks.events('tm_abc123', { event_type: 'status_change' });
92
162
  * ```
93
163
  */
94
- async history(id, params, options) {
164
+ async events(id, params, options) {
95
165
  this._validateId(id);
96
166
  const fetchPage = async (cursor) => {
97
- return this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/history`, { ...params, cursor }, options);
167
+ return this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/events`, { ...params, cursor }, options);
98
168
  };
99
169
  const firstPage = await fetchPage(params?.cursor);
100
170
  return createList(firstPage, fetchPage);
@@ -105,37 +175,13 @@ export class Trademarks extends BaseResource {
105
175
  * ```typescript
106
176
  * const result = await signa.trademarks.batch({ ids: ['tm_abc', 'tm_def'] });
107
177
  * const result = await signa.trademarks.batch({
108
- * identifiers: [{ application_number: '97123456', office: 'uspto' }],
178
+ * identifiers: [{ application_number: '97123456', office: 'US' }],
109
179
  * });
110
180
  * ```
111
181
  */
112
182
  async batch(body, options) {
113
183
  return this._post('/v1/trademarks/batch', body, options);
114
184
  }
115
- /**
116
- * Version-level change history for a trademark.
117
- *
118
- * ```typescript
119
- * const changes = await signa.trademarks.changes('tm_abc123');
120
- * ```
121
- */
122
- async changes(id, params, options) {
123
- this._validateId(id);
124
- const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/changes`, params, options);
125
- return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/changes`, { ...params, cursor }, options));
126
- }
127
- /**
128
- * Mark-to-mark relationships for a trademark.
129
- *
130
- * ```typescript
131
- * const related = await signa.trademarks.related('tm_abc123');
132
- * ```
133
- */
134
- async related(id, params, options) {
135
- this._validateId(id);
136
- const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/related`, params, options);
137
- return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/related`, { ...params, cursor }, options));
138
- }
139
185
  /**
140
186
  * Trademark-specific autocomplete suggestions.
141
187
  *
@@ -147,28 +193,46 @@ export class Trademarks extends BaseResource {
147
193
  const response = await this._getListResponse('/v1/trademarks/suggest', params, options);
148
194
  return createList({ ...response, has_more: false }, () => Promise.resolve({ ...response, data: [], has_more: false }));
149
195
  }
150
- /** Source provenance metadata for a trademark. */
151
- async source(id, options) {
152
- this._validateId(id);
153
- return this._get(`/v1/trademarks/${encodeURIComponent(id)}/source`, undefined, options);
154
- }
155
- /** Madrid IR coverage (designation territories) for a trademark. */
156
- async coverage(id, params, options) {
157
- this._validateId(id);
158
- const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/coverage`, params, options);
159
- return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/coverage`, { ...params, cursor }, options));
160
- }
161
196
  /** Proceedings (oppositions, cancellations) linked to a trademark. */
162
197
  async proceedings(id, params, options) {
163
198
  this._validateId(id);
164
199
  const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/proceedings`, params, options);
165
200
  return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/proceedings`, { ...params, cursor }, options));
166
201
  }
167
- /** Get the redirect URL for a trademark media asset (image, sound, etc). */
168
- async media(id, mediaId, options) {
202
+ /** Recorded assignment chain of title linked to a trademark. */
203
+ async assignments(id, params, options) {
204
+ this._validateId(id);
205
+ const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/assignments`, params, options);
206
+ return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/assignments`, { ...params, cursor }, options));
207
+ }
208
+ /** Office documents linked to a trademark. */
209
+ async documents(id, params, options) {
210
+ this._validateId(id);
211
+ const response = await this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/documents`, params, options);
212
+ return createList(response, (cursor) => this._getListResponse(`/v1/trademarks/${encodeURIComponent(id)}/documents`, { ...params, cursor }, options));
213
+ }
214
+ /**
215
+ * Absolute URL for the unauthenticated media proxy — safe to drop straight
216
+ * into an `<img src>`.
217
+ *
218
+ * This performs NO network request: it builds the URL. The endpoint is a
219
+ * server-side STREAMING proxy that answers `200` with the image bytes (it
220
+ * follows any upstream redirects internally and never emits a `Location`
221
+ * header to the caller), so there is nothing to resolve client-side.
222
+ *
223
+ * You rarely need this: `media[].url`, `primary_image_url` and
224
+ * `documents[].url` on a retrieved trademark are already absolute URLs
225
+ * pointing here — prefer following those.
226
+ *
227
+ * ```typescript
228
+ * const url = signa.trademarks.media('tm_abc123', 'med_def456');
229
+ * // => https://api.signa.so/v1/trademarks/tm_abc123/media/med_def456
230
+ * ```
231
+ */
232
+ media(id, mediaId) {
169
233
  this._validateId(id, 'id');
170
234
  this._validateId(mediaId, 'mediaId');
171
- return this._getRedirectUrl(`/v1/trademarks/${encodeURIComponent(id)}/media/${encodeURIComponent(mediaId)}`, options);
235
+ return `${this._config.baseUrl}/v1/trademarks/${encodeURIComponent(id)}/media/${encodeURIComponent(mediaId)}`;
172
236
  }
173
237
  }
174
238
  //# sourceMappingURL=trademarks.js.map
@@ -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,6 +1,6 @@
1
1
  import { BaseResource } from '../resource.js';
2
2
  import { type SignaList } from '../pagination.js';
3
- import type { Watch, Alert, DeletedResponse, WatchCreateParams, WatchCreateQueryParams, WatchUpdateParams, WatchListParams, WatchReplayParams, WatchPreviewParams, WatchPreviewResponse, WatchBulkParams, WatchDiagnostics, WatchDiagnosticsParams, 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
4
  /**
5
5
  * Watch management — monitoring v1 (TSK-111).
6
6
  *
@@ -8,7 +8,7 @@ import type { Watch, Alert, DeletedResponse, WatchCreateParams, WatchCreateQuery
8
8
  * `'mark' | 'portfolio' | 'owner' | 'class' | 'similarity'`. `query.match`
9
9
  * is rejected in ANY form (object or string) — use `filters.ownerId`,
10
10
  * `filters.trademarkIds`, `filters.niceClasses` for scoping and
11
- * `score_threshold` for similarity precision. See {@link WatchQuery} and
11
+ * `min_match_tier` for similarity precision. See {@link WatchQuery} and
12
12
  * the watches guide for worked examples.
13
13
  */
14
14
  export declare class Watches extends BaseResource {
@@ -57,6 +57,18 @@ export declare class Watches extends BaseResource {
57
57
  * return 404.
58
58
  */
59
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>;
60
72
  /** List alerts scoped to a single watch (cursor pagination). */
61
73
  listAlerts(watchId: string, params?: AlertListParams, options?: RequestOptions): Promise<SignaList<Alert>>;
62
74
  /** @internal Build a query string from a flat params object. */
@@ -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,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,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,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"}
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"}
@@ -7,7 +7,7 @@ import { createList } from '../pagination.js';
7
7
  * `'mark' | 'portfolio' | 'owner' | 'class' | 'similarity'`. `query.match`
8
8
  * is rejected in ANY form (object or string) — use `filters.ownerId`,
9
9
  * `filters.trademarkIds`, `filters.niceClasses` for scoping and
10
- * `score_threshold` for similarity precision. See {@link WatchQuery} and
10
+ * `min_match_tier` for similarity precision. See {@link WatchQuery} and
11
11
  * the watches guide for worked examples.
12
12
  */
13
13
  export class Watches extends BaseResource {
@@ -93,6 +93,26 @@ export class Watches extends BaseResource {
93
93
  }
94
94
  return this._get(`/v1/watches/${encodeURIComponent(watchId)}/diagnostics`, { trademark_id: params.trademarkId }, options);
95
95
  }
96
+ /**
97
+ * Fetch the monthly proof-of-monitoring attestation (JSON) for a closed UTC
98
+ * calendar month. Defaults to the previous month. The current (open) month
99
+ * returns 422 unless `{ partial: true }`. Deterministic: re-fetch a closed
100
+ * period later and compare `content_hash` to verify integrity.
101
+ *
102
+ * The PDF business record is available at the HTTP layer via
103
+ * `GET /v1/watches/{id}/attestation?format=pdf` (or `Accept: application/pdf`).
104
+ *
105
+ * Required scope: `portfolios:manage`. Cross-org / unknown watch returns 404.
106
+ */
107
+ async attestation(watchId, params, options) {
108
+ this._validateId(watchId);
109
+ const query = {};
110
+ if (params?.period)
111
+ query.period = params.period;
112
+ if (params?.partial)
113
+ query.partial = 'true';
114
+ return this._get(`/v1/watches/${encodeURIComponent(watchId)}/attestation`, query, options);
115
+ }
96
116
  /** List alerts scoped to a single watch (cursor pagination). */
97
117
  async listAlerts(watchId, params, options) {
98
118
  this._validateId(watchId);
@@ -1 +1 @@
1
- {"version":3,"file":"watches.js","sourceRoot":"","sources":["../../src/resources/watches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watches.js","sourceRoot":"","sources":["../../src/resources/watches.ts"],"names":[],"mappings":"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"}