@pdfvector/instance-contract 0.0.23 → 0.0.25
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/router/academic/fetch.d.ts +4 -0
- package/.tsc/lib/router/academic/fetch.js +15 -0
- package/.tsc/lib/router/academic/find-citations.d.ts +4 -0
- package/.tsc/lib/router/academic/find-citations.js +15 -0
- package/.tsc/lib/router/academic/search.d.ts +4 -0
- package/.tsc/lib/router/academic/search.js +15 -0
- package/.tsc/lib/router/bankStatement/ask.d.ts +6 -0
- package/.tsc/lib/router/bankStatement/ask.js +20 -0
- package/.tsc/lib/router/bankStatement/extract.d.ts +6 -0
- package/.tsc/lib/router/bankStatement/extract.js +20 -0
- package/.tsc/lib/router/bankStatement/parse.d.ts +5 -0
- package/.tsc/lib/router/bankStatement/parse.js +19 -0
- package/.tsc/lib/router/document/ask.d.ts +6 -0
- package/.tsc/lib/router/document/ask.js +25 -0
- package/.tsc/lib/router/document/extract.d.ts +6 -0
- package/.tsc/lib/router/document/extract.js +25 -0
- package/.tsc/lib/router/document/parse.d.ts +5 -0
- package/.tsc/lib/router/document/parse.js +19 -0
- package/.tsc/lib/router/identity/ask.d.ts +6 -0
- package/.tsc/lib/router/identity/ask.js +20 -0
- package/.tsc/lib/router/identity/extract.d.ts +6 -0
- package/.tsc/lib/router/identity/extract.js +20 -0
- package/.tsc/lib/router/identity/parse.d.ts +5 -0
- package/.tsc/lib/router/identity/parse.js +19 -0
- package/.tsc/lib/router/invoice/ask.d.ts +6 -0
- package/.tsc/lib/router/invoice/ask.js +20 -0
- package/.tsc/lib/router/invoice/extract.d.ts +6 -0
- package/.tsc/lib/router/invoice/extract.js +20 -0
- package/.tsc/lib/router/invoice/parse.d.ts +5 -0
- package/.tsc/lib/router/invoice/parse.js +19 -0
- package/CHANGELOG.md +14 -0
- package/package.json +1 -1
|
@@ -16,6 +16,10 @@ export declare const fetch: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
16
16
|
provider: "provider";
|
|
17
17
|
providerData: "providerData";
|
|
18
18
|
}>>>>;
|
|
19
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
20
|
+
url: z.ZodURL;
|
|
21
|
+
type: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$strip>>;
|
|
19
23
|
}, z.core.$strip>, z.ZodObject<{
|
|
20
24
|
results: z.ZodArray<z.ZodObject<{
|
|
21
25
|
id: z.ZodString;
|
|
@@ -78,6 +78,21 @@ export const fetch = oc
|
|
|
78
78
|
})
|
|
79
79
|
.nullish()
|
|
80
80
|
.describe("Specific publication fields to return. If omitted, returns all fields except providerData."),
|
|
81
|
+
callback: z
|
|
82
|
+
.object({
|
|
83
|
+
url: z
|
|
84
|
+
.url()
|
|
85
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
86
|
+
type: z
|
|
87
|
+
.string()
|
|
88
|
+
.optional()
|
|
89
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
90
|
+
})
|
|
91
|
+
.optional()
|
|
92
|
+
.describe("Optional webhook callback for async processing. " +
|
|
93
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
94
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
95
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
81
96
|
}))
|
|
82
97
|
.output(z.object({
|
|
83
98
|
results: z.array(publicationSchema),
|
|
@@ -25,6 +25,10 @@ export declare const findCitations: import("@orpc/contract").ContractProcedureBu
|
|
|
25
25
|
provider: "provider";
|
|
26
26
|
providerData: "providerData";
|
|
27
27
|
}>>>>;
|
|
28
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
29
|
+
url: z.ZodURL;
|
|
30
|
+
type: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}, z.core.$strip>>;
|
|
28
32
|
}, z.core.$strip>, z.ZodObject<{
|
|
29
33
|
results: z.ZodArray<z.ZodObject<{
|
|
30
34
|
sentence: z.ZodString;
|
|
@@ -83,6 +83,21 @@ export const findCitations = oc
|
|
|
83
83
|
})
|
|
84
84
|
.nullish()
|
|
85
85
|
.describe("Specific citation fields to return. If omitted, returns all fields except providerData."),
|
|
86
|
+
callback: z
|
|
87
|
+
.object({
|
|
88
|
+
url: z
|
|
89
|
+
.url()
|
|
90
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
91
|
+
type: z
|
|
92
|
+
.string()
|
|
93
|
+
.optional()
|
|
94
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
95
|
+
})
|
|
96
|
+
.optional()
|
|
97
|
+
.describe("Optional webhook callback for async processing. " +
|
|
98
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
99
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
100
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
86
101
|
}))
|
|
87
102
|
.output(z.object({
|
|
88
103
|
results: z.array(sentenceCitationSchema),
|
|
@@ -29,6 +29,10 @@ export declare const search: import("@orpc/contract").ContractProcedureBuilderWi
|
|
|
29
29
|
provider: "provider";
|
|
30
30
|
providerData: "providerData";
|
|
31
31
|
}>>>>;
|
|
32
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
33
|
+
url: z.ZodURL;
|
|
34
|
+
type: z.ZodOptional<z.ZodString>;
|
|
35
|
+
}, z.core.$strip>>;
|
|
32
36
|
}, z.core.$strip>, z.ZodObject<{
|
|
33
37
|
estimatedTotalResults: z.ZodNumber;
|
|
34
38
|
results: z.ZodArray<z.ZodObject<{
|
|
@@ -122,6 +122,21 @@ export const search = oc
|
|
|
122
122
|
})
|
|
123
123
|
.nullish()
|
|
124
124
|
.describe("Specific publication fields to return. If omitted, returns all fields except providerData."),
|
|
125
|
+
callback: z
|
|
126
|
+
.object({
|
|
127
|
+
url: z
|
|
128
|
+
.url()
|
|
129
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
130
|
+
type: z
|
|
131
|
+
.string()
|
|
132
|
+
.optional()
|
|
133
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
134
|
+
})
|
|
135
|
+
.optional()
|
|
136
|
+
.describe("Optional webhook callback for async processing. " +
|
|
137
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
138
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
139
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
125
140
|
}))
|
|
126
141
|
.output(z.object({
|
|
127
142
|
estimatedTotalResults: z.number(),
|
|
@@ -11,14 +11,20 @@ export declare const ask: import("@orpc/contract").ContractProcedureBuilderWithI
|
|
|
11
11
|
max: "max";
|
|
12
12
|
auto: "auto";
|
|
13
13
|
}>>;
|
|
14
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
15
|
+
url: z.ZodURL;
|
|
16
|
+
type: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$strip>>;
|
|
14
18
|
}, z.core.$strip>, z.ZodObject<{
|
|
15
19
|
markdown: z.ZodString;
|
|
20
|
+
pageCount: z.ZodNumber;
|
|
16
21
|
model: z.ZodEnum<{
|
|
17
22
|
nano: "nano";
|
|
18
23
|
mini: "mini";
|
|
19
24
|
pro: "pro";
|
|
20
25
|
max: "max";
|
|
21
26
|
}>;
|
|
27
|
+
credits: z.ZodNumber;
|
|
22
28
|
requestId: z.ZodNumber;
|
|
23
29
|
documentId: z.ZodOptional<z.ZodString>;
|
|
24
30
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -37,10 +37,30 @@ const askInputSchema = z.object({
|
|
|
37
37
|
"'mini': Uses mid-range models. " +
|
|
38
38
|
"'pro': Uses capable models. " +
|
|
39
39
|
"'max': Uses the most powerful models."),
|
|
40
|
+
callback: z
|
|
41
|
+
.object({
|
|
42
|
+
url: z
|
|
43
|
+
.url()
|
|
44
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
45
|
+
type: z
|
|
46
|
+
.string()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
49
|
+
})
|
|
50
|
+
.optional()
|
|
51
|
+
.describe("Optional webhook callback for async processing. " +
|
|
52
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
53
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
54
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
40
55
|
});
|
|
41
56
|
const askOutputSchema = z.object({
|
|
42
57
|
markdown: z.string().describe("The answer to the question"),
|
|
58
|
+
pageCount: z.number().int().describe("Total number of pages in the document"),
|
|
43
59
|
model: pdfvectorModelSchema.describe("Model tier used to answer the question"),
|
|
60
|
+
credits: z
|
|
61
|
+
.number()
|
|
62
|
+
.int()
|
|
63
|
+
.describe("Number of credits consumed by this API call"),
|
|
44
64
|
requestId: z
|
|
45
65
|
.number()
|
|
46
66
|
.int()
|
|
@@ -12,14 +12,20 @@ export declare const extract: import("@orpc/contract").ContractProcedureBuilderW
|
|
|
12
12
|
max: "max";
|
|
13
13
|
auto: "auto";
|
|
14
14
|
}>>;
|
|
15
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
16
|
+
url: z.ZodURL;
|
|
17
|
+
type: z.ZodOptional<z.ZodString>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
15
19
|
}, z.core.$strip>, z.ZodObject<{
|
|
16
20
|
data: z.ZodUnknown;
|
|
21
|
+
pageCount: z.ZodNumber;
|
|
17
22
|
model: z.ZodEnum<{
|
|
18
23
|
nano: "nano";
|
|
19
24
|
mini: "mini";
|
|
20
25
|
pro: "pro";
|
|
21
26
|
max: "max";
|
|
22
27
|
}>;
|
|
28
|
+
credits: z.ZodNumber;
|
|
23
29
|
requestId: z.ZodNumber;
|
|
24
30
|
documentId: z.ZodOptional<z.ZodString>;
|
|
25
31
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -63,12 +63,32 @@ const extractInputSchema = z.object({
|
|
|
63
63
|
"'mini': Uses mid-range models. " +
|
|
64
64
|
"'pro': Uses capable models. " +
|
|
65
65
|
"'max': Uses the most powerful models."),
|
|
66
|
+
callback: z
|
|
67
|
+
.object({
|
|
68
|
+
url: z
|
|
69
|
+
.url()
|
|
70
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
71
|
+
type: z
|
|
72
|
+
.string()
|
|
73
|
+
.optional()
|
|
74
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
75
|
+
})
|
|
76
|
+
.optional()
|
|
77
|
+
.describe("Optional webhook callback for async processing. " +
|
|
78
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
79
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
80
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
66
81
|
});
|
|
67
82
|
const extractOutputSchema = z.object({
|
|
68
83
|
data: z
|
|
69
84
|
.unknown()
|
|
70
85
|
.describe("Extracted structured data matching the provided JSON Schema"),
|
|
86
|
+
pageCount: z.number().int().describe("Total number of pages in the document"),
|
|
71
87
|
model: pdfvectorModelSchema.describe("Model tier used to extract the data"),
|
|
88
|
+
credits: z
|
|
89
|
+
.number()
|
|
90
|
+
.int()
|
|
91
|
+
.describe("Number of credits consumed by this API call"),
|
|
72
92
|
requestId: z
|
|
73
93
|
.number()
|
|
74
94
|
.int()
|
|
@@ -8,6 +8,10 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
8
8
|
max: "max";
|
|
9
9
|
auto: "auto";
|
|
10
10
|
}>>;
|
|
11
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
url: z.ZodURL;
|
|
13
|
+
type: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
11
15
|
}, z.core.$strip>, z.ZodObject<{
|
|
12
16
|
markdown: z.ZodString;
|
|
13
17
|
pageCount: z.ZodNumber;
|
|
@@ -15,6 +19,7 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
15
19
|
pro: "pro";
|
|
16
20
|
max: "max";
|
|
17
21
|
}>;
|
|
22
|
+
credits: z.ZodNumber;
|
|
18
23
|
requestId: z.ZodNumber;
|
|
19
24
|
html: z.ZodOptional<z.ZodString>;
|
|
20
25
|
documentId: z.ZodOptional<z.ZodString>;
|
|
@@ -32,6 +32,21 @@ const parseInputSchema = z.object({
|
|
|
32
32
|
"'auto' (default): Automatically selects the best parsing strategy with intelligent fallback. " +
|
|
33
33
|
"'pro': Extracts structured bank statement fields with standard accuracy. " +
|
|
34
34
|
"'max': Extracts structured bank statement fields with highest accuracy and fallback."),
|
|
35
|
+
callback: z
|
|
36
|
+
.object({
|
|
37
|
+
url: z
|
|
38
|
+
.url()
|
|
39
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
40
|
+
type: z
|
|
41
|
+
.string()
|
|
42
|
+
.optional()
|
|
43
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
44
|
+
})
|
|
45
|
+
.optional()
|
|
46
|
+
.describe("Optional webhook callback for async processing. " +
|
|
47
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
48
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
49
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
35
50
|
});
|
|
36
51
|
const parseOutputSchema = z.object({
|
|
37
52
|
markdown: z
|
|
@@ -41,6 +56,10 @@ const parseOutputSchema = z.object({
|
|
|
41
56
|
model: z
|
|
42
57
|
.enum(["pro", "max"])
|
|
43
58
|
.describe("Model tier used to parse the bank statement"),
|
|
59
|
+
credits: z
|
|
60
|
+
.number()
|
|
61
|
+
.int()
|
|
62
|
+
.describe("Number of credits consumed by this API call"),
|
|
44
63
|
requestId: z
|
|
45
64
|
.number()
|
|
46
65
|
.int()
|
|
@@ -11,14 +11,20 @@ export declare const ask: import("@orpc/contract").ContractProcedureBuilderWithI
|
|
|
11
11
|
max: "max";
|
|
12
12
|
auto: "auto";
|
|
13
13
|
}>>>;
|
|
14
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
15
|
+
url: z.ZodURL;
|
|
16
|
+
type: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$strip>>;
|
|
14
18
|
}, z.core.$strip>, z.ZodObject<{
|
|
15
19
|
markdown: z.ZodString;
|
|
20
|
+
pageCount: z.ZodNumber;
|
|
16
21
|
model: z.ZodEnum<{
|
|
17
22
|
nano: "nano";
|
|
18
23
|
mini: "mini";
|
|
19
24
|
pro: "pro";
|
|
20
25
|
max: "max";
|
|
21
26
|
}>;
|
|
27
|
+
credits: z.ZodNumber;
|
|
22
28
|
requestId: z.ZodNumber;
|
|
23
29
|
documentId: z.ZodOptional<z.ZodString>;
|
|
24
30
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -38,15 +38,38 @@ const askInputSchema = z.object({
|
|
|
38
38
|
"'mini': Uses mid-range models (likely better than GPT-5-mini). Supports PDF, Word, Excel, CSV. " +
|
|
39
39
|
"'pro': Uses capable models (likely better than GPT-5.2). Supports PDF, Word, Excel, CSV, Image. " +
|
|
40
40
|
"'max': Uses the most powerful models (likely better than Claude Opus 4.6). Supports PDF, Word, Excel, CSV, Image."),
|
|
41
|
+
callback: z
|
|
42
|
+
.object({
|
|
43
|
+
url: z
|
|
44
|
+
.url()
|
|
45
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
46
|
+
type: z
|
|
47
|
+
.string()
|
|
48
|
+
.optional()
|
|
49
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
50
|
+
})
|
|
51
|
+
.optional()
|
|
52
|
+
.describe("Optional webhook callback for async processing. " +
|
|
53
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
54
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
55
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
41
56
|
});
|
|
42
57
|
const askOutputSchema = z
|
|
43
58
|
.object({
|
|
44
59
|
markdown: z.string().describe("The answer to the question"),
|
|
60
|
+
pageCount: z
|
|
61
|
+
.number()
|
|
62
|
+
.int()
|
|
63
|
+
.describe("Total number of pages in the document"),
|
|
45
64
|
model: pdfvectorModelSchema.describe("Model tier used to answer the question. " +
|
|
46
65
|
"'nano': Supports PDF, Word, Excel, CSV. " +
|
|
47
66
|
"'mini': Supports PDF, Word, Excel, CSV. " +
|
|
48
67
|
"'pro': Supports PDF, Word, Excel, CSV, Image. " +
|
|
49
68
|
"'max': Supports PDF, Word, Excel, CSV, Image."),
|
|
69
|
+
credits: z
|
|
70
|
+
.number()
|
|
71
|
+
.int()
|
|
72
|
+
.describe("Number of credits consumed by this API call"),
|
|
50
73
|
requestId: z
|
|
51
74
|
.number()
|
|
52
75
|
.int()
|
|
@@ -60,7 +83,9 @@ const askOutputSchema = z
|
|
|
60
83
|
examples: [
|
|
61
84
|
{
|
|
62
85
|
markdown: "The study found that viral shedding peaked during the first week of symptoms, with the highest viral loads detected in throat swabs.",
|
|
86
|
+
pageCount: 12,
|
|
63
87
|
model: "mini",
|
|
88
|
+
credits: 48,
|
|
64
89
|
requestId: 1,
|
|
65
90
|
},
|
|
66
91
|
],
|
|
@@ -12,14 +12,20 @@ export declare const extract: import("@orpc/contract").ContractProcedureBuilderW
|
|
|
12
12
|
max: "max";
|
|
13
13
|
auto: "auto";
|
|
14
14
|
}>>>;
|
|
15
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
16
|
+
url: z.ZodURL;
|
|
17
|
+
type: z.ZodOptional<z.ZodString>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
15
19
|
}, z.core.$strip>, z.ZodObject<{
|
|
16
20
|
data: z.ZodUnknown;
|
|
21
|
+
pageCount: z.ZodNumber;
|
|
17
22
|
model: z.ZodEnum<{
|
|
18
23
|
nano: "nano";
|
|
19
24
|
mini: "mini";
|
|
20
25
|
pro: "pro";
|
|
21
26
|
max: "max";
|
|
22
27
|
}>;
|
|
28
|
+
credits: z.ZodNumber;
|
|
23
29
|
requestId: z.ZodNumber;
|
|
24
30
|
documentId: z.ZodOptional<z.ZodString>;
|
|
25
31
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -65,17 +65,40 @@ const extractInputSchema = z.object({
|
|
|
65
65
|
"'mini': Uses mid-range models (likely better than GPT-5-mini). Supports PDF, Word, Excel, CSV. " +
|
|
66
66
|
"'pro': Uses capable models (likely better than GPT-5.2). Supports PDF, Word, Excel, CSV, Image. " +
|
|
67
67
|
"'max': Uses the most powerful models (likely better than Claude Opus 4.6). Supports PDF, Word, Excel, CSV, Image."),
|
|
68
|
+
callback: z
|
|
69
|
+
.object({
|
|
70
|
+
url: z
|
|
71
|
+
.url()
|
|
72
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
73
|
+
type: z
|
|
74
|
+
.string()
|
|
75
|
+
.optional()
|
|
76
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
77
|
+
})
|
|
78
|
+
.optional()
|
|
79
|
+
.describe("Optional webhook callback for async processing. " +
|
|
80
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
81
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
82
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
68
83
|
});
|
|
69
84
|
const extractOutputSchema = z
|
|
70
85
|
.object({
|
|
71
86
|
data: z
|
|
72
87
|
.unknown()
|
|
73
88
|
.describe("Extracted structured data matching the provided JSON Schema"),
|
|
89
|
+
pageCount: z
|
|
90
|
+
.number()
|
|
91
|
+
.int()
|
|
92
|
+
.describe("Total number of pages in the document"),
|
|
74
93
|
model: pdfvectorModelSchema.describe("Model tier used to extract the data. " +
|
|
75
94
|
"'nano': Supports PDF, Word, Excel, CSV. " +
|
|
76
95
|
"'mini': Supports PDF, Word, Excel, CSV. " +
|
|
77
96
|
"'pro': Supports PDF, Word, Excel, CSV, Image. " +
|
|
78
97
|
"'max': Supports PDF, Word, Excel, CSV, Image."),
|
|
98
|
+
credits: z
|
|
99
|
+
.number()
|
|
100
|
+
.int()
|
|
101
|
+
.describe("Number of credits consumed by this API call"),
|
|
79
102
|
requestId: z
|
|
80
103
|
.number()
|
|
81
104
|
.int()
|
|
@@ -93,7 +116,9 @@ const extractOutputSchema = z
|
|
|
93
116
|
authors: ["Roman Wölfel", "Victor M. Corman"],
|
|
94
117
|
year: 2020,
|
|
95
118
|
},
|
|
119
|
+
pageCount: 12,
|
|
96
120
|
model: "mini",
|
|
121
|
+
credits: 48,
|
|
97
122
|
requestId: 1,
|
|
98
123
|
},
|
|
99
124
|
],
|
|
@@ -10,6 +10,10 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
10
10
|
max: "max";
|
|
11
11
|
auto: "auto";
|
|
12
12
|
}>>>;
|
|
13
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
14
|
+
url: z.ZodURL;
|
|
15
|
+
type: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>>;
|
|
13
17
|
}, z.core.$strip>, z.ZodObject<{
|
|
14
18
|
markdown: z.ZodString;
|
|
15
19
|
pageCount: z.ZodNumber;
|
|
@@ -19,6 +23,7 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
19
23
|
pro: "pro";
|
|
20
24
|
max: "max";
|
|
21
25
|
}>;
|
|
26
|
+
credits: z.ZodNumber;
|
|
22
27
|
requestId: z.ZodNumber;
|
|
23
28
|
html: z.ZodOptional<z.ZodString>;
|
|
24
29
|
documentId: z.ZodOptional<z.ZodString>;
|
|
@@ -34,6 +34,21 @@ const parseInputSchema = z.object({
|
|
|
34
34
|
"'mini': For documents with tables and structured content. File up to 30 pages, up to 10MB in size. Supports PDF, Word, Excel, CSV. " +
|
|
35
35
|
"'pro': For documents up to 30 pages with tables, handwritten text, figures, math, and Arabic. File up to 30 pages, up to 40MB in size. Supports PDF, Word, Excel, CSV, Image. " +
|
|
36
36
|
"'max': For large documents with full Pro capabilities plus enhanced multilingual support. File up to 1000 pages, up to 500MB in size. Supports PDF, Word, Excel, CSV, Image."),
|
|
37
|
+
callback: z
|
|
38
|
+
.object({
|
|
39
|
+
url: z
|
|
40
|
+
.url()
|
|
41
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
42
|
+
type: z
|
|
43
|
+
.string()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
46
|
+
})
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Optional webhook callback for async processing. " +
|
|
49
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
50
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
51
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
37
52
|
});
|
|
38
53
|
const parseOutputSchema = z.object({
|
|
39
54
|
markdown: z.string().describe("Extracted text content from the document"),
|
|
@@ -43,6 +58,10 @@ const parseOutputSchema = z.object({
|
|
|
43
58
|
"'mini': Supports PDF, Word, Excel, CSV. " +
|
|
44
59
|
"'pro': Supports PDF, Word, Excel, CSV, Image. " +
|
|
45
60
|
"'max': Supports PDF, Word, Excel, CSV, Image."),
|
|
61
|
+
credits: z
|
|
62
|
+
.number()
|
|
63
|
+
.int()
|
|
64
|
+
.describe("Number of credits consumed by this API call"),
|
|
46
65
|
requestId: z
|
|
47
66
|
.number()
|
|
48
67
|
.int()
|
|
@@ -11,14 +11,20 @@ export declare const ask: import("@orpc/contract").ContractProcedureBuilderWithI
|
|
|
11
11
|
max: "max";
|
|
12
12
|
auto: "auto";
|
|
13
13
|
}>>;
|
|
14
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
15
|
+
url: z.ZodURL;
|
|
16
|
+
type: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$strip>>;
|
|
14
18
|
}, z.core.$strip>, z.ZodObject<{
|
|
15
19
|
markdown: z.ZodString;
|
|
20
|
+
pageCount: z.ZodNumber;
|
|
16
21
|
model: z.ZodEnum<{
|
|
17
22
|
nano: "nano";
|
|
18
23
|
mini: "mini";
|
|
19
24
|
pro: "pro";
|
|
20
25
|
max: "max";
|
|
21
26
|
}>;
|
|
27
|
+
credits: z.ZodNumber;
|
|
22
28
|
requestId: z.ZodNumber;
|
|
23
29
|
documentId: z.ZodOptional<z.ZodString>;
|
|
24
30
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -37,10 +37,30 @@ const askInputSchema = z.object({
|
|
|
37
37
|
"'mini': Uses mid-range models. " +
|
|
38
38
|
"'pro': Uses capable models. " +
|
|
39
39
|
"'max': Uses the most powerful models."),
|
|
40
|
+
callback: z
|
|
41
|
+
.object({
|
|
42
|
+
url: z
|
|
43
|
+
.url()
|
|
44
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
45
|
+
type: z
|
|
46
|
+
.string()
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
49
|
+
})
|
|
50
|
+
.optional()
|
|
51
|
+
.describe("Optional webhook callback for async processing. " +
|
|
52
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
53
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
54
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
40
55
|
});
|
|
41
56
|
const askOutputSchema = z.object({
|
|
42
57
|
markdown: z.string().describe("The answer to the question"),
|
|
58
|
+
pageCount: z.number().int().describe("Total number of pages in the document"),
|
|
43
59
|
model: pdfvectorModelSchema.describe("Model tier used to answer the question"),
|
|
60
|
+
credits: z
|
|
61
|
+
.number()
|
|
62
|
+
.int()
|
|
63
|
+
.describe("Number of credits consumed by this API call"),
|
|
44
64
|
requestId: z
|
|
45
65
|
.number()
|
|
46
66
|
.int()
|
|
@@ -12,14 +12,20 @@ export declare const extract: import("@orpc/contract").ContractProcedureBuilderW
|
|
|
12
12
|
max: "max";
|
|
13
13
|
auto: "auto";
|
|
14
14
|
}>>;
|
|
15
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
16
|
+
url: z.ZodURL;
|
|
17
|
+
type: z.ZodOptional<z.ZodString>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
15
19
|
}, z.core.$strip>, z.ZodObject<{
|
|
16
20
|
data: z.ZodUnknown;
|
|
21
|
+
pageCount: z.ZodNumber;
|
|
17
22
|
model: z.ZodEnum<{
|
|
18
23
|
nano: "nano";
|
|
19
24
|
mini: "mini";
|
|
20
25
|
pro: "pro";
|
|
21
26
|
max: "max";
|
|
22
27
|
}>;
|
|
28
|
+
credits: z.ZodNumber;
|
|
23
29
|
requestId: z.ZodNumber;
|
|
24
30
|
documentId: z.ZodOptional<z.ZodString>;
|
|
25
31
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -63,12 +63,32 @@ const extractInputSchema = z.object({
|
|
|
63
63
|
"'mini': Uses mid-range models. " +
|
|
64
64
|
"'pro': Uses capable models. " +
|
|
65
65
|
"'max': Uses the most powerful models."),
|
|
66
|
+
callback: z
|
|
67
|
+
.object({
|
|
68
|
+
url: z
|
|
69
|
+
.url()
|
|
70
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
71
|
+
type: z
|
|
72
|
+
.string()
|
|
73
|
+
.optional()
|
|
74
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
75
|
+
})
|
|
76
|
+
.optional()
|
|
77
|
+
.describe("Optional webhook callback for async processing. " +
|
|
78
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
79
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
80
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
66
81
|
});
|
|
67
82
|
const extractOutputSchema = z.object({
|
|
68
83
|
data: z
|
|
69
84
|
.unknown()
|
|
70
85
|
.describe("Extracted structured data matching the provided JSON Schema"),
|
|
86
|
+
pageCount: z.number().int().describe("Total number of pages in the document"),
|
|
71
87
|
model: pdfvectorModelSchema.describe("Model tier used to extract the data"),
|
|
88
|
+
credits: z
|
|
89
|
+
.number()
|
|
90
|
+
.int()
|
|
91
|
+
.describe("Number of credits consumed by this API call"),
|
|
72
92
|
requestId: z
|
|
73
93
|
.number()
|
|
74
94
|
.int()
|
|
@@ -8,6 +8,10 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
8
8
|
max: "max";
|
|
9
9
|
auto: "auto";
|
|
10
10
|
}>>;
|
|
11
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
url: z.ZodURL;
|
|
13
|
+
type: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
11
15
|
}, z.core.$strip>, z.ZodObject<{
|
|
12
16
|
markdown: z.ZodString;
|
|
13
17
|
pageCount: z.ZodNumber;
|
|
@@ -17,6 +21,7 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
17
21
|
}>;
|
|
18
22
|
documentType: z.ZodOptional<z.ZodString>;
|
|
19
23
|
html: z.ZodOptional<z.ZodString>;
|
|
24
|
+
credits: z.ZodNumber;
|
|
20
25
|
requestId: z.ZodNumber;
|
|
21
26
|
documentId: z.ZodOptional<z.ZodString>;
|
|
22
27
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -32,6 +32,21 @@ const parseInputSchema = z.object({
|
|
|
32
32
|
"'auto' (default): Automatically selects the best parsing strategy with intelligent fallback. " +
|
|
33
33
|
"'pro': Extracts structured identity document fields with standard accuracy. " +
|
|
34
34
|
"'max': Extracts structured identity document fields with highest accuracy."),
|
|
35
|
+
callback: z
|
|
36
|
+
.object({
|
|
37
|
+
url: z
|
|
38
|
+
.url()
|
|
39
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
40
|
+
type: z
|
|
41
|
+
.string()
|
|
42
|
+
.optional()
|
|
43
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
44
|
+
})
|
|
45
|
+
.optional()
|
|
46
|
+
.describe("Optional webhook callback for async processing. " +
|
|
47
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
48
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
49
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
35
50
|
});
|
|
36
51
|
const parseOutputSchema = z.object({
|
|
37
52
|
markdown: z
|
|
@@ -50,6 +65,10 @@ const parseOutputSchema = z.object({
|
|
|
50
65
|
.optional()
|
|
51
66
|
.describe("Full HTML representation of the document content. Only available when using the 'max' model. " +
|
|
52
67
|
"Preserves rich formatting, tables, selection marks, and visual layout that cannot be fully represented in markdown."),
|
|
68
|
+
credits: z
|
|
69
|
+
.number()
|
|
70
|
+
.int()
|
|
71
|
+
.describe("Number of credits consumed by this API call"),
|
|
53
72
|
requestId: z
|
|
54
73
|
.number()
|
|
55
74
|
.int()
|
|
@@ -11,14 +11,20 @@ export declare const ask: import("@orpc/contract").ContractProcedureBuilderWithI
|
|
|
11
11
|
max: "max";
|
|
12
12
|
auto: "auto";
|
|
13
13
|
}>>;
|
|
14
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
15
|
+
url: z.ZodURL;
|
|
16
|
+
type: z.ZodOptional<z.ZodString>;
|
|
17
|
+
}, z.core.$strip>>;
|
|
14
18
|
}, z.core.$strip>, z.ZodObject<{
|
|
15
19
|
markdown: z.ZodString;
|
|
20
|
+
pageCount: z.ZodNumber;
|
|
16
21
|
model: z.ZodEnum<{
|
|
17
22
|
nano: "nano";
|
|
18
23
|
mini: "mini";
|
|
19
24
|
pro: "pro";
|
|
20
25
|
max: "max";
|
|
21
26
|
}>;
|
|
27
|
+
credits: z.ZodNumber;
|
|
22
28
|
requestId: z.ZodNumber;
|
|
23
29
|
documentId: z.ZodOptional<z.ZodString>;
|
|
24
30
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -34,10 +34,30 @@ const askInputSchema = z.object({
|
|
|
34
34
|
"'mini': Uses mid-range models. " +
|
|
35
35
|
"'pro': Uses capable models. " +
|
|
36
36
|
"'max': Uses the most powerful models."),
|
|
37
|
+
callback: z
|
|
38
|
+
.object({
|
|
39
|
+
url: z
|
|
40
|
+
.url()
|
|
41
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
42
|
+
type: z
|
|
43
|
+
.string()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
46
|
+
})
|
|
47
|
+
.optional()
|
|
48
|
+
.describe("Optional webhook callback for async processing. " +
|
|
49
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
50
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
51
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
37
52
|
});
|
|
38
53
|
const askOutputSchema = z.object({
|
|
39
54
|
markdown: z.string().describe("The answer to the question"),
|
|
55
|
+
pageCount: z.number().int().describe("Total number of pages in the document"),
|
|
40
56
|
model: pdfvectorModelSchema.describe("Model tier used to answer the question"),
|
|
57
|
+
credits: z
|
|
58
|
+
.number()
|
|
59
|
+
.int()
|
|
60
|
+
.describe("Number of credits consumed by this API call"),
|
|
41
61
|
requestId: z
|
|
42
62
|
.number()
|
|
43
63
|
.int()
|
|
@@ -12,14 +12,20 @@ export declare const extract: import("@orpc/contract").ContractProcedureBuilderW
|
|
|
12
12
|
max: "max";
|
|
13
13
|
auto: "auto";
|
|
14
14
|
}>>;
|
|
15
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
16
|
+
url: z.ZodURL;
|
|
17
|
+
type: z.ZodOptional<z.ZodString>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
15
19
|
}, z.core.$strip>, z.ZodObject<{
|
|
16
20
|
data: z.ZodUnknown;
|
|
21
|
+
pageCount: z.ZodNumber;
|
|
17
22
|
model: z.ZodEnum<{
|
|
18
23
|
nano: "nano";
|
|
19
24
|
mini: "mini";
|
|
20
25
|
pro: "pro";
|
|
21
26
|
max: "max";
|
|
22
27
|
}>;
|
|
28
|
+
credits: z.ZodNumber;
|
|
23
29
|
requestId: z.ZodNumber;
|
|
24
30
|
documentId: z.ZodOptional<z.ZodString>;
|
|
25
31
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
@@ -60,12 +60,32 @@ const extractInputSchema = z.object({
|
|
|
60
60
|
"'mini': Uses mid-range models. " +
|
|
61
61
|
"'pro': Uses capable models. " +
|
|
62
62
|
"'max': Uses the most powerful models."),
|
|
63
|
+
callback: z
|
|
64
|
+
.object({
|
|
65
|
+
url: z
|
|
66
|
+
.url()
|
|
67
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
68
|
+
type: z
|
|
69
|
+
.string()
|
|
70
|
+
.optional()
|
|
71
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
72
|
+
})
|
|
73
|
+
.optional()
|
|
74
|
+
.describe("Optional webhook callback for async processing. " +
|
|
75
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
76
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
77
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
63
78
|
});
|
|
64
79
|
const extractOutputSchema = z.object({
|
|
65
80
|
data: z
|
|
66
81
|
.unknown()
|
|
67
82
|
.describe("Extracted structured data matching the provided JSON Schema"),
|
|
83
|
+
pageCount: z.number().int().describe("Total number of pages in the document"),
|
|
68
84
|
model: pdfvectorModelSchema.describe("Model tier used to extract the data"),
|
|
85
|
+
credits: z
|
|
86
|
+
.number()
|
|
87
|
+
.int()
|
|
88
|
+
.describe("Number of credits consumed by this API call"),
|
|
69
89
|
requestId: z
|
|
70
90
|
.number()
|
|
71
91
|
.int()
|
|
@@ -8,6 +8,10 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
8
8
|
max: "max";
|
|
9
9
|
auto: "auto";
|
|
10
10
|
}>>;
|
|
11
|
+
callback: z.ZodOptional<z.ZodObject<{
|
|
12
|
+
url: z.ZodURL;
|
|
13
|
+
type: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
11
15
|
}, z.core.$strip>, z.ZodObject<{
|
|
12
16
|
markdown: z.ZodString;
|
|
13
17
|
pageCount: z.ZodNumber;
|
|
@@ -15,6 +19,7 @@ export declare const parse: import("@orpc/contract").ContractProcedureBuilderWit
|
|
|
15
19
|
pro: "pro";
|
|
16
20
|
max: "max";
|
|
17
21
|
}>;
|
|
22
|
+
credits: z.ZodNumber;
|
|
18
23
|
requestId: z.ZodNumber;
|
|
19
24
|
html: z.ZodOptional<z.ZodString>;
|
|
20
25
|
documentId: z.ZodOptional<z.ZodString>;
|
|
@@ -29,6 +29,21 @@ const parseInputSchema = z.object({
|
|
|
29
29
|
"'auto' (default): Automatically selects the best parsing strategy with intelligent fallback. " +
|
|
30
30
|
"'pro': Extracts structured invoice fields with standard accuracy. " +
|
|
31
31
|
"'max': Extracts structured invoice fields with highest accuracy and fallback."),
|
|
32
|
+
callback: z
|
|
33
|
+
.object({
|
|
34
|
+
url: z
|
|
35
|
+
.url()
|
|
36
|
+
.describe("Webhook URL where results will be POSTed when processing completes"),
|
|
37
|
+
type: z
|
|
38
|
+
.string()
|
|
39
|
+
.optional()
|
|
40
|
+
.describe("Callback type identifier (e.g. 'zapier')"),
|
|
41
|
+
})
|
|
42
|
+
.optional()
|
|
43
|
+
.describe("Optional webhook callback for async processing. " +
|
|
44
|
+
"When provided, the server returns 202 immediately and POSTs the full response payload to the callback URL when processing completes. " +
|
|
45
|
+
"On error, the callback receives a POST with X-Pdfvector-Callback-Failed: true header and error details in the body. " +
|
|
46
|
+
"Useful for long-running operations that may exceed client timeout limits."),
|
|
32
47
|
});
|
|
33
48
|
const parseOutputSchema = z.object({
|
|
34
49
|
markdown: z.string().describe("Extracted text content from the invoice"),
|
|
@@ -36,6 +51,10 @@ const parseOutputSchema = z.object({
|
|
|
36
51
|
model: z
|
|
37
52
|
.enum(["pro", "max"])
|
|
38
53
|
.describe("Model tier used to parse the invoice"),
|
|
54
|
+
credits: z
|
|
55
|
+
.number()
|
|
56
|
+
.int()
|
|
57
|
+
.describe("Number of credits consumed by this API call"),
|
|
39
58
|
requestId: z
|
|
40
59
|
.number()
|
|
41
60
|
.int()
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @pdfvector/instance-contract
|
|
2
2
|
|
|
3
|
+
## 0.0.25
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
- [#135](https://github.com/phuctm97/pdfvector/pull/135) [`732ce5a`](https://github.com/phuctm97/pdfvector/commit/732ce5a843716075fa17c2ae64525b21919b0a3c) Thanks [@khanhduyvt0101](https://github.com/khanhduyvt0101)! - Add Zapier integration package with callback support and CI/CD release workflow
|
|
9
|
+
|
|
10
|
+
## 0.0.24
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
- [#133](https://github.com/phuctm97/pdfvector/pull/133) [`953cf32`](https://github.com/phuctm97/pdfvector/commit/953cf328a9eb30dd4dff3f40fd68dbfe4078901d) Thanks [@khanhduyvt0101](https://github.com/khanhduyvt0101)! - Add credits and pageCount to API responses, deduplicate ask/extract handlers, and improve extract prompt
|
|
16
|
+
|
|
3
17
|
## 0.0.23
|
|
4
18
|
### Patch Changes
|
|
5
19
|
|