patents-mcp-server 1.0.1 → 1.0.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.
- package/README.md +26 -42
- package/dist/base.client-I5AmjQOM.js +2 -0
- package/dist/base.client-I5AmjQOM.js.map +1 -0
- package/dist/clients/base.client.d.ts +5 -0
- package/dist/clients/base.client.js +1 -1
- package/dist/clients/bigquery.client.js +3 -3
- package/dist/clients/bigquery.client.js.map +1 -1
- package/dist/clients/epo-ops.client.js.map +1 -1
- package/dist/clients/odp.client.d.ts +4 -0
- package/dist/clients/odp.client.js +1 -1
- package/dist/clients/odp.client.js.map +1 -1
- package/dist/generated/odp/index.d.ts +1 -1
- package/dist/generated/odp/zod.gen.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +5 -1
- package/dist/lib/config.js +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/patent-number.js.map +1 -1
- package/dist/lib/retry.js.map +1 -1
- package/dist/lib/types.d.ts +1 -1
- package/dist/prompts/index.js +17 -22
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/index.js +2 -9
- package/dist/resources/index.js.map +1 -1
- package/dist/server.d.ts +1 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/bigquery.tools.js +1 -1
- package/dist/tools/bigquery.tools.js.map +1 -1
- package/dist/tools/citations.tools.js +1 -1
- package/dist/tools/citations.tools.js.map +1 -1
- package/dist/tools/epo.tools.js.map +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/odp.tools.js +1 -1
- package/dist/tools/odp.tools.js.map +1 -1
- package/dist/tools/office-actions.tools.js +1 -1
- package/dist/tools/office-actions.tools.js.map +1 -1
- package/dist/tools/ptab.tools.js +1 -1
- package/dist/tools/ptab.tools.js.map +1 -1
- package/dist/tools/utility.tools.js +1 -1
- package/dist/tools/utility.tools.js.map +1 -1
- package/package.json +13 -13
- package/dist/base.client-zZnUjoIb.js +0 -2
- package/dist/base.client-zZnUjoIb.js.map +0 -1
- package/dist/clients/patentsview.client.d.ts +0 -38
- package/dist/clients/patentsview.client.js +0 -2
- package/dist/clients/patentsview.client.js.map +0 -1
- package/dist/generated/patentsview/index.d.ts +0 -2
- package/dist/generated/patentsview/index.js +0 -1
- package/dist/generated/patentsview/types.gen.d.ts +0 -2454
- package/dist/generated/patentsview/types.gen.js +0 -1
- package/dist/generated/patentsview/zod.gen.d.ts +0 -3376
- package/dist/generated/patentsview/zod.gen.js +0 -2
- package/dist/generated/patentsview/zod.gen.js.map +0 -1
- package/dist/tools/patentsview.tools.d.ts +0 -7
- package/dist/tools/patentsview.tools.js +0 -2
- package/dist/tools/patentsview.tools.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# patents-mcp-server
|
|
2
2
|
|
|
3
|
-
FastMCP TypeScript patent intelligence MCP server.
|
|
3
|
+
FastMCP TypeScript patent intelligence MCP server. 45 tools across USPTO, EPO, and Google Patents for IP landscape analysis, freedom-to-operate research, and patent monitoring.
|
|
4
|
+
|
|
5
|
+
> **Note:** PatentsView support was removed in May 2026 — its API host `search.patentsview.org` was decommissioned on 2026-03-20 when PatentsView migrated to USPTO ODP as bulk-download datasets only (no live API replacement). US full-text search is now available via Google BigQuery; bibliographic data via USPTO ODP. See `docs/MCP_PLAN-PatentsView-Rehoming_2026-05-30.md` for the options analysis.
|
|
4
6
|
|
|
5
7
|
## Data Sources
|
|
6
8
|
|
|
7
|
-
| Source | Tools | Key Capability
|
|
8
|
-
| ------------------- | ----- |
|
|
9
|
-
| **
|
|
10
|
-
| **
|
|
11
|
-
| **
|
|
12
|
-
| **Google BigQuery** | 4 | Full-text search across 90M+ patents, citation networks, CPC analytics |
|
|
9
|
+
| Source | Tools | Key Capability |
|
|
10
|
+
| ------------------- | ----- | -------------------------------------------------------------------------------- |
|
|
11
|
+
| **USPTO ODP** | 30 | Applications, document PDF download, PTAB, citations, litigation, office actions |
|
|
12
|
+
| **EPO OPS** | 8 | INPADOC patent families, legal status across ~44 offices, claims/descriptions |
|
|
13
|
+
| **Google BigQuery** | 4 | Full-text search across 90M+ patents, citation networks, CPC analytics |
|
|
13
14
|
|
|
14
15
|
Tools only register when their required API keys are configured — no broken tools cluttering the MCP client.
|
|
15
16
|
|
|
@@ -43,7 +44,6 @@ TRANSPORT=httpStream PORT=8080 node dist/index.js
|
|
|
43
44
|
"args": ["dist/index.js"],
|
|
44
45
|
"env": {
|
|
45
46
|
"USPTO_API_KEY": "${USPTO_API_KEY}",
|
|
46
|
-
"PATENTSVIEW_API_KEY": "${PATENTSVIEW_API_KEY}",
|
|
47
47
|
"EPO_CONSUMER_KEY": "${EPO_CONSUMER_KEY}",
|
|
48
48
|
"EPO_CONSUMER_SECRET": "${EPO_CONSUMER_SECRET}",
|
|
49
49
|
"GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}",
|
|
@@ -64,12 +64,11 @@ npx @modelcontextprotocol/inspector node dist/index.js
|
|
|
64
64
|
|
|
65
65
|
### API Keys
|
|
66
66
|
|
|
67
|
-
| Source
|
|
68
|
-
|
|
|
69
|
-
|
|
|
70
|
-
|
|
|
71
|
-
|
|
|
72
|
-
| BigQuery | `GOOGLE_APPLICATION_CREDENTIALS` + `GOOGLE_CLOUD_PROJECT` | GCP Console (service account with BigQuery roles) |
|
|
67
|
+
| Source | Env Var(s) | Where to Get |
|
|
68
|
+
| --------- | --------------------------------------------------------- | ------------------------------------------------- |
|
|
69
|
+
| USPTO ODP | `USPTO_API_KEY` | [data.uspto.gov](https://data.uspto.gov/) → MyODP |
|
|
70
|
+
| EPO OPS | `EPO_CONSUMER_KEY` + `EPO_CONSUMER_SECRET` | [developers.epo.org](https://developers.epo.org/) |
|
|
71
|
+
| BigQuery | `GOOGLE_APPLICATION_CREDENTIALS` + `GOOGLE_CLOUD_PROJECT` | GCP Console (service account with BigQuery roles) |
|
|
73
72
|
|
|
74
73
|
Missing API keys disable related tools gracefully — the server still starts with whatever sources are configured. Use the `check-api-status` tool to verify which sources are available.
|
|
75
74
|
|
|
@@ -90,26 +89,13 @@ This project uses [envpkt](https://github.com/jordanburke/envpkt) for credential
|
|
|
90
89
|
|
|
91
90
|
## Tools
|
|
92
91
|
|
|
93
|
-
###
|
|
94
|
-
|
|
95
|
-
Search and retrieve US patent data with disambiguated entities.
|
|
96
|
-
|
|
97
|
-
- `patentsview-search-patents` — Full-text search by text, assignee, or inventor
|
|
98
|
-
- `patentsview-get-patent` — Get patent by ID
|
|
99
|
-
- `patentsview-search-assignees` / `get-assignee` — Disambiguated assignee search
|
|
100
|
-
- `patentsview-search-inventors` / `get-inventor` — Disambiguated inventor search
|
|
101
|
-
- `patentsview-search-attorneys` / `get-attorney` — Attorney search
|
|
102
|
-
- `patentsview-get-claims` — Full claims text
|
|
103
|
-
- `patentsview-get-description` — Patent description
|
|
104
|
-
- `patentsview-search-by-cpc` / `lookup-cpc` — CPC classification search
|
|
105
|
-
- `patentsview-search-by-ipc` / `lookup-ipc` — IPC classification search
|
|
106
|
-
|
|
107
|
-
### USPTO ODP (12 tools)
|
|
92
|
+
### USPTO ODP (13 tools)
|
|
108
93
|
|
|
109
|
-
Official USPTO Open Data Portal — applications, prosecution history, assignments.
|
|
94
|
+
Official USPTO Open Data Portal — applications, prosecution history, assignments, documents.
|
|
110
95
|
|
|
111
96
|
- `odp-search-applications` — Search patent applications (2001+)
|
|
112
97
|
- `odp-get-application` / `metadata` / `continuity` / `assignment` / `adjustment` / `attorney` / `foreign-priority` / `transactions` / `documents`
|
|
98
|
+
- `odp-download-document` — Download a file-wrapper document as a PDF (proxies the authenticated fetch through the server's key)
|
|
113
99
|
- `odp-search-datasets` / `get-dataset` — Bulk data products
|
|
114
100
|
|
|
115
101
|
### PTAB (7 tools)
|
|
@@ -173,12 +159,12 @@ Six workflow prompt templates for common patent analysis tasks:
|
|
|
173
159
|
|
|
174
160
|
## Resources
|
|
175
161
|
|
|
176
|
-
| URI | Description
|
|
177
|
-
| ------------------------- |
|
|
178
|
-
| `patents://cpc/{code}` | CPC classification info
|
|
179
|
-
| `patents://status-codes` | USPTO status code definitions
|
|
180
|
-
| `patents://sources` | Data source overview
|
|
181
|
-
| `patents://search-syntax` | Query syntax guide (
|
|
162
|
+
| URI | Description |
|
|
163
|
+
| ------------------------- | ------------------------------------------- |
|
|
164
|
+
| `patents://cpc/{code}` | CPC classification info |
|
|
165
|
+
| `patents://status-codes` | USPTO status code definitions |
|
|
166
|
+
| `patents://sources` | Data source overview |
|
|
167
|
+
| `patents://search-syntax` | Query syntax guide (EPO CQL, ODP, BigQuery) |
|
|
182
168
|
|
|
183
169
|
## Development
|
|
184
170
|
|
|
@@ -196,8 +182,8 @@ pnpm fetch-specs # Re-download OpenAPI specs from upstream
|
|
|
196
182
|
Response schemas are generated from upstream OpenAPI specs using [Hey API](https://heyapi.dev/) with the Zod plugin:
|
|
197
183
|
|
|
198
184
|
```bash
|
|
199
|
-
pnpm fetch-specs # Download
|
|
200
|
-
pnpm codegen # Generate src/generated/
|
|
185
|
+
pnpm fetch-specs # Download USPTO ODP spec
|
|
186
|
+
pnpm codegen # Generate src/generated/odp/zod.gen.ts
|
|
201
187
|
```
|
|
202
188
|
|
|
203
189
|
Generated code is committed to the repo so CI doesn't need the codegen step.
|
|
@@ -207,7 +193,6 @@ Generated code is committed to the repo so CI doesn't need the codegen step.
|
|
|
207
193
|
Integration tests run against live APIs when credentials are available:
|
|
208
194
|
|
|
209
195
|
```bash
|
|
210
|
-
# Requires PATENTS_VIEW_API_KEY or PATENTSVIEW_API_KEY in env
|
|
211
196
|
# Requires USPTO_API_KEY in env
|
|
212
197
|
pnpm test
|
|
213
198
|
```
|
|
@@ -222,8 +207,8 @@ Built with [FastMCP](https://github.com/punkpeye/fastmcp) + [Zod](https://zod.de
|
|
|
222
207
|
src/
|
|
223
208
|
├── index.ts # Entry point
|
|
224
209
|
├── server.ts # FastMCP instance
|
|
225
|
-
├── tools/ #
|
|
226
|
-
├── clients/ # API clients (base,
|
|
210
|
+
├── tools/ # 45 tools across 7 modules (conditional registration)
|
|
211
|
+
├── clients/ # API clients (base, ODP, EPO, BigQuery)
|
|
227
212
|
├── generated/ # Zod schemas from OpenAPI specs (Hey API codegen)
|
|
228
213
|
├── specs/ # Local copies of OpenAPI specs
|
|
229
214
|
├── resources/ # 4 MCP resources
|
|
@@ -239,7 +224,6 @@ MIT
|
|
|
239
224
|
|
|
240
225
|
- [USPTO](https://www.uspto.gov/) - US Patent and Trademark Office
|
|
241
226
|
- [EPO OPS](https://www.epo.org/en/searching-for-patents/data/web-services/ops) - European Patent Office Open Patent Services
|
|
242
|
-
- [PatentsView](https://patentsview.org/) - USPTO patent data platform
|
|
243
227
|
- [Google Patents Public Data](https://console.cloud.google.com/marketplace/product/google_patents_public_datasets/google-patents-public-data) - BigQuery patent dataset
|
|
244
228
|
|
|
245
229
|
---
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withRetry as e}from"./lib/retry.js";function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}function n(e,n){if(t(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||`default`);if(t(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function r(e){var r=n(e,`string`);return t(r)==`symbol`?r:r+``}function i(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const a=(e,t,n)=>{let r=Error(`API Error ${e} ${t}: ${n}`);return r.status=e,r.statusText=t,r.body=n,r};var o=class{constructor(e){i(this,`baseUrl`,void 0),i(this,`headers`,void 0),i(this,`timeout`,void 0),this.baseUrl=e.baseUrl.endsWith(`/`)?e.baseUrl:`${e.baseUrl}/`,this.headers={"Content-Type":`application/json`,Accept:`application/json`,...e.headers},this.timeout=e.timeout??3e4}async get(t,n){let r=this.buildUrl(t,n);return e(()=>this.request(r,{method:`GET`}))}async post(t,n,r){let i=this.buildUrl(t,r),a={method:`POST`,...n===void 0?{}:{body:JSON.stringify(n)}};return e(()=>this.request(i,a))}async getBinary(t,n){let r=this.buildUrl(t,n);return e(()=>this.requestBinary(r))}buildUrl(e,t){let n=new URL(e,this.baseUrl);if(t)for(let[e,r]of Object.entries(t))r!==void 0&&r!==``&&n.searchParams.set(e,r);return n.toString()}async request(e,t){let n=new AbortController,r=setTimeout(()=>n.abort(),this.timeout);try{let r=await fetch(e,{...t,headers:this.headers,signal:n.signal});if(!r.ok){let e=await r.text();throw a(r.status,r.statusText,e)}return await r.json()}catch(t){throw t instanceof Error&&`status`in t?t:t instanceof DOMException&&t.name===`AbortError`?Error(`Request to ${e} timed out after ${this.timeout}ms`,{cause:t}):t}finally{clearTimeout(r)}}async requestBinary(e){let t=new AbortController,n=setTimeout(()=>t.abort(),this.timeout);try{let n=await fetch(e,{method:`GET`,headers:{...this.headers,Accept:`*/*`},signal:t.signal});if(!n.ok){let e=await n.text();throw a(n.status,n.statusText,e)}return{data:new Uint8Array(await n.arrayBuffer()),contentType:n.headers.get(`content-type`)??`application/octet-stream`}}catch(t){throw t instanceof Error&&`status`in t?t:t instanceof DOMException&&t.name===`AbortError`?Error(`Request to ${e} timed out after ${this.timeout}ms`,{cause:t}):t}finally{clearTimeout(n)}}};export{i as n,o as t};
|
|
2
|
+
//# sourceMappingURL=base.client-I5AmjQOM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.client-I5AmjQOM.js","names":[],"sources":["../src/clients/base.client.ts"],"sourcesContent":["import { withRetry } from \"../lib/retry\"\n\nexport type BaseClientOptions = {\n readonly baseUrl: string\n readonly headers?: Record<string, string>\n readonly timeout?: number\n}\n\ntype HttpError = Error & { status: number; statusText: string; body: string }\n\nconst createHttpError = (status: number, statusText: string, body: string): HttpError => {\n const error = new Error(`API Error ${status} ${statusText}: ${body}`) as HttpError\n error.status = status\n error.statusText = statusText\n error.body = body\n return error\n}\n\nexport class BaseClient {\n private readonly baseUrl: string\n private readonly headers: Record<string, string>\n private readonly timeout: number\n\n constructor(options: BaseClientOptions) {\n this.baseUrl = options.baseUrl.endsWith(\"/\") ? options.baseUrl : `${options.baseUrl}/`\n this.headers = {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n ...options.headers,\n }\n this.timeout = options.timeout ?? 30000\n }\n\n async get<T>(path: string, params?: Record<string, string>): Promise<T> {\n const url = this.buildUrl(path, params)\n return withRetry(() => this.request<T>(url, { method: \"GET\" }))\n }\n\n async post<T>(path: string, body?: unknown, params?: Record<string, string>): Promise<T> {\n const url = this.buildUrl(path, params)\n const init: RequestInit = {\n method: \"POST\",\n ...(body !== undefined ? { body: JSON.stringify(body) } : {}),\n }\n return withRetry(() => this.request<T>(url, init))\n }\n\n async getBinary(path: string, params?: Record<string, string>): Promise<{ data: Uint8Array; contentType: string }> {\n const url = this.buildUrl(path, params)\n return withRetry(() => this.requestBinary(url))\n }\n\n private buildUrl(path: string, params?: Record<string, string>): string {\n const url = new URL(path, this.baseUrl)\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value !== undefined && value !== \"\") {\n url.searchParams.set(key, value)\n }\n }\n }\n return url.toString()\n }\n\n private async request<T>(url: string, init: RequestInit): Promise<T> {\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), this.timeout)\n\n try {\n const response = await fetch(url, {\n ...init,\n headers: this.headers,\n signal: controller.signal,\n })\n\n if (!response.ok) {\n const body = await response.text()\n throw createHttpError(response.status, response.statusText, body)\n }\n\n return (await response.json()) as T\n } catch (error) {\n if (error instanceof Error && \"status\" in error) throw error\n\n if (error instanceof DOMException && error.name === \"AbortError\") {\n throw new Error(`Request to ${url} timed out after ${this.timeout}ms`, { cause: error })\n }\n\n throw error\n } finally {\n clearTimeout(timeoutId)\n }\n }\n\n private async requestBinary(url: string): Promise<{ data: Uint8Array; contentType: string }> {\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), this.timeout)\n\n try {\n // fetch follows the ODP 302 redirect to the pre-signed download URL automatically\n const response = await fetch(url, {\n method: \"GET\",\n headers: { ...this.headers, Accept: \"*/*\" },\n signal: controller.signal,\n })\n\n if (!response.ok) {\n const body = await response.text()\n throw createHttpError(response.status, response.statusText, body)\n }\n\n const data = new Uint8Array(await response.arrayBuffer())\n return { data, contentType: response.headers.get(\"content-type\") ?? \"application/octet-stream\" }\n } catch (error) {\n if (error instanceof Error && \"status\" in error) throw error\n\n if (error instanceof DOMException && error.name === \"AbortError\") {\n throw new Error(`Request to ${url} timed out after ${this.timeout}ms`, { cause: error })\n }\n\n throw error\n } finally {\n clearTimeout(timeoutId)\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -11,8 +11,13 @@ declare class BaseClient {
|
|
|
11
11
|
constructor(options: BaseClientOptions);
|
|
12
12
|
get<T>(path: string, params?: Record<string, string>): Promise<T>;
|
|
13
13
|
post<T>(path: string, body?: unknown, params?: Record<string, string>): Promise<T>;
|
|
14
|
+
getBinary(path: string, params?: Record<string, string>): Promise<{
|
|
15
|
+
data: Uint8Array;
|
|
16
|
+
contentType: string;
|
|
17
|
+
}>;
|
|
14
18
|
private buildUrl;
|
|
15
19
|
private request;
|
|
20
|
+
private requestBinary;
|
|
16
21
|
}
|
|
17
22
|
//#endregion
|
|
18
23
|
export { BaseClient, BaseClientOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"../base.client-
|
|
1
|
+
import{t as e}from"../base.client-I5AmjQOM.js";export{e as BaseClient};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{config as e}from"../lib/config.js";import{BigQuery as t}from"@google-cloud/bigquery";const n=`patents-public-data.patents.publications`,r=()=>new t({projectId:e.googleCloudProject,keyFilename:e.googleApplicationCredentials}),i=e=>{let t=Number(e)/0xe8d4a51000;return t<=1?`Free (within 1 TB/month free tier)`:`~$${(t*5).toFixed(2)} (${t.toFixed(3)} TB at $5/TB)`},a=async(e,t)=>{let n=r()
|
|
1
|
+
import{config as e}from"../lib/config.js";import{BigQuery as t}from"@google-cloud/bigquery";const n=`patents-public-data.patents.publications`,r=()=>e.googleCredentialsJson?new t({projectId:e.googleCloudProject,credentials:e.googleCredentialsJson}):new t({projectId:e.googleCloudProject,keyFilename:e.googleApplicationCredentials}),i=e=>{let t=Number(e)/0xe8d4a51000;return t<=1?`Free (within 1 TB/month free tier)`:`~$${(t*5).toFixed(2)} (${t.toFixed(3)} TB at $5/TB)`},a=async(e,t)=>{let n=r();try{let[r]=await n.createQueryJob({query:e,params:t,dryRun:!0,useLegacySql:!1}),a=r.metadata?.statistics?.totalBytesProcessed??`0`,o=i(a),[s]=await n.createQueryJob({query:e,params:t,useLegacySql:!1}),[c]=await s.getQueryResults();return{rows:c,totalRows:c.length,estimatedBytesProcessed:a,estimatedCostUsd:o}}catch(e){let t=e instanceof Error?e.message:typeof e==`object`&&e?JSON.stringify(e):String(e);throw Error(`BigQuery error: ${t}`,{cause:e})}},o=async(e,t=[`publication_number`,`title_localized`,`abstract_localized`,`publication_date`,`assignee_harmonized`],r=25)=>a(`
|
|
2
2
|
SELECT ${t.join(`, `)}
|
|
3
3
|
FROM \`${n}\`
|
|
4
|
-
WHERE EXISTS (SELECT 1 FROM UNNEST(abstract_localized) a WHERE
|
|
5
|
-
OR EXISTS (SELECT 1 FROM UNNEST(title_localized) t WHERE
|
|
4
|
+
WHERE EXISTS (SELECT 1 FROM UNNEST(abstract_localized) a WHERE CONTAINS_SUBSTR(a.text, @query))
|
|
5
|
+
OR EXISTS (SELECT 1 FROM UNNEST(title_localized) t WHERE CONTAINS_SUBSTR(t.text, @query))
|
|
6
6
|
ORDER BY publication_date DESC
|
|
7
7
|
LIMIT @limit
|
|
8
8
|
`,{query:e,limit:r}),s=async e=>a(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigquery.client.js","names":[],"sources":["../../src/clients/bigquery.client.ts"],"sourcesContent":["import { BigQuery } from \"@google-cloud/bigquery\"\n\nimport { config } from \"../lib/config\"\n\nconst DATASET = \"patents-public-data.patents.publications\"\n\ntype BigQueryResult = {\n rows: Record<string, unknown>[]\n totalRows: number\n estimatedBytesProcessed: string\n estimatedCostUsd: string\n}\n\nconst getBigQueryClient = (): BigQuery => {\n return new BigQuery({\n projectId: config.googleCloudProject,\n keyFilename: config.googleApplicationCredentials,\n })\n}\n\nconst estimateCost = (bytes: string): string => {\n const tb = Number(bytes) / 1e12\n if (tb <= 1) return \"Free (within 1 TB/month free tier)\"\n return `~$${(tb * 5).toFixed(2)} (${tb.toFixed(3)} TB at $5/TB)`\n}\n\nconst runQuery = async (sql: string, params?: Record<string, unknown>): Promise<BigQueryResult> => {\n const client = getBigQueryClient()\n\n // Always dry run first to estimate cost\n
|
|
1
|
+
{"version":3,"file":"bigquery.client.js","names":[],"sources":["../../src/clients/bigquery.client.ts"],"sourcesContent":["import { BigQuery } from \"@google-cloud/bigquery\"\n\nimport { config } from \"../lib/config\"\n\nconst DATASET = \"patents-public-data.patents.publications\"\n\ntype BigQueryResult = {\n rows: Record<string, unknown>[]\n totalRows: number\n estimatedBytesProcessed: string\n estimatedCostUsd: string\n}\n\nconst getBigQueryClient = (): BigQuery => {\n if (config.googleCredentialsJson) {\n return new BigQuery({\n projectId: config.googleCloudProject,\n credentials: config.googleCredentialsJson,\n })\n }\n return new BigQuery({\n projectId: config.googleCloudProject,\n keyFilename: config.googleApplicationCredentials,\n })\n}\n\nconst estimateCost = (bytes: string): string => {\n const tb = Number(bytes) / 1e12\n if (tb <= 1) return \"Free (within 1 TB/month free tier)\"\n return `~$${(tb * 5).toFixed(2)} (${tb.toFixed(3)} TB at $5/TB)`\n}\n\nconst runQuery = async (sql: string, params?: Record<string, unknown>): Promise<BigQueryResult> => {\n const client = getBigQueryClient()\n\n try {\n // Always dry run first to estimate cost\n const [dryRunJob] = await client.createQueryJob({\n query: sql,\n params,\n dryRun: true,\n useLegacySql: false,\n })\n\n const bytesProcessed = dryRunJob.metadata?.statistics?.totalBytesProcessed ?? \"0\"\n const costEstimate = estimateCost(bytesProcessed)\n\n // Execute the actual query\n const [job] = await client.createQueryJob({\n query: sql,\n params,\n useLegacySql: false,\n })\n\n const [rows] = await job.getQueryResults()\n\n return {\n rows: rows as Record<string, unknown>[],\n totalRows: rows.length,\n estimatedBytesProcessed: bytesProcessed,\n estimatedCostUsd: costEstimate,\n }\n } catch (error: unknown) {\n const message =\n error instanceof Error\n ? error.message\n : typeof error === \"object\" && error !== null\n ? JSON.stringify(error)\n : String(error)\n throw new Error(`BigQuery error: ${message}`, { cause: error })\n }\n}\n\nexport const bigqueryPatentSearch = async (\n query: string,\n fields: string[] = [\n \"publication_number\",\n \"title_localized\",\n \"abstract_localized\",\n \"publication_date\",\n \"assignee_harmonized\",\n ],\n limit = 25,\n): Promise<BigQueryResult> => {\n const selectedFields = fields.join(\", \")\n const sql = `\n SELECT ${selectedFields}\n FROM \\`${DATASET}\\`\n WHERE EXISTS (SELECT 1 FROM UNNEST(abstract_localized) a WHERE CONTAINS_SUBSTR(a.text, @query))\n OR EXISTS (SELECT 1 FROM UNNEST(title_localized) t WHERE CONTAINS_SUBSTR(t.text, @query))\n ORDER BY publication_date DESC\n LIMIT @limit\n `\n return runQuery(sql, { query, limit })\n}\n\nexport const bigqueryPatentFamily = async (familyId: string): Promise<BigQueryResult> => {\n const sql = `\n SELECT\n publication_number,\n country_code,\n title_localized,\n publication_date,\n grant_date,\n application_number,\n priority_date\n FROM \\`${DATASET}\\`\n WHERE family_id = @familyId\n ORDER BY publication_date\n `\n return runQuery(sql, { familyId })\n}\n\nexport const bigqueryCitationNetwork = async (publicationNumber: string, depth = 1): Promise<BigQueryResult> => {\n if (depth === 1) {\n const sql = `\n SELECT\n p.publication_number AS source,\n c.publication_number AS cited_publication,\n c.category,\n c.type\n FROM \\`${DATASET}\\` p,\n UNNEST(citation) AS c\n WHERE p.publication_number = @publicationNumber\n `\n return runQuery(sql, { publicationNumber })\n }\n\n // Depth 2: citations of citations\n const sql = `\n WITH level1 AS (\n SELECT\n p.publication_number AS source,\n c.publication_number AS cited\n FROM \\`${DATASET}\\` p,\n UNNEST(citation) AS c\n WHERE p.publication_number = @publicationNumber\n ),\n level2 AS (\n SELECT\n l1.cited AS source,\n c.publication_number AS cited\n FROM level1 l1\n JOIN \\`${DATASET}\\` p ON p.publication_number = l1.cited,\n UNNEST(citation) AS c\n )\n SELECT * FROM level1\n UNION ALL\n SELECT * FROM level2\n LIMIT 500\n `\n return runQuery(sql, { publicationNumber })\n}\n\nexport const bigqueryCpcAnalytics = async (\n cpcPrefix: string,\n dateFrom?: string,\n dateTo?: string,\n): Promise<BigQueryResult> => {\n const dateFilter = [\n dateFrom ? \"AND publication_date >= @dateFrom\" : \"\",\n dateTo ? \"AND publication_date <= @dateTo\" : \"\",\n ].join(\" \")\n\n const sql = `\n SELECT\n c.code AS cpc_code,\n COUNT(*) AS patent_count,\n COUNT(DISTINCT assignee.name) AS unique_assignees,\n MIN(publication_date) AS earliest_publication,\n MAX(publication_date) AS latest_publication\n FROM \\`${DATASET}\\` p,\n UNNEST(cpc) AS c,\n UNNEST(assignee_harmonized) AS assignee\n WHERE c.code LIKE @cpcPrefix\n ${dateFilter}\n GROUP BY c.code\n ORDER BY patent_count DESC\n LIMIT 100\n `\n\n const params: Record<string, unknown> = { cpcPrefix: `${cpcPrefix}%` }\n if (dateFrom) params.dateFrom = Number(dateFrom)\n if (dateTo) params.dateTo = Number(dateTo)\n\n return runQuery(sql, params)\n}\n"],"mappings":"4FAIA,MAAM,EAAU,2CASV,MACA,EAAO,sBACF,IAAI,EAAS,CAClB,UAAW,EAAO,mBAClB,YAAa,EAAO,qBACtB,CAAC,EAEI,IAAI,EAAS,CAClB,UAAW,EAAO,mBAClB,YAAa,EAAO,4BACtB,CAAC,EAGG,EAAgB,GAA0B,CAC9C,IAAM,EAAK,OAAO,CAAK,EAAI,aAE3B,OADI,GAAM,EAAU,qCACb,MAAM,EAAK,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAG,QAAQ,CAAC,EAAE,cACpD,EAEM,EAAW,MAAO,EAAa,IAA8D,CACjG,IAAM,EAAS,EAAkB,EAEjC,GAAI,CAEF,GAAM,CAAC,GAAa,MAAM,EAAO,eAAe,CAC9C,MAAO,EACP,SACA,OAAQ,GACR,aAAc,EAChB,CAAC,EAEK,EAAiB,EAAU,UAAU,YAAY,qBAAuB,IACxE,EAAe,EAAa,CAAc,EAG1C,CAAC,GAAO,MAAM,EAAO,eAAe,CACxC,MAAO,EACP,SACA,aAAc,EAChB,CAAC,EAEK,CAAC,GAAQ,MAAM,EAAI,gBAAgB,EAEzC,MAAO,CACC,OACN,UAAW,EAAK,OAChB,wBAAyB,EACzB,iBAAkB,CACpB,CACF,OAAS,EAAgB,CACvB,IAAM,EACJ,aAAiB,MACb,EAAM,QACN,OAAO,GAAU,UAAY,EAC3B,KAAK,UAAU,CAAK,EACpB,OAAO,CAAK,EACpB,MAAU,MAAM,mBAAmB,IAAW,CAAE,MAAO,CAAM,CAAC,CAChE,CACF,EAEa,EAAuB,MAClC,EACA,EAAmB,CACjB,qBACA,kBACA,qBACA,mBACA,qBACF,EACA,EAAQ,KAWD,EAAS;aATO,EAAO,KAAK,IAEX,EAAE;aACf,EAAQ;;;;;IAME,CAAE,QAAO,OAAM,CAAC,EAG1B,EAAuB,KAAO,IAclC,EAAS;;;;;;;;;aAJL,EAAQ;;;IAIE,CAAE,UAAS,CAAC,EAGtB,EAA0B,MAAO,EAA2B,EAAQ,IAYtE,EAXL,IAAU,EAWI;;;;;;eAJL,EAAQ;;;MA8BL;;;;;eAjBH,EAAQ;;;;;;;;;eASR,EAAQ;;;;;;;IAlBE,CAAE,mBAAkB,CAAC,EA6BjC,EAAuB,MAClC,EACA,EACA,IAC4B,CAM5B,IAAM,EAAM;;;;;;;aAOD,EAAQ;;;;QAZA,CACjB,EAAW,oCAAsC,GACjD,EAAS,kCAAoC,EAC/C,EAAE,KAAK,GAaQ,EAAE;;;;IAMX,EAAkC,CAAE,UAAW,GAAG,EAAU,EAAG,EAIrE,OAHI,IAAU,EAAO,SAAW,OAAO,CAAQ,GAC3C,IAAQ,EAAO,OAAS,OAAO,CAAM,GAElC,EAAS,EAAK,CAAM,CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epo-ops.client.js","names":[],"sources":["../../src/clients/epo-ops.client.ts"],"sourcesContent":["import { XMLParser } from \"fast-xml-parser\"\n\nimport { config } from \"../lib/config\"\nimport { withRetry } from \"../lib/retry\"\nimport { BaseClient } from \"./base.client\"\n\nconst EPO_AUTH_URL = \"https://ops.epo.org/3.2/auth/accesstoken\"\nconst EPO_BASE_URL = \"https://ops.epo.org/3.2/rest-services/\"\n\ntype EpoNumberFormat = \"docdb\" | \"epodoc\" | \"original\"\n\ntype TokenCache = {\n token: string\n expiresAt: number\n}\n\nlet tokenCache: TokenCache | undefined\n\nconst xmlParser = new XMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: \"@_\",\n removeNSPrefix: true,\n isArray: (name) => {\n const arrayElements = [\n \"exchange-document\",\n \"document-id\",\n \"classification-ipcr\",\n \"classification-cpc\",\n \"patent-classification\",\n \"applicant\",\n \"inventor\",\n \"priority-claim\",\n \"family-member\",\n \"legal\",\n ]\n return arrayElements.includes(name)\n },\n})\n\nconst getAccessToken = async (): Promise<string> => {\n if (tokenCache && Date.now() < tokenCache.expiresAt) {\n return tokenCache.token\n }\n\n const key = config.epoConsumerKey\n const secret = config.epoConsumerSecret\n\n if (!key || !secret) {\n throw new Error(\"EPO OPS credentials not configured. Set EPO_CONSUMER_KEY and EPO_CONSUMER_SECRET.\")\n }\n\n const credentials = Buffer.from(`${key}:${secret}`).toString(\"base64\")\n\n const response = await fetch(EPO_AUTH_URL, {\n method: \"POST\",\n headers: {\n Authorization: `Basic ${credentials}`,\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: \"grant_type=client_credentials\",\n })\n\n if (!response.ok) {\n throw new Error(`EPO OAuth failed: ${response.status} ${response.statusText}`)\n }\n\n const data = (await response.json()) as { access_token: string }\n tokenCache = {\n token: data.access_token,\n expiresAt: Date.now() + 19 * 60 * 1000, // 19 min (1 min buffer before 20 min expiry)\n }\n\n return tokenCache.token\n}\n\nconst clearTokenCache = (): void => {\n tokenCache = undefined\n}\n\nconst epoRequest = async <T>(path: string, accept = \"application/xml\"): Promise<T> => {\n const makeRequest = async (): Promise<T> => {\n const token = await getAccessToken()\n\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), config.requestTimeout)\n\n try {\n const response = await fetch(`${EPO_BASE_URL}${path}`, {\n headers: {\n Authorization: `Bearer ${token}`,\n Accept: accept,\n },\n signal: controller.signal,\n })\n\n if (response.status === 400 || response.status === 401) {\n clearTokenCache()\n throw new Error(`EPO auth error: ${response.status}`)\n }\n\n if (!response.ok) {\n const text = await response.text()\n throw new Error(`EPO API error ${response.status}: ${text.slice(0, 500)}`)\n }\n\n const throttling = response.headers.get(\"x-throttling-control\")\n if (throttling?.includes(\"black\")) {\n throw new Error(\"EPO rate limit exceeded (black). Wait before retrying.\")\n }\n\n if (accept === \"application/json\") {\n return (await response.json()) as T\n }\n\n const xml = await response.text()\n return xmlParser.parse(xml) as T\n } finally {\n clearTimeout(timeoutId)\n }\n }\n\n return withRetry(makeRequest, {\n maxRetries: config.maxRetries,\n minWait: config.retryMinWait,\n maxWait: config.retryMaxWait,\n })\n}\n\nconst formatNumber = (number: string, format: EpoNumberFormat = \"docdb\"): string => {\n const cleaned = number.replace(/\\s+/g, \"\").replace(/[/,]/g, \"\")\n switch (format) {\n case \"docdb\":\n return cleaned\n case \"epodoc\":\n return cleaned\n case \"original\":\n return number\n default:\n return cleaned\n }\n}\n\nexport const epoSearchPatents = async (query: string, range?: string): Promise<unknown> => {\n const rangePart = range ? `&Range=${range}` : \"\"\n return epoRequest(`published-data/search?q=${encodeURIComponent(query)}${rangePart}`)\n}\n\nexport const epoGetBiblio = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/biblio`)\n}\n\nexport const epoGetAbstract = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/abstract`)\n}\n\nexport const epoGetClaims = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/claims`)\n}\n\nexport const epoGetDescription = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/description`)\n}\n\nexport const epoFamilyLookup = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`family/publication/${format}/${num}`)\n}\n\nexport const epoLegalStatus = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/legal`)\n}\n\nexport const epoNumberConvert = async (\n number: string,\n inputFormat: EpoNumberFormat,\n outputFormat: EpoNumberFormat,\n): Promise<unknown> => {\n const num = formatNumber(number, inputFormat)\n return epoRequest(`number-service/${inputFormat}/${num}/${outputFormat}`)\n}\n"],"mappings":"kIAgBA,IAAI,EAEJ,MAAM,EAAY,IAAI,EAAU,CAC9B,iBAAkB,GAClB,oBAAqB,KACrB,eAAgB,GAChB,QAAU,
|
|
1
|
+
{"version":3,"file":"epo-ops.client.js","names":[],"sources":["../../src/clients/epo-ops.client.ts"],"sourcesContent":["import { XMLParser } from \"fast-xml-parser\"\n\nimport { config } from \"../lib/config\"\nimport { withRetry } from \"../lib/retry\"\nimport { BaseClient } from \"./base.client\"\n\nconst EPO_AUTH_URL = \"https://ops.epo.org/3.2/auth/accesstoken\"\nconst EPO_BASE_URL = \"https://ops.epo.org/3.2/rest-services/\"\n\ntype EpoNumberFormat = \"docdb\" | \"epodoc\" | \"original\"\n\ntype TokenCache = {\n token: string\n expiresAt: number\n}\n\nlet tokenCache: TokenCache | undefined\n\nconst xmlParser = new XMLParser({\n ignoreAttributes: false,\n attributeNamePrefix: \"@_\",\n removeNSPrefix: true,\n isArray: (name) => {\n const arrayElements = [\n \"exchange-document\",\n \"document-id\",\n \"classification-ipcr\",\n \"classification-cpc\",\n \"patent-classification\",\n \"applicant\",\n \"inventor\",\n \"priority-claim\",\n \"family-member\",\n \"legal\",\n ]\n return arrayElements.includes(name)\n },\n})\n\nconst getAccessToken = async (): Promise<string> => {\n if (tokenCache && Date.now() < tokenCache.expiresAt) {\n return tokenCache.token\n }\n\n const key = config.epoConsumerKey\n const secret = config.epoConsumerSecret\n\n if (!key || !secret) {\n throw new Error(\"EPO OPS credentials not configured. Set EPO_CONSUMER_KEY and EPO_CONSUMER_SECRET.\")\n }\n\n const credentials = Buffer.from(`${key}:${secret}`).toString(\"base64\")\n\n const response = await fetch(EPO_AUTH_URL, {\n method: \"POST\",\n headers: {\n Authorization: `Basic ${credentials}`,\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n body: \"grant_type=client_credentials\",\n })\n\n if (!response.ok) {\n throw new Error(`EPO OAuth failed: ${response.status} ${response.statusText}`)\n }\n\n const data = (await response.json()) as { access_token: string }\n tokenCache = {\n token: data.access_token,\n expiresAt: Date.now() + 19 * 60 * 1000, // 19 min (1 min buffer before 20 min expiry)\n }\n\n return tokenCache.token\n}\n\nconst clearTokenCache = (): void => {\n tokenCache = undefined\n}\n\nconst epoRequest = async <T>(path: string, accept = \"application/xml\"): Promise<T> => {\n const makeRequest = async (): Promise<T> => {\n const token = await getAccessToken()\n\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), config.requestTimeout)\n\n try {\n const response = await fetch(`${EPO_BASE_URL}${path}`, {\n headers: {\n Authorization: `Bearer ${token}`,\n Accept: accept,\n },\n signal: controller.signal,\n })\n\n if (response.status === 400 || response.status === 401) {\n clearTokenCache()\n throw new Error(`EPO auth error: ${response.status}`)\n }\n\n if (!response.ok) {\n const text = await response.text()\n throw new Error(`EPO API error ${response.status}: ${text.slice(0, 500)}`)\n }\n\n const throttling = response.headers.get(\"x-throttling-control\")\n if (throttling?.includes(\"black\")) {\n throw new Error(\"EPO rate limit exceeded (black). Wait before retrying.\")\n }\n\n if (accept === \"application/json\") {\n return (await response.json()) as T\n }\n\n const xml = await response.text()\n return xmlParser.parse(xml) as T\n } finally {\n clearTimeout(timeoutId)\n }\n }\n\n return withRetry(makeRequest, {\n maxRetries: config.maxRetries,\n minWait: config.retryMinWait,\n maxWait: config.retryMaxWait,\n })\n}\n\nconst formatNumber = (number: string, format: EpoNumberFormat = \"docdb\"): string => {\n const cleaned = number.replace(/\\s+/g, \"\").replace(/[/,]/g, \"\")\n switch (format) {\n case \"docdb\":\n return cleaned\n case \"epodoc\":\n return cleaned\n case \"original\":\n return number\n default:\n return cleaned\n }\n}\n\nexport const epoSearchPatents = async (query: string, range?: string): Promise<unknown> => {\n const rangePart = range ? `&Range=${range}` : \"\"\n return epoRequest(`published-data/search?q=${encodeURIComponent(query)}${rangePart}`)\n}\n\nexport const epoGetBiblio = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/biblio`)\n}\n\nexport const epoGetAbstract = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/abstract`)\n}\n\nexport const epoGetClaims = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/claims`)\n}\n\nexport const epoGetDescription = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/description`)\n}\n\nexport const epoFamilyLookup = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`family/publication/${format}/${num}`)\n}\n\nexport const epoLegalStatus = async (number: string, format: EpoNumberFormat = \"docdb\"): Promise<unknown> => {\n const num = formatNumber(number, format)\n return epoRequest(`published-data/publication/${format}/${num}/legal`)\n}\n\nexport const epoNumberConvert = async (\n number: string,\n inputFormat: EpoNumberFormat,\n outputFormat: EpoNumberFormat,\n): Promise<unknown> => {\n const num = formatNumber(number, inputFormat)\n return epoRequest(`number-service/${inputFormat}/${num}/${outputFormat}`)\n}\n"],"mappings":"kIAgBA,IAAI,EAEJ,MAAM,EAAY,IAAI,EAAU,CAC9B,iBAAkB,GAClB,oBAAqB,KACrB,eAAgB,GAChB,QAAU,GAaD,CAXL,oBACA,cACA,sBACA,qBACA,wBACA,YACA,WACA,iBACA,gBACA,OAEiB,EAAE,SAAS,CAAI,CAEtC,CAAC,EAEK,EAAiB,SAA6B,CAClD,GAAI,GAAc,KAAK,IAAI,EAAI,EAAW,UACxC,OAAO,EAAW,MAGpB,IAAM,EAAM,EAAO,eACb,EAAS,EAAO,kBAEtB,GAAI,CAAC,GAAO,CAAC,EACX,MAAU,MAAM,mFAAmF,EAGrG,IAAM,EAAc,OAAO,KAAK,GAAG,EAAI,GAAG,GAAQ,EAAE,SAAS,QAAQ,EAE/D,EAAW,MAAM,MAAM,2CAAc,CACzC,OAAQ,OACR,QAAS,CACP,cAAe,SAAS,IACxB,eAAgB,mCAClB,EACA,KAAM,+BACR,CAAC,EAED,GAAI,CAAC,EAAS,GACZ,MAAU,MAAM,qBAAqB,EAAS,OAAO,GAAG,EAAS,YAAY,EAS/E,MALA,GAAa,CACX,OAAO,MAFW,EAAS,KAAK,GAEpB,aACZ,UAAW,KAAK,IAAI,EAAI,KAAU,GACpC,EAEO,EAAW,KACpB,EAEM,MAA8B,CAClC,EAAa,IAAA,EACf,EAEM,EAAa,MAAU,EAAc,EAAS,oBA0C3C,EAAU,SAzC2B,CAC1C,IAAM,EAAQ,MAAM,EAAe,EAE7B,EAAa,IAAI,gBACjB,EAAY,eAAiB,EAAW,MAAM,EAAG,EAAO,cAAc,EAE5E,GAAI,CACF,IAAM,EAAW,MAAM,MAAM,yCAAkB,IAAQ,CACrD,QAAS,CACP,cAAe,UAAU,IACzB,OAAQ,CACV,EACA,OAAQ,EAAW,MACrB,CAAC,EAED,GAAI,EAAS,SAAW,KAAO,EAAS,SAAW,IAEjD,MADA,EAAgB,EACN,MAAM,mBAAmB,EAAS,QAAQ,EAGtD,GAAI,CAAC,EAAS,GAAI,CAChB,IAAM,EAAO,MAAM,EAAS,KAAK,EACjC,MAAU,MAAM,iBAAiB,EAAS,OAAO,IAAI,EAAK,MAAM,EAAG,GAAG,GAAG,CAC3E,CAGA,GADmB,EAAS,QAAQ,IAAI,sBAC3B,GAAG,SAAS,OAAO,EAC9B,MAAU,MAAM,wDAAwD,EAG1E,GAAI,IAAW,mBACb,OAAQ,MAAM,EAAS,KAAK,EAG9B,IAAM,EAAM,MAAM,EAAS,KAAK,EAChC,OAAO,EAAU,MAAM,CAAG,CAC5B,QAAU,CACR,aAAa,CAAS,CACxB,CACF,EAE8B,CAC5B,WAAY,EAAO,WACnB,QAAS,EAAO,aAChB,QAAS,EAAO,YAClB,CAAC,EAGG,GAAgB,EAAgB,EAA0B,UAAoB,CAClF,IAAM,EAAU,EAAO,QAAQ,OAAQ,EAAE,EAAE,QAAQ,QAAS,EAAE,EAC9D,OAAQ,EAAR,CACE,IAAK,QACH,OAAO,EACT,IAAK,SACH,OAAO,EACT,IAAK,WACH,OAAO,EACT,QACE,OAAO,CACX,CACF,EAEa,EAAmB,MAAO,EAAe,IAAqC,CACzF,IAAM,EAAY,EAAQ,UAAU,IAAU,GAC9C,OAAO,EAAW,2BAA2B,mBAAmB,CAAK,IAAI,GAAW,CACtF,EAEa,EAAe,MAAO,EAAgB,EAA0B,UAEpE,EAAW,8BAA8B,EAAO,GAD3C,EAAa,EAAQ,CAC2B,EAAE,QAAQ,EAG3D,EAAiB,MAAO,EAAgB,EAA0B,UAEtE,EAAW,8BAA8B,EAAO,GAD3C,EAAa,EAAQ,CAC2B,EAAE,UAAU,EAG7D,EAAe,MAAO,EAAgB,EAA0B,UAEpE,EAAW,8BAA8B,EAAO,GAD3C,EAAa,EAAQ,CAC2B,EAAE,QAAQ,EAG3D,EAAoB,MAAO,EAAgB,EAA0B,UAEzE,EAAW,8BAA8B,EAAO,GAD3C,EAAa,EAAQ,CAC2B,EAAE,aAAa,EAGhE,EAAkB,MAAO,EAAgB,EAA0B,UAEvE,EAAW,sBAAsB,EAAO,GADnC,EAAa,EAAQ,CACmB,GAAG,EAG5C,EAAiB,MAAO,EAAgB,EAA0B,UAEtE,EAAW,8BAA8B,EAAO,GAD3C,EAAa,EAAQ,CAC2B,EAAE,OAAO,EAG1D,EAAmB,MAC9B,EACA,EACA,IAGO,EAAW,kBAAkB,EAAY,GADpC,EAAa,EAAQ,CACoB,EAAE,GAAG,GAAc"}
|
|
@@ -18,6 +18,10 @@ declare class OdpClient {
|
|
|
18
18
|
getForeignPriority(appNum: string): Promise<unknown>;
|
|
19
19
|
getTransactions(appNum: string): Promise<unknown>;
|
|
20
20
|
getDocuments(appNum: string): Promise<unknown>;
|
|
21
|
+
downloadDocument(appNum: string, documentIdentifier: string): Promise<{
|
|
22
|
+
data: Uint8Array;
|
|
23
|
+
contentType: string;
|
|
24
|
+
}>;
|
|
21
25
|
searchDatasets(query: string): Promise<unknown>;
|
|
22
26
|
getDataset(productId: string): Promise<unknown>;
|
|
23
27
|
searchProceedings(query: string, type?: string, limit?: number): Promise<unknown>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{normalizePatentNumber as e}from"../lib/patent-number.js";import{n as t,t as n}from"../base.client-
|
|
1
|
+
import{normalizePatentNumber as e}from"../lib/patent-number.js";import{n as t,t as n}from"../base.client-I5AmjQOM.js";const r=()=>{let e=process.env.USPTO_API_KEY;if(!e)throw Error(`USPTO_API_KEY environment variable is required for ODP client`);return{apiKey:e,baseUrl:process.env.USPTO_BASE_URL??`https://api.uspto.gov/api/v1/`,timeout:process.env.USPTO_TIMEOUT?parseInt(process.env.USPTO_TIMEOUT,10):3e4}};var i=class{constructor(e){t(this,`client`,void 0);let i=e??r();this.client=new n({baseUrl:i.baseUrl??`https://api.uspto.gov/api/v1/`,headers:{"X-API-KEY":i.apiKey},timeout:i.timeout})}async searchApplications(e,t,n,r){let i={q:e};return(t!==void 0||n!==void 0)&&(i.pagination={...n===void 0?{}:{offset:n},...t===void 0?{}:{limit:t}}),r!==void 0&&(i.sort=r),this.client.post(`patent/applications/search`,i)}async getApplication(t){return this.client.get(`patent/applications/${e(t)}`)}async getApplicationMetadata(t){return this.client.get(`patent/applications/${e(t)}/metadata`)}async getContinuity(t){return this.client.get(`patent/applications/${e(t)}/continuity`)}async getAssignment(t){return this.client.get(`patent/applications/${e(t)}/assignment`)}async getAdjustment(t){return this.client.get(`patent/applications/${e(t)}/adjustment`)}async getAttorney(t){return this.client.get(`patent/applications/${e(t)}/attorney`)}async getForeignPriority(t){return this.client.get(`patent/applications/${e(t)}/foreign-priority`)}async getTransactions(t){return this.client.get(`patent/applications/${e(t)}/transactions`)}async getDocuments(t){return this.client.get(`patent/applications/${e(t)}/documents`)}async downloadDocument(t,n){return this.client.getBinary(`download/applications/${e(t)}/${n}.pdf`)}async searchDatasets(e){return this.client.get(`datasets`,{searchText:e})}async getDataset(e){return this.client.get(`datasets/${e}`)}async searchProceedings(e,t,n){let r={searchText:e};return t!==void 0&&(r.type=t),n!==void 0&&(r.limit=String(n)),this.client.get(`patent/trials`,r)}async getProceeding(e){return this.client.get(`patent/trials/${e}`)}async getProceedingDocuments(e){return this.client.get(`patent/trials/${e}/documents`)}async searchDecisions(e,t){let n={searchText:e};return t!==void 0&&(n.limit=String(t)),this.client.get(`patent/trials/decisions`,n)}async getDecision(e){return this.client.get(`patent/trials/decisions/${e}`)}async searchAppeals(e,t){let n={searchText:e};return t!==void 0&&(n.limit=String(t)),this.client.get(`patent/appeals`,n)}async getAppeal(e){return this.client.get(`patent/appeals/${e}`)}async getEnrichedCitations(t){return this.client.get(`patent/citations/${e(t)}`)}async searchCitations(e,t){let n={searchText:e};return t!==void 0&&(n.limit=String(t)),this.client.get(`patent/citations`,n)}async getCitationMetrics(t){return this.client.get(`patent/citations/${e(t)}/metrics`)}async searchLitigation(t){let n={};return t.query!==void 0&&(n.searchText=t.query),t.plaintiff!==void 0&&(n.plaintiff=t.plaintiff),t.defendant!==void 0&&(n.defendant=t.defendant),t.patent_number!==void 0&&(n.patentNumber=e(t.patent_number)),t.court!==void 0&&(n.court=t.court),t.date_from!==void 0&&(n.dateFrom=t.date_from),t.date_to!==void 0&&(n.dateTo=t.date_to),t.limit!==void 0&&(n.limit=String(t.limit)),this.client.get(`patent/litigation`,n)}async getLitigationCase(e){return this.client.get(`patent/litigation/${e}`)}async getLitigationByPatent(t){return this.client.get(`patent/litigation/patent/${e(t)}`)}async getOfficeActionText(t){return this.client.get(`patent/office-actions/${e(t)}/text`)}async searchOfficeActions(e,t){let n={searchText:e};return t!==void 0&&(n.limit=String(t)),this.client.get(`patent/office-actions`,n)}async getOfficeActionCitations(t){return this.client.get(`patent/office-actions/${e(t)}/citations`)}async getOfficeActionRejections(t){return this.client.get(`patent/office-actions/${e(t)}/rejections`)}};export{i as OdpClient,r as getOdpConfig};
|
|
2
2
|
//# sourceMappingURL=odp.client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"odp.client.js","names":[],"sources":["../../src/clients/odp.client.ts"],"sourcesContent":["import { normalizePatentNumber } from \"../lib/patent-number\"\nimport { BaseClient } from \"./base.client\"\n\nexport type OdpConfig = {\n readonly apiKey: string\n readonly baseUrl?: string\n readonly timeout?: number\n}\n\nexport const getOdpConfig = (): OdpConfig => {\n const apiKey = process.env.USPTO_API_KEY\n if (!apiKey) {\n throw new Error(\"USPTO_API_KEY environment variable is required for ODP client\")\n }\n return {\n apiKey,\n baseUrl: process.env.USPTO_BASE_URL ?? \"https://api.uspto.gov/api/v1/\",\n timeout: process.env.USPTO_TIMEOUT ? parseInt(process.env.USPTO_TIMEOUT, 10) : 30000,\n }\n}\n\nexport class OdpClient {\n private readonly client: BaseClient\n\n constructor(config?: OdpConfig) {\n const cfg = config ?? getOdpConfig()\n this.client = new BaseClient({\n baseUrl: cfg.baseUrl ?? \"https://api.uspto.gov/api/v1/\",\n headers: {\n \"X-API-KEY\": cfg.apiKey,\n },\n timeout: cfg.timeout,\n })\n }\n\n // ── Application Methods ──────────────────────────────────────────────\n\n async searchApplications(query: string, limit?: number, offset?: number, sort?: string): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n if (offset !== undefined) params.offset = String(offset)\n if (sort !== undefined) params.sort = sort\n return this.client.get(\"patent/applications\", params)\n }\n\n async getApplication(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}`)\n }\n\n async getApplicationMetadata(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/metadata`)\n }\n\n async getContinuity(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/continuity`)\n }\n\n async getAssignment(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/assignment`)\n }\n\n async getAdjustment(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/adjustment`)\n }\n\n async getAttorney(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/attorney`)\n }\n\n async getForeignPriority(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/foreign-priority`)\n }\n\n async getTransactions(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/transactions`)\n }\n\n async getDocuments(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/documents`)\n }\n\n // ── Dataset Methods ──────────────────────────────────────────────────\n\n async searchDatasets(query: string): Promise<unknown> {\n return this.client.get(\"datasets\", { searchText: query })\n }\n\n async getDataset(productId: string): Promise<unknown> {\n return this.client.get(`datasets/${productId}`)\n }\n\n // ── PTAB Methods ─────────────────────────────────────────────────────\n\n async searchProceedings(query: string, type?: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (type !== undefined) params.type = type\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/trials\", params)\n }\n\n async getProceeding(trialNumber: string): Promise<unknown> {\n return this.client.get(`patent/trials/${trialNumber}`)\n }\n\n async getProceedingDocuments(trialNumber: string): Promise<unknown> {\n return this.client.get(`patent/trials/${trialNumber}/documents`)\n }\n\n async searchDecisions(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/trials/decisions\", params)\n }\n\n async getDecision(decisionId: string): Promise<unknown> {\n return this.client.get(`patent/trials/decisions/${decisionId}`)\n }\n\n async searchAppeals(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/appeals\", params)\n }\n\n async getAppeal(appealId: string): Promise<unknown> {\n return this.client.get(`patent/appeals/${appealId}`)\n }\n\n // ── Citation / Litigation Methods ────────────────────────────────────\n\n async getEnrichedCitations(patentNumber: string): Promise<unknown> {\n return this.client.get(`patent/citations/${normalizePatentNumber(patentNumber)}`)\n }\n\n async searchCitations(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/citations\", params)\n }\n\n async getCitationMetrics(patentNumber: string): Promise<unknown> {\n return this.client.get(`patent/citations/${normalizePatentNumber(patentNumber)}/metrics`)\n }\n\n async searchLitigation(params: {\n query?: string\n plaintiff?: string\n defendant?: string\n patent_number?: string\n court?: string\n date_from?: string\n date_to?: string\n limit?: number\n }): Promise<unknown> {\n const searchParams: Record<string, string> = {}\n if (params.query !== undefined) searchParams.searchText = params.query\n if (params.plaintiff !== undefined) searchParams.plaintiff = params.plaintiff\n if (params.defendant !== undefined) searchParams.defendant = params.defendant\n if (params.patent_number !== undefined) searchParams.patentNumber = normalizePatentNumber(params.patent_number)\n if (params.court !== undefined) searchParams.court = params.court\n if (params.date_from !== undefined) searchParams.dateFrom = params.date_from\n if (params.date_to !== undefined) searchParams.dateTo = params.date_to\n if (params.limit !== undefined) searchParams.limit = String(params.limit)\n return this.client.get(\"patent/litigation\", searchParams)\n }\n\n async getLitigationCase(caseId: string): Promise<unknown> {\n return this.client.get(`patent/litigation/${caseId}`)\n }\n\n async getLitigationByPatent(patentNumber: string): Promise<unknown> {\n return this.client.get(`patent/litigation/patent/${normalizePatentNumber(patentNumber)}`)\n }\n\n // ── Office Action Methods ───────────────────────────────────────────\n\n async getOfficeActionText(applicationNumber: string): Promise<unknown> {\n return this.client.get(`patent/office-actions/${normalizePatentNumber(applicationNumber)}/text`)\n }\n\n async searchOfficeActions(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/office-actions\", params)\n }\n\n async getOfficeActionCitations(applicationNumber: string): Promise<unknown> {\n return this.client.get(`patent/office-actions/${normalizePatentNumber(applicationNumber)}/citations`)\n }\n\n async getOfficeActionRejections(applicationNumber: string): Promise<unknown> {\n return this.client.get(`patent/office-actions/${normalizePatentNumber(applicationNumber)}/rejections`)\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"odp.client.js","names":[],"sources":["../../src/clients/odp.client.ts"],"sourcesContent":["import { normalizePatentNumber } from \"../lib/patent-number\"\nimport { BaseClient } from \"./base.client\"\n\nexport type OdpConfig = {\n readonly apiKey: string\n readonly baseUrl?: string\n readonly timeout?: number\n}\n\nexport const getOdpConfig = (): OdpConfig => {\n const apiKey = process.env.USPTO_API_KEY\n if (!apiKey) {\n throw new Error(\"USPTO_API_KEY environment variable is required for ODP client\")\n }\n return {\n apiKey,\n baseUrl: process.env.USPTO_BASE_URL ?? \"https://api.uspto.gov/api/v1/\",\n timeout: process.env.USPTO_TIMEOUT ? parseInt(process.env.USPTO_TIMEOUT, 10) : 30000,\n }\n}\n\nexport class OdpClient {\n private readonly client: BaseClient\n\n constructor(config?: OdpConfig) {\n const cfg = config ?? getOdpConfig()\n this.client = new BaseClient({\n baseUrl: cfg.baseUrl ?? \"https://api.uspto.gov/api/v1/\",\n headers: {\n \"X-API-KEY\": cfg.apiKey,\n },\n timeout: cfg.timeout,\n })\n }\n\n // ── Application Methods ──────────────────────────────────────────────\n\n async searchApplications(query: string, limit?: number, offset?: number, sort?: string): Promise<unknown> {\n const body: Record<string, unknown> = { q: query }\n if (limit !== undefined || offset !== undefined) {\n body.pagination = {\n ...(offset !== undefined ? { offset } : {}),\n ...(limit !== undefined ? { limit } : {}),\n }\n }\n if (sort !== undefined) body.sort = sort\n return this.client.post(\"patent/applications/search\", body)\n }\n\n async getApplication(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}`)\n }\n\n async getApplicationMetadata(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/metadata`)\n }\n\n async getContinuity(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/continuity`)\n }\n\n async getAssignment(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/assignment`)\n }\n\n async getAdjustment(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/adjustment`)\n }\n\n async getAttorney(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/attorney`)\n }\n\n async getForeignPriority(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/foreign-priority`)\n }\n\n async getTransactions(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/transactions`)\n }\n\n async getDocuments(appNum: string): Promise<unknown> {\n return this.client.get(`patent/applications/${normalizePatentNumber(appNum)}/documents`)\n }\n\n async downloadDocument(\n appNum: string,\n documentIdentifier: string,\n ): Promise<{ data: Uint8Array; contentType: string }> {\n return this.client.getBinary(`download/applications/${normalizePatentNumber(appNum)}/${documentIdentifier}.pdf`)\n }\n\n // ── Dataset Methods ──────────────────────────────────────────────────\n\n async searchDatasets(query: string): Promise<unknown> {\n return this.client.get(\"datasets\", { searchText: query })\n }\n\n async getDataset(productId: string): Promise<unknown> {\n return this.client.get(`datasets/${productId}`)\n }\n\n // ── PTAB Methods ─────────────────────────────────────────────────────\n\n async searchProceedings(query: string, type?: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (type !== undefined) params.type = type\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/trials\", params)\n }\n\n async getProceeding(trialNumber: string): Promise<unknown> {\n return this.client.get(`patent/trials/${trialNumber}`)\n }\n\n async getProceedingDocuments(trialNumber: string): Promise<unknown> {\n return this.client.get(`patent/trials/${trialNumber}/documents`)\n }\n\n async searchDecisions(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/trials/decisions\", params)\n }\n\n async getDecision(decisionId: string): Promise<unknown> {\n return this.client.get(`patent/trials/decisions/${decisionId}`)\n }\n\n async searchAppeals(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/appeals\", params)\n }\n\n async getAppeal(appealId: string): Promise<unknown> {\n return this.client.get(`patent/appeals/${appealId}`)\n }\n\n // ── Citation / Litigation Methods ────────────────────────────────────\n\n async getEnrichedCitations(patentNumber: string): Promise<unknown> {\n return this.client.get(`patent/citations/${normalizePatentNumber(patentNumber)}`)\n }\n\n async searchCitations(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/citations\", params)\n }\n\n async getCitationMetrics(patentNumber: string): Promise<unknown> {\n return this.client.get(`patent/citations/${normalizePatentNumber(patentNumber)}/metrics`)\n }\n\n async searchLitigation(params: {\n query?: string\n plaintiff?: string\n defendant?: string\n patent_number?: string\n court?: string\n date_from?: string\n date_to?: string\n limit?: number\n }): Promise<unknown> {\n const searchParams: Record<string, string> = {}\n if (params.query !== undefined) searchParams.searchText = params.query\n if (params.plaintiff !== undefined) searchParams.plaintiff = params.plaintiff\n if (params.defendant !== undefined) searchParams.defendant = params.defendant\n if (params.patent_number !== undefined) searchParams.patentNumber = normalizePatentNumber(params.patent_number)\n if (params.court !== undefined) searchParams.court = params.court\n if (params.date_from !== undefined) searchParams.dateFrom = params.date_from\n if (params.date_to !== undefined) searchParams.dateTo = params.date_to\n if (params.limit !== undefined) searchParams.limit = String(params.limit)\n return this.client.get(\"patent/litigation\", searchParams)\n }\n\n async getLitigationCase(caseId: string): Promise<unknown> {\n return this.client.get(`patent/litigation/${caseId}`)\n }\n\n async getLitigationByPatent(patentNumber: string): Promise<unknown> {\n return this.client.get(`patent/litigation/patent/${normalizePatentNumber(patentNumber)}`)\n }\n\n // ── Office Action Methods ───────────────────────────────────────────\n\n async getOfficeActionText(applicationNumber: string): Promise<unknown> {\n return this.client.get(`patent/office-actions/${normalizePatentNumber(applicationNumber)}/text`)\n }\n\n async searchOfficeActions(query: string, limit?: number): Promise<unknown> {\n const params: Record<string, string> = { searchText: query }\n if (limit !== undefined) params.limit = String(limit)\n return this.client.get(\"patent/office-actions\", params)\n }\n\n async getOfficeActionCitations(applicationNumber: string): Promise<unknown> {\n return this.client.get(`patent/office-actions/${normalizePatentNumber(applicationNumber)}/citations`)\n }\n\n async getOfficeActionRejections(applicationNumber: string): Promise<unknown> {\n return this.client.get(`patent/office-actions/${normalizePatentNumber(applicationNumber)}/rejections`)\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { AppealDecisionDataResponse, ApplicationMetaData, Assignment, BadRequestSchema, BdssResponseBag, BdssResponseProductBag, BulkDataProductBag, ChildContinuityData, ClientOptions, DecisionData, DecisionDataResponse, DerivationPetitionerData, DocumentBag, DocumentData, DocumentDataResponse, DownloadRequest, Error, EventData, Facet, FacetItem, Facets, Facets2, Fields, Filter, Filters, ForbiddenSchema, ForeignPriority, Format, GetApiV1DatasetsProductsByProductIdentifierData, GetApiV1DatasetsProductsByProductIdentifierError, GetApiV1DatasetsProductsByProductIdentifierErrors, GetApiV1DatasetsProductsByProductIdentifierResponse, GetApiV1DatasetsProductsByProductIdentifierResponses, GetApiV1DatasetsProductsFilesByProductIdentifierByFileNameData, GetApiV1DatasetsProductsSearchData, GetApiV1DatasetsProductsSearchError, GetApiV1DatasetsProductsSearchErrors, GetApiV1DatasetsProductsSearchResponse, GetApiV1DatasetsProductsSearchResponses, GetApiV1PatentAppealsByAppealNumberDecisionsData, GetApiV1PatentAppealsByAppealNumberDecisionsError, GetApiV1PatentAppealsByAppealNumberDecisionsErrors, GetApiV1PatentAppealsByAppealNumberDecisionsResponse, GetApiV1PatentAppealsByAppealNumberDecisionsResponses, GetApiV1PatentAppealsDecisionsByDocumentIdentifierData, GetApiV1PatentAppealsDecisionsByDocumentIdentifierError, GetApiV1PatentAppealsDecisionsByDocumentIdentifierErrors, GetApiV1PatentAppealsDecisionsByDocumentIdentifierResponse, GetApiV1PatentAppealsDecisionsByDocumentIdentifierResponses, GetApiV1PatentAppealsDecisionsSearchData, GetApiV1PatentAppealsDecisionsSearchDownloadData, GetApiV1PatentAppealsDecisionsSearchDownloadError, GetApiV1PatentAppealsDecisionsSearchDownloadErrors, GetApiV1PatentAppealsDecisionsSearchDownloadResponse, GetApiV1PatentAppealsDecisionsSearchDownloadResponses, GetApiV1PatentAppealsDecisionsSearchError, GetApiV1PatentAppealsDecisionsSearchErrors, GetApiV1PatentAppealsDecisionsSearchResponse, GetApiV1PatentAppealsDecisionsSearchResponses, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentData, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentError, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentErrors, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentResponse, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentResponses, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentData, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentError, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentErrors, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentResponse, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentResponses, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsData, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsError, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsErrors, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsResponse, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsResponses, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyData, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyError, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyErrors, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyResponse, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyResponses, GetApiV1PatentApplicationsByApplicationNumberTextContinuityData, GetApiV1PatentApplicationsByApplicationNumberTextContinuityResponse, GetApiV1PatentApplicationsByApplicationNumberTextContinuityResponses, GetApiV1PatentApplicationsByApplicationNumberTextData, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsData, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsError, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsErrors, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsResponse, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsResponses, GetApiV1PatentApplicationsByApplicationNumberTextError, GetApiV1PatentApplicationsByApplicationNumberTextErrors, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityData, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityError, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityErrors, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityResponse, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityResponses, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataData, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataError, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataErrors, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataResponse, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataResponses, GetApiV1PatentApplicationsByApplicationNumberTextResponse, GetApiV1PatentApplicationsByApplicationNumberTextResponses, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsData, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsError, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsErrors, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsResponse, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsResponses, GetApiV1PatentApplicationsSearchData, GetApiV1PatentApplicationsSearchDownloadData, GetApiV1PatentApplicationsSearchDownloadError, GetApiV1PatentApplicationsSearchDownloadErrors, GetApiV1PatentApplicationsSearchDownloadResponse, GetApiV1PatentApplicationsSearchDownloadResponses, GetApiV1PatentApplicationsSearchError, GetApiV1PatentApplicationsSearchErrors, GetApiV1PatentApplicationsSearchResponse, GetApiV1PatentApplicationsSearchResponses, GetApiV1PatentInterferencesByInterferenceNumberDecisionsData, GetApiV1PatentInterferencesByInterferenceNumberDecisionsError, GetApiV1PatentInterferencesByInterferenceNumberDecisionsErrors, GetApiV1PatentInterferencesByInterferenceNumberDecisionsResponse, GetApiV1PatentInterferencesByInterferenceNumberDecisionsResponses, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierData, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierError, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierErrors, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierResponse, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierResponses, GetApiV1PatentInterferencesDecisionsSearchData, GetApiV1PatentInterferencesDecisionsSearchDownloadData, GetApiV1PatentInterferencesDecisionsSearchDownloadError, GetApiV1PatentInterferencesDecisionsSearchDownloadErrors, GetApiV1PatentInterferencesDecisionsSearchDownloadResponse, GetApiV1PatentInterferencesDecisionsSearchDownloadResponses, GetApiV1PatentInterferencesDecisionsSearchError, GetApiV1PatentInterferencesDecisionsSearchErrors, GetApiV1PatentInterferencesDecisionsSearchResponse, GetApiV1PatentInterferencesDecisionsSearchResponses, GetApiV1PatentStatusCodesData, GetApiV1PatentStatusCodesError, GetApiV1PatentStatusCodesErrors, GetApiV1PatentStatusCodesResponse, GetApiV1PatentStatusCodesResponses, GetApiV1PatentTrialsByTrialNumberDecisionsData, GetApiV1PatentTrialsByTrialNumberDecisionsError, GetApiV1PatentTrialsByTrialNumberDecisionsErrors, GetApiV1PatentTrialsByTrialNumberDecisionsResponse, GetApiV1PatentTrialsByTrialNumberDecisionsResponses, GetApiV1PatentTrialsByTrialNumberDocumentsData, GetApiV1PatentTrialsByTrialNumberDocumentsError, GetApiV1PatentTrialsByTrialNumberDocumentsErrors, GetApiV1PatentTrialsByTrialNumberDocumentsResponse, GetApiV1PatentTrialsByTrialNumberDocumentsResponses, GetApiV1PatentTrialsDecisionsByDocumentIdentifierData, GetApiV1PatentTrialsDecisionsByDocumentIdentifierError, GetApiV1PatentTrialsDecisionsByDocumentIdentifierErrors, GetApiV1PatentTrialsDecisionsByDocumentIdentifierResponse, GetApiV1PatentTrialsDecisionsByDocumentIdentifierResponses, GetApiV1PatentTrialsDecisionsSearchData, GetApiV1PatentTrialsDecisionsSearchDownloadData, GetApiV1PatentTrialsDecisionsSearchDownloadError, GetApiV1PatentTrialsDecisionsSearchDownloadErrors, GetApiV1PatentTrialsDecisionsSearchDownloadResponse, GetApiV1PatentTrialsDecisionsSearchDownloadResponses, GetApiV1PatentTrialsDecisionsSearchError, GetApiV1PatentTrialsDecisionsSearchErrors, GetApiV1PatentTrialsDecisionsSearchResponse, GetApiV1PatentTrialsDecisionsSearchResponses, GetApiV1PatentTrialsDocumentsByDocumentIdentifierData, GetApiV1PatentTrialsDocumentsByDocumentIdentifierError, GetApiV1PatentTrialsDocumentsByDocumentIdentifierErrors, GetApiV1PatentTrialsDocumentsByDocumentIdentifierResponse, GetApiV1PatentTrialsDocumentsByDocumentIdentifierResponses, GetApiV1PatentTrialsDocumentsSearchData, GetApiV1PatentTrialsDocumentsSearchDownloadData, GetApiV1PatentTrialsDocumentsSearchDownloadError, GetApiV1PatentTrialsDocumentsSearchDownloadErrors, GetApiV1PatentTrialsDocumentsSearchDownloadResponse, GetApiV1PatentTrialsDocumentsSearchDownloadResponses, GetApiV1PatentTrialsDocumentsSearchError, GetApiV1PatentTrialsDocumentsSearchErrors, GetApiV1PatentTrialsDocumentsSearchResponse, GetApiV1PatentTrialsDocumentsSearchResponses, GetApiV1PatentTrialsProceedingsByTrialNumberData, GetApiV1PatentTrialsProceedingsByTrialNumberError, GetApiV1PatentTrialsProceedingsByTrialNumberErrors, GetApiV1PatentTrialsProceedingsByTrialNumberResponse, GetApiV1PatentTrialsProceedingsByTrialNumberResponses, GetApiV1PatentTrialsProceedingsSearchData, GetApiV1PatentTrialsProceedingsSearchDownloadData, GetApiV1PatentTrialsProceedingsSearchDownloadError, GetApiV1PatentTrialsProceedingsSearchDownloadErrors, GetApiV1PatentTrialsProceedingsSearchDownloadResponse, GetApiV1PatentTrialsProceedingsSearchDownloadResponses, GetApiV1PatentTrialsProceedingsSearchError, GetApiV1PatentTrialsProceedingsSearchErrors, GetApiV1PatentTrialsProceedingsSearchResponse, GetApiV1PatentTrialsProceedingsSearchResponses, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierData, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierError, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierErrors, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierResponse, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierResponses, GetApiV1PetitionDecisionsSearchData, GetApiV1PetitionDecisionsSearchDownloadData, GetApiV1PetitionDecisionsSearchDownloadError, GetApiV1PetitionDecisionsSearchDownloadErrors, GetApiV1PetitionDecisionsSearchDownloadResponse, GetApiV1PetitionDecisionsSearchDownloadResponses, GetApiV1PetitionDecisionsSearchError, GetApiV1PetitionDecisionsSearchErrors, GetApiV1PetitionDecisionsSearchResponse, GetApiV1PetitionDecisionsSearchResponses, GrantFileMetaData, InterferenceDecisionDataResponse, InterferenceDecisionDocumentData, InterferenceDecisionRecord, InterferencePartyData, InternalErrorSchema, Limit, LookupRequest, NotFoundSchema, Offset, Pagination, ParamFacets, ParamFields, ParamFilters, ParamFormat, ParamLimit, ParamOffset, ParamQ, ParamRangeFilters, ParamSort, ParentContinuityData, PatentAppealDataBag, PatentAppealDataBag2, PatentDataResponse, PatentDownloadRequest, PatentOwnerData, PatentSearchRequest, PatentTermAdjustment, PatentTrialDecisionDataBag, PatentTrialDecisionDataBag2, PatentTrialDocumentDataBag, PatentTrialDocumentDataBag2, PatentTrialProceedingDataBag, PatentTrialProceedingDataBag2, PetitionDecision, PetitionDecisionAndDocuments, PetitionDecisionDocument, PetitionDecisionDownloadRequest, PetitionDecisionFacet, PetitionDecisionFacetEntity, PetitionDecisionFilter, PetitionDecisionIdentifierResponseBag, PetitionDecisionRange, PetitionDecisionResponseBag, PetitionDecisionSearchRequest, PetitionDecisionSort, PgPubFileMetaData, PostApiV1PatentAppealsDecisionsSearchData, PostApiV1PatentAppealsDecisionsSearchDownloadData, PostApiV1PatentAppealsDecisionsSearchDownloadError, PostApiV1PatentAppealsDecisionsSearchDownloadErrors, PostApiV1PatentAppealsDecisionsSearchDownloadResponse, PostApiV1PatentAppealsDecisionsSearchDownloadResponses, PostApiV1PatentAppealsDecisionsSearchError, PostApiV1PatentAppealsDecisionsSearchErrors, PostApiV1PatentAppealsDecisionsSearchResponse, PostApiV1PatentAppealsDecisionsSearchResponses, PostApiV1PatentApplicationsSearchData, PostApiV1PatentApplicationsSearchDownloadData, PostApiV1PatentApplicationsSearchDownloadError, PostApiV1PatentApplicationsSearchDownloadErrors, PostApiV1PatentApplicationsSearchDownloadResponse, PostApiV1PatentApplicationsSearchDownloadResponses, PostApiV1PatentApplicationsSearchError, PostApiV1PatentApplicationsSearchErrors, PostApiV1PatentApplicationsSearchResponse, PostApiV1PatentApplicationsSearchResponses, PostApiV1PatentInterferencesDecisionsSearchData, PostApiV1PatentInterferencesDecisionsSearchDownloadData, PostApiV1PatentInterferencesDecisionsSearchDownloadError, PostApiV1PatentInterferencesDecisionsSearchDownloadErrors, PostApiV1PatentInterferencesDecisionsSearchDownloadResponse, PostApiV1PatentInterferencesDecisionsSearchDownloadResponses, PostApiV1PatentInterferencesDecisionsSearchError, PostApiV1PatentInterferencesDecisionsSearchErrors, PostApiV1PatentInterferencesDecisionsSearchResponse, PostApiV1PatentInterferencesDecisionsSearchResponses, PostApiV1PatentStatusCodesData, PostApiV1PatentStatusCodesError, PostApiV1PatentStatusCodesErrors, PostApiV1PatentStatusCodesResponse, PostApiV1PatentStatusCodesResponses, PostApiV1PatentTrialsDecisionsSearchData, PostApiV1PatentTrialsDecisionsSearchDownloadData, PostApiV1PatentTrialsDecisionsSearchDownloadError, PostApiV1PatentTrialsDecisionsSearchDownloadErrors, PostApiV1PatentTrialsDecisionsSearchDownloadResponse, PostApiV1PatentTrialsDecisionsSearchDownloadResponses, PostApiV1PatentTrialsDecisionsSearchError, PostApiV1PatentTrialsDecisionsSearchErrors, PostApiV1PatentTrialsDecisionsSearchResponse, PostApiV1PatentTrialsDecisionsSearchResponses, PostApiV1PatentTrialsDocumentsSearchData, PostApiV1PatentTrialsDocumentsSearchDownloadData, PostApiV1PatentTrialsDocumentsSearchDownloadError, PostApiV1PatentTrialsDocumentsSearchDownloadErrors, PostApiV1PatentTrialsDocumentsSearchDownloadResponse, PostApiV1PatentTrialsDocumentsSearchDownloadResponses, PostApiV1PatentTrialsDocumentsSearchError, PostApiV1PatentTrialsDocumentsSearchErrors, PostApiV1PatentTrialsDocumentsSearchResponse, PostApiV1PatentTrialsDocumentsSearchResponses, PostApiV1PatentTrialsProceedingsSearchData, PostApiV1PatentTrialsProceedingsSearchDownloadData, PostApiV1PatentTrialsProceedingsSearchDownloadError, PostApiV1PatentTrialsProceedingsSearchDownloadErrors, PostApiV1PatentTrialsProceedingsSearchDownloadResponse, PostApiV1PatentTrialsProceedingsSearchDownloadResponses, PostApiV1PatentTrialsProceedingsSearchError, PostApiV1PatentTrialsProceedingsSearchErrors, PostApiV1PatentTrialsProceedingsSearchResponse, PostApiV1PatentTrialsProceedingsSearchResponses, PostApiV1PetitionDecisionsSearchData, PostApiV1PetitionDecisionsSearchDownloadData, PostApiV1PetitionDecisionsSearchDownloadError, PostApiV1PetitionDecisionsSearchDownloadErrors, PostApiV1PetitionDecisionsSearchDownloadResponse, PostApiV1PetitionDecisionsSearchDownloadResponses, PostApiV1PetitionDecisionsSearchError, PostApiV1PetitionDecisionsSearchErrors, PostApiV1PetitionDecisionsSearchResponse, PostApiV1PetitionDecisionsSearchResponses, ProceedingDataResponse, ProductFileBag, Q, Range, RangeFilters, RecordAttorney, RegularPetitionerData, RespondentData, Response400, Response403, Response404, Response500, SearchRequest, Sort, Sort2, Status413, StatusCodeSearchRequest, StatusCodeSearchResponse, TrialMetaData } from "./types.gen.js";
|
|
2
|
-
export { type AppealDecisionDataResponse, type ApplicationMetaData, type Assignment, type BadRequestSchema, type BdssResponseBag, type BdssResponseProductBag, type BulkDataProductBag, type ChildContinuityData, type ClientOptions, type DecisionData, type DecisionDataResponse, type DerivationPetitionerData, type DocumentBag, type DocumentData, type DocumentDataResponse, type DownloadRequest, type Error, type EventData, type Facet, type FacetItem, type Facets, type Facets2, type Fields, type Filter, type Filters, type ForbiddenSchema, type ForeignPriority, type Format, type GetApiV1DatasetsProductsByProductIdentifierData, type GetApiV1DatasetsProductsByProductIdentifierError, type GetApiV1DatasetsProductsByProductIdentifierErrors, type GetApiV1DatasetsProductsByProductIdentifierResponse, type GetApiV1DatasetsProductsByProductIdentifierResponses, type GetApiV1DatasetsProductsFilesByProductIdentifierByFileNameData, type GetApiV1DatasetsProductsSearchData, type GetApiV1DatasetsProductsSearchError, type GetApiV1DatasetsProductsSearchErrors, type GetApiV1DatasetsProductsSearchResponse, type GetApiV1DatasetsProductsSearchResponses, type GetApiV1PatentAppealsByAppealNumberDecisionsData, type GetApiV1PatentAppealsByAppealNumberDecisionsError, type GetApiV1PatentAppealsByAppealNumberDecisionsErrors, type GetApiV1PatentAppealsByAppealNumberDecisionsResponse, type GetApiV1PatentAppealsByAppealNumberDecisionsResponses, type GetApiV1PatentAppealsDecisionsByDocumentIdentifierData, type GetApiV1PatentAppealsDecisionsByDocumentIdentifierError, type GetApiV1PatentAppealsDecisionsByDocumentIdentifierErrors, type GetApiV1PatentAppealsDecisionsByDocumentIdentifierResponse, type GetApiV1PatentAppealsDecisionsByDocumentIdentifierResponses, type GetApiV1PatentAppealsDecisionsSearchData, type GetApiV1PatentAppealsDecisionsSearchDownloadData, type GetApiV1PatentAppealsDecisionsSearchDownloadError, type GetApiV1PatentAppealsDecisionsSearchDownloadErrors, type GetApiV1PatentAppealsDecisionsSearchDownloadResponse, type GetApiV1PatentAppealsDecisionsSearchDownloadResponses, type GetApiV1PatentAppealsDecisionsSearchError, type GetApiV1PatentAppealsDecisionsSearchErrors, type GetApiV1PatentAppealsDecisionsSearchResponse, type GetApiV1PatentAppealsDecisionsSearchResponses, type GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentData, type GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentError, type GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentErrors, type GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentResponse, type GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentResponses, type GetApiV1PatentApplicationsByApplicationNumberTextAssignmentData, type GetApiV1PatentApplicationsByApplicationNumberTextAssignmentError, type GetApiV1PatentApplicationsByApplicationNumberTextAssignmentErrors, type GetApiV1PatentApplicationsByApplicationNumberTextAssignmentResponse, type GetApiV1PatentApplicationsByApplicationNumberTextAssignmentResponses, type GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsData, type GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsError, type GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsErrors, type GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsResponse, type GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsResponses, type GetApiV1PatentApplicationsByApplicationNumberTextAttorneyData, type GetApiV1PatentApplicationsByApplicationNumberTextAttorneyError, type GetApiV1PatentApplicationsByApplicationNumberTextAttorneyErrors, type GetApiV1PatentApplicationsByApplicationNumberTextAttorneyResponse, type GetApiV1PatentApplicationsByApplicationNumberTextAttorneyResponses, type GetApiV1PatentApplicationsByApplicationNumberTextContinuityData, type GetApiV1PatentApplicationsByApplicationNumberTextContinuityResponse, type GetApiV1PatentApplicationsByApplicationNumberTextContinuityResponses, type GetApiV1PatentApplicationsByApplicationNumberTextData, type GetApiV1PatentApplicationsByApplicationNumberTextDocumentsData, type GetApiV1PatentApplicationsByApplicationNumberTextDocumentsError, type GetApiV1PatentApplicationsByApplicationNumberTextDocumentsErrors, type GetApiV1PatentApplicationsByApplicationNumberTextDocumentsResponse, type GetApiV1PatentApplicationsByApplicationNumberTextDocumentsResponses, type GetApiV1PatentApplicationsByApplicationNumberTextError, type GetApiV1PatentApplicationsByApplicationNumberTextErrors, type GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityData, type GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityError, type GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityErrors, type GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityResponse, type GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityResponses, type GetApiV1PatentApplicationsByApplicationNumberTextMetaDataData, type GetApiV1PatentApplicationsByApplicationNumberTextMetaDataError, type GetApiV1PatentApplicationsByApplicationNumberTextMetaDataErrors, type GetApiV1PatentApplicationsByApplicationNumberTextMetaDataResponse, type GetApiV1PatentApplicationsByApplicationNumberTextMetaDataResponses, type GetApiV1PatentApplicationsByApplicationNumberTextResponse, type GetApiV1PatentApplicationsByApplicationNumberTextResponses, type GetApiV1PatentApplicationsByApplicationNumberTextTransactionsData, type GetApiV1PatentApplicationsByApplicationNumberTextTransactionsError, type GetApiV1PatentApplicationsByApplicationNumberTextTransactionsErrors, type GetApiV1PatentApplicationsByApplicationNumberTextTransactionsResponse, type GetApiV1PatentApplicationsByApplicationNumberTextTransactionsResponses, type GetApiV1PatentApplicationsSearchData, type GetApiV1PatentApplicationsSearchDownloadData, type GetApiV1PatentApplicationsSearchDownloadError, type GetApiV1PatentApplicationsSearchDownloadErrors, type GetApiV1PatentApplicationsSearchDownloadResponse, type GetApiV1PatentApplicationsSearchDownloadResponses, type GetApiV1PatentApplicationsSearchError, type GetApiV1PatentApplicationsSearchErrors, type GetApiV1PatentApplicationsSearchResponse, type GetApiV1PatentApplicationsSearchResponses, type GetApiV1PatentInterferencesByInterferenceNumberDecisionsData, type GetApiV1PatentInterferencesByInterferenceNumberDecisionsError, type GetApiV1PatentInterferencesByInterferenceNumberDecisionsErrors, type GetApiV1PatentInterferencesByInterferenceNumberDecisionsResponse, type GetApiV1PatentInterferencesByInterferenceNumberDecisionsResponses, type GetApiV1PatentInterferencesDecisionsByDocumentIdentifierData, type GetApiV1PatentInterferencesDecisionsByDocumentIdentifierError, type GetApiV1PatentInterferencesDecisionsByDocumentIdentifierErrors, type GetApiV1PatentInterferencesDecisionsByDocumentIdentifierResponse, type GetApiV1PatentInterferencesDecisionsByDocumentIdentifierResponses, type GetApiV1PatentInterferencesDecisionsSearchData, type GetApiV1PatentInterferencesDecisionsSearchDownloadData, type GetApiV1PatentInterferencesDecisionsSearchDownloadError, type GetApiV1PatentInterferencesDecisionsSearchDownloadErrors, type GetApiV1PatentInterferencesDecisionsSearchDownloadResponse, type GetApiV1PatentInterferencesDecisionsSearchDownloadResponses, type GetApiV1PatentInterferencesDecisionsSearchError, type GetApiV1PatentInterferencesDecisionsSearchErrors, type GetApiV1PatentInterferencesDecisionsSearchResponse, type GetApiV1PatentInterferencesDecisionsSearchResponses, type GetApiV1PatentStatusCodesData, type GetApiV1PatentStatusCodesError, type GetApiV1PatentStatusCodesErrors, type GetApiV1PatentStatusCodesResponse, type GetApiV1PatentStatusCodesResponses, type GetApiV1PatentTrialsByTrialNumberDecisionsData, type GetApiV1PatentTrialsByTrialNumberDecisionsError, type GetApiV1PatentTrialsByTrialNumberDecisionsErrors, type GetApiV1PatentTrialsByTrialNumberDecisionsResponse, type GetApiV1PatentTrialsByTrialNumberDecisionsResponses, type GetApiV1PatentTrialsByTrialNumberDocumentsData, type GetApiV1PatentTrialsByTrialNumberDocumentsError, type GetApiV1PatentTrialsByTrialNumberDocumentsErrors, type GetApiV1PatentTrialsByTrialNumberDocumentsResponse, type GetApiV1PatentTrialsByTrialNumberDocumentsResponses, type GetApiV1PatentTrialsDecisionsByDocumentIdentifierData, type GetApiV1PatentTrialsDecisionsByDocumentIdentifierError, type GetApiV1PatentTrialsDecisionsByDocumentIdentifierErrors, type GetApiV1PatentTrialsDecisionsByDocumentIdentifierResponse, type GetApiV1PatentTrialsDecisionsByDocumentIdentifierResponses, type GetApiV1PatentTrialsDecisionsSearchData, type GetApiV1PatentTrialsDecisionsSearchDownloadData, type GetApiV1PatentTrialsDecisionsSearchDownloadError, type GetApiV1PatentTrialsDecisionsSearchDownloadErrors, type GetApiV1PatentTrialsDecisionsSearchDownloadResponse, type GetApiV1PatentTrialsDecisionsSearchDownloadResponses, type GetApiV1PatentTrialsDecisionsSearchError, type GetApiV1PatentTrialsDecisionsSearchErrors, type GetApiV1PatentTrialsDecisionsSearchResponse, type GetApiV1PatentTrialsDecisionsSearchResponses, type GetApiV1PatentTrialsDocumentsByDocumentIdentifierData, type GetApiV1PatentTrialsDocumentsByDocumentIdentifierError, type GetApiV1PatentTrialsDocumentsByDocumentIdentifierErrors, type GetApiV1PatentTrialsDocumentsByDocumentIdentifierResponse, type GetApiV1PatentTrialsDocumentsByDocumentIdentifierResponses, type GetApiV1PatentTrialsDocumentsSearchData, type GetApiV1PatentTrialsDocumentsSearchDownloadData, type GetApiV1PatentTrialsDocumentsSearchDownloadError, type GetApiV1PatentTrialsDocumentsSearchDownloadErrors, type GetApiV1PatentTrialsDocumentsSearchDownloadResponse, type GetApiV1PatentTrialsDocumentsSearchDownloadResponses, type GetApiV1PatentTrialsDocumentsSearchError, type GetApiV1PatentTrialsDocumentsSearchErrors, type GetApiV1PatentTrialsDocumentsSearchResponse, type GetApiV1PatentTrialsDocumentsSearchResponses, type GetApiV1PatentTrialsProceedingsByTrialNumberData, type GetApiV1PatentTrialsProceedingsByTrialNumberError, type GetApiV1PatentTrialsProceedingsByTrialNumberErrors, type GetApiV1PatentTrialsProceedingsByTrialNumberResponse, type GetApiV1PatentTrialsProceedingsByTrialNumberResponses, type GetApiV1PatentTrialsProceedingsSearchData, type GetApiV1PatentTrialsProceedingsSearchDownloadData, type GetApiV1PatentTrialsProceedingsSearchDownloadError, type GetApiV1PatentTrialsProceedingsSearchDownloadErrors, type GetApiV1PatentTrialsProceedingsSearchDownloadResponse, type GetApiV1PatentTrialsProceedingsSearchDownloadResponses, type GetApiV1PatentTrialsProceedingsSearchError, type GetApiV1PatentTrialsProceedingsSearchErrors, type GetApiV1PatentTrialsProceedingsSearchResponse, type GetApiV1PatentTrialsProceedingsSearchResponses, type GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierData, type GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierError, type GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierErrors, type GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierResponse, type GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierResponses, type GetApiV1PetitionDecisionsSearchData, type GetApiV1PetitionDecisionsSearchDownloadData, type GetApiV1PetitionDecisionsSearchDownloadError, type GetApiV1PetitionDecisionsSearchDownloadErrors, type GetApiV1PetitionDecisionsSearchDownloadResponse, type GetApiV1PetitionDecisionsSearchDownloadResponses, type GetApiV1PetitionDecisionsSearchError, type GetApiV1PetitionDecisionsSearchErrors, type GetApiV1PetitionDecisionsSearchResponse, type GetApiV1PetitionDecisionsSearchResponses, type GrantFileMetaData, type InterferenceDecisionDataResponse, type InterferenceDecisionDocumentData, type InterferenceDecisionRecord, type InterferencePartyData, type InternalErrorSchema, type Limit, type LookupRequest, type NotFoundSchema, type Offset, type Pagination, type ParamFacets, type ParamFields, type ParamFilters, type ParamFormat, type ParamLimit, type ParamOffset, type ParamQ, type ParamRangeFilters, type ParamSort, type ParentContinuityData, type PatentAppealDataBag, type PatentAppealDataBag2, type PatentDataResponse, type PatentDownloadRequest, type PatentOwnerData, type PatentSearchRequest, type PatentTermAdjustment, type PatentTrialDecisionDataBag, type PatentTrialDecisionDataBag2, type PatentTrialDocumentDataBag, type PatentTrialDocumentDataBag2, type PatentTrialProceedingDataBag, type PatentTrialProceedingDataBag2, type PetitionDecision, type PetitionDecisionAndDocuments, type PetitionDecisionDocument, type PetitionDecisionDownloadRequest, type PetitionDecisionFacet, type PetitionDecisionFacetEntity, type PetitionDecisionFilter, type PetitionDecisionIdentifierResponseBag, type PetitionDecisionRange, type PetitionDecisionResponseBag, type PetitionDecisionSearchRequest, type PetitionDecisionSort, type PgPubFileMetaData, type PostApiV1PatentAppealsDecisionsSearchData, type PostApiV1PatentAppealsDecisionsSearchDownloadData, type PostApiV1PatentAppealsDecisionsSearchDownloadError, type PostApiV1PatentAppealsDecisionsSearchDownloadErrors, type PostApiV1PatentAppealsDecisionsSearchDownloadResponse, type PostApiV1PatentAppealsDecisionsSearchDownloadResponses, type PostApiV1PatentAppealsDecisionsSearchError, type PostApiV1PatentAppealsDecisionsSearchErrors, type PostApiV1PatentAppealsDecisionsSearchResponse, type PostApiV1PatentAppealsDecisionsSearchResponses, type PostApiV1PatentApplicationsSearchData, type PostApiV1PatentApplicationsSearchDownloadData, type PostApiV1PatentApplicationsSearchDownloadError, type PostApiV1PatentApplicationsSearchDownloadErrors, type PostApiV1PatentApplicationsSearchDownloadResponse, type PostApiV1PatentApplicationsSearchDownloadResponses, type PostApiV1PatentApplicationsSearchError, type PostApiV1PatentApplicationsSearchErrors, type PostApiV1PatentApplicationsSearchResponse, type PostApiV1PatentApplicationsSearchResponses, type PostApiV1PatentInterferencesDecisionsSearchData, type PostApiV1PatentInterferencesDecisionsSearchDownloadData, type PostApiV1PatentInterferencesDecisionsSearchDownloadError, type PostApiV1PatentInterferencesDecisionsSearchDownloadErrors, type PostApiV1PatentInterferencesDecisionsSearchDownloadResponse, type PostApiV1PatentInterferencesDecisionsSearchDownloadResponses, type PostApiV1PatentInterferencesDecisionsSearchError, type PostApiV1PatentInterferencesDecisionsSearchErrors, type PostApiV1PatentInterferencesDecisionsSearchResponse, type PostApiV1PatentInterferencesDecisionsSearchResponses, type PostApiV1PatentStatusCodesData, type PostApiV1PatentStatusCodesError, type PostApiV1PatentStatusCodesErrors, type PostApiV1PatentStatusCodesResponse, type PostApiV1PatentStatusCodesResponses, type PostApiV1PatentTrialsDecisionsSearchData, type PostApiV1PatentTrialsDecisionsSearchDownloadData, type PostApiV1PatentTrialsDecisionsSearchDownloadError, type PostApiV1PatentTrialsDecisionsSearchDownloadErrors, type PostApiV1PatentTrialsDecisionsSearchDownloadResponse, type PostApiV1PatentTrialsDecisionsSearchDownloadResponses, type PostApiV1PatentTrialsDecisionsSearchError, type PostApiV1PatentTrialsDecisionsSearchErrors, type PostApiV1PatentTrialsDecisionsSearchResponse, type PostApiV1PatentTrialsDecisionsSearchResponses, type PostApiV1PatentTrialsDocumentsSearchData, type PostApiV1PatentTrialsDocumentsSearchDownloadData, type PostApiV1PatentTrialsDocumentsSearchDownloadError, type PostApiV1PatentTrialsDocumentsSearchDownloadErrors, type PostApiV1PatentTrialsDocumentsSearchDownloadResponse, type PostApiV1PatentTrialsDocumentsSearchDownloadResponses, type PostApiV1PatentTrialsDocumentsSearchError, type PostApiV1PatentTrialsDocumentsSearchErrors, type PostApiV1PatentTrialsDocumentsSearchResponse, type PostApiV1PatentTrialsDocumentsSearchResponses, type PostApiV1PatentTrialsProceedingsSearchData, type PostApiV1PatentTrialsProceedingsSearchDownloadData, type PostApiV1PatentTrialsProceedingsSearchDownloadError, type PostApiV1PatentTrialsProceedingsSearchDownloadErrors, type PostApiV1PatentTrialsProceedingsSearchDownloadResponse, type PostApiV1PatentTrialsProceedingsSearchDownloadResponses, type PostApiV1PatentTrialsProceedingsSearchError, type PostApiV1PatentTrialsProceedingsSearchErrors, type PostApiV1PatentTrialsProceedingsSearchResponse, type PostApiV1PatentTrialsProceedingsSearchResponses, type PostApiV1PetitionDecisionsSearchData, type PostApiV1PetitionDecisionsSearchDownloadData, type PostApiV1PetitionDecisionsSearchDownloadError, type PostApiV1PetitionDecisionsSearchDownloadErrors, type PostApiV1PetitionDecisionsSearchDownloadResponse, type PostApiV1PetitionDecisionsSearchDownloadResponses, type PostApiV1PetitionDecisionsSearchError, type PostApiV1PetitionDecisionsSearchErrors, type PostApiV1PetitionDecisionsSearchResponse, type PostApiV1PetitionDecisionsSearchResponses, type ProceedingDataResponse, type ProductFileBag, type Q, type Range, type RangeFilters, type RecordAttorney, type RegularPetitionerData, type RespondentData, type Response400, type Response403, type Response404, type Response500, type SearchRequest, type Sort, type Sort2, type Status413, type StatusCodeSearchRequest, type StatusCodeSearchResponse, type TrialMetaData };
|
|
2
|
+
export type { AppealDecisionDataResponse, ApplicationMetaData, Assignment, BadRequestSchema, BdssResponseBag, BdssResponseProductBag, BulkDataProductBag, ChildContinuityData, ClientOptions, DecisionData, DecisionDataResponse, DerivationPetitionerData, DocumentBag, DocumentData, DocumentDataResponse, DownloadRequest, Error, EventData, Facet, FacetItem, Facets, Facets2, Fields, Filter, Filters, ForbiddenSchema, ForeignPriority, Format, GetApiV1DatasetsProductsByProductIdentifierData, GetApiV1DatasetsProductsByProductIdentifierError, GetApiV1DatasetsProductsByProductIdentifierErrors, GetApiV1DatasetsProductsByProductIdentifierResponse, GetApiV1DatasetsProductsByProductIdentifierResponses, GetApiV1DatasetsProductsFilesByProductIdentifierByFileNameData, GetApiV1DatasetsProductsSearchData, GetApiV1DatasetsProductsSearchError, GetApiV1DatasetsProductsSearchErrors, GetApiV1DatasetsProductsSearchResponse, GetApiV1DatasetsProductsSearchResponses, GetApiV1PatentAppealsByAppealNumberDecisionsData, GetApiV1PatentAppealsByAppealNumberDecisionsError, GetApiV1PatentAppealsByAppealNumberDecisionsErrors, GetApiV1PatentAppealsByAppealNumberDecisionsResponse, GetApiV1PatentAppealsByAppealNumberDecisionsResponses, GetApiV1PatentAppealsDecisionsByDocumentIdentifierData, GetApiV1PatentAppealsDecisionsByDocumentIdentifierError, GetApiV1PatentAppealsDecisionsByDocumentIdentifierErrors, GetApiV1PatentAppealsDecisionsByDocumentIdentifierResponse, GetApiV1PatentAppealsDecisionsByDocumentIdentifierResponses, GetApiV1PatentAppealsDecisionsSearchData, GetApiV1PatentAppealsDecisionsSearchDownloadData, GetApiV1PatentAppealsDecisionsSearchDownloadError, GetApiV1PatentAppealsDecisionsSearchDownloadErrors, GetApiV1PatentAppealsDecisionsSearchDownloadResponse, GetApiV1PatentAppealsDecisionsSearchDownloadResponses, GetApiV1PatentAppealsDecisionsSearchError, GetApiV1PatentAppealsDecisionsSearchErrors, GetApiV1PatentAppealsDecisionsSearchResponse, GetApiV1PatentAppealsDecisionsSearchResponses, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentData, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentError, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentErrors, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentResponse, GetApiV1PatentApplicationsByApplicationNumberTextAdjustmentResponses, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentData, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentError, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentErrors, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentResponse, GetApiV1PatentApplicationsByApplicationNumberTextAssignmentResponses, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsData, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsError, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsErrors, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsResponse, GetApiV1PatentApplicationsByApplicationNumberTextAssociatedDocumentsResponses, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyData, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyError, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyErrors, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyResponse, GetApiV1PatentApplicationsByApplicationNumberTextAttorneyResponses, GetApiV1PatentApplicationsByApplicationNumberTextContinuityData, GetApiV1PatentApplicationsByApplicationNumberTextContinuityResponse, GetApiV1PatentApplicationsByApplicationNumberTextContinuityResponses, GetApiV1PatentApplicationsByApplicationNumberTextData, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsData, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsError, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsErrors, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsResponse, GetApiV1PatentApplicationsByApplicationNumberTextDocumentsResponses, GetApiV1PatentApplicationsByApplicationNumberTextError, GetApiV1PatentApplicationsByApplicationNumberTextErrors, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityData, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityError, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityErrors, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityResponse, GetApiV1PatentApplicationsByApplicationNumberTextForeignPriorityResponses, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataData, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataError, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataErrors, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataResponse, GetApiV1PatentApplicationsByApplicationNumberTextMetaDataResponses, GetApiV1PatentApplicationsByApplicationNumberTextResponse, GetApiV1PatentApplicationsByApplicationNumberTextResponses, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsData, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsError, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsErrors, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsResponse, GetApiV1PatentApplicationsByApplicationNumberTextTransactionsResponses, GetApiV1PatentApplicationsSearchData, GetApiV1PatentApplicationsSearchDownloadData, GetApiV1PatentApplicationsSearchDownloadError, GetApiV1PatentApplicationsSearchDownloadErrors, GetApiV1PatentApplicationsSearchDownloadResponse, GetApiV1PatentApplicationsSearchDownloadResponses, GetApiV1PatentApplicationsSearchError, GetApiV1PatentApplicationsSearchErrors, GetApiV1PatentApplicationsSearchResponse, GetApiV1PatentApplicationsSearchResponses, GetApiV1PatentInterferencesByInterferenceNumberDecisionsData, GetApiV1PatentInterferencesByInterferenceNumberDecisionsError, GetApiV1PatentInterferencesByInterferenceNumberDecisionsErrors, GetApiV1PatentInterferencesByInterferenceNumberDecisionsResponse, GetApiV1PatentInterferencesByInterferenceNumberDecisionsResponses, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierData, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierError, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierErrors, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierResponse, GetApiV1PatentInterferencesDecisionsByDocumentIdentifierResponses, GetApiV1PatentInterferencesDecisionsSearchData, GetApiV1PatentInterferencesDecisionsSearchDownloadData, GetApiV1PatentInterferencesDecisionsSearchDownloadError, GetApiV1PatentInterferencesDecisionsSearchDownloadErrors, GetApiV1PatentInterferencesDecisionsSearchDownloadResponse, GetApiV1PatentInterferencesDecisionsSearchDownloadResponses, GetApiV1PatentInterferencesDecisionsSearchError, GetApiV1PatentInterferencesDecisionsSearchErrors, GetApiV1PatentInterferencesDecisionsSearchResponse, GetApiV1PatentInterferencesDecisionsSearchResponses, GetApiV1PatentStatusCodesData, GetApiV1PatentStatusCodesError, GetApiV1PatentStatusCodesErrors, GetApiV1PatentStatusCodesResponse, GetApiV1PatentStatusCodesResponses, GetApiV1PatentTrialsByTrialNumberDecisionsData, GetApiV1PatentTrialsByTrialNumberDecisionsError, GetApiV1PatentTrialsByTrialNumberDecisionsErrors, GetApiV1PatentTrialsByTrialNumberDecisionsResponse, GetApiV1PatentTrialsByTrialNumberDecisionsResponses, GetApiV1PatentTrialsByTrialNumberDocumentsData, GetApiV1PatentTrialsByTrialNumberDocumentsError, GetApiV1PatentTrialsByTrialNumberDocumentsErrors, GetApiV1PatentTrialsByTrialNumberDocumentsResponse, GetApiV1PatentTrialsByTrialNumberDocumentsResponses, GetApiV1PatentTrialsDecisionsByDocumentIdentifierData, GetApiV1PatentTrialsDecisionsByDocumentIdentifierError, GetApiV1PatentTrialsDecisionsByDocumentIdentifierErrors, GetApiV1PatentTrialsDecisionsByDocumentIdentifierResponse, GetApiV1PatentTrialsDecisionsByDocumentIdentifierResponses, GetApiV1PatentTrialsDecisionsSearchData, GetApiV1PatentTrialsDecisionsSearchDownloadData, GetApiV1PatentTrialsDecisionsSearchDownloadError, GetApiV1PatentTrialsDecisionsSearchDownloadErrors, GetApiV1PatentTrialsDecisionsSearchDownloadResponse, GetApiV1PatentTrialsDecisionsSearchDownloadResponses, GetApiV1PatentTrialsDecisionsSearchError, GetApiV1PatentTrialsDecisionsSearchErrors, GetApiV1PatentTrialsDecisionsSearchResponse, GetApiV1PatentTrialsDecisionsSearchResponses, GetApiV1PatentTrialsDocumentsByDocumentIdentifierData, GetApiV1PatentTrialsDocumentsByDocumentIdentifierError, GetApiV1PatentTrialsDocumentsByDocumentIdentifierErrors, GetApiV1PatentTrialsDocumentsByDocumentIdentifierResponse, GetApiV1PatentTrialsDocumentsByDocumentIdentifierResponses, GetApiV1PatentTrialsDocumentsSearchData, GetApiV1PatentTrialsDocumentsSearchDownloadData, GetApiV1PatentTrialsDocumentsSearchDownloadError, GetApiV1PatentTrialsDocumentsSearchDownloadErrors, GetApiV1PatentTrialsDocumentsSearchDownloadResponse, GetApiV1PatentTrialsDocumentsSearchDownloadResponses, GetApiV1PatentTrialsDocumentsSearchError, GetApiV1PatentTrialsDocumentsSearchErrors, GetApiV1PatentTrialsDocumentsSearchResponse, GetApiV1PatentTrialsDocumentsSearchResponses, GetApiV1PatentTrialsProceedingsByTrialNumberData, GetApiV1PatentTrialsProceedingsByTrialNumberError, GetApiV1PatentTrialsProceedingsByTrialNumberErrors, GetApiV1PatentTrialsProceedingsByTrialNumberResponse, GetApiV1PatentTrialsProceedingsByTrialNumberResponses, GetApiV1PatentTrialsProceedingsSearchData, GetApiV1PatentTrialsProceedingsSearchDownloadData, GetApiV1PatentTrialsProceedingsSearchDownloadError, GetApiV1PatentTrialsProceedingsSearchDownloadErrors, GetApiV1PatentTrialsProceedingsSearchDownloadResponse, GetApiV1PatentTrialsProceedingsSearchDownloadResponses, GetApiV1PatentTrialsProceedingsSearchError, GetApiV1PatentTrialsProceedingsSearchErrors, GetApiV1PatentTrialsProceedingsSearchResponse, GetApiV1PatentTrialsProceedingsSearchResponses, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierData, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierError, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierErrors, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierResponse, GetApiV1PetitionDecisionsByPetitionDecisionRecordIdentifierResponses, GetApiV1PetitionDecisionsSearchData, GetApiV1PetitionDecisionsSearchDownloadData, GetApiV1PetitionDecisionsSearchDownloadError, GetApiV1PetitionDecisionsSearchDownloadErrors, GetApiV1PetitionDecisionsSearchDownloadResponse, GetApiV1PetitionDecisionsSearchDownloadResponses, GetApiV1PetitionDecisionsSearchError, GetApiV1PetitionDecisionsSearchErrors, GetApiV1PetitionDecisionsSearchResponse, GetApiV1PetitionDecisionsSearchResponses, GrantFileMetaData, InterferenceDecisionDataResponse, InterferenceDecisionDocumentData, InterferenceDecisionRecord, InterferencePartyData, InternalErrorSchema, Limit, LookupRequest, NotFoundSchema, Offset, Pagination, ParamFacets, ParamFields, ParamFilters, ParamFormat, ParamLimit, ParamOffset, ParamQ, ParamRangeFilters, ParamSort, ParentContinuityData, PatentAppealDataBag, PatentAppealDataBag2, PatentDataResponse, PatentDownloadRequest, PatentOwnerData, PatentSearchRequest, PatentTermAdjustment, PatentTrialDecisionDataBag, PatentTrialDecisionDataBag2, PatentTrialDocumentDataBag, PatentTrialDocumentDataBag2, PatentTrialProceedingDataBag, PatentTrialProceedingDataBag2, PetitionDecision, PetitionDecisionAndDocuments, PetitionDecisionDocument, PetitionDecisionDownloadRequest, PetitionDecisionFacet, PetitionDecisionFacetEntity, PetitionDecisionFilter, PetitionDecisionIdentifierResponseBag, PetitionDecisionRange, PetitionDecisionResponseBag, PetitionDecisionSearchRequest, PetitionDecisionSort, PgPubFileMetaData, PostApiV1PatentAppealsDecisionsSearchData, PostApiV1PatentAppealsDecisionsSearchDownloadData, PostApiV1PatentAppealsDecisionsSearchDownloadError, PostApiV1PatentAppealsDecisionsSearchDownloadErrors, PostApiV1PatentAppealsDecisionsSearchDownloadResponse, PostApiV1PatentAppealsDecisionsSearchDownloadResponses, PostApiV1PatentAppealsDecisionsSearchError, PostApiV1PatentAppealsDecisionsSearchErrors, PostApiV1PatentAppealsDecisionsSearchResponse, PostApiV1PatentAppealsDecisionsSearchResponses, PostApiV1PatentApplicationsSearchData, PostApiV1PatentApplicationsSearchDownloadData, PostApiV1PatentApplicationsSearchDownloadError, PostApiV1PatentApplicationsSearchDownloadErrors, PostApiV1PatentApplicationsSearchDownloadResponse, PostApiV1PatentApplicationsSearchDownloadResponses, PostApiV1PatentApplicationsSearchError, PostApiV1PatentApplicationsSearchErrors, PostApiV1PatentApplicationsSearchResponse, PostApiV1PatentApplicationsSearchResponses, PostApiV1PatentInterferencesDecisionsSearchData, PostApiV1PatentInterferencesDecisionsSearchDownloadData, PostApiV1PatentInterferencesDecisionsSearchDownloadError, PostApiV1PatentInterferencesDecisionsSearchDownloadErrors, PostApiV1PatentInterferencesDecisionsSearchDownloadResponse, PostApiV1PatentInterferencesDecisionsSearchDownloadResponses, PostApiV1PatentInterferencesDecisionsSearchError, PostApiV1PatentInterferencesDecisionsSearchErrors, PostApiV1PatentInterferencesDecisionsSearchResponse, PostApiV1PatentInterferencesDecisionsSearchResponses, PostApiV1PatentStatusCodesData, PostApiV1PatentStatusCodesError, PostApiV1PatentStatusCodesErrors, PostApiV1PatentStatusCodesResponse, PostApiV1PatentStatusCodesResponses, PostApiV1PatentTrialsDecisionsSearchData, PostApiV1PatentTrialsDecisionsSearchDownloadData, PostApiV1PatentTrialsDecisionsSearchDownloadError, PostApiV1PatentTrialsDecisionsSearchDownloadErrors, PostApiV1PatentTrialsDecisionsSearchDownloadResponse, PostApiV1PatentTrialsDecisionsSearchDownloadResponses, PostApiV1PatentTrialsDecisionsSearchError, PostApiV1PatentTrialsDecisionsSearchErrors, PostApiV1PatentTrialsDecisionsSearchResponse, PostApiV1PatentTrialsDecisionsSearchResponses, PostApiV1PatentTrialsDocumentsSearchData, PostApiV1PatentTrialsDocumentsSearchDownloadData, PostApiV1PatentTrialsDocumentsSearchDownloadError, PostApiV1PatentTrialsDocumentsSearchDownloadErrors, PostApiV1PatentTrialsDocumentsSearchDownloadResponse, PostApiV1PatentTrialsDocumentsSearchDownloadResponses, PostApiV1PatentTrialsDocumentsSearchError, PostApiV1PatentTrialsDocumentsSearchErrors, PostApiV1PatentTrialsDocumentsSearchResponse, PostApiV1PatentTrialsDocumentsSearchResponses, PostApiV1PatentTrialsProceedingsSearchData, PostApiV1PatentTrialsProceedingsSearchDownloadData, PostApiV1PatentTrialsProceedingsSearchDownloadError, PostApiV1PatentTrialsProceedingsSearchDownloadErrors, PostApiV1PatentTrialsProceedingsSearchDownloadResponse, PostApiV1PatentTrialsProceedingsSearchDownloadResponses, PostApiV1PatentTrialsProceedingsSearchError, PostApiV1PatentTrialsProceedingsSearchErrors, PostApiV1PatentTrialsProceedingsSearchResponse, PostApiV1PatentTrialsProceedingsSearchResponses, PostApiV1PetitionDecisionsSearchData, PostApiV1PetitionDecisionsSearchDownloadData, PostApiV1PetitionDecisionsSearchDownloadError, PostApiV1PetitionDecisionsSearchDownloadErrors, PostApiV1PetitionDecisionsSearchDownloadResponse, PostApiV1PetitionDecisionsSearchDownloadResponses, PostApiV1PetitionDecisionsSearchError, PostApiV1PetitionDecisionsSearchErrors, PostApiV1PetitionDecisionsSearchResponse, PostApiV1PetitionDecisionsSearchResponses, ProceedingDataResponse, ProductFileBag, Q, Range, RangeFilters, RecordAttorney, RegularPetitionerData, RespondentData, Response400, Response403, Response404, Response500, SearchRequest, Sort, Sort2, Status413, StatusCodeSearchRequest, StatusCodeSearchResponse, TrialMetaData };
|