@talonic/docs 0.5.0
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/index.d.ts +670 -0
- package/dist/index.js +4785 -0
- package/dist/index.js.map +1 -0
- package/dist/seo.d.ts +555 -0
- package/dist/seo.js +358 -0
- package/dist/styles/void-docs.css +53 -0
- package/dist/tailwind-preset.cjs +64 -0
- package/dist/tailwind-preset.d.cts +45 -0
- package/dist/tailwind-preset.d.ts +45 -0
- package/dist/tailwind-preset.js +43 -0
- package/package.json +48 -0
package/dist/seo.js
ADDED
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
// src/seo.ts
|
|
2
|
+
var API_NAV_SECTIONS = [
|
|
3
|
+
{ id: "overview", label: "Overview", children: [
|
|
4
|
+
{ id: "introduction", label: "Introduction" },
|
|
5
|
+
{ id: "authentication", label: "Authentication" },
|
|
6
|
+
{ id: "base-url", label: "Base URL" },
|
|
7
|
+
{ id: "quick-start", label: "Quick Start" }
|
|
8
|
+
] },
|
|
9
|
+
{ id: "extract", label: "Extract", children: [
|
|
10
|
+
{ id: "post-extract", label: "POST /v1/extract" },
|
|
11
|
+
{ id: "extract-schemas", label: "Schema Formats" },
|
|
12
|
+
{ id: "extract-options", label: "Options" },
|
|
13
|
+
{ id: "extract-responses", label: "Responses" }
|
|
14
|
+
] },
|
|
15
|
+
{ id: "documents", label: "Documents", children: [
|
|
16
|
+
{ id: "list-documents", label: "List Documents" },
|
|
17
|
+
{ id: "get-document", label: "Get Document" },
|
|
18
|
+
{ id: "delete-document", label: "Delete Document" }
|
|
19
|
+
] },
|
|
20
|
+
{ id: "extractions", label: "Extractions", children: [
|
|
21
|
+
{ id: "list-extractions", label: "List Extractions" },
|
|
22
|
+
{ id: "get-extraction", label: "Get Extraction" },
|
|
23
|
+
{ id: "get-extraction-data", label: "Get Extraction Data" },
|
|
24
|
+
{ id: "patch-extraction-data", label: "Correct Fields" }
|
|
25
|
+
] },
|
|
26
|
+
{ id: "schemas", label: "Schemas", children: [
|
|
27
|
+
{ id: "list-schemas", label: "List Schemas" },
|
|
28
|
+
{ id: "create-schema", label: "Create Schema" },
|
|
29
|
+
{ id: "get-schema", label: "Get Schema" },
|
|
30
|
+
{ id: "update-schema", label: "Update Schema" },
|
|
31
|
+
{ id: "delete-schema", label: "Delete Schema" }
|
|
32
|
+
] },
|
|
33
|
+
{ id: "jobs", label: "Jobs", children: [
|
|
34
|
+
{ id: "list-jobs", label: "List Jobs" },
|
|
35
|
+
{ id: "get-job", label: "Get Job" },
|
|
36
|
+
{ id: "cancel-job", label: "Cancel Job" }
|
|
37
|
+
] },
|
|
38
|
+
{ id: "sources", label: "Inputs", children: [
|
|
39
|
+
{ id: "list-sources", label: "List Inputs" },
|
|
40
|
+
{ id: "create-source", label: "Create Input" },
|
|
41
|
+
{ id: "manage-source", label: "Get / Update / Delete" },
|
|
42
|
+
{ id: "source-documents", label: "Source Documents" }
|
|
43
|
+
] },
|
|
44
|
+
{ id: "filter-search", label: "Filter & Search", children: [
|
|
45
|
+
{ id: "field-autocomplete", label: "Field Autocomplete" },
|
|
46
|
+
{ id: "field-values", label: "Field Values" },
|
|
47
|
+
{ id: "filter-documents", label: "Filter Documents" },
|
|
48
|
+
{ id: "omnisearch", label: "Omnisearch" },
|
|
49
|
+
{ id: "list-saved-filters", label: "List Saved Filters" },
|
|
50
|
+
{ id: "create-saved-filter", label: "Create Saved Filter" },
|
|
51
|
+
{ id: "delete-saved-filter", label: "Delete Saved Filter" },
|
|
52
|
+
{ id: "materialize", label: "Materialize" }
|
|
53
|
+
] },
|
|
54
|
+
{ id: "webhooks", label: "Webhooks", children: [
|
|
55
|
+
{ id: "webhook-events", label: "Events" },
|
|
56
|
+
{ id: "webhook-delivery", label: "Delivery Format" },
|
|
57
|
+
{ id: "webhook-verification", label: "Signature Verification" },
|
|
58
|
+
{ id: "webhook-retries", label: "Retry Policy" }
|
|
59
|
+
] },
|
|
60
|
+
{ id: "errors-rate-limits", label: "Errors & Rate Limits", children: [
|
|
61
|
+
{ id: "error-format", label: "Error Format" },
|
|
62
|
+
{ id: "error-codes", label: "Error Codes" },
|
|
63
|
+
{ id: "rate-limits", label: "Rate Limits" }
|
|
64
|
+
] }
|
|
65
|
+
];
|
|
66
|
+
var PLATFORM_NAV_SECTIONS = [
|
|
67
|
+
{ id: "overview", label: "Overview", children: [
|
|
68
|
+
{ id: "introduction", label: "Introduction" },
|
|
69
|
+
{ id: "core-concepts", label: "Core Concepts" },
|
|
70
|
+
{ id: "platform-flow", label: "Platform Flow" },
|
|
71
|
+
{ id: "getting-started", label: "Getting Started" }
|
|
72
|
+
] },
|
|
73
|
+
{ id: "sources-docs", label: "Inputs & Documents", children: [
|
|
74
|
+
{ id: "uploading", label: "Uploading Documents" },
|
|
75
|
+
{ id: "supported-formats", label: "Supported Formats" },
|
|
76
|
+
{ id: "document-processing", label: "Document Processing" },
|
|
77
|
+
{ id: "document-types", label: "Document Types" },
|
|
78
|
+
{ id: "document-detail", label: "Document Detail" },
|
|
79
|
+
{ id: "routing-rules", label: "Routing Rules" }
|
|
80
|
+
] },
|
|
81
|
+
{ id: "field-intelligence", label: "Field Intelligence", children: [
|
|
82
|
+
{ id: "field-registry", label: "Field Registry" },
|
|
83
|
+
{ id: "tier-system", label: "Tier System" },
|
|
84
|
+
{ id: "semantic-clusters", label: "Semantic Clusters" },
|
|
85
|
+
{ id: "master-instructions", label: "Master Instructions" }
|
|
86
|
+
] },
|
|
87
|
+
{ id: "schemas-templates", label: "Schemas & Templates", children: [
|
|
88
|
+
{ id: "generated-schemas", label: "Generated Schemas" },
|
|
89
|
+
{ id: "user-templates", label: "User Templates" },
|
|
90
|
+
{ id: "field-matching", label: "Field Matching" },
|
|
91
|
+
{ id: "reference-tables", label: "Reference Tables" },
|
|
92
|
+
{ id: "versioning-drafts", label: "Versioning & Drafts" },
|
|
93
|
+
{ id: "test-extraction", label: "Test Extraction" }
|
|
94
|
+
] },
|
|
95
|
+
{ id: "extraction-jobs", label: "Extraction Jobs", children: [
|
|
96
|
+
{ id: "creating-job", label: "Creating a Job" },
|
|
97
|
+
{ id: "pipeline-overview", label: "4-Phase Pipeline" },
|
|
98
|
+
{ id: "phase-1", label: "Phase 1: Resolve" },
|
|
99
|
+
{ id: "phase-2", label: "Phase 2: Agent" },
|
|
100
|
+
{ id: "phase-3", label: "Phase 3: Validation" },
|
|
101
|
+
{ id: "phase-4", label: "Phase 4: Re-read" },
|
|
102
|
+
{ id: "reviewing-results", label: "Reviewing Results" },
|
|
103
|
+
{ id: "confidence-provenance", label: "Confidence & Provenance" },
|
|
104
|
+
{ id: "corrections", label: "Corrections" }
|
|
105
|
+
] },
|
|
106
|
+
{ id: "linking-cases", label: "Linking & Cases", children: [
|
|
107
|
+
{ id: "link-keys", label: "Link Keys" },
|
|
108
|
+
{ id: "entity-linking", label: "Entity Linking" },
|
|
109
|
+
{ id: "cases", label: "Cases" },
|
|
110
|
+
{ id: "document-graph", label: "Document Graph" }
|
|
111
|
+
] },
|
|
112
|
+
{ id: "validation-quality", label: "Validation & Quality", children: [
|
|
113
|
+
{ id: "validation-checks", label: "Validation Checks" },
|
|
114
|
+
{ id: "golden-samples", label: "Golden Samples" },
|
|
115
|
+
{ id: "approval-gates", label: "Approval Gates" }
|
|
116
|
+
] },
|
|
117
|
+
{ id: "delivery", label: "Outputs", children: [
|
|
118
|
+
{ id: "destinations", label: "Destinations" },
|
|
119
|
+
{ id: "field-mappings", label: "Field Mappings" },
|
|
120
|
+
{ id: "export-triggers", label: "Triggers" },
|
|
121
|
+
{ id: "delivery-configuration", label: "Delivery Configuration" },
|
|
122
|
+
{ id: "telemetry", label: "Telemetry" }
|
|
123
|
+
] },
|
|
124
|
+
{ id: "workspace-settings", label: "Workspace Settings", children: [
|
|
125
|
+
{ id: "shared-dialects", label: "Shared Dialects" },
|
|
126
|
+
{ id: "reference-primitives", label: "Reference Primitives" },
|
|
127
|
+
{ id: "change-review", label: "Change Review" }
|
|
128
|
+
] },
|
|
129
|
+
{ id: "search-filtering", label: "Search & Filtering", children: [
|
|
130
|
+
{ id: "omnisearch", label: "Omnisearch" },
|
|
131
|
+
{ id: "document-filters", label: "Document Filters" }
|
|
132
|
+
] },
|
|
133
|
+
{ id: "api-webhooks", label: "API & Webhooks", children: [
|
|
134
|
+
{ id: "api-keys", label: "API Keys" },
|
|
135
|
+
{ id: "public-api", label: "Public API" },
|
|
136
|
+
{ id: "webhooks", label: "Webhooks" }
|
|
137
|
+
] },
|
|
138
|
+
{ id: "team-admin", label: "Team & Admin", children: [
|
|
139
|
+
{ id: "team-management", label: "Team Management" },
|
|
140
|
+
{ id: "credits", label: "Credits & Usage" },
|
|
141
|
+
{ id: "admin-panel", label: "Admin Panel" },
|
|
142
|
+
{ id: "shortcuts", label: "Keyboard Shortcuts" }
|
|
143
|
+
] }
|
|
144
|
+
];
|
|
145
|
+
var API_SECTION_META = [
|
|
146
|
+
{ id: "overview", title: "API Overview", description: "Introduction, authentication, base URL, and quick start guide for the Talonic document extraction API." },
|
|
147
|
+
{ id: "extract", title: "Extract Endpoint", description: "POST /v1/extract \u2014 send a document and schema, receive structured validated data. Supports PDF, DOCX, images, and 25+ formats." },
|
|
148
|
+
{ id: "documents", title: "Documents API", description: "List, retrieve, and delete documents. Each document retains its original file, extracted text, and metadata." },
|
|
149
|
+
{ id: "extractions", title: "Extractions API", description: "Query extraction results, retrieve structured data with confidence scores, and submit field corrections." },
|
|
150
|
+
{ id: "schemas", title: "Schemas API", description: "Create, update, and manage reusable extraction schemas. Supports JSON Schema, simplified fields, and flat key-type maps." },
|
|
151
|
+
{ id: "dialects", title: "Dialects API", description: "Create, update, and manage shared output formatting configurations \u2014 date format, delimiter, encoding, number locale, and boolean format." },
|
|
152
|
+
{ id: "references", title: "References API", description: "Manage workspace-level reference primitives (lookup tables) with automatic versioning, multi-hop resolution, and key binding." },
|
|
153
|
+
{ id: "telemetry", title: "Telemetry API", description: "Aggregate structuring metrics \u2014 capture hit rate, synthesize rate, strategy distribution, and tier funnel breakdowns per schema or run." },
|
|
154
|
+
{ id: "provenance", title: "Provenance API", description: "Per-cell audit trails showing tier, strategy, sub-move, confidence score, and reasoning trace for every value in a record." },
|
|
155
|
+
{ id: "jobs", title: "Jobs API", description: "Track asynchronous extraction jobs with progress, phase status, and grid fill rate statistics." },
|
|
156
|
+
{ id: "sources", title: "Inputs API", description: "Manage document sources for programmatic ingestion. Each source has its own API key and supports batch processing." },
|
|
157
|
+
{ id: "filter-search", title: "Filter & Search API", description: "Field autocomplete, document filtering with composable conditions, global omnisearch, and saved filter management." },
|
|
158
|
+
{ id: "webhooks", title: "Webhooks", description: "Real-time event notifications with HMAC-SHA256 signed payloads, delivery tracking, and exponential backoff retries." },
|
|
159
|
+
{ id: "errors-rate-limits", title: "Errors & Rate Limits", description: "Error response format, error codes, rate limit tiers by plan, and rate limit headers." }
|
|
160
|
+
];
|
|
161
|
+
var PLATFORM_SECTION_META = [
|
|
162
|
+
{ id: "overview", title: "Platform Overview", description: "Core concepts, platform flow, and getting started guide for the Talonic document structuring platform." },
|
|
163
|
+
{ id: "sources-docs", title: "Inputs & Documents", description: "Upload documents via drag-and-drop, API, or connectors. 25+ formats supported with automatic OCR and classification." },
|
|
164
|
+
{ id: "field-intelligence", title: "Field Intelligence", description: "Unified field registry with tier system, semantic clustering, and AI-synthesized master extraction instructions." },
|
|
165
|
+
{ id: "schemas-templates", title: "Schemas & Templates", description: "AI-generated schemas per document type and user-defined templates with field matching, reference tables, and versioning." },
|
|
166
|
+
{ id: "structuring", title: "Structuring", description: "Vocabulary-driven structuring system with seven field strategies, four processing tiers, capture sub-moves, modifiers, constraints, and synthesize fallback." },
|
|
167
|
+
{ id: "extraction-jobs", title: "Extraction Jobs", description: "The 4-phase pipeline: Resolve, Agent, Validation, Re-read. Progressive grid filling with per-cell provenance and confidence." },
|
|
168
|
+
{ id: "linking-cases", title: "Linking & Cases", description: "Document linking discovers relationships through shared entities. Related documents grouped into cases with evidence chains." },
|
|
169
|
+
{ id: "validation-quality", title: "Validation & Quality", description: "Automated validation checks, golden sample benchmarking, and configurable approval gates for quality assurance." },
|
|
170
|
+
{ id: "delivery", title: "Outputs & Delivery", description: "Push structured data to webhooks, REST APIs, SFTP, email, or cloud storage with field mappings, triggers, delivery configuration, and telemetry." },
|
|
171
|
+
{ id: "workspace-settings", title: "Workspace Settings", description: "Shared dialects for output formatting, reference primitives for lookup tables, and change review governance for production workspaces." },
|
|
172
|
+
{ id: "search-filtering", title: "Search & Filtering", description: "Global omnisearch (Cmd+K) and advanced document filtering by extracted field values with saved presets." },
|
|
173
|
+
{ id: "api-webhooks", title: "API & Webhooks", description: "API key management, public REST API overview, and webhook configuration for event-driven integrations." },
|
|
174
|
+
{ id: "team-admin", title: "Team & Admin", description: "Role-based access control, credit usage tracking, admin panel, and keyboard shortcuts." }
|
|
175
|
+
];
|
|
176
|
+
var OPENAPI_SPEC = {
|
|
177
|
+
openapi: "3.1.0",
|
|
178
|
+
info: {
|
|
179
|
+
title: "Talonic API",
|
|
180
|
+
version: "1.0.0",
|
|
181
|
+
description: "Extract any document into schema-validated data with a single API call.",
|
|
182
|
+
contact: { url: "https://talonic.com" }
|
|
183
|
+
},
|
|
184
|
+
servers: [{ url: "https://api.talonic.com", description: "Production" }],
|
|
185
|
+
security: [{ bearerAuth: [] }],
|
|
186
|
+
components: {
|
|
187
|
+
securitySchemes: {
|
|
188
|
+
bearerAuth: { type: "http", scheme: "bearer", description: "API key with tlnc_ prefix" }
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
paths: {
|
|
192
|
+
"/v1/extract": {
|
|
193
|
+
post: {
|
|
194
|
+
operationId: "extract",
|
|
195
|
+
summary: "Extract structured data from a document",
|
|
196
|
+
description: "Accepts the document as a file upload or URL, along with a schema definition. Returns structured data matching your schema with per-field confidence scores.",
|
|
197
|
+
tags: ["Extract"],
|
|
198
|
+
requestBody: { content: { "multipart/form-data": { schema: { type: "object", properties: {
|
|
199
|
+
file: { type: "string", format: "binary", description: "The document file (PDF, DOCX, PNG, JPG, XLSX, CSV, TXT, MD)" },
|
|
200
|
+
file_url: { type: "string", description: "URL to fetch the document from" },
|
|
201
|
+
document_id: { type: "string", description: "Re-extract an existing document by ID" },
|
|
202
|
+
schema: { type: "object", description: "Target schema definition (JSON Schema, simplified fields, or flat key-type map)" },
|
|
203
|
+
schema_id: { type: "string", description: "Use a previously saved schema by ID" },
|
|
204
|
+
instructions: { type: "string", description: "Natural language extraction instructions" },
|
|
205
|
+
include_markdown: { type: "string", description: 'Set to "true" to include OCR markdown in response' }
|
|
206
|
+
} } } } },
|
|
207
|
+
responses: { "200": { description: "Extraction result with data, confidence, and metadata" }, "202": { description: "Async job accepted (when async=true)" } }
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
"/v1/documents": {
|
|
211
|
+
get: {
|
|
212
|
+
operationId: "listDocuments",
|
|
213
|
+
summary: "List all documents",
|
|
214
|
+
tags: ["Documents"],
|
|
215
|
+
parameters: [
|
|
216
|
+
{ name: "source_id", in: "query", schema: { type: "string" } },
|
|
217
|
+
{ name: "status", in: "query", schema: { type: "string", enum: ["pending", "processing", "completed", "error"] } },
|
|
218
|
+
{ name: "page", in: "query", schema: { type: "integer", default: 1 } },
|
|
219
|
+
{ name: "per_page", in: "query", schema: { type: "integer", default: 50 } }
|
|
220
|
+
],
|
|
221
|
+
responses: { "200": { description: "Paginated list of documents" } }
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"/v1/documents/{id}": {
|
|
225
|
+
get: { operationId: "getDocument", summary: "Get a document", tags: ["Documents"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Document with full metadata" } } },
|
|
226
|
+
delete: { operationId: "deleteDocument", summary: "Delete a document and all extractions", tags: ["Documents"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Deletion confirmation" } } }
|
|
227
|
+
},
|
|
228
|
+
"/v1/documents/{id}/markdown": {
|
|
229
|
+
get: { operationId: "getDocumentMarkdown", summary: "Get OCR markdown of a document", tags: ["Documents"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Document markdown content" } } }
|
|
230
|
+
},
|
|
231
|
+
"/v1/extractions": {
|
|
232
|
+
get: { operationId: "listExtractions", summary: "List extractions", tags: ["Extractions"], parameters: [
|
|
233
|
+
{ name: "document_id", in: "query", schema: { type: "string" } },
|
|
234
|
+
{ name: "schema_id", in: "query", schema: { type: "string" } },
|
|
235
|
+
{ name: "page", in: "query", schema: { type: "integer", default: 1 } }
|
|
236
|
+
], responses: { "200": { description: "Paginated list of extractions" } } }
|
|
237
|
+
},
|
|
238
|
+
"/v1/extractions/{id}": {
|
|
239
|
+
get: { operationId: "getExtraction", summary: "Get extraction result", tags: ["Extractions"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Full extraction with data, confidence, metadata" } } }
|
|
240
|
+
},
|
|
241
|
+
"/v1/extractions/{id}/data": {
|
|
242
|
+
get: { operationId: "getExtractionData", summary: "Get extracted data (JSON or CSV)", tags: ["Extractions"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }, { name: "format", in: "query", schema: { type: "string", default: "json" } }], responses: { "200": { description: "Extracted data" } } },
|
|
243
|
+
patch: { operationId: "correctFields", summary: "Correct extraction fields", tags: ["Extractions"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Updated extraction" } } }
|
|
244
|
+
},
|
|
245
|
+
"/v1/schemas": {
|
|
246
|
+
get: { operationId: "listSchemas", summary: "List all schemas", tags: ["Schemas"], responses: { "200": { description: "List of schemas" } } },
|
|
247
|
+
post: { operationId: "createSchema", summary: "Create a new schema", tags: ["Schemas"], responses: { "201": { description: "Created schema" } } }
|
|
248
|
+
},
|
|
249
|
+
"/v1/schemas/{id}": {
|
|
250
|
+
get: { operationId: "getSchema", summary: "Get a schema", tags: ["Schemas"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Schema with definition" } } },
|
|
251
|
+
put: { operationId: "updateSchema", summary: "Update a schema", tags: ["Schemas"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Updated schema" } } },
|
|
252
|
+
delete: { operationId: "deleteSchema", summary: "Delete a schema", tags: ["Schemas"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Deletion confirmation" } } }
|
|
253
|
+
},
|
|
254
|
+
"/v1/jobs": {
|
|
255
|
+
get: { operationId: "listJobs", summary: "List all jobs", tags: ["Jobs"], responses: { "200": { description: "Paginated list of jobs" } } }
|
|
256
|
+
},
|
|
257
|
+
"/v1/jobs/{id}": {
|
|
258
|
+
get: { operationId: "getJob", summary: "Get job status and progress", tags: ["Jobs"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Job with progress and grid stats" } } }
|
|
259
|
+
},
|
|
260
|
+
"/v1/jobs/{id}/cancel": {
|
|
261
|
+
post: { operationId: "cancelJob", summary: "Cancel a running job", tags: ["Jobs"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Cancelled job" } } }
|
|
262
|
+
},
|
|
263
|
+
"/v1/sources": {
|
|
264
|
+
get: { operationId: "listSources", summary: "List all sources", tags: ["Sources"], responses: { "200": { description: "List of sources" } } },
|
|
265
|
+
post: { operationId: "createSource", summary: "Create a new source (returns API key)", tags: ["Sources"], responses: { "201": { description: "Created source with API key" } } }
|
|
266
|
+
},
|
|
267
|
+
"/v1/sources/{id}": {
|
|
268
|
+
get: { operationId: "getSource", summary: "Get source details", tags: ["Sources"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Source details" } } },
|
|
269
|
+
patch: { operationId: "updateSource", summary: "Update a source", tags: ["Sources"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Updated source" } } },
|
|
270
|
+
delete: { operationId: "deleteSource", summary: "Delete a source", tags: ["Sources"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Deletion confirmation" } } }
|
|
271
|
+
},
|
|
272
|
+
"/v1/sources/{id}/documents": {
|
|
273
|
+
get: { operationId: "listSourceDocuments", summary: "List documents in a source", tags: ["Sources"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Paginated documents" } } },
|
|
274
|
+
post: { operationId: "ingestDocument", summary: "Ingest a document into a source", tags: ["Sources"], parameters: [{ name: "id", in: "path", required: true, schema: { type: "string" } }], responses: { "200": { description: "Ingested document" } } }
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
var API_FAQ = [
|
|
279
|
+
{ question: "What file formats does the Talonic API support?", answer: "PDF, DOCX, DOC, PPTX, PPT, XLSX, XLS, XLSM, PNG, JPG, JPEG, GIF, WEBP, TXT, MD, HTML, XML, JSON, EML, CSV, MSG, BMP, and ZIP archives." },
|
|
280
|
+
{ question: "How does authentication work?", answer: "All API requests require a Bearer token in the Authorization header. API keys carry the tlnc_ prefix and are scoped to a source. Create and manage keys from Settings \u2192 API Keys." },
|
|
281
|
+
{ question: "What schema formats are supported?", answer: "Three formats: JSON Schema (full control), simplified fields (recommended), and flat key-type maps (quick prototyping). Supported types: string, number, integer, boolean, date, array, object, enum." },
|
|
282
|
+
{ question: "What are the rate limits?", answer: "Free: 50 extractions/day, 5/min burst, 10MB max. Pro: 2,000/day, 30/min, 50MB max. Enterprise: unlimited with custom rates." },
|
|
283
|
+
{ question: "How do webhooks work?", answer: "Webhooks deliver POST requests with HMAC-SHA256 signed JSON payloads. Events: extraction.complete, extraction.failed, document.ingested. Failed deliveries retry with exponential backoff (1min, 5min, 30min, 4hr)." },
|
|
284
|
+
{ question: "Can I extract data asynchronously?", answer: "Yes. Set async: true or provide a webhook_url in the extract request. Returns a 202 with a job ID that you can poll at /v1/jobs/:id." }
|
|
285
|
+
];
|
|
286
|
+
var PLATFORM_FAQ = [
|
|
287
|
+
{ question: "What is the Field Registry?", answer: "The unified knowledge graph of all canonical fields discovered across documents. Fields are organized into three tiers based on frequency: Tier 1 (core), Tier 2 (established), Tier 3 (emerging)." },
|
|
288
|
+
{ question: "How does the 4-phase extraction pipeline work?", answer: "Phase 1 (Resolve) fills ~30% of cells from graph matches \u2014 no AI needed. Phase 2 (Agent) uses AI strategies. Phase 3 (Validation) runs cross-field checks. Phase 4 (Re-read) fills remaining gaps with targeted document re-reading." },
|
|
289
|
+
{ question: "What are cases in Talonic?", answer: "Cases are groups of 2+ documents connected through shared entities (names, reference numbers, project codes). They are automatically discovered by the linking pipeline and include evidence chains and AI narration." },
|
|
290
|
+
{ question: "How does the confidence gate work?", answer: "Once a cell is filled with confidence \u2265 0.7, no later pipeline phase can overwrite it. This prevents high-confidence lookup results (0.95) from being replaced by lower-confidence agent extractions (0.65)." },
|
|
291
|
+
{ question: "What file formats are supported?", answer: "25+ formats across three paths: text fast-path (TXT, MD, HTML, JSON, CSV), AI Vision (PNG, JPG, GIF, WEBP), and OCR (PDF, DOCX, PPTX, XLSX, MSG, BMP). ZIP archives are unpacked automatically." }
|
|
292
|
+
];
|
|
293
|
+
var LLMS_TXT = `# Talonic
|
|
294
|
+
|
|
295
|
+
> Extract any document into schema-validated data with a single API call.
|
|
296
|
+
|
|
297
|
+
Talonic is an AI-powered document structuring platform. It ingests unstructured documents (PDFs, scans, images, spreadsheets), discovers fields through semantic clustering, and produces structured datasets with per-cell provenance, confidence scores, and reasoning traces.
|
|
298
|
+
|
|
299
|
+
## Documentation
|
|
300
|
+
|
|
301
|
+
- [API Documentation](https://talonic.com/docs): Complete REST API reference
|
|
302
|
+
- [Platform Guide](https://talonic.com/docs/platform): Product documentation and feature guide
|
|
303
|
+
- [OpenAPI Spec](https://talonic.com/docs/openapi.json): Machine-readable API specification
|
|
304
|
+
|
|
305
|
+
## API Quick Start
|
|
306
|
+
|
|
307
|
+
Base URL: https://api.talonic.com
|
|
308
|
+
Auth: Bearer token (tlnc_ prefix)
|
|
309
|
+
|
|
310
|
+
Extract a document:
|
|
311
|
+
\`\`\`
|
|
312
|
+
curl -X POST https://api.talonic.com/v1/extract \\
|
|
313
|
+
-H "Authorization: Bearer tlnc_sk_live_..." \\
|
|
314
|
+
-F "file=@document.pdf" \\
|
|
315
|
+
-F 'schema={"vendor_name":"string","total":"number"}'
|
|
316
|
+
\`\`\`
|
|
317
|
+
|
|
318
|
+
## Key Endpoints
|
|
319
|
+
|
|
320
|
+
- POST /v1/extract \u2014 Extract structured data from a document
|
|
321
|
+
- GET /v1/documents \u2014 List and manage documents
|
|
322
|
+
- GET /v1/extractions \u2014 Query extraction results
|
|
323
|
+
- POST /v1/schemas \u2014 Create reusable extraction schemas
|
|
324
|
+
- GET /v1/jobs \u2014 Track async extraction jobs
|
|
325
|
+
- POST /v1/sources \u2014 Manage document sources with API keys
|
|
326
|
+
|
|
327
|
+
## Platform Features
|
|
328
|
+
|
|
329
|
+
- 25+ file format support (PDF, DOCX, images, spreadsheets, archives)
|
|
330
|
+
- Field Registry: unified knowledge graph of canonical fields with tier system
|
|
331
|
+
- 4-phase extraction pipeline: Resolve \u2192 Agent \u2192 Validate \u2192 Re-read
|
|
332
|
+
- Document linking and case discovery through shared entities
|
|
333
|
+
- Validation checks, golden samples, and approval gates
|
|
334
|
+
- Export to webhooks, REST APIs, SFTP, email, cloud storage
|
|
335
|
+
- HMAC-SHA256 signed webhooks with retry policy
|
|
336
|
+
|
|
337
|
+
## Optional
|
|
338
|
+
|
|
339
|
+
- [API Documentation (Markdown)](https://talonic.com/docs/api.md)
|
|
340
|
+
- [Platform Guide (Markdown)](https://talonic.com/docs/platform.md)
|
|
341
|
+
`;
|
|
342
|
+
var LLMS_FULL_TXT_HEADER = `# Talonic \u2014 Full Documentation
|
|
343
|
+
|
|
344
|
+
> This file contains the complete Talonic documentation for LLM consumption.
|
|
345
|
+
> For a summary, see llms.txt.
|
|
346
|
+
|
|
347
|
+
`;
|
|
348
|
+
export {
|
|
349
|
+
API_FAQ,
|
|
350
|
+
API_NAV_SECTIONS,
|
|
351
|
+
API_SECTION_META,
|
|
352
|
+
LLMS_FULL_TXT_HEADER,
|
|
353
|
+
LLMS_TXT,
|
|
354
|
+
OPENAPI_SPEC,
|
|
355
|
+
PLATFORM_FAQ,
|
|
356
|
+
PLATFORM_NAV_SECTIONS,
|
|
357
|
+
PLATFORM_SECTION_META
|
|
358
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/* src/styles/void-docs.css */
|
|
2
|
+
:root {
|
|
3
|
+
--void-bg: #FFFFFF;
|
|
4
|
+
--void-bg-elevated: #FFFFFF;
|
|
5
|
+
--void-surface: #FFFFFF;
|
|
6
|
+
--void-surface-2: #F0F0F0;
|
|
7
|
+
--void-surface-3: #E8E8E8;
|
|
8
|
+
--void-border: #E0E0E0;
|
|
9
|
+
--void-border-hover: #CCCCCC;
|
|
10
|
+
--void-text-primary: #1A1A1A;
|
|
11
|
+
--void-text-secondary: #666666;
|
|
12
|
+
--void-text-muted: #999999;
|
|
13
|
+
--void-text-tertiary: #BBBBBB;
|
|
14
|
+
--void-accent: #673AB7;
|
|
15
|
+
--void-accent-hover: #7E57C2;
|
|
16
|
+
--void-accent-dim: rgba(103, 58, 183, 0.08);
|
|
17
|
+
--void-accent-tint: #EDE7F6;
|
|
18
|
+
--void-danger: #DC2626;
|
|
19
|
+
--void-danger-solid: #D32F2F;
|
|
20
|
+
--void-divider: #E8E8E8;
|
|
21
|
+
--void-warning: #F59E0B;
|
|
22
|
+
--void-warning-dim: rgba(245, 158, 11, 0.12);
|
|
23
|
+
--void-tier-1: #1A1A1A;
|
|
24
|
+
--void-tier-2: #666666;
|
|
25
|
+
--void-tier-3: #999999;
|
|
26
|
+
color-scheme: light;
|
|
27
|
+
}
|
|
28
|
+
.dark {
|
|
29
|
+
--void-bg: #0F0F0F;
|
|
30
|
+
--void-bg-elevated: #181818;
|
|
31
|
+
--void-surface: #1A1A1A;
|
|
32
|
+
--void-surface-2: #252525;
|
|
33
|
+
--void-surface-3: #2F2F2F;
|
|
34
|
+
--void-border: #333333;
|
|
35
|
+
--void-border-hover: #444444;
|
|
36
|
+
--void-text-primary: #E8E8E8;
|
|
37
|
+
--void-text-secondary: #A0A0A0;
|
|
38
|
+
--void-text-muted: #707070;
|
|
39
|
+
--void-text-tertiary: #555555;
|
|
40
|
+
--void-accent: #9575CD;
|
|
41
|
+
--void-accent-hover: #B39DDB;
|
|
42
|
+
--void-accent-dim: rgba(149, 117, 205, 0.12);
|
|
43
|
+
--void-accent-tint: #2A1F3D;
|
|
44
|
+
--void-danger: #EF4444;
|
|
45
|
+
--void-danger-solid: #F44336;
|
|
46
|
+
--void-divider: #2A2A2A;
|
|
47
|
+
--void-warning: #FBBF24;
|
|
48
|
+
--void-warning-dim: rgba(251, 191, 36, 0.12);
|
|
49
|
+
--void-tier-1: #E8E8E8;
|
|
50
|
+
--void-tier-2: #A0A0A0;
|
|
51
|
+
--void-tier-3: #707070;
|
|
52
|
+
color-scheme: dark;
|
|
53
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/tailwind-preset.ts
|
|
21
|
+
var tailwind_preset_exports = {};
|
|
22
|
+
__export(tailwind_preset_exports, {
|
|
23
|
+
default: () => tailwind_preset_default
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(tailwind_preset_exports);
|
|
26
|
+
var voidDocsPreset = {
|
|
27
|
+
darkMode: "class",
|
|
28
|
+
theme: {
|
|
29
|
+
extend: {
|
|
30
|
+
colors: {
|
|
31
|
+
"void-bg": "var(--void-bg)",
|
|
32
|
+
"void-bg-elevated": "var(--void-bg-elevated)",
|
|
33
|
+
"void-surface": "var(--void-surface)",
|
|
34
|
+
"void-surface-2": "var(--void-surface-2)",
|
|
35
|
+
"void-surface-3": "var(--void-surface-3)",
|
|
36
|
+
"void-border": "var(--void-border)",
|
|
37
|
+
"void-border-hover": "var(--void-border-hover)",
|
|
38
|
+
"void-text-primary": "var(--void-text-primary)",
|
|
39
|
+
"void-text-secondary": "var(--void-text-secondary)",
|
|
40
|
+
"void-text-muted": "var(--void-text-muted)",
|
|
41
|
+
"void-text-tertiary": "var(--void-text-tertiary)",
|
|
42
|
+
"void-accent": "var(--void-accent)",
|
|
43
|
+
"void-accent-hover": "var(--void-accent-hover)",
|
|
44
|
+
"void-accent-dim": "var(--void-accent-dim)",
|
|
45
|
+
"void-accent-tint": "var(--void-accent-tint)",
|
|
46
|
+
"void-danger": "var(--void-danger)",
|
|
47
|
+
"void-danger-solid": "var(--void-danger-solid)",
|
|
48
|
+
"void-divider": "var(--void-divider)",
|
|
49
|
+
"void-warning": "var(--void-warning)",
|
|
50
|
+
"void-warning-dim": "var(--void-warning-dim)",
|
|
51
|
+
"void-tier-1": "var(--void-tier-1)",
|
|
52
|
+
"void-tier-2": "var(--void-tier-2)",
|
|
53
|
+
"void-tier-3": "var(--void-tier-3)"
|
|
54
|
+
},
|
|
55
|
+
fontFamily: {
|
|
56
|
+
space: ["Space Grotesk", "sans-serif"],
|
|
57
|
+
body: ["Inter", "system-ui", "sans-serif"],
|
|
58
|
+
mono: ["JetBrains Mono", "monospace"]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
plugins: []
|
|
63
|
+
};
|
|
64
|
+
var tailwind_preset_default = voidDocsPreset;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tailwind CSS preset for @talonic/docs consumers.
|
|
3
|
+
* Adds the Void design system color tokens and font families
|
|
4
|
+
* so doc components render correctly in any host app.
|
|
5
|
+
*/
|
|
6
|
+
declare const voidDocsPreset: {
|
|
7
|
+
darkMode: "class";
|
|
8
|
+
theme: {
|
|
9
|
+
extend: {
|
|
10
|
+
colors: {
|
|
11
|
+
'void-bg': string;
|
|
12
|
+
'void-bg-elevated': string;
|
|
13
|
+
'void-surface': string;
|
|
14
|
+
'void-surface-2': string;
|
|
15
|
+
'void-surface-3': string;
|
|
16
|
+
'void-border': string;
|
|
17
|
+
'void-border-hover': string;
|
|
18
|
+
'void-text-primary': string;
|
|
19
|
+
'void-text-secondary': string;
|
|
20
|
+
'void-text-muted': string;
|
|
21
|
+
'void-text-tertiary': string;
|
|
22
|
+
'void-accent': string;
|
|
23
|
+
'void-accent-hover': string;
|
|
24
|
+
'void-accent-dim': string;
|
|
25
|
+
'void-accent-tint': string;
|
|
26
|
+
'void-danger': string;
|
|
27
|
+
'void-danger-solid': string;
|
|
28
|
+
'void-divider': string;
|
|
29
|
+
'void-warning': string;
|
|
30
|
+
'void-warning-dim': string;
|
|
31
|
+
'void-tier-1': string;
|
|
32
|
+
'void-tier-2': string;
|
|
33
|
+
'void-tier-3': string;
|
|
34
|
+
};
|
|
35
|
+
fontFamily: {
|
|
36
|
+
space: string[];
|
|
37
|
+
body: string[];
|
|
38
|
+
mono: string[];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
plugins: never[];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { voidDocsPreset as default };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tailwind CSS preset for @talonic/docs consumers.
|
|
3
|
+
* Adds the Void design system color tokens and font families
|
|
4
|
+
* so doc components render correctly in any host app.
|
|
5
|
+
*/
|
|
6
|
+
declare const voidDocsPreset: {
|
|
7
|
+
darkMode: "class";
|
|
8
|
+
theme: {
|
|
9
|
+
extend: {
|
|
10
|
+
colors: {
|
|
11
|
+
'void-bg': string;
|
|
12
|
+
'void-bg-elevated': string;
|
|
13
|
+
'void-surface': string;
|
|
14
|
+
'void-surface-2': string;
|
|
15
|
+
'void-surface-3': string;
|
|
16
|
+
'void-border': string;
|
|
17
|
+
'void-border-hover': string;
|
|
18
|
+
'void-text-primary': string;
|
|
19
|
+
'void-text-secondary': string;
|
|
20
|
+
'void-text-muted': string;
|
|
21
|
+
'void-text-tertiary': string;
|
|
22
|
+
'void-accent': string;
|
|
23
|
+
'void-accent-hover': string;
|
|
24
|
+
'void-accent-dim': string;
|
|
25
|
+
'void-accent-tint': string;
|
|
26
|
+
'void-danger': string;
|
|
27
|
+
'void-danger-solid': string;
|
|
28
|
+
'void-divider': string;
|
|
29
|
+
'void-warning': string;
|
|
30
|
+
'void-warning-dim': string;
|
|
31
|
+
'void-tier-1': string;
|
|
32
|
+
'void-tier-2': string;
|
|
33
|
+
'void-tier-3': string;
|
|
34
|
+
};
|
|
35
|
+
fontFamily: {
|
|
36
|
+
space: string[];
|
|
37
|
+
body: string[];
|
|
38
|
+
mono: string[];
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
plugins: never[];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export { voidDocsPreset as default };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// src/tailwind-preset.ts
|
|
2
|
+
var voidDocsPreset = {
|
|
3
|
+
darkMode: "class",
|
|
4
|
+
theme: {
|
|
5
|
+
extend: {
|
|
6
|
+
colors: {
|
|
7
|
+
"void-bg": "var(--void-bg)",
|
|
8
|
+
"void-bg-elevated": "var(--void-bg-elevated)",
|
|
9
|
+
"void-surface": "var(--void-surface)",
|
|
10
|
+
"void-surface-2": "var(--void-surface-2)",
|
|
11
|
+
"void-surface-3": "var(--void-surface-3)",
|
|
12
|
+
"void-border": "var(--void-border)",
|
|
13
|
+
"void-border-hover": "var(--void-border-hover)",
|
|
14
|
+
"void-text-primary": "var(--void-text-primary)",
|
|
15
|
+
"void-text-secondary": "var(--void-text-secondary)",
|
|
16
|
+
"void-text-muted": "var(--void-text-muted)",
|
|
17
|
+
"void-text-tertiary": "var(--void-text-tertiary)",
|
|
18
|
+
"void-accent": "var(--void-accent)",
|
|
19
|
+
"void-accent-hover": "var(--void-accent-hover)",
|
|
20
|
+
"void-accent-dim": "var(--void-accent-dim)",
|
|
21
|
+
"void-accent-tint": "var(--void-accent-tint)",
|
|
22
|
+
"void-danger": "var(--void-danger)",
|
|
23
|
+
"void-danger-solid": "var(--void-danger-solid)",
|
|
24
|
+
"void-divider": "var(--void-divider)",
|
|
25
|
+
"void-warning": "var(--void-warning)",
|
|
26
|
+
"void-warning-dim": "var(--void-warning-dim)",
|
|
27
|
+
"void-tier-1": "var(--void-tier-1)",
|
|
28
|
+
"void-tier-2": "var(--void-tier-2)",
|
|
29
|
+
"void-tier-3": "var(--void-tier-3)"
|
|
30
|
+
},
|
|
31
|
+
fontFamily: {
|
|
32
|
+
space: ["Space Grotesk", "sans-serif"],
|
|
33
|
+
body: ["Inter", "system-ui", "sans-serif"],
|
|
34
|
+
mono: ["JetBrains Mono", "monospace"]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
plugins: []
|
|
39
|
+
};
|
|
40
|
+
var tailwind_preset_default = voidDocsPreset;
|
|
41
|
+
export {
|
|
42
|
+
tailwind_preset_default as default
|
|
43
|
+
};
|