@pdfvector/instance-contract 0.2.7 → 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.
- package/.tsc/lib/index.d.ts +1 -11
- package/.tsc/lib/index.d.ts.map +1 -1
- package/.tsc/lib/index.js +1 -7
- package/CHANGELOG.md +23 -0
- package/package.json +6 -6
- package/.tsc/lib/fetchable-url-schema.d.ts +0 -3
- package/.tsc/lib/fetchable-url-schema.d.ts.map +0 -1
- package/.tsc/lib/fetchable-url-schema.js +0 -13
- package/.tsc/lib/json-schema-input.d.ts +0 -3
- package/.tsc/lib/json-schema-input.d.ts.map +0 -1
- package/.tsc/lib/json-schema-input.js +0 -25
- package/.tsc/lib/page-markdown-schema.d.ts +0 -6
- package/.tsc/lib/page-markdown-schema.d.ts.map +0 -1
- package/.tsc/lib/page-markdown-schema.js +0 -9
- package/.tsc/lib/pdfvector-model-schema.d.ts +0 -8
- package/.tsc/lib/pdfvector-model-schema.d.ts.map +0 -1
- package/.tsc/lib/pdfvector-model-schema.js +0 -4
- package/.tsc/lib/pdfvector-model.d.ts +0 -4
- package/.tsc/lib/pdfvector-model.d.ts.map +0 -1
- package/.tsc/lib/pdfvector-model.js +0 -0
- package/.tsc/lib/router/academic/fetch.d.ts +0 -69
- package/.tsc/lib/router/academic/fetch.d.ts.map +0 -1
- package/.tsc/lib/router/academic/fetch.js +0 -119
- package/.tsc/lib/router/academic/find-citations.d.ts +0 -70
- package/.tsc/lib/router/academic/find-citations.d.ts.map +0 -1
- package/.tsc/lib/router/academic/find-citations.js +0 -116
- package/.tsc/lib/router/academic/index.d.ts +0 -8
- package/.tsc/lib/router/academic/index.d.ts.map +0 -1
- package/.tsc/lib/router/academic/index.js +0 -7
- package/.tsc/lib/router/academic/paper-graph.d.ts +0 -113
- package/.tsc/lib/router/academic/paper-graph.d.ts.map +0 -1
- package/.tsc/lib/router/academic/paper-graph.js +0 -144
- package/.tsc/lib/router/academic/parse.d.ts +0 -50
- package/.tsc/lib/router/academic/parse.d.ts.map +0 -1
- package/.tsc/lib/router/academic/parse.js +0 -146
- package/.tsc/lib/router/academic/provider.d.ts +0 -18
- package/.tsc/lib/router/academic/provider.d.ts.map +0 -1
- package/.tsc/lib/router/academic/provider.js +0 -16
- package/.tsc/lib/router/academic/search-grants.d.ts +0 -84
- package/.tsc/lib/router/academic/search-grants.d.ts.map +0 -1
- package/.tsc/lib/router/academic/search-grants.js +0 -171
- package/.tsc/lib/router/academic/search.d.ts +0 -83
- package/.tsc/lib/router/academic/search.d.ts.map +0 -1
- package/.tsc/lib/router/academic/search.js +0 -154
- package/.tsc/lib/router/academic/similar-papers.d.ts +0 -89
- package/.tsc/lib/router/academic/similar-papers.d.ts.map +0 -1
- package/.tsc/lib/router/academic/similar-papers.js +0 -143
- package/.tsc/lib/router/admin/get-environment.d.ts +0 -5
- package/.tsc/lib/router/admin/get-environment.d.ts.map +0 -1
- package/.tsc/lib/router/admin/get-environment.js +0 -13
- package/.tsc/lib/router/admin/get-free-usage-records.d.ts +0 -34
- package/.tsc/lib/router/admin/get-free-usage-records.d.ts.map +0 -1
- package/.tsc/lib/router/admin/get-free-usage-records.js +0 -38
- package/.tsc/lib/router/admin/get-provider-usage-records.d.ts +0 -36
- package/.tsc/lib/router/admin/get-provider-usage-records.d.ts.map +0 -1
- package/.tsc/lib/router/admin/get-provider-usage-records.js +0 -45
- package/.tsc/lib/router/admin/get-usage-records.d.ts +0 -48
- package/.tsc/lib/router/admin/get-usage-records.d.ts.map +0 -1
- package/.tsc/lib/router/admin/get-usage-records.js +0 -44
- package/.tsc/lib/router/admin/health-check.d.ts +0 -5
- package/.tsc/lib/router/admin/health-check.d.ts.map +0 -1
- package/.tsc/lib/router/admin/health-check.js +0 -14
- package/.tsc/lib/router/admin/index.d.ts +0 -9
- package/.tsc/lib/router/admin/index.d.ts.map +0 -1
- package/.tsc/lib/router/admin/index.js +0 -8
- package/.tsc/lib/router/admin/set-domain.d.ts +0 -7
- package/.tsc/lib/router/admin/set-domain.d.ts.map +0 -1
- package/.tsc/lib/router/admin/set-domain.js +0 -20
- package/.tsc/lib/router/admin/set-environment.d.ts +0 -7
- package/.tsc/lib/router/admin/set-environment.d.ts.map +0 -1
- package/.tsc/lib/router/admin/set-environment.js +0 -41
- package/.tsc/lib/router/admin/set-version.d.ts +0 -7
- package/.tsc/lib/router/admin/set-version.d.ts.map +0 -1
- package/.tsc/lib/router/admin/set-version.js +0 -21
- package/.tsc/lib/router/authenticate/index.d.ts +0 -2
- package/.tsc/lib/router/authenticate/index.d.ts.map +0 -1
- package/.tsc/lib/router/authenticate/index.js +0 -1
- package/.tsc/lib/router/authenticate/validate-credential.d.ts +0 -7
- package/.tsc/lib/router/authenticate/validate-credential.d.ts.map +0 -1
- package/.tsc/lib/router/authenticate/validate-credential.js +0 -20
- package/.tsc/lib/router/bankStatement/ask.d.ts +0 -32
- package/.tsc/lib/router/bankStatement/ask.d.ts.map +0 -1
- package/.tsc/lib/router/bankStatement/ask.js +0 -88
- package/.tsc/lib/router/bankStatement/extract.d.ts +0 -33
- package/.tsc/lib/router/bankStatement/extract.d.ts.map +0 -1
- package/.tsc/lib/router/bankStatement/extract.js +0 -113
- package/.tsc/lib/router/bankStatement/get-default-spec.d.ts +0 -2
- package/.tsc/lib/router/bankStatement/get-default-spec.d.ts.map +0 -1
- package/.tsc/lib/router/bankStatement/get-default-spec.js +0 -19
- package/.tsc/lib/router/bankStatement/index.d.ts +0 -4
- package/.tsc/lib/router/bankStatement/index.d.ts.map +0 -1
- package/.tsc/lib/router/bankStatement/index.js +0 -3
- package/.tsc/lib/router/bankStatement/parse.d.ts +0 -28
- package/.tsc/lib/router/bankStatement/parse.d.ts.map +0 -1
- package/.tsc/lib/router/bankStatement/parse.js +0 -105
- package/.tsc/lib/router/document/ask.d.ts +0 -32
- package/.tsc/lib/router/document/ask.d.ts.map +0 -1
- package/.tsc/lib/router/document/ask.js +0 -134
- package/.tsc/lib/router/document/extract.d.ts +0 -33
- package/.tsc/lib/router/document/extract.d.ts.map +0 -1
- package/.tsc/lib/router/document/extract.js +0 -152
- package/.tsc/lib/router/document/get-default-spec.d.ts +0 -2
- package/.tsc/lib/router/document/get-default-spec.d.ts.map +0 -1
- package/.tsc/lib/router/document/get-default-spec.js +0 -19
- package/.tsc/lib/router/document/index.d.ts +0 -4
- package/.tsc/lib/router/document/index.d.ts.map +0 -1
- package/.tsc/lib/router/document/index.js +0 -3
- package/.tsc/lib/router/document/parse.d.ts +0 -40
- package/.tsc/lib/router/document/parse.d.ts.map +0 -1
- package/.tsc/lib/router/document/parse.js +0 -142
- package/.tsc/lib/router/free/bank-statement-parse.d.ts +0 -16
- package/.tsc/lib/router/free/bank-statement-parse.d.ts.map +0 -1
- package/.tsc/lib/router/free/bank-statement-parse.js +0 -87
- package/.tsc/lib/router/free/generate-schema.d.ts +0 -8
- package/.tsc/lib/router/free/generate-schema.d.ts.map +0 -1
- package/.tsc/lib/router/free/generate-schema.js +0 -110
- package/.tsc/lib/router/free/index.d.ts +0 -5
- package/.tsc/lib/router/free/index.d.ts.map +0 -1
- package/.tsc/lib/router/free/index.js +0 -4
- package/.tsc/lib/router/free/publication-pdf-url.d.ts +0 -12
- package/.tsc/lib/router/free/publication-pdf-url.d.ts.map +0 -1
- package/.tsc/lib/router/free/publication-pdf-url.js +0 -86
- package/.tsc/lib/router/free/rate-limit-status.d.ts +0 -19
- package/.tsc/lib/router/free/rate-limit-status.d.ts.map +0 -1
- package/.tsc/lib/router/free/rate-limit-status.js +0 -36
- package/.tsc/lib/router/identity/ask.d.ts +0 -32
- package/.tsc/lib/router/identity/ask.d.ts.map +0 -1
- package/.tsc/lib/router/identity/ask.js +0 -95
- package/.tsc/lib/router/identity/extract.d.ts +0 -33
- package/.tsc/lib/router/identity/extract.d.ts.map +0 -1
- package/.tsc/lib/router/identity/extract.js +0 -103
- package/.tsc/lib/router/identity/get-default-spec.d.ts +0 -2
- package/.tsc/lib/router/identity/get-default-spec.d.ts.map +0 -1
- package/.tsc/lib/router/identity/get-default-spec.js +0 -19
- package/.tsc/lib/router/identity/index.d.ts +0 -4
- package/.tsc/lib/router/identity/index.d.ts.map +0 -1
- package/.tsc/lib/router/identity/index.js +0 -3
- package/.tsc/lib/router/identity/parse.d.ts +0 -29
- package/.tsc/lib/router/identity/parse.d.ts.map +0 -1
- package/.tsc/lib/router/identity/parse.js +0 -109
- package/.tsc/lib/router/index.d.ts +0 -9
- package/.tsc/lib/router/index.d.ts.map +0 -1
- package/.tsc/lib/router/index.js +0 -8
- package/.tsc/lib/router/invoice/ask.d.ts +0 -32
- package/.tsc/lib/router/invoice/ask.d.ts.map +0 -1
- package/.tsc/lib/router/invoice/ask.js +0 -85
- package/.tsc/lib/router/invoice/extract.d.ts +0 -33
- package/.tsc/lib/router/invoice/extract.d.ts.map +0 -1
- package/.tsc/lib/router/invoice/extract.js +0 -109
- package/.tsc/lib/router/invoice/get-default-spec.d.ts +0 -2
- package/.tsc/lib/router/invoice/get-default-spec.d.ts.map +0 -1
- package/.tsc/lib/router/invoice/get-default-spec.js +0 -19
- package/.tsc/lib/router/invoice/index.d.ts +0 -4
- package/.tsc/lib/router/invoice/index.d.ts.map +0 -1
- package/.tsc/lib/router/invoice/index.js +0 -3
- package/.tsc/lib/router/invoice/parse.d.ts +0 -28
- package/.tsc/lib/router/invoice/parse.d.ts.map +0 -1
- package/.tsc/lib/router/invoice/parse.js +0 -100
- package/.tsc/lib/supported-mimes.d.ts +0 -35
- package/.tsc/lib/supported-mimes.d.ts.map +0 -1
- package/.tsc/lib/supported-mimes.js +0 -130
package/.tsc/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import * as contract from "./router/index.js";
|
|
3
|
-
export { contract };
|
|
4
|
-
export type ContractInputs = InferContractRouterInputs<typeof contract>;
|
|
5
|
-
export type ContractOutputs = InferContractRouterOutputs<typeof contract>;
|
|
6
|
-
import { createORPCClient, ORPCError, onError } from "@orpc/client";
|
|
7
|
-
import { RPCLink } from "@orpc/client/fetch";
|
|
8
|
-
export type { ContractRouterClient } from "@orpc/contract";
|
|
9
|
-
export * from "./pdfvector-model.js";
|
|
10
|
-
export * from "./pdfvector-model-schema.js";
|
|
11
|
-
export { createORPCClient, ORPCError, onError, RPCLink };
|
|
1
|
+
export * from "@pdfvector/util/instance-contract";
|
|
12
2
|
//# sourceMappingURL=index.d.ts.map
|
package/.tsc/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
|
package/.tsc/lib/index.js
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { contract };
|
|
3
|
-
import { createORPCClient, ORPCError, onError } from "@orpc/client";
|
|
4
|
-
import { RPCLink } from "@orpc/client/fetch";
|
|
5
|
-
export * from "./pdfvector-model.js";
|
|
6
|
-
export * from "./pdfvector-model-schema.js";
|
|
7
|
-
export { createORPCClient, ORPCError, onError, RPCLink };
|
|
1
|
+
export * from "@pdfvector/util/instance-contract";
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# @pdfvector/instance-contract
|
|
2
2
|
|
|
3
|
+
## 0.2.9
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#366](https://github.com/phuctm97/pdfvector/pull/366) [`6eff6a7`](https://github.com/phuctm97/pdfvector/commit/6eff6a724246f47d7c4216fe1a81368e96d271ce) Thanks [@khanhduyvt0101](https://github.com/khanhduyvt0101)! - Move gateway and instance contracts into util while preserving their existing package exports. Upgrade workspace dependencies and adapt authentication storage, routing, Jotai atoms, schema validation, and package publishing to the current APIs. Replace redundant parsing, types, and retry code with library features.
|
|
8
|
+
|
|
9
|
+
Preserve academic request deadlines through proxy fallback, bound proxy attempts and discovery, batch similar-paper seed metadata, and retain graph enrichment results.
|
|
10
|
+
|
|
11
|
+
Return exact OpenAlex search offsets and split large citation and metadata requests into supported pages and batches.
|
|
12
|
+
- Updated dependencies [[`6eff6a7`](https://github.com/phuctm97/pdfvector/commit/6eff6a724246f47d7c4216fe1a81368e96d271ce)]:
|
|
13
|
+
- @pdfvector/api-docs@0.0.9
|
|
14
|
+
- @pdfvector/util@0.0.32
|
|
15
|
+
|
|
16
|
+
## 0.2.8
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- [#353](https://github.com/phuctm97/pdfvector/pull/353) [`f36260d`](https://github.com/phuctm97/pdfvector/commit/f36260d3f793f7b58b005dadd66adfd90dcdb598) Thanks [@khanhduyvt0101](https://github.com/khanhduyvt0101)! - Upgrade every workspace dependency to its latest compatible version, migrate the SPA to TanStack Table 9, and use Papa Parse for robust blog CSV imports.
|
|
21
|
+
|
|
22
|
+
- [#353](https://github.com/phuctm97/pdfvector/pull/353) [`f36260d`](https://github.com/phuctm97/pdfvector/commit/f36260d3f793f7b58b005dadd66adfd90dcdb598) Thanks [@khanhduyvt0101](https://github.com/khanhduyvt0101)! - Persist invoice-reconcilable Azure usage meters, charge credits when provider work succeeds before a request error, and preserve overage usage in gateway totals.
|
|
23
|
+
- Updated dependencies [[`f36260d`](https://github.com/phuctm97/pdfvector/commit/f36260d3f793f7b58b005dadd66adfd90dcdb598)]:
|
|
24
|
+
- @pdfvector/util@0.0.31
|
|
25
|
+
|
|
3
26
|
## 0.2.7
|
|
4
27
|
### Patch Changes
|
|
5
28
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pdfvector/instance-contract",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "API contract definitions for PDF Vector instance server",
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
},
|
|
21
21
|
"main": ".tsc/lib/index.js",
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@orpc/client": "^1.
|
|
24
|
-
"@orpc/contract": "^1.
|
|
25
|
-
"@pdfvector/api-docs": "^0.0.
|
|
26
|
-
"@pdfvector/util": "^0.0.
|
|
23
|
+
"@orpc/client": "^1.15.0",
|
|
24
|
+
"@orpc/contract": "^1.15.0",
|
|
25
|
+
"@pdfvector/api-docs": "^0.0.9",
|
|
26
|
+
"@pdfvector/util": "^0.0.32"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
29
|
-
"zod": "^4.4
|
|
29
|
+
"zod": "^4.6.4"
|
|
30
30
|
},
|
|
31
31
|
"types": ".tsc/lib/index.d.ts",
|
|
32
32
|
"files": [
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetchable-url-schema.d.ts","sourceRoot":"","sources":["../../lib/fetchable-url-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,kBAAkB,UAE7B,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
function isFetchableUrl(value) {
|
|
3
|
-
try {
|
|
4
|
-
const url = new URL(value);
|
|
5
|
-
return url.protocol === "http:" || url.protocol === "https:";
|
|
6
|
-
}
|
|
7
|
-
catch {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export const fetchableUrlSchema = z.url().refine(isFetchableUrl, {
|
|
12
|
-
message: "URL must use http or https",
|
|
13
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema-input.d.ts","sourceRoot":"","sources":["../../lib/json-schema-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe,wIAuB1B,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export const jsonSchemaInput = z.union([
|
|
3
|
-
z.record(z.string(), z.unknown()),
|
|
4
|
-
z.string().transform((str, ctx) => {
|
|
5
|
-
try {
|
|
6
|
-
const trimmed = str.startsWith('"') && str.endsWith('"') ? str.slice(1, -1) : str;
|
|
7
|
-
const parsed = JSON.parse(trimmed);
|
|
8
|
-
if (typeof parsed !== "object" || parsed === null) {
|
|
9
|
-
ctx.addIssue({
|
|
10
|
-
code: "custom",
|
|
11
|
-
message: "Schema must be a JSON object",
|
|
12
|
-
});
|
|
13
|
-
return z.NEVER;
|
|
14
|
-
}
|
|
15
|
-
return parsed;
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
ctx.addIssue({
|
|
19
|
-
code: "custom",
|
|
20
|
-
message: "Invalid JSON string for schema",
|
|
21
|
-
});
|
|
22
|
-
return z.NEVER;
|
|
23
|
-
}
|
|
24
|
-
}),
|
|
25
|
-
]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"page-markdown-schema.d.ts","sourceRoot":"","sources":["../../lib/page-markdown-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;;;iBAO7B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pdfvector-model-schema.d.ts","sourceRoot":"","sources":["../../lib/pdfvector-model-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,oBAAoB;;;;;EAE/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pdfvector-model.d.ts","sourceRoot":"","sources":["../../lib/pdfvector-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
File without changes
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const fetch: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
3
|
-
ids: z.ZodArray<z.ZodString>;
|
|
4
|
-
fields: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
|
|
5
|
-
abstract: "abstract";
|
|
6
|
-
authors: "authors";
|
|
7
|
-
date: "date";
|
|
8
|
-
doi: "doi";
|
|
9
|
-
pdfURL: "pdfURL";
|
|
10
|
-
provider: "provider";
|
|
11
|
-
providerData: "providerData";
|
|
12
|
-
providerURL: "providerURL";
|
|
13
|
-
title: "title";
|
|
14
|
-
totalCitations: "totalCitations";
|
|
15
|
-
totalReferences: "totalReferences";
|
|
16
|
-
url: "url";
|
|
17
|
-
year: "year";
|
|
18
|
-
}>>>>;
|
|
19
|
-
callback: z.ZodOptional<z.ZodObject<{
|
|
20
|
-
url: z.ZodURL;
|
|
21
|
-
type: z.ZodOptional<z.ZodString>;
|
|
22
|
-
}, z.core.$strip>>;
|
|
23
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
24
|
-
results: z.ZodArray<z.ZodObject<{
|
|
25
|
-
id: z.ZodString;
|
|
26
|
-
detectedProvider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
27
|
-
arxiv: "arxiv";
|
|
28
|
-
crossref: "crossref";
|
|
29
|
-
eric: "eric";
|
|
30
|
-
"europe-pmc": "europe-pmc";
|
|
31
|
-
"google-scholar": "google-scholar";
|
|
32
|
-
openalex: "openalex";
|
|
33
|
-
pubmed: "pubmed";
|
|
34
|
-
"semantic-scholar": "semantic-scholar";
|
|
35
|
-
}>>>;
|
|
36
|
-
doi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
37
|
-
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
38
|
-
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
39
|
-
providerURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
40
|
-
authors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
41
|
-
name: z.ZodString;
|
|
42
|
-
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
43
|
-
}, z.core.$strip>>>>;
|
|
44
|
-
date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
45
|
-
year: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
46
|
-
totalCitations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
47
|
-
totalReferences: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
48
|
-
abstract: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
49
|
-
pdfURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
50
|
-
provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
51
|
-
arxiv: "arxiv";
|
|
52
|
-
crossref: "crossref";
|
|
53
|
-
eric: "eric";
|
|
54
|
-
"europe-pmc": "europe-pmc";
|
|
55
|
-
"google-scholar": "google-scholar";
|
|
56
|
-
openalex: "openalex";
|
|
57
|
-
pubmed: "pubmed";
|
|
58
|
-
"semantic-scholar": "semantic-scholar";
|
|
59
|
-
}>>>;
|
|
60
|
-
providerData: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
61
|
-
}, z.core.$strip>>;
|
|
62
|
-
errors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
63
|
-
id: z.ZodString;
|
|
64
|
-
error: z.ZodString;
|
|
65
|
-
code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
66
|
-
}, z.core.$strip>>>>;
|
|
67
|
-
requestId: z.ZodNumber;
|
|
68
|
-
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
69
|
-
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../lib/router/academic/fetch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuDxB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DAoFf,CAAC"}
|
|
@@ -1,119 +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
|
-
id: z.string().describe("Original input identifier"),
|
|
12
|
-
detectedProvider: providerSchema
|
|
13
|
-
.nullish()
|
|
14
|
-
.describe("Provider that returned this result"),
|
|
15
|
-
doi: z.string().nullish(),
|
|
16
|
-
title: z.string().nullish(),
|
|
17
|
-
url: z.string().nullish(),
|
|
18
|
-
providerURL: z.string().nullish(),
|
|
19
|
-
authors: z.array(authorSchema).nullish(),
|
|
20
|
-
date: z.string().nullish(),
|
|
21
|
-
year: z.number().nullish(),
|
|
22
|
-
totalCitations: z.number().nullish(),
|
|
23
|
-
totalReferences: z.number().nullish(),
|
|
24
|
-
abstract: z.string().nullish(),
|
|
25
|
-
pdfURL: z.string().nullish(),
|
|
26
|
-
provider: providerSchema.nullish(),
|
|
27
|
-
providerData: z.record(z.string(), z.unknown()).nullish(),
|
|
28
|
-
});
|
|
29
|
-
const fetchErrorSchema = z.object({
|
|
30
|
-
id: z.string(),
|
|
31
|
-
error: z.string(),
|
|
32
|
-
code: z.string().nullish(),
|
|
33
|
-
});
|
|
34
|
-
const requestExamples = {
|
|
35
|
-
"Fetch by DOI": {
|
|
36
|
-
summary: "Fetch a paper by DOI",
|
|
37
|
-
value: {
|
|
38
|
-
ids: ["10.1038/nature12373"],
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
"Fetch multiple IDs": {
|
|
42
|
-
summary: "Fetch papers by mixed identifier types",
|
|
43
|
-
value: {
|
|
44
|
-
ids: ["10.1038/nature12373", "2301.08745", "33293753"],
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
"Fetch ArXiv paper": {
|
|
48
|
-
summary: "Fetch by ArXiv ID",
|
|
49
|
-
value: {
|
|
50
|
-
ids: ["2303.08774"],
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
export const fetch = oc
|
|
55
|
-
.input(z.object({
|
|
56
|
-
ids: z
|
|
57
|
-
.array(z.string({ message: "Each ID must be a string" }), {
|
|
58
|
-
message: "ids is required and must be an array of strings",
|
|
59
|
-
})
|
|
60
|
-
.min(1, "ids must contain at least 1 identifier")
|
|
61
|
-
.max(100, "ids must contain at most 100 identifiers")
|
|
62
|
-
.describe("Publication identifiers to fetch. Supports DOI, PubMed ID, ArXiv ID, Semantic Scholar ID, ERIC ID, Europe PMC ID, OpenAlex ID."),
|
|
63
|
-
fields: z
|
|
64
|
-
.array(z.enum([
|
|
65
|
-
"doi",
|
|
66
|
-
"title",
|
|
67
|
-
"url",
|
|
68
|
-
"providerURL",
|
|
69
|
-
"authors",
|
|
70
|
-
"date",
|
|
71
|
-
"year",
|
|
72
|
-
"totalCitations",
|
|
73
|
-
"totalReferences",
|
|
74
|
-
"abstract",
|
|
75
|
-
"pdfURL",
|
|
76
|
-
"provider",
|
|
77
|
-
"providerData",
|
|
78
|
-
]), {
|
|
79
|
-
message: "fields must be an array of valid publication field names",
|
|
80
|
-
})
|
|
81
|
-
.nullish()
|
|
82
|
-
.describe("Specific publication fields to return. If omitted, returns all fields except providerData."),
|
|
83
|
-
callback: z
|
|
84
|
-
.object({
|
|
85
|
-
url: z
|
|
86
|
-
.url()
|
|
87
|
-
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
88
|
-
type: z
|
|
89
|
-
.string()
|
|
90
|
-
.optional()
|
|
91
|
-
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
92
|
-
})
|
|
93
|
-
.optional()
|
|
94
|
-
.describe("Optional webhook callback for async processing. " +
|
|
95
|
-
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
96
|
-
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
97
|
-
"Useful for long-running operations that may exceed client timeout limits."),
|
|
98
|
-
}))
|
|
99
|
-
.output(z.object({
|
|
100
|
-
results: z.array(publicationSchema),
|
|
101
|
-
errors: z.array(fetchErrorSchema).nullish(),
|
|
102
|
-
requestId: z.number().int(),
|
|
103
|
-
}))
|
|
104
|
-
.route({
|
|
105
|
-
summary: "Fetch academic papers by ID",
|
|
106
|
-
description: `Fetch specific academic publications by their unique identifiers with automatic provider detection and batch processing. Costs ${academicCreditCosts.academicFetch} credits per request.`,
|
|
107
|
-
tags: ["Academic"],
|
|
108
|
-
spec: (op) => {
|
|
109
|
-
op.security = [{ bearerAuth: [] }];
|
|
110
|
-
const reqBody = op.requestBody;
|
|
111
|
-
if (reqBody?.content) {
|
|
112
|
-
for (const mediaType of Object.values(reqBody.content)) {
|
|
113
|
-
mediaType["examples"] = requestExamples;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
op["x-codeSamples"] = getOpenApiCodeSamples("academic-fetch");
|
|
117
|
-
return op;
|
|
118
|
-
},
|
|
119
|
-
});
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const findCitations: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
3
|
-
paragraph: z.ZodString;
|
|
4
|
-
providers: z.ZodDefault<z.ZodArray<z.ZodEnum<{
|
|
5
|
-
arxiv: "arxiv";
|
|
6
|
-
crossref: "crossref";
|
|
7
|
-
eric: "eric";
|
|
8
|
-
"europe-pmc": "europe-pmc";
|
|
9
|
-
"google-scholar": "google-scholar";
|
|
10
|
-
openalex: "openalex";
|
|
11
|
-
pubmed: "pubmed";
|
|
12
|
-
"semantic-scholar": "semantic-scholar";
|
|
13
|
-
}>>>;
|
|
14
|
-
fields: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
|
|
15
|
-
abstract: "abstract";
|
|
16
|
-
authors: "authors";
|
|
17
|
-
date: "date";
|
|
18
|
-
doi: "doi";
|
|
19
|
-
pdfURL: "pdfURL";
|
|
20
|
-
provider: "provider";
|
|
21
|
-
providerData: "providerData";
|
|
22
|
-
providerURL: "providerURL";
|
|
23
|
-
title: "title";
|
|
24
|
-
totalCitations: "totalCitations";
|
|
25
|
-
totalReferences: "totalReferences";
|
|
26
|
-
url: "url";
|
|
27
|
-
year: "year";
|
|
28
|
-
}>>>>;
|
|
29
|
-
callback: z.ZodOptional<z.ZodObject<{
|
|
30
|
-
url: z.ZodURL;
|
|
31
|
-
type: z.ZodOptional<z.ZodString>;
|
|
32
|
-
}, z.core.$strip>>;
|
|
33
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
34
|
-
results: z.ZodArray<z.ZodObject<{
|
|
35
|
-
sentence: z.ZodString;
|
|
36
|
-
citations: z.ZodArray<z.ZodObject<{
|
|
37
|
-
score: z.ZodNumber;
|
|
38
|
-
doi: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
39
|
-
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
40
|
-
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
41
|
-
providerURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
42
|
-
authors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
|
|
43
|
-
name: z.ZodString;
|
|
44
|
-
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
45
|
-
}, z.core.$strip>>>>;
|
|
46
|
-
date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
47
|
-
year: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
48
|
-
totalCitations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
49
|
-
totalReferences: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
50
|
-
abstract: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
51
|
-
pdfURL: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
52
|
-
provider: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
53
|
-
arxiv: "arxiv";
|
|
54
|
-
crossref: "crossref";
|
|
55
|
-
eric: "eric";
|
|
56
|
-
"europe-pmc": "europe-pmc";
|
|
57
|
-
"google-scholar": "google-scholar";
|
|
58
|
-
openalex: "openalex";
|
|
59
|
-
pubmed: "pubmed";
|
|
60
|
-
"semantic-scholar": "semantic-scholar";
|
|
61
|
-
}>>>;
|
|
62
|
-
providerData: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
63
|
-
}, z.core.$strip>>;
|
|
64
|
-
}, z.core.$strip>>;
|
|
65
|
-
sentenceCount: z.ZodNumber;
|
|
66
|
-
totalCitations: z.ZodNumber;
|
|
67
|
-
errors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
68
|
-
requestId: z.ZodNumber;
|
|
69
|
-
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
70
|
-
//# sourceMappingURL=find-citations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"find-citations.d.ts","sourceRoot":"","sources":["../../../../lib/router/academic/find-citations.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgDxB,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8DAwFvB,CAAC"}
|
|
@@ -1,116 +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 scoredPublicationSchema = z.object({
|
|
11
|
-
score: z.number().describe("Relevance score (0-10)"),
|
|
12
|
-
doi: z.string().nullish(),
|
|
13
|
-
title: z.string().nullish(),
|
|
14
|
-
url: z.string().nullish(),
|
|
15
|
-
providerURL: z.string().nullish(),
|
|
16
|
-
authors: z.array(authorSchema).nullish(),
|
|
17
|
-
date: z.string().nullish(),
|
|
18
|
-
year: z.number().nullish(),
|
|
19
|
-
totalCitations: z.number().nullish(),
|
|
20
|
-
totalReferences: z.number().nullish(),
|
|
21
|
-
abstract: z.string().nullish(),
|
|
22
|
-
pdfURL: z.string().nullish(),
|
|
23
|
-
provider: providerSchema.nullish(),
|
|
24
|
-
providerData: z.record(z.string(), z.unknown()).nullish(),
|
|
25
|
-
});
|
|
26
|
-
const sentenceCitationSchema = z.object({
|
|
27
|
-
sentence: z.string(),
|
|
28
|
-
citations: z.array(scoredPublicationSchema),
|
|
29
|
-
});
|
|
30
|
-
const requestExamples = {
|
|
31
|
-
"Find citations for a paragraph": {
|
|
32
|
-
summary: "Find citations for a research paragraph",
|
|
33
|
-
value: {
|
|
34
|
-
paragraph: "Deep learning has revolutionized computer vision and natural language processing. Transformer architectures have become the dominant approach for sequence modeling tasks. Recent large language models demonstrate emergent capabilities not seen in smaller models.",
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
"Find citations with multiple providers": {
|
|
38
|
-
summary: "Search across multiple databases",
|
|
39
|
-
value: {
|
|
40
|
-
paragraph: "CRISPR-Cas9 gene editing technology has transformed molecular biology. The ability to precisely modify DNA sequences has opened new avenues for treating genetic diseases.",
|
|
41
|
-
providers: ["semantic-scholar", "pubmed"],
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
export const findCitations = oc
|
|
46
|
-
.input(z.object({
|
|
47
|
-
paragraph: z
|
|
48
|
-
.string({ message: "paragraph is required and must be a string" })
|
|
49
|
-
.min(1, "paragraph must not be empty")
|
|
50
|
-
.max(5000, "paragraph must be at most 5000 characters")
|
|
51
|
-
.describe("Text paragraph to find relevant academic citations for"),
|
|
52
|
-
providers: z
|
|
53
|
-
.array(providerSchema, {
|
|
54
|
-
message: "providers must be an array of valid provider names",
|
|
55
|
-
})
|
|
56
|
-
.default(["semantic-scholar"])
|
|
57
|
-
.describe("Academic databases to search for citations"),
|
|
58
|
-
fields: z
|
|
59
|
-
.array(z.enum([
|
|
60
|
-
"doi",
|
|
61
|
-
"title",
|
|
62
|
-
"url",
|
|
63
|
-
"providerURL",
|
|
64
|
-
"authors",
|
|
65
|
-
"date",
|
|
66
|
-
"year",
|
|
67
|
-
"totalCitations",
|
|
68
|
-
"totalReferences",
|
|
69
|
-
"abstract",
|
|
70
|
-
"pdfURL",
|
|
71
|
-
"provider",
|
|
72
|
-
"providerData",
|
|
73
|
-
]), {
|
|
74
|
-
message: "fields must be an array of valid publication field names",
|
|
75
|
-
})
|
|
76
|
-
.nullish()
|
|
77
|
-
.describe("Specific citation fields to return. If omitted, returns all fields except providerData."),
|
|
78
|
-
callback: z
|
|
79
|
-
.object({
|
|
80
|
-
url: z
|
|
81
|
-
.url()
|
|
82
|
-
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
83
|
-
type: z
|
|
84
|
-
.string()
|
|
85
|
-
.optional()
|
|
86
|
-
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
87
|
-
})
|
|
88
|
-
.optional()
|
|
89
|
-
.describe("Optional webhook callback for async processing. " +
|
|
90
|
-
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
91
|
-
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
92
|
-
"Useful for long-running operations that may exceed client timeout limits."),
|
|
93
|
-
}))
|
|
94
|
-
.output(z.object({
|
|
95
|
-
results: z.array(sentenceCitationSchema),
|
|
96
|
-
sentenceCount: z.number().int(),
|
|
97
|
-
totalCitations: z.number().int(),
|
|
98
|
-
errors: z.array(z.string()).nullish(),
|
|
99
|
-
requestId: z.number().int(),
|
|
100
|
-
}))
|
|
101
|
-
.route({
|
|
102
|
-
summary: "Find citations for a paragraph",
|
|
103
|
-
description: `Find relevant academic citations for a paragraph by splitting it into sentences and scoring papers using semantic embedding similarity. Costs ${academicCreditCosts.academicFindCitationsPerSentence} credits per sentence.`,
|
|
104
|
-
tags: ["Academic"],
|
|
105
|
-
spec: (op) => {
|
|
106
|
-
op.security = [{ bearerAuth: [] }];
|
|
107
|
-
const reqBody = op.requestBody;
|
|
108
|
-
if (reqBody?.content) {
|
|
109
|
-
for (const mediaType of Object.values(reqBody.content)) {
|
|
110
|
-
mediaType["examples"] = requestExamples;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
op["x-codeSamples"] = getOpenApiCodeSamples("academic-find-citations");
|
|
114
|
-
return op;
|
|
115
|
-
},
|
|
116
|
-
});
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from "./fetch.js";
|
|
2
|
-
export * from "./find-citations.js";
|
|
3
|
-
export * from "./paper-graph.js";
|
|
4
|
-
export * from "./parse.js";
|
|
5
|
-
export * from "./search.js";
|
|
6
|
-
export * from "./search-grants.js";
|
|
7
|
-
export * from "./similar-papers.js";
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/router/academic/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
|