@talonic/docs 0.20.21 → 0.20.24

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/dist/content.js CHANGED
@@ -13250,14 +13250,27 @@ var sections25 = [
13250
13250
  parentSlug: "webhooks",
13251
13251
  title: "Events",
13252
13252
  seoTitle: "Webhook Events \u2014 Talonic Docs",
13253
- description: "Receive real-time notifications for extraction events including extraction.complete, extraction.failed, and document.ingested via webhook URLs.",
13253
+ description: "Receive real-time notifications for extraction events including extraction.complete, extraction.failed, and document.uploaded via webhook URLs.",
13254
13254
  content: [
13255
13255
  { type: "paragraph", text: "Receive real-time notifications when extraction events occur. Configure webhook URLs per-source or per-extraction via the `webhook_url` option." },
13256
13256
  { type: "paragraph", text: "Available webhook events:" },
13257
13257
  { type: "list", items: [
13258
- "`extraction.complete` \u2014 Extraction finished successfully. Payload includes the full extraction result.",
13259
- "`extraction.failed` \u2014 Extraction failed. Payload includes the error details.",
13260
- "`document.ingested` \u2014 A new document has been processed and is ready for extraction."
13258
+ "`document.uploaded` \u2014 A new document has been uploaded and queued for processing.",
13259
+ "`document.processing` \u2014 Document OCR and classification has started.",
13260
+ "`document.classified` \u2014 Document type and language have been detected.",
13261
+ "`extraction.started` \u2014 AI data extraction has begun on the document.",
13262
+ "`extraction.complete` \u2014 Data extraction finished successfully. Extracted fields are available.",
13263
+ "`extraction.failed` \u2014 Data extraction failed after all retry attempts.",
13264
+ "`job.created` \u2014 A new structuring job has been created.",
13265
+ "`job.started` \u2014 Job processing has begun.",
13266
+ "`job.phase_complete` \u2014 A job phase (resolve, extract, normalize, or transform) has completed.",
13267
+ "`job.complete` \u2014 All job phases finished. Structured results are available.",
13268
+ "`job.failed` \u2014 Job processing failed.",
13269
+ "`review.approved` \u2014 A validation record has been approved.",
13270
+ "`delivery.sent` \u2014 An outbound delivery was sent successfully.",
13271
+ "`delivery.failed` \u2014 An outbound delivery failed after all retry attempts.",
13272
+ "`process.completed` \u2014 A document processing run finished all steps and the result is available.",
13273
+ "`process.failed` \u2014 A document processing run failed. The error payload includes the step name and error detail."
13261
13274
  ] },
13262
13275
  { type: "paragraph", text: "Most integrations subscribe to `extraction.complete` to trigger downstream processing (e.g. writing structured data to a database or notifying a user). A typical workflow is to pass `webhook_url` on `POST /v1/extract`, then handle the callback payload in your server without polling." },
13263
13276
  { type: "paragraph", text: "The `extraction.complete` payload includes the `extraction_id`, `document_id`, `schema_id`, `status`, and `confidence` score. Use the `extraction_id` to fetch the full result via `GET /v1/extractions/:id` if the payload does not contain all the fields you need." },
@@ -13269,7 +13282,7 @@ var sections25 = [
13269
13282
  { label: "Retry Policy", slug: "webhook-retry" }
13270
13283
  ],
13271
13284
  faq: [
13272
- { question: "What webhook events does Talonic send?", answer: "Three events: extraction.complete, extraction.failed, and document.ingested." }
13285
+ { question: "What webhook events does Talonic send?", answer: "Sixteen events spanning the document lifecycle: document.uploaded, document.processing, document.classified, extraction.started, extraction.complete, extraction.failed, job.created, job.started, job.phase_complete, job.complete, job.failed, review.approved, delivery.sent, delivery.failed, process.completed, and process.failed." }
13273
13286
  ],
13274
13287
  mentions: ["webhook", "real-time notifications"]
13275
13288
  },
@@ -13528,7 +13541,7 @@ echo -n '{"event":"extraction.complete","delivery_id":"dlv_test123","timestamp":
13528
13541
  code: `{
13529
13542
  "url": "https://api.example.com/webhooks/talonic",
13530
13543
  "secret": "whsec_my_production_secret",
13531
- "events": ["extraction.complete", "extraction.failed", "document.ingested"],
13544
+ "events": ["extraction.complete", "extraction.failed", "document.uploaded"],
13532
13545
  "is_active": true
13533
13546
  }`
13534
13547
  }
@@ -13541,7 +13554,7 @@ echo -n '{"event":"extraction.complete","delivery_id":"dlv_test123","timestamp":
13541
13554
  code: `{
13542
13555
  "id": "wh_b2c3d4e5-f6a7-8901-bcde-f12345678901",
13543
13556
  "url": "https://api.example.com/webhooks/talonic",
13544
- "events": ["extraction.complete", "extraction.failed", "document.ingested"],
13557
+ "events": ["extraction.complete", "extraction.failed", "document.uploaded"],
13545
13558
  "is_active": true,
13546
13559
  "source_connection_id": null,
13547
13560
  "created_at": "2024-10-05T12:00:00.000Z",
package/dist/index.js CHANGED
@@ -636,7 +636,8 @@ var NAV_SECTIONS = [
636
636
  { id: "list-benchmarks", label: "Benchmarks" },
637
637
  { id: "add-ground-truth-entry", label: "Add Ground-Truth Entry" },
638
638
  { id: "delete-ground-truth-entry", label: "Delete Ground-Truth Entry" },
639
- { id: "benchmark-results", label: "Benchmark Results" }
639
+ { id: "benchmark-results", label: "Benchmark Results" },
640
+ { id: "compare-benchmarks", label: "Compare Benchmarks" }
640
641
  ]
641
642
  },
642
643
  {
@@ -3165,6 +3166,44 @@ function ApiReference({ LinkComponent }) {
3165
3166
  }` })
3166
3167
  }
3167
3168
  ) }),
3169
+ /* @__PURE__ */ jsx5("div", { id: "compare-benchmarks", className: "scroll-mt-6", children: /* @__PURE__ */ jsxs5(
3170
+ EndpointBlock,
3171
+ {
3172
+ method: "GET",
3173
+ path: "/v1/quality/benchmarks/compare",
3174
+ summary: "Compare two benchmark runs.",
3175
+ description: "Returns both benchmark runs side by side along with the overall accuracy delta (run_a minus run_b). The delta is null when either run has no overall accuracy score yet.",
3176
+ children: [
3177
+ /* @__PURE__ */ jsx5(
3178
+ ParamTable,
3179
+ {
3180
+ title: "Query parameters",
3181
+ params: [
3182
+ { name: "run_a", type: "uuid", required: true, description: "ID of the first benchmark run." },
3183
+ { name: "run_b", type: "uuid", required: true, description: "ID of the second benchmark run to compare against." }
3184
+ ]
3185
+ }
3186
+ ),
3187
+ /* @__PURE__ */ jsx5(CodeBlock, { title: "Response", children: `{
3188
+ "run_a": {
3189
+ "id": "bench_9x2k4m",
3190
+ "name": "Invoices v2",
3191
+ "status": "completed",
3192
+ "accuracy_overall": 0.94,
3193
+ "accuracy_by_field": { "vendor_name": 0.98, "total": 0.9 }
3194
+ },
3195
+ "run_b": {
3196
+ "id": "bench_7p1j5q",
3197
+ "name": "Invoices v1",
3198
+ "status": "completed",
3199
+ "accuracy_overall": 0.89,
3200
+ "accuracy_by_field": { "vendor_name": 0.95, "total": 0.83 }
3201
+ },
3202
+ "accuracy_delta": 0.05
3203
+ }` })
3204
+ ]
3205
+ }
3206
+ ) }),
3168
3207
  /* @__PURE__ */ jsx5(SectionHeading, { id: "matching", children: "Matching" }),
3169
3208
  /* @__PURE__ */ jsx5("p", { className: "text-[15px] text-void-text-secondary leading-relaxed mb-6", children: "Match extracted data against reference datasets using configurable field-level matching strategies (exact, fuzzy, date range, numeric range)." }),
3170
3209
  /* @__PURE__ */ jsx5("div", { id: "list-matching-configs", className: "scroll-mt-6", children: /* @__PURE__ */ jsx5(
@@ -3901,16 +3940,68 @@ function ApiReference({ LinkComponent }) {
3901
3940
  ] }) }),
3902
3941
  /* @__PURE__ */ jsxs5("tbody", { children: [
3903
3942
  /* @__PURE__ */ jsxs5("tr", { children: [
3943
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "document.uploaded" }),
3944
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "A new document has been uploaded and queued for processing." })
3945
+ ] }),
3946
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3947
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "document.processing" }),
3948
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Document OCR and classification has started." })
3949
+ ] }),
3950
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3951
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "document.classified" }),
3952
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Document type and language have been detected." })
3953
+ ] }),
3954
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3955
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "extraction.started" }),
3956
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "AI data extraction has begun on the document." })
3957
+ ] }),
3958
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3904
3959
  /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "extraction.complete" }),
3905
- /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Extraction finished successfully. Payload includes the full extraction result." })
3960
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Data extraction finished successfully. Extracted fields are available." })
3906
3961
  ] }),
3907
3962
  /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3908
3963
  /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "extraction.failed" }),
3909
- /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Extraction failed. Payload includes the error details." })
3964
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Data extraction failed after all retry attempts." })
3965
+ ] }),
3966
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3967
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "job.created" }),
3968
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "A new structuring job has been created." })
3969
+ ] }),
3970
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3971
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "job.started" }),
3972
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Job processing has begun." })
3973
+ ] }),
3974
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3975
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "job.phase_complete" }),
3976
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "A job phase (resolve, extract, normalize, or transform) has completed." })
3977
+ ] }),
3978
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3979
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "job.complete" }),
3980
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "All job phases finished. Structured results are available." })
3981
+ ] }),
3982
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3983
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "job.failed" }),
3984
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "Job processing failed." })
3985
+ ] }),
3986
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3987
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "review.approved" }),
3988
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "A validation record has been approved." })
3989
+ ] }),
3990
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3991
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "delivery.sent" }),
3992
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "An outbound delivery was sent successfully." })
3993
+ ] }),
3994
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3995
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "delivery.failed" }),
3996
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "An outbound delivery failed after all retry attempts." })
3997
+ ] }),
3998
+ /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3999
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "process.completed" }),
4000
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "A document processing run finished all steps and the result is available." })
3910
4001
  ] }),
3911
4002
  /* @__PURE__ */ jsxs5("tr", { className: "border-t border-void-border", children: [
3912
- /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "document.ingested" }),
3913
- /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "A new document has been processed and is ready for extraction." })
4003
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 font-mono text-[13px]", children: "process.failed" }),
4004
+ /* @__PURE__ */ jsx5("td", { className: "px-4 py-3 text-void-text-secondary text-[13px]", children: "A document processing run failed. The error payload includes the step name and error detail." })
3914
4005
  ] })
3915
4006
  ] })
3916
4007
  ] }) }),