@pdfvector/instance-contract 0.2.8 → 0.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/.tsc/lib/index.d.ts +1 -11
  2. package/.tsc/lib/index.d.ts.map +1 -1
  3. package/.tsc/lib/index.js +1 -7
  4. package/CHANGELOG.md +13 -0
  5. package/package.json +4 -4
  6. package/.tsc/lib/fetchable-url-schema.d.ts +0 -3
  7. package/.tsc/lib/fetchable-url-schema.d.ts.map +0 -1
  8. package/.tsc/lib/fetchable-url-schema.js +0 -13
  9. package/.tsc/lib/json-schema-input.d.ts +0 -3
  10. package/.tsc/lib/json-schema-input.d.ts.map +0 -1
  11. package/.tsc/lib/json-schema-input.js +0 -25
  12. package/.tsc/lib/page-markdown-schema.d.ts +0 -6
  13. package/.tsc/lib/page-markdown-schema.d.ts.map +0 -1
  14. package/.tsc/lib/page-markdown-schema.js +0 -9
  15. package/.tsc/lib/pdfvector-model-schema.d.ts +0 -8
  16. package/.tsc/lib/pdfvector-model-schema.d.ts.map +0 -1
  17. package/.tsc/lib/pdfvector-model-schema.js +0 -4
  18. package/.tsc/lib/pdfvector-model.d.ts +0 -4
  19. package/.tsc/lib/pdfvector-model.d.ts.map +0 -1
  20. package/.tsc/lib/pdfvector-model.js +0 -0
  21. package/.tsc/lib/router/academic/fetch.d.ts +0 -69
  22. package/.tsc/lib/router/academic/fetch.d.ts.map +0 -1
  23. package/.tsc/lib/router/academic/fetch.js +0 -119
  24. package/.tsc/lib/router/academic/find-citations.d.ts +0 -70
  25. package/.tsc/lib/router/academic/find-citations.d.ts.map +0 -1
  26. package/.tsc/lib/router/academic/find-citations.js +0 -116
  27. package/.tsc/lib/router/academic/index.d.ts +0 -8
  28. package/.tsc/lib/router/academic/index.d.ts.map +0 -1
  29. package/.tsc/lib/router/academic/index.js +0 -7
  30. package/.tsc/lib/router/academic/paper-graph.d.ts +0 -113
  31. package/.tsc/lib/router/academic/paper-graph.d.ts.map +0 -1
  32. package/.tsc/lib/router/academic/paper-graph.js +0 -144
  33. package/.tsc/lib/router/academic/parse.d.ts +0 -50
  34. package/.tsc/lib/router/academic/parse.d.ts.map +0 -1
  35. package/.tsc/lib/router/academic/parse.js +0 -146
  36. package/.tsc/lib/router/academic/provider.d.ts +0 -18
  37. package/.tsc/lib/router/academic/provider.d.ts.map +0 -1
  38. package/.tsc/lib/router/academic/provider.js +0 -16
  39. package/.tsc/lib/router/academic/search-grants.d.ts +0 -84
  40. package/.tsc/lib/router/academic/search-grants.d.ts.map +0 -1
  41. package/.tsc/lib/router/academic/search-grants.js +0 -171
  42. package/.tsc/lib/router/academic/search.d.ts +0 -83
  43. package/.tsc/lib/router/academic/search.d.ts.map +0 -1
  44. package/.tsc/lib/router/academic/search.js +0 -154
  45. package/.tsc/lib/router/academic/similar-papers.d.ts +0 -89
  46. package/.tsc/lib/router/academic/similar-papers.d.ts.map +0 -1
  47. package/.tsc/lib/router/academic/similar-papers.js +0 -143
  48. package/.tsc/lib/router/admin/get-environment.d.ts +0 -5
  49. package/.tsc/lib/router/admin/get-environment.d.ts.map +0 -1
  50. package/.tsc/lib/router/admin/get-environment.js +0 -13
  51. package/.tsc/lib/router/admin/get-free-usage-records.d.ts +0 -34
  52. package/.tsc/lib/router/admin/get-free-usage-records.d.ts.map +0 -1
  53. package/.tsc/lib/router/admin/get-free-usage-records.js +0 -38
  54. package/.tsc/lib/router/admin/get-provider-usage-records.d.ts +0 -41
  55. package/.tsc/lib/router/admin/get-provider-usage-records.d.ts.map +0 -1
  56. package/.tsc/lib/router/admin/get-provider-usage-records.js +0 -50
  57. package/.tsc/lib/router/admin/get-usage-records.d.ts +0 -48
  58. package/.tsc/lib/router/admin/get-usage-records.d.ts.map +0 -1
  59. package/.tsc/lib/router/admin/get-usage-records.js +0 -44
  60. package/.tsc/lib/router/admin/health-check.d.ts +0 -5
  61. package/.tsc/lib/router/admin/health-check.d.ts.map +0 -1
  62. package/.tsc/lib/router/admin/health-check.js +0 -14
  63. package/.tsc/lib/router/admin/index.d.ts +0 -9
  64. package/.tsc/lib/router/admin/index.d.ts.map +0 -1
  65. package/.tsc/lib/router/admin/index.js +0 -8
  66. package/.tsc/lib/router/admin/set-domain.d.ts +0 -7
  67. package/.tsc/lib/router/admin/set-domain.d.ts.map +0 -1
  68. package/.tsc/lib/router/admin/set-domain.js +0 -20
  69. package/.tsc/lib/router/admin/set-environment.d.ts +0 -7
  70. package/.tsc/lib/router/admin/set-environment.d.ts.map +0 -1
  71. package/.tsc/lib/router/admin/set-environment.js +0 -41
  72. package/.tsc/lib/router/admin/set-version.d.ts +0 -7
  73. package/.tsc/lib/router/admin/set-version.d.ts.map +0 -1
  74. package/.tsc/lib/router/admin/set-version.js +0 -21
  75. package/.tsc/lib/router/authenticate/index.d.ts +0 -2
  76. package/.tsc/lib/router/authenticate/index.d.ts.map +0 -1
  77. package/.tsc/lib/router/authenticate/index.js +0 -1
  78. package/.tsc/lib/router/authenticate/validate-credential.d.ts +0 -7
  79. package/.tsc/lib/router/authenticate/validate-credential.d.ts.map +0 -1
  80. package/.tsc/lib/router/authenticate/validate-credential.js +0 -20
  81. package/.tsc/lib/router/bankStatement/ask.d.ts +0 -32
  82. package/.tsc/lib/router/bankStatement/ask.d.ts.map +0 -1
  83. package/.tsc/lib/router/bankStatement/ask.js +0 -88
  84. package/.tsc/lib/router/bankStatement/extract.d.ts +0 -33
  85. package/.tsc/lib/router/bankStatement/extract.d.ts.map +0 -1
  86. package/.tsc/lib/router/bankStatement/extract.js +0 -113
  87. package/.tsc/lib/router/bankStatement/get-default-spec.d.ts +0 -2
  88. package/.tsc/lib/router/bankStatement/get-default-spec.d.ts.map +0 -1
  89. package/.tsc/lib/router/bankStatement/get-default-spec.js +0 -19
  90. package/.tsc/lib/router/bankStatement/index.d.ts +0 -4
  91. package/.tsc/lib/router/bankStatement/index.d.ts.map +0 -1
  92. package/.tsc/lib/router/bankStatement/index.js +0 -3
  93. package/.tsc/lib/router/bankStatement/parse.d.ts +0 -28
  94. package/.tsc/lib/router/bankStatement/parse.d.ts.map +0 -1
  95. package/.tsc/lib/router/bankStatement/parse.js +0 -105
  96. package/.tsc/lib/router/document/ask.d.ts +0 -32
  97. package/.tsc/lib/router/document/ask.d.ts.map +0 -1
  98. package/.tsc/lib/router/document/ask.js +0 -134
  99. package/.tsc/lib/router/document/extract.d.ts +0 -33
  100. package/.tsc/lib/router/document/extract.d.ts.map +0 -1
  101. package/.tsc/lib/router/document/extract.js +0 -152
  102. package/.tsc/lib/router/document/get-default-spec.d.ts +0 -2
  103. package/.tsc/lib/router/document/get-default-spec.d.ts.map +0 -1
  104. package/.tsc/lib/router/document/get-default-spec.js +0 -19
  105. package/.tsc/lib/router/document/index.d.ts +0 -4
  106. package/.tsc/lib/router/document/index.d.ts.map +0 -1
  107. package/.tsc/lib/router/document/index.js +0 -3
  108. package/.tsc/lib/router/document/parse.d.ts +0 -40
  109. package/.tsc/lib/router/document/parse.d.ts.map +0 -1
  110. package/.tsc/lib/router/document/parse.js +0 -142
  111. package/.tsc/lib/router/free/bank-statement-parse.d.ts +0 -16
  112. package/.tsc/lib/router/free/bank-statement-parse.d.ts.map +0 -1
  113. package/.tsc/lib/router/free/bank-statement-parse.js +0 -87
  114. package/.tsc/lib/router/free/generate-schema.d.ts +0 -8
  115. package/.tsc/lib/router/free/generate-schema.d.ts.map +0 -1
  116. package/.tsc/lib/router/free/generate-schema.js +0 -110
  117. package/.tsc/lib/router/free/index.d.ts +0 -5
  118. package/.tsc/lib/router/free/index.d.ts.map +0 -1
  119. package/.tsc/lib/router/free/index.js +0 -4
  120. package/.tsc/lib/router/free/publication-pdf-url.d.ts +0 -12
  121. package/.tsc/lib/router/free/publication-pdf-url.d.ts.map +0 -1
  122. package/.tsc/lib/router/free/publication-pdf-url.js +0 -86
  123. package/.tsc/lib/router/free/rate-limit-status.d.ts +0 -19
  124. package/.tsc/lib/router/free/rate-limit-status.d.ts.map +0 -1
  125. package/.tsc/lib/router/free/rate-limit-status.js +0 -36
  126. package/.tsc/lib/router/identity/ask.d.ts +0 -32
  127. package/.tsc/lib/router/identity/ask.d.ts.map +0 -1
  128. package/.tsc/lib/router/identity/ask.js +0 -95
  129. package/.tsc/lib/router/identity/extract.d.ts +0 -33
  130. package/.tsc/lib/router/identity/extract.d.ts.map +0 -1
  131. package/.tsc/lib/router/identity/extract.js +0 -103
  132. package/.tsc/lib/router/identity/get-default-spec.d.ts +0 -2
  133. package/.tsc/lib/router/identity/get-default-spec.d.ts.map +0 -1
  134. package/.tsc/lib/router/identity/get-default-spec.js +0 -19
  135. package/.tsc/lib/router/identity/index.d.ts +0 -4
  136. package/.tsc/lib/router/identity/index.d.ts.map +0 -1
  137. package/.tsc/lib/router/identity/index.js +0 -3
  138. package/.tsc/lib/router/identity/parse.d.ts +0 -29
  139. package/.tsc/lib/router/identity/parse.d.ts.map +0 -1
  140. package/.tsc/lib/router/identity/parse.js +0 -109
  141. package/.tsc/lib/router/index.d.ts +0 -9
  142. package/.tsc/lib/router/index.d.ts.map +0 -1
  143. package/.tsc/lib/router/index.js +0 -8
  144. package/.tsc/lib/router/invoice/ask.d.ts +0 -32
  145. package/.tsc/lib/router/invoice/ask.d.ts.map +0 -1
  146. package/.tsc/lib/router/invoice/ask.js +0 -85
  147. package/.tsc/lib/router/invoice/extract.d.ts +0 -33
  148. package/.tsc/lib/router/invoice/extract.d.ts.map +0 -1
  149. package/.tsc/lib/router/invoice/extract.js +0 -109
  150. package/.tsc/lib/router/invoice/get-default-spec.d.ts +0 -2
  151. package/.tsc/lib/router/invoice/get-default-spec.d.ts.map +0 -1
  152. package/.tsc/lib/router/invoice/get-default-spec.js +0 -19
  153. package/.tsc/lib/router/invoice/index.d.ts +0 -4
  154. package/.tsc/lib/router/invoice/index.d.ts.map +0 -1
  155. package/.tsc/lib/router/invoice/index.js +0 -3
  156. package/.tsc/lib/router/invoice/parse.d.ts +0 -28
  157. package/.tsc/lib/router/invoice/parse.d.ts.map +0 -1
  158. package/.tsc/lib/router/invoice/parse.js +0 -100
  159. package/.tsc/lib/supported-mimes.d.ts +0 -35
  160. package/.tsc/lib/supported-mimes.d.ts.map +0 -1
  161. package/.tsc/lib/supported-mimes.js +0 -130
@@ -1,113 +0,0 @@
1
- import { z } from "zod";
2
- export declare const paperGraph: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
3
- id: z.ZodString;
4
- citationsLimit: z.ZodDefault<z.ZodNumber>;
5
- referencesLimit: z.ZodDefault<z.ZodNumber>;
6
- citationsOffset: z.ZodDefault<z.ZodNumber>;
7
- referencesOffset: z.ZodDefault<z.ZodNumber>;
8
- fields: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
9
- abstract: "abstract";
10
- authors: "authors";
11
- date: "date";
12
- doi: "doi";
13
- pdfURL: "pdfURL";
14
- provider: "provider";
15
- providerData: "providerData";
16
- providerURL: "providerURL";
17
- title: "title";
18
- totalCitations: "totalCitations";
19
- totalReferences: "totalReferences";
20
- url: "url";
21
- year: "year";
22
- }>>>>;
23
- callback: z.ZodOptional<z.ZodObject<{
24
- url: z.ZodURL;
25
- type: z.ZodOptional<z.ZodString>;
26
- }, z.core.$strip>>;
27
- }, z.core.$strip>, z.ZodObject<{
28
- paper: z.ZodObject<{
29
- doi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
- title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
32
- providerURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
- authors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
34
- name: z.ZodString;
35
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
36
- }, z.core.$strip>>>>;
37
- date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
38
- year: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
39
- totalCitations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
40
- totalReferences: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
41
- abstract: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
- pdfURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
43
- provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
44
- arxiv: "arxiv";
45
- crossref: "crossref";
46
- eric: "eric";
47
- "europe-pmc": "europe-pmc";
48
- "google-scholar": "google-scholar";
49
- openalex: "openalex";
50
- pubmed: "pubmed";
51
- "semantic-scholar": "semantic-scholar";
52
- }>>>;
53
- providerData: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
54
- }, z.core.$strip>;
55
- citations: z.ZodArray<z.ZodObject<{
56
- doi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
- title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
- providerURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
- authors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
61
- name: z.ZodString;
62
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
- }, z.core.$strip>>>>;
64
- date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
65
- year: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
66
- totalCitations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
67
- totalReferences: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
68
- abstract: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
- pdfURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
- provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
71
- arxiv: "arxiv";
72
- crossref: "crossref";
73
- eric: "eric";
74
- "europe-pmc": "europe-pmc";
75
- "google-scholar": "google-scholar";
76
- openalex: "openalex";
77
- pubmed: "pubmed";
78
- "semantic-scholar": "semantic-scholar";
79
- }>>>;
80
- providerData: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
81
- }, z.core.$strip>>;
82
- references: z.ZodArray<z.ZodObject<{
83
- doi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
- title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
85
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
- providerURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
87
- authors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
88
- name: z.ZodString;
89
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
- }, z.core.$strip>>>>;
91
- date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
- year: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
93
- totalCitations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
94
- totalReferences: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
95
- abstract: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
- pdfURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
97
- provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
98
- arxiv: "arxiv";
99
- crossref: "crossref";
100
- eric: "eric";
101
- "europe-pmc": "europe-pmc";
102
- "google-scholar": "google-scholar";
103
- openalex: "openalex";
104
- pubmed: "pubmed";
105
- "semantic-scholar": "semantic-scholar";
106
- }>>>;
107
- providerData: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
108
- }, z.core.$strip>>;
109
- totalCitations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
110
- totalReferences: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
111
- requestId: z.ZodNumber;
112
- }, z.core.$strip>, Record<never, never>, Record<never, never>>;
113
- //# sourceMappingURL=paper-graph.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paper-graph.d.ts","sourceRoot":"","sources":["../../../../lib/router/academic/paper-graph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoDxB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DA+GpB,CAAC"}
@@ -1,144 +0,0 @@
1
- import { oc } from "@orpc/contract";
2
- import { getOpenApiCodeSamples } from "@pdfvector/api-docs";
3
- import { academicCreditCosts } from "@pdfvector/util";
4
- import { z } from "zod";
5
- import { providerSchema } from "./provider.js";
6
- const authorSchema = z.object({
7
- name: z.string(),
8
- url: z.string().nullish(),
9
- });
10
- const publicationSchema = z.object({
11
- doi: z.string().nullish(),
12
- title: z.string().nullish(),
13
- url: z.string().nullish(),
14
- providerURL: z.string().nullish(),
15
- authors: z.array(authorSchema).nullish(),
16
- date: z.string().nullish(),
17
- year: z.number().nullish(),
18
- totalCitations: z.number().nullish(),
19
- totalReferences: z.number().nullish(),
20
- abstract: z.string().nullish(),
21
- pdfURL: z.string().nullish(),
22
- provider: providerSchema.nullish(),
23
- providerData: z.record(z.string(), z.unknown()).nullish(),
24
- });
25
- const requestExamples = {
26
- "Get citations by DOI": {
27
- summary: "Get citations and references for a paper by DOI",
28
- value: {
29
- id: "10.1038/nature12373",
30
- citationsLimit: 20,
31
- referencesLimit: 20,
32
- },
33
- },
34
- "Get citations by ArXiv ID": {
35
- summary: "Get citations and references for an ArXiv paper",
36
- value: {
37
- id: "2303.08774",
38
- citationsLimit: 50,
39
- referencesLimit: 50,
40
- },
41
- },
42
- "Paginated citations": {
43
- summary: "Page through a paper's citations",
44
- value: {
45
- id: "10.1038/nature12373",
46
- citationsLimit: 20,
47
- citationsOffset: 20,
48
- referencesLimit: 0,
49
- },
50
- },
51
- };
52
- export const paperGraph = oc
53
- .input(z.object({
54
- id: z
55
- .string({ message: "id is required and must be a string" })
56
- .min(1, "id must not be empty")
57
- .max(500, "id must be at most 500 characters")
58
- .describe("Paper identifier. Supports DOI, Semantic Scholar ID, ArXiv ID, PubMed ID, OpenAlex ID, or URL."),
59
- citationsLimit: z
60
- .number({ message: "citationsLimit must be a number" })
61
- .int("citationsLimit must be a whole number")
62
- .min(0, "citationsLimit must be 0 or greater")
63
- .max(1000, "citationsLimit must be at most 1000")
64
- .default(100)
65
- .describe("Maximum number of citing papers to return"),
66
- referencesLimit: z
67
- .number({ message: "referencesLimit must be a number" })
68
- .int("referencesLimit must be a whole number")
69
- .min(0, "referencesLimit must be 0 or greater")
70
- .max(1000, "referencesLimit must be at most 1000")
71
- .default(100)
72
- .describe("Maximum number of referenced papers to return"),
73
- citationsOffset: z
74
- .number({ message: "citationsOffset must be a number" })
75
- .int("citationsOffset must be a whole number")
76
- .min(0, "citationsOffset must be 0 or greater")
77
- .default(0)
78
- .describe("Pagination offset for citations"),
79
- referencesOffset: z
80
- .number({ message: "referencesOffset must be a number" })
81
- .int("referencesOffset must be a whole number")
82
- .min(0, "referencesOffset must be 0 or greater")
83
- .default(0)
84
- .describe("Pagination offset for references"),
85
- fields: z
86
- .array(z.enum([
87
- "doi",
88
- "title",
89
- "url",
90
- "providerURL",
91
- "authors",
92
- "date",
93
- "year",
94
- "totalCitations",
95
- "totalReferences",
96
- "abstract",
97
- "pdfURL",
98
- "provider",
99
- "providerData",
100
- ]), {
101
- message: "fields must be an array of valid publication field names",
102
- })
103
- .nullish()
104
- .describe("Specific publication fields to return. If omitted, returns all fields except providerData."),
105
- callback: z
106
- .object({
107
- url: z
108
- .url()
109
- .describe("Webhook URL where results will be POSTed when processing completes"),
110
- type: z
111
- .string()
112
- .optional()
113
- .describe("Callback type identifier (e.g. 'zapier')"),
114
- })
115
- .optional()
116
- .describe("Optional webhook callback for async processing. " +
117
- "When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
118
- "On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
119
- "Useful for long-running operations that may exceed client timeout limits."),
120
- }))
121
- .output(z.object({
122
- paper: publicationSchema,
123
- citations: z.array(publicationSchema),
124
- references: z.array(publicationSchema),
125
- totalCitations: z.number().int().nullish(),
126
- totalReferences: z.number().int().nullish(),
127
- requestId: z.number().int(),
128
- }))
129
- .route({
130
- summary: "Get paper citations and references",
131
- description: `Fetch a paper's citing papers and referenced papers as full publication objects with automatic provider detection and pagination support. Costs ${academicCreditCosts.academicPaperGraphMin}+ credits per request (scales with result count).`,
132
- tags: ["Academic"],
133
- spec: (op) => {
134
- op.security = [{ bearerAuth: [] }];
135
- const reqBody = op.requestBody;
136
- if (reqBody?.content) {
137
- for (const mediaType of Object.values(reqBody.content)) {
138
- mediaType["examples"] = requestExamples;
139
- }
140
- }
141
- op["x-codeSamples"] = getOpenApiCodeSamples("academic-paper-graph");
142
- return op;
143
- },
144
- });
@@ -1,50 +0,0 @@
1
- import { z } from "zod";
2
- export declare const parse: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
3
- id: z.ZodOptional<z.ZodString>;
4
- url: z.ZodOptional<z.ZodURL>;
5
- model: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
6
- auto: "auto";
7
- max: "max";
8
- mini: "mini";
9
- nano: "nano";
10
- pro: "pro";
11
- }>>>;
12
- includePages: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
13
- callback: z.ZodOptional<z.ZodObject<{
14
- url: z.ZodURL;
15
- type: z.ZodOptional<z.ZodString>;
16
- }, z.core.$strip>>;
17
- }, z.core.$strip>, z.ZodObject<{
18
- id: z.ZodString;
19
- title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
- doi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
- providerURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
- pdfURL: z.ZodString;
24
- detectedProvider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
25
- arxiv: "arxiv";
26
- crossref: "crossref";
27
- eric: "eric";
28
- "europe-pmc": "europe-pmc";
29
- "google-scholar": "google-scholar";
30
- openalex: "openalex";
31
- pubmed: "pubmed";
32
- "semantic-scholar": "semantic-scholar";
33
- }>>>;
34
- markdown: z.ZodString;
35
- pageCount: z.ZodNumber;
36
- model: z.ZodEnum<{
37
- max: "max";
38
- mini: "mini";
39
- nano: "nano";
40
- pro: "pro";
41
- }>;
42
- credits: z.ZodNumber;
43
- requestId: z.ZodNumber;
44
- html: z.ZodOptional<z.ZodString>;
45
- pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
46
- pageNumber: z.ZodNumber;
47
- markdown: z.ZodString;
48
- }, z.core.$strip>>>;
49
- }, z.core.$strip>, Record<never, never>, Record<never, never>>;
50
- //# sourceMappingURL=parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../lib/router/academic/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqJxB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DAyBf,CAAC"}
@@ -1,146 +0,0 @@
1
- import { oc } from "@orpc/contract";
2
- import { academicParseOpenApiCodeSamples } from "@pdfvector/api-docs";
3
- import { z } from "zod";
4
- import { fetchableUrlSchema } from "../../fetchable-url-schema.js";
5
- import { pageMarkdownSchema } from "../../page-markdown-schema.js";
6
- import { pdfvectorModelSchema } from "../../pdfvector-model-schema.js";
7
- import { documentParseModelDescription, outputModelDescription, } from "../../supported-mimes.js";
8
- import { providerSchema } from "./provider.js";
9
- const callbackSchema = z
10
- .object({
11
- url: fetchableUrlSchema.describe("Webhook URL where results will be POSTed when processing completes"),
12
- type: z
13
- .string()
14
- .optional()
15
- .describe("Callback type identifier (e.g. 'zapier')"),
16
- })
17
- .optional()
18
- .describe("Optional webhook callback for async processing. " +
19
- "When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
20
- "On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
21
- "Useful for long-running operations that may exceed client timeout limits.");
22
- const parseInputSchema = z
23
- .object({
24
- id: z
25
- .string({ message: "id must be a string" })
26
- .trim()
27
- .min(1, "id must be a non-empty string")
28
- .optional()
29
- .describe("Publication identifier to resolve and parse. Supports DOI, PubMed ID, ArXiv ID, Semantic Scholar ID, ERIC ID, Europe PMC ID, OpenAlex ID."),
30
- url: fetchableUrlSchema
31
- .optional()
32
- .describe("Publication URL to resolve and parse. Supports known provider URLs such as DOI, ArXiv, PubMed, Semantic Scholar, ERIC, Europe PMC, OpenAlex, Springer, Nature, bioRxiv, and medRxiv."),
33
- model: z
34
- .enum(["auto", ...pdfvectorModelSchema.options])
35
- .optional()
36
- .default("auto")
37
- .describe(documentParseModelDescription),
38
- includePages: z
39
- .boolean()
40
- .optional()
41
- .default(false)
42
- .describe("Set to true to include page-separated markdown in the pages array. Existing markdown output is still returned as the full paper text."),
43
- callback: callbackSchema,
44
- })
45
- .superRefine((input, ctx) => {
46
- const hasId = typeof input.id === "string" && input.id.length > 0;
47
- const hasUrl = typeof input.url === "string" && input.url.length > 0;
48
- if (hasId === hasUrl) {
49
- ctx.addIssue({
50
- code: "custom",
51
- path: ["id"],
52
- message: "Provide exactly one of id or url",
53
- });
54
- }
55
- });
56
- const parseOutputSchema = z.object({
57
- id: z.string().describe("Original input identifier or URL"),
58
- title: z.string().nullish().describe("Publication title, if available"),
59
- doi: z.string().nullish().describe("Publication DOI, if available"),
60
- url: z
61
- .string()
62
- .nullish()
63
- .describe("PDF Vector publication URL, if available"),
64
- providerURL: z
65
- .string()
66
- .nullish()
67
- .describe("Provider publication page URL, if available"),
68
- pdfURL: z.string().describe("Resolved public PDF URL used for parsing"),
69
- detectedProvider: providerSchema
70
- .nullish()
71
- .describe("Provider detected from the input identifier or URL"),
72
- markdown: z
73
- .string()
74
- .describe("Extracted markdown content from the paper PDF"),
75
- pageCount: z
76
- .number()
77
- .int()
78
- .describe("Total number of pages in the paper PDF"),
79
- model: pdfvectorModelSchema.describe(outputModelDescription),
80
- credits: z
81
- .number()
82
- .int()
83
- .describe("Number of credits consumed by this API call. Cost per page: nano=1, mini=2, pro=4, max=8."),
84
- requestId: z
85
- .number()
86
- .int()
87
- .describe("Unique request identifier for this API call"),
88
- html: z
89
- .string()
90
- .optional()
91
- .describe("Full HTML representation of the paper content. Only available when using the 'max' model."),
92
- pages: z
93
- .array(pageMarkdownSchema)
94
- .optional()
95
- .describe("Page-separated markdown content. Returned only when includePages is true."),
96
- });
97
- const requestExamples = {
98
- "Parse ArXiv paper by ID": {
99
- summary: "Parse ArXiv paper by ID",
100
- value: {
101
- id: "1706.03762",
102
- model: "auto",
103
- },
104
- },
105
- "Parse paper by DOI URL": {
106
- summary: "Parse paper by DOI URL",
107
- value: {
108
- url: "https://doi.org/10.1038/nature12373",
109
- model: "pro",
110
- },
111
- },
112
- "Parse PubMed paper by ID": {
113
- summary: "Parse PubMed paper by ID",
114
- value: {
115
- id: "33116299",
116
- model: "auto",
117
- },
118
- },
119
- "Parse paper with page-separated output": {
120
- summary: "Parse paper with page-separated output",
121
- value: {
122
- id: "1706.03762",
123
- model: "auto",
124
- includePages: true,
125
- },
126
- },
127
- };
128
- export const parse = oc
129
- .input(parseInputSchema)
130
- .output(parseOutputSchema)
131
- .route({
132
- summary: "Parse an academic paper to markdown",
133
- description: "Resolve an academic paper URL or identifier to a public PDF URL, parse the PDF, and return markdown using the same model tiers as document.parse. Returns NOT_FOUND when the paper cannot be found or no public PDF is available.",
134
- tags: ["Academic"],
135
- spec: (op) => {
136
- op.security = [{ bearerAuth: [] }];
137
- const reqBody = op.requestBody;
138
- if (reqBody?.content) {
139
- for (const mediaType of Object.values(reqBody.content)) {
140
- mediaType["examples"] = requestExamples;
141
- }
142
- }
143
- op["x-codeSamples"] = academicParseOpenApiCodeSamples;
144
- return op;
145
- },
146
- });
@@ -1,18 +0,0 @@
1
- import { z } from "zod";
2
- export declare const providerSchema: z.ZodEnum<{
3
- arxiv: "arxiv";
4
- crossref: "crossref";
5
- eric: "eric";
6
- "europe-pmc": "europe-pmc";
7
- "google-scholar": "google-scholar";
8
- openalex: "openalex";
9
- pubmed: "pubmed";
10
- "semantic-scholar": "semantic-scholar";
11
- }>;
12
- export declare const grantProviderSchema: z.ZodEnum<{
13
- cordis: "cordis";
14
- "grants-gov": "grants-gov";
15
- "nih-reporter": "nih-reporter";
16
- ukri: "ukri";
17
- }>;
18
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../lib/router/academic/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;;;;;;;EAe1B,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;EAM/B,CAAC"}
@@ -1,16 +0,0 @@
1
- import { z } from "zod";
2
- export const providerSchema = z.enum([
3
- "semantic-scholar",
4
- "pubmed",
5
- "arxiv",
6
- "google-scholar",
7
- "eric",
8
- "europe-pmc",
9
- "openalex",
10
- "crossref",
11
- ], {
12
- message: "Invalid provider. Must be one of: semantic-scholar, pubmed, arxiv, google-scholar, eric, europe-pmc, openalex, crossref",
13
- });
14
- export const grantProviderSchema = z.enum(["grants-gov", "nih-reporter", "cordis", "ukri"], {
15
- message: "Invalid provider. Must be one of: grants-gov, nih-reporter, cordis, ukri",
16
- });
@@ -1,84 +0,0 @@
1
- import { z } from "zod";
2
- export declare const searchGrants: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
3
- query: z.ZodString;
4
- providers: z.ZodDefault<z.ZodArray<z.ZodEnum<{
5
- cordis: "cordis";
6
- "grants-gov": "grants-gov";
7
- "nih-reporter": "nih-reporter";
8
- ukri: "ukri";
9
- }>>>;
10
- offset: z.ZodDefault<z.ZodNumber>;
11
- limit: z.ZodDefault<z.ZodNumber>;
12
- deadlineFrom: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
- deadlineTo: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
- fundingMin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
15
- fundingMax: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
16
- fields: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
17
- agency: "agency";
18
- closeDate: "closeDate";
19
- currency: "currency";
20
- deadlineDate: "deadlineDate";
21
- description: "description";
22
- eligibility: "eligibility";
23
- fundingAmountMax: "fundingAmountMax";
24
- fundingAmountMin: "fundingAmountMin";
25
- grantType: "grantType";
26
- keywords: "keywords";
27
- openDate: "openDate";
28
- organizationName: "organizationName";
29
- piName: "piName";
30
- program: "program";
31
- provider: "provider";
32
- providerData: "providerData";
33
- region: "region";
34
- sourceId: "sourceId";
35
- title: "title";
36
- url: "url";
37
- }>>>>;
38
- callback: z.ZodOptional<z.ZodObject<{
39
- url: z.ZodURL;
40
- type: z.ZodOptional<z.ZodString>;
41
- }, z.core.$strip>>;
42
- }, z.core.$strip>, z.ZodObject<{
43
- estimatedTotalResults: z.ZodNumber;
44
- results: z.ZodArray<z.ZodObject<{
45
- sourceId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
- title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
- url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
- agency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
- program: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
- description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
- eligibility: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
- fundingAmountMin: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
53
- fundingAmountMax: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
54
- currency: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
- deadlineDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
- openDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
- closeDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
- grantType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
- region: z.ZodOptional<z.ZodNullable<z.ZodString>>;
60
- keywords: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
61
- piName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
- organizationName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
63
- provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
64
- cordis: "cordis";
65
- "grants-gov": "grants-gov";
66
- "nih-reporter": "nih-reporter";
67
- ukri: "ukri";
68
- }>>>;
69
- providerData: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
70
- }, z.core.$strip>>;
71
- errors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
72
- provider: z.ZodEnum<{
73
- cordis: "cordis";
74
- "grants-gov": "grants-gov";
75
- "nih-reporter": "nih-reporter";
76
- ukri: "ukri";
77
- }>;
78
- message: z.ZodString;
79
- code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
80
- details: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
81
- }, z.core.$strip>>>>;
82
- requestId: z.ZodNumber;
83
- }, z.core.$strip>, Record<never, never>, Record<never, never>>;
84
- //# sourceMappingURL=search-grants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-grants.d.ts","sourceRoot":"","sources":["../../../../lib/router/academic/search-grants.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8DxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DAwItB,CAAC"}