@wildo-ai/external-connectors-models 1.0.1 → 1.1.1
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/LICENSE +34 -0
- package/dist/esm/.builder.pid +9 -0
- package/dist/esm/companion-exports.d.ts +8 -0
- package/dist/esm/companion-exports.d.ts.map +1 -0
- package/dist/esm/companion-exports.js +8 -0
- package/dist/esm/companion-exports.js.map +1 -0
- package/dist/esm/core/commons.external-connectors-models.schemas.d.ts +66 -19
- package/dist/esm/core/commons.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/core/commons.external-connectors-models.schemas.js +51 -3
- package/dist/esm/core/commons.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/core/oauth2.enums.d.ts.map +1 -1
- package/dist/esm/core/oauth2.enums.js +1 -1
- package/dist/esm/core/oauth2.enums.js.map +1 -1
- package/dist/esm/core/operations.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/core/operations.external-connectors-models.schemas.js +1 -1
- package/dist/esm/core/operations.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts +35 -20
- package/dist/esm/core/protocols.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/core/protocols.external-connectors-models.schemas.js +1 -1
- package/dist/esm/core/protocols.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/core/security.external-connectors-models.schemas.d.ts +1 -1
- package/dist/esm/core/security.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/core/security.external-connectors-models.schemas.js +1 -1
- package/dist/esm/core/security.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/features/core.external-connectors-models.schemas.d.ts +4 -4
- package/dist/esm/features/core.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/features/core.external-connectors-models.schemas.js +13 -13
- package/dist/esm/features/core.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/features/email.external-connectors-models.schemas.d.ts +12 -12
- package/dist/esm/features/email.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/features/email.external-connectors-models.schemas.js +2 -2
- package/dist/esm/features/email.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/features/hooks.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/features/hooks.external-connectors-models.schemas.js +1 -1
- package/dist/esm/features/hooks.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/features/sms.external-connectors-models.schemas.d.ts +4 -4
- package/dist/esm/features/sms.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/features/sms.external-connectors-models.schemas.js +1 -1
- package/dist/esm/features/sms.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/index.d.ts +27 -27
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +5 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts +3 -3
- package/dist/esm/protocols/a2a.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/a2a.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/a2a.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts +526 -0
- package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.d.ts.map +1 -0
- package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js +639 -0
- package/dist/esm/protocols/agent-client-protocol.external-connectors-models.schemas.js.map +1 -0
- package/dist/esm/protocols/billing.standard-interface.schemas.d.ts +67 -0
- package/dist/esm/protocols/billing.standard-interface.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/billing.standard-interface.schemas.js +1 -1
- package/dist/esm/protocols/billing.standard-interface.schemas.js.map +1 -1
- package/dist/esm/protocols/document-extraction.external-connectors-models.schemas.d.ts +179 -0
- package/dist/esm/protocols/document-extraction.external-connectors-models.schemas.d.ts.map +1 -0
- package/dist/esm/protocols/document-extraction.external-connectors-models.schemas.js +217 -0
- package/dist/esm/protocols/document-extraction.external-connectors-models.schemas.js.map +1 -0
- package/dist/esm/protocols/email.external-connectors-models.schemas.d.ts +5 -5
- package/dist/esm/protocols/email.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/email.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/email.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/email.standard-interface.schemas.d.ts +37 -10
- package/dist/esm/protocols/email.standard-interface.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/email.standard-interface.schemas.js +137 -4
- package/dist/esm/protocols/email.standard-interface.schemas.js.map +1 -1
- package/dist/esm/protocols/embeddings.external-connectors-models.schemas.d.ts +175 -0
- package/dist/esm/protocols/embeddings.external-connectors-models.schemas.d.ts.map +1 -0
- package/dist/esm/protocols/embeddings.external-connectors-models.schemas.js +191 -0
- package/dist/esm/protocols/embeddings.external-connectors-models.schemas.js.map +1 -0
- package/dist/esm/protocols/frontend.external-connectors-models.schemas.d.ts +4 -4
- package/dist/esm/protocols/frontend.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/frontend.external-connectors-models.schemas.js +2 -2
- package/dist/esm/protocols/frontend.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts +3 -3
- package/dist/esm/protocols/git.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/git.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/git.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts +3 -3
- package/dist/esm/protocols/grpc.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/grpc.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/grpc.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/hooks.external-connectors-models.schemas.d.ts +14 -6
- package/dist/esm/protocols/hooks.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/hooks.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/hooks.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/image.external-connectors-models.schemas.d.ts +151 -0
- package/dist/esm/protocols/image.external-connectors-models.schemas.d.ts.map +1 -0
- package/dist/esm/protocols/image.external-connectors-models.schemas.js +150 -0
- package/dist/esm/protocols/image.external-connectors-models.schemas.js.map +1 -0
- package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts +567 -67
- package/dist/esm/protocols/llm.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/llm.external-connectors-models.schemas.js +815 -36
- package/dist/esm/protocols/llm.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts +3 -3
- package/dist/esm/protocols/mcp.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/mcp.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/mcp.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/oauth2.external-connectors-models.schemas.d.ts +27 -28
- package/dist/esm/protocols/oauth2.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/oauth2.external-connectors-models.schemas.js +1 -3
- package/dist/esm/protocols/oauth2.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts +3 -3
- package/dist/esm/protocols/rest-api.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/rest-api.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts +30 -30
- package/dist/esm/protocols/saml.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/saml.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/saml.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/sms.external-connectors-models.schemas.d.ts +2 -2
- package/dist/esm/protocols/sms.external-connectors-models.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/sms.external-connectors-models.schemas.js +1 -1
- package/dist/esm/protocols/sms.external-connectors-models.schemas.js.map +1 -1
- package/dist/esm/protocols/sms.standard-interface.schemas.d.ts +1 -1
- package/dist/esm/protocols/sms.standard-interface.schemas.d.ts.map +1 -1
- package/dist/esm/protocols/sms.standard-interface.schemas.js +1 -1
- package/dist/esm/protocols/sms.standard-interface.schemas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +20 -10
- package/dist/esm/core/lazy-loading.external-connectors-models.schemas.d.ts +0 -127
- package/dist/esm/core/lazy-loading.external-connectors-models.schemas.d.ts.map +0 -1
- package/dist/esm/core/lazy-loading.external-connectors-models.schemas.js +0 -22
- package/dist/esm/core/lazy-loading.external-connectors-models.schemas.js.map +0 -1
- package/dist/esm/core/providers.external-connectors-models.schemas.d.ts +0 -80
- package/dist/esm/core/providers.external-connectors-models.schemas.d.ts.map +0 -1
- package/dist/esm/core/providers.external-connectors-models.schemas.js +0 -55
- package/dist/esm/core/providers.external-connectors-models.schemas.js.map +0 -1
- package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.d.ts +0 -214
- package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.d.ts.map +0 -1
- package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.js +0 -188
- package/dist/esm/protocols/cli-runtime.external-connectors-models.schemas.js.map +0 -1
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Status_BaseSchema, } from "../core/commons.external-connectors-models.schemas.js";
|
|
3
|
+
//===============================================================
|
|
4
|
+
// Document Extraction Provider
|
|
5
|
+
// --------
|
|
6
|
+
// Document bytes → text. Serves the file-side TEXT PROVIDER that
|
|
7
|
+
// `FileTextExtractionBackendService` owns, whose largest consumer is the RAG
|
|
8
|
+
// ingestion path (`.ragSource()` corpus building).
|
|
9
|
+
//
|
|
10
|
+
// ## Why this is a provider at all, and not just a better library
|
|
11
|
+
//
|
|
12
|
+
// The local `pdfjs-dist` path reads a PDF's TEXT LAYER. A scanned document — the
|
|
13
|
+
// common case for uploaded contracts, invoices and forms — is an IMAGE of a page
|
|
14
|
+
// and carries no text layer, so it extracts to the empty string, contributes no
|
|
15
|
+
// chunks, and becomes silently unanswerable. That is not a defect in the local
|
|
16
|
+
// library; it is its nature, and it is the entire reason a provider exists here.
|
|
17
|
+
//
|
|
18
|
+
// ## Deliberately a SEPARATE protocol kind from `LLM_PROVIDER`
|
|
19
|
+
//
|
|
20
|
+
// Same reasoning as `EMBEDDINGS_PROVIDER` (RAG plan DL2) and the `IMAGE_PROVIDER`
|
|
21
|
+
// precedent before it: an unmapped LLM operation key fails SILENTLY across every
|
|
22
|
+
// consumer surface (the registry's semantic-operation map filters it out, the
|
|
23
|
+
// executor never dispatches it, the capability slot never fills), whereas a new
|
|
24
|
+
// `runtimeContract.kind` fails COMPILATION at every switch over the union. That
|
|
25
|
+
// compile-enforcement is the whole argument, and it is verified rather than
|
|
26
|
+
// asserted — deleting an arm from `secretRefForRuntimeContract` reddens the
|
|
27
|
+
// `never` check with the offending contract named in the diagnostic.
|
|
28
|
+
//
|
|
29
|
+
// It also fills its own `EngineCapability.AI_DOCUMENT_EXTRACTION` slot, so an
|
|
30
|
+
// application selects its OCR provider INDEPENDENTLY of its chat and embeddings
|
|
31
|
+
// providers. Those are three unrelated procurement decisions — a deployment may
|
|
32
|
+
// well want Anthropic for chat, OpenAI for embeddings, and Mistral for OCR — and
|
|
33
|
+
// fusing any two of them into one `selection` entry makes that unexpressible.
|
|
34
|
+
//===============================================================
|
|
35
|
+
/**
|
|
36
|
+
* Concrete document-extraction model ids the framework knows.
|
|
37
|
+
*
|
|
38
|
+
* Import path: `@wildo-ai/external-connectors-models`.
|
|
39
|
+
*/
|
|
40
|
+
export var DocumentExtractionProvider_Model;
|
|
41
|
+
(function (DocumentExtractionProvider_Model) {
|
|
42
|
+
/**
|
|
43
|
+
* Mistral's OCR model alias. An ALIAS deliberately, not a dated snapshot: unlike an embedding
|
|
44
|
+
* model — where the concrete id is persisted as a stamp on every chunk and a silent change
|
|
45
|
+
* would fracture the vector space — extraction output is consumed immediately and re-derived
|
|
46
|
+
* on every ingestion pass, so tracking the vendor's current model is a benefit rather than a
|
|
47
|
+
* hazard.
|
|
48
|
+
*/
|
|
49
|
+
DocumentExtractionProvider_Model["MISTRAL_OCR_LATEST"] = "mistral-ocr-latest";
|
|
50
|
+
})(DocumentExtractionProvider_Model || (DocumentExtractionProvider_Model = {}));
|
|
51
|
+
/**
|
|
52
|
+
* The document-extraction operation vocabulary — deliberately DISJOINT from
|
|
53
|
+
* `LLMProvider_OperationKey`, `ImageProvider_OperationKey` and
|
|
54
|
+
* `EmbeddingsProvider_OperationKey` (each protocol kind owns its own operation enum, so a key's
|
|
55
|
+
* membership decides its protocol without inspection).
|
|
56
|
+
*
|
|
57
|
+
* Import path: `@wildo-ai/external-connectors-models`.
|
|
58
|
+
*/
|
|
59
|
+
export var DocumentExtractionProvider_OperationKey;
|
|
60
|
+
(function (DocumentExtractionProvider_OperationKey) {
|
|
61
|
+
/** One document's bytes → its text, page by page. */
|
|
62
|
+
DocumentExtractionProvider_OperationKey["EXTRACT_DOCUMENT_TEXT"] = "documentExtraction.extractDocumentText";
|
|
63
|
+
})(DocumentExtractionProvider_OperationKey || (DocumentExtractionProvider_OperationKey = {}));
|
|
64
|
+
/**
|
|
65
|
+
* @wildo_source:part:start saas.external-providers.document-extraction.applicability facet:kind:api facet:audience:app-developer
|
|
66
|
+
*
|
|
67
|
+
* WHAT a document is being extracted FOR — the durable axis of extraction-model selection
|
|
68
|
+
* (model-selection-by-applicability rule: an author names a CLASS, never a concrete model id;
|
|
69
|
+
* the framework resolves the id from the catalog + preference below).
|
|
70
|
+
*
|
|
71
|
+
* One class today, and that is a statement rather than a placeholder: every extraction in the
|
|
72
|
+
* engine feeds `FileTextExtractionBackendService`, and a second class would only be earned by a
|
|
73
|
+
* surface with genuinely different requirements (a layout-preserving export, say, or a
|
|
74
|
+
* cheap-and-approximate preview tier).
|
|
75
|
+
*/
|
|
76
|
+
export var DocumentExtraction_Applicability;
|
|
77
|
+
(function (DocumentExtraction_Applicability) {
|
|
78
|
+
/** The default document-text surface: file text extraction, and the RAG corpus built on it. */
|
|
79
|
+
DocumentExtraction_Applicability["DOCUMENT_TEXT_DEFAULT"] = "document-text-default";
|
|
80
|
+
})(DocumentExtraction_Applicability || (DocumentExtraction_Applicability = {}));
|
|
81
|
+
/**
|
|
82
|
+
* THE document-extraction model catalog — the single per-model fact table (the
|
|
83
|
+
* `EMBEDDINGS_MODEL_CATALOG` discipline: an EXHAUSTIVE `Record`, so a new
|
|
84
|
+
* `DocumentExtractionProvider_Model` member without a row is a compile error).
|
|
85
|
+
*/
|
|
86
|
+
export const DOCUMENT_EXTRACTION_MODEL_CATALOG = {
|
|
87
|
+
[DocumentExtractionProvider_Model.MISTRAL_OCR_LATEST]: {
|
|
88
|
+
providerRef: "mistral",
|
|
89
|
+
/**
|
|
90
|
+
* Mistral's published OCR format list (docs.mistral.ai "Known limitations": "Supported
|
|
91
|
+
* formats for OCR: PDF, PNG, JPG, JPEG, TIFF, BMP, GIF, WEBP"), narrowed to the MIME types
|
|
92
|
+
* the engine's own extraction gate admits today.
|
|
93
|
+
*
|
|
94
|
+
* `application/pdf` is the only entry that is currently REACHABLE: image MIME types are
|
|
95
|
+
* refused by `FileTextExtractionBackendService.isExtractionSupported`, which is a separate,
|
|
96
|
+
* deliberate decision (an uploaded photo is not a document). The image types are declared
|
|
97
|
+
* here anyway because this row states what the MODEL can do, not what the engine currently
|
|
98
|
+
* asks it to do — and admitting images to extraction later must be an engine decision, not
|
|
99
|
+
* an accidental consequence of a catalog edit.
|
|
100
|
+
*/
|
|
101
|
+
supportedMimeTypes: ["application/pdf", "image/png", "image/jpeg", "image/tiff", "image/webp"],
|
|
102
|
+
applicabilities: [DocumentExtraction_Applicability.DOCUMENT_TEXT_DEFAULT],
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* The framework's DEFAULT answer to "which extraction model serves this class", ordered by
|
|
107
|
+
* preference, highest first.
|
|
108
|
+
*
|
|
109
|
+
* Unlike the embeddings preference — which is a MIGRATION KEY, because editing it re-binds a
|
|
110
|
+
* class and forces every stamped chunk to be re-embedded — this one carries no durable
|
|
111
|
+
* consequence: extraction output is re-derived on the next ingestion pass and nothing persists
|
|
112
|
+
* the model that produced it. Editing this list changes what the next extraction uses and
|
|
113
|
+
* nothing else.
|
|
114
|
+
*/
|
|
115
|
+
export const DOCUMENT_EXTRACTION_MODEL_APPLICABILITY_PREFERENCE = {
|
|
116
|
+
[DocumentExtraction_Applicability.DOCUMENT_TEXT_DEFAULT]: [
|
|
117
|
+
DocumentExtractionProvider_Model.MISTRAL_OCR_LATEST,
|
|
118
|
+
],
|
|
119
|
+
};
|
|
120
|
+
/** Why {@link resolveDocumentExtractionModelForApplicability} could not answer — carried into a named CONFIGURATION error. */
|
|
121
|
+
export var DocumentExtraction_ModelResolutionFailure;
|
|
122
|
+
(function (DocumentExtraction_ModelResolutionFailure) {
|
|
123
|
+
/** The applicability has no candidate at all for this provider. */
|
|
124
|
+
DocumentExtraction_ModelResolutionFailure["NO_CANDIDATE_FOR_PROVIDER"] = "no_candidate_for_provider";
|
|
125
|
+
})(DocumentExtraction_ModelResolutionFailure || (DocumentExtraction_ModelResolutionFailure = {}));
|
|
126
|
+
/**
|
|
127
|
+
* Resolve an applicability class to ONE concrete extraction model for a given provider.
|
|
128
|
+
*
|
|
129
|
+
* Fails CLOSED and explains itself (the `resolveModelForApplicability` contract): a silent
|
|
130
|
+
* fallback to some other model would send application documents to a model nobody chose.
|
|
131
|
+
*/
|
|
132
|
+
export const resolveDocumentExtractionModelForApplicability = (input, catalog = DOCUMENT_EXTRACTION_MODEL_CATALOG) => {
|
|
133
|
+
const candidates = DOCUMENT_EXTRACTION_MODEL_APPLICABILITY_PREFERENCE[input.applicability];
|
|
134
|
+
const forProvider = candidates.filter((model) => {
|
|
135
|
+
const entry = catalog[model];
|
|
136
|
+
return entry.providerRef === input.providerRef && entry.applicabilities.includes(input.applicability);
|
|
137
|
+
});
|
|
138
|
+
if (forProvider.length === 0) {
|
|
139
|
+
return {
|
|
140
|
+
resolved: false,
|
|
141
|
+
failure: DocumentExtraction_ModelResolutionFailure.NO_CANDIDATE_FOR_PROVIDER,
|
|
142
|
+
consideredModels: candidates,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
const model = forProvider[0];
|
|
146
|
+
return { resolved: true, model, entry: catalog[model] };
|
|
147
|
+
};
|
|
148
|
+
// ===============================================================
|
|
149
|
+
// Document Extraction Operations Context
|
|
150
|
+
// ===============================================================
|
|
151
|
+
/**
|
|
152
|
+
* Usage of one extraction call.
|
|
153
|
+
*
|
|
154
|
+
* There is NO token dimension, and its absence is structural rather than an omission: an OCR
|
|
155
|
+
* call is billed and reported per PAGE, not per token. Any consumer judging usage completeness
|
|
156
|
+
* for an extraction must do so on `pagesProcessed` alone — the operation-aware discipline the
|
|
157
|
+
* embeddings arm records for its own missing completion-token dimension.
|
|
158
|
+
*/
|
|
159
|
+
export const DocumentExtractionProvider_UsageSchema = z.object({
|
|
160
|
+
/** Pages the provider reports having processed (Mistral: `usage_info.pages_processed`). */
|
|
161
|
+
pagesProcessed: z.number().optional(),
|
|
162
|
+
/** Document size the provider reports having received (Mistral: `usage_info.doc_size_bytes`). */
|
|
163
|
+
documentSizeBytes: z.number().optional(),
|
|
164
|
+
});
|
|
165
|
+
export const DocumentExtractionProvider_ExecutionTransportMetadataSchema = z.object({
|
|
166
|
+
protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.DOCUMENT_EXTRACTION_PROVIDER),
|
|
167
|
+
providerRef: z.string(),
|
|
168
|
+
model: z.string().optional(),
|
|
169
|
+
});
|
|
170
|
+
// ===============================================================
|
|
171
|
+
// Document Extraction I/O Schemas
|
|
172
|
+
// ===============================================================
|
|
173
|
+
/**
|
|
174
|
+
* Input DESCRIPTOR of the {@link DocumentExtractionProvider_OperationKey.EXTRACT_DOCUMENT_TEXT}
|
|
175
|
+
* operation — the metadata about the document, deliberately NOT the document.
|
|
176
|
+
*
|
|
177
|
+
* ⚠️ THE BYTES ARE ABSENT ON PURPOSE, and this is the design decision most likely to be
|
|
178
|
+
* "corrected" by a later reader. A `documentBase64: z.string()` field here would be structurally
|
|
179
|
+
* correct and operationally dangerous: a Zod-shaped input object is the thing every diagnostic
|
|
180
|
+
* path in this codebase reaches for when something goes wrong — error `context`, debug logs,
|
|
181
|
+
* agent-call traces — and a multi-megabyte base64 blob of an application's private contract is
|
|
182
|
+
* the single worst payload to make casually loggable. The embeddings arm reached the same
|
|
183
|
+
* conclusion from the other direction (its header forbids raw texts and vectors from ever
|
|
184
|
+
* entering a trace); here the prohibition is enforced by the SHAPE rather than by discipline.
|
|
185
|
+
*
|
|
186
|
+
* The bytes travel as a `Buffer` on the execution service's own request type, which no
|
|
187
|
+
* serializer walks.
|
|
188
|
+
*/
|
|
189
|
+
export const DocumentExtractionProvider_ExtractDocumentTextInputSchema = z.object({
|
|
190
|
+
/** The document's MIME type — checked against the model's catalog row before any egress. */
|
|
191
|
+
mimeType: z.string(),
|
|
192
|
+
/** Byte length of the document being sent. Diagnostic and ceiling-checking only. */
|
|
193
|
+
documentByteLength: z.number().int().nonnegative(),
|
|
194
|
+
});
|
|
195
|
+
/**
|
|
196
|
+
* Output of {@link DocumentExtractionProvider_OperationKey.EXTRACT_DOCUMENT_TEXT}.
|
|
197
|
+
*
|
|
198
|
+
* `text` is the concatenation of the provider's per-page output in document order. Providers in
|
|
199
|
+
* this family return MARKDOWN per page (Mistral's `pages[].markdown`), which is kept as-is:
|
|
200
|
+
* headings and table structure are signal for a retrieval corpus, and stripping them to "plain"
|
|
201
|
+
* text would discard information the provider was paid to recover.
|
|
202
|
+
*/
|
|
203
|
+
export const DocumentExtractionProvider_ExtractDocumentTextOutputSchema = z.object({
|
|
204
|
+
text: z.string(),
|
|
205
|
+
/** Pages the provider actually returned — the authoritative count, not the request's estimate. */
|
|
206
|
+
pageCount: z.number().int().nonnegative(),
|
|
207
|
+
/** The concrete model that produced the text. */
|
|
208
|
+
model: z.string(),
|
|
209
|
+
usage: DocumentExtractionProvider_UsageSchema,
|
|
210
|
+
});
|
|
211
|
+
// ===============================================================
|
|
212
|
+
// STATUS
|
|
213
|
+
// ===============================================================
|
|
214
|
+
export const DocumentExtractionProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({
|
|
215
|
+
protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.DOCUMENT_EXTRACTION_PROVIDER),
|
|
216
|
+
});
|
|
217
|
+
//# sourceMappingURL=document-extraction.external-connectors-models.schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-extraction.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/document-extraction.external-connectors-models.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAEL,sCAAsC,EAEtC,mDAAmD,GACpD,MAAM,oDAAoD,CAAA;AAE3D,iEAAiE;AACjE,+BAA+B;AAC/B,WAAW;AACX,iEAAiE;AACjE,6EAA6E;AAC7E,mDAAmD;AACnD,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,4EAA4E;AAC5E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,iFAAiF;AACjF,8EAA8E;AAC9E,iEAAiE;AAEjE;;;;GAIG;AACH,MAAM,CAAN,IAAY,gCASX;AATD,WAAY,gCAAgC;IAC1C;;;;;;OAMG;IACH,6EAAyC,CAAA;AAC3C,CAAC,EATW,gCAAgC,KAAhC,gCAAgC,QAS3C;AAED;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,uCAGX;AAHD,WAAY,uCAAuC;IACjD,qDAAqD;IACrD,2GAAgE,CAAA;AAClE,CAAC,EAHW,uCAAuC,KAAvC,uCAAuC,QAGlD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,gCAGX;AAHD,WAAY,gCAAgC;IAC1C,+FAA+F;IAC/F,mFAA+C,CAAA;AACjD,CAAC,EAHW,gCAAgC,KAAhC,gCAAgC,QAG3C;AAsBD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAG1C;IACF,CAAC,gCAAgC,CAAC,kBAAkB,CAAC,EAAE;QACrD,WAAW,EAAE,SAAS;QACtB;;;;;;;;;;;WAWG;QACH,kBAAkB,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;QAC9F,eAAe,EAAE,CAAC,gCAAgC,CAAC,qBAAqB,CAAC;KAC1E;CACF,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kDAAkD,GAG3D;IACF,CAAC,gCAAgC,CAAC,qBAAqB,CAAC,EAAE;QACxD,gCAAgC,CAAC,kBAAkB;KACpD;CACF,CAAC;AAEF,8HAA8H;AAC9H,MAAM,CAAN,IAAY,yCAGX;AAHD,WAAY,yCAAyC;IACnD,mEAAmE;IACnE,oGAAuD,CAAA;AACzD,CAAC,EAHW,yCAAyC,KAAzC,yCAAyC,QAGpD;AAUD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG,CAC5D,KAA+E,EAC/E,UAA0F,iCAAiC,EACvF,EAAE;IACtC,MAAM,UAAU,GAAG,kDAAkD,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,yCAAyC,CAAC,yBAAyB;YAC5E,gBAAgB,EAAE,UAAU;SAC7B,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;IAC9B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1D,CAAC,CAAC;AAiBF,kEAAkE;AAClE,yCAAyC;AACzC,kEAAkE;AAElE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,2FAA2F;IAC3F,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,iGAAiG;IACjG,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2DAA2D,GAAG,CAAC,CAAC,MAAM,CAAC;IAClF,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,4BAA4B,CAAC;IAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAKH,kEAAkE;AAClE,kCAAkC;AAClC,kEAAkE;AAElE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,yDAAyD,GAAG,CAAC,CAAC,MAAM,CAAC;IAChF,4FAA4F;IAC5F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,oFAAoF;IACpF,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACnD,CAAC,CAAC;AAKH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0DAA0D,GAAG,CAAC,CAAC,MAAM,CAAC;IACjF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,kGAAkG;IAClG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,iDAAiD;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,sCAAsC;CAC9C,CAAC,CAAC;AAKH,kEAAkE;AAClE,SAAS;AACT,kEAAkE;AAElE,MAAM,CAAC,MAAM,uCAAuC,GAAG,mDAAmD,CAAC,MAAM,CAAC;IAChH,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,sCAAsC,CAAC,4BAA4B,CAAC;CAC7F,CAAC,CAAC","sourcesContent":["import { z } from \"zod\"\nimport {\n ExternalProvider_ExchangeProtocol_Configuration_Base,\n ExternalProvider_ExchangeProtocol_Kind,\n ExternalProvider_ExchangeProtocol_Profile_Base,\n ExternalProvider_ExchangeProtocol_Status_BaseSchema,\n} from \"../core/commons.external-connectors-models.schemas\"\n\n//===============================================================\n// Document Extraction Provider\n// --------\n// Document bytes → text. Serves the file-side TEXT PROVIDER that\n// `FileTextExtractionBackendService` owns, whose largest consumer is the RAG\n// ingestion path (`.ragSource()` corpus building).\n//\n// ## Why this is a provider at all, and not just a better library\n//\n// The local `pdfjs-dist` path reads a PDF's TEXT LAYER. A scanned document — the\n// common case for uploaded contracts, invoices and forms — is an IMAGE of a page\n// and carries no text layer, so it extracts to the empty string, contributes no\n// chunks, and becomes silently unanswerable. That is not a defect in the local\n// library; it is its nature, and it is the entire reason a provider exists here.\n//\n// ## Deliberately a SEPARATE protocol kind from `LLM_PROVIDER`\n//\n// Same reasoning as `EMBEDDINGS_PROVIDER` (RAG plan DL2) and the `IMAGE_PROVIDER`\n// precedent before it: an unmapped LLM operation key fails SILENTLY across every\n// consumer surface (the registry's semantic-operation map filters it out, the\n// executor never dispatches it, the capability slot never fills), whereas a new\n// `runtimeContract.kind` fails COMPILATION at every switch over the union. That\n// compile-enforcement is the whole argument, and it is verified rather than\n// asserted — deleting an arm from `secretRefForRuntimeContract` reddens the\n// `never` check with the offending contract named in the diagnostic.\n//\n// It also fills its own `EngineCapability.AI_DOCUMENT_EXTRACTION` slot, so an\n// application selects its OCR provider INDEPENDENTLY of its chat and embeddings\n// providers. Those are three unrelated procurement decisions — a deployment may\n// well want Anthropic for chat, OpenAI for embeddings, and Mistral for OCR — and\n// fusing any two of them into one `selection` entry makes that unexpressible.\n//===============================================================\n\n/**\n * Concrete document-extraction model ids the framework knows.\n *\n * Import path: `@wildo-ai/external-connectors-models`.\n */\nexport enum DocumentExtractionProvider_Model {\n /**\n * Mistral's OCR model alias. An ALIAS deliberately, not a dated snapshot: unlike an embedding\n * model — where the concrete id is persisted as a stamp on every chunk and a silent change\n * would fracture the vector space — extraction output is consumed immediately and re-derived\n * on every ingestion pass, so tracking the vendor's current model is a benefit rather than a\n * hazard.\n */\n MISTRAL_OCR_LATEST = \"mistral-ocr-latest\",\n}\n\n/**\n * The document-extraction operation vocabulary — deliberately DISJOINT from\n * `LLMProvider_OperationKey`, `ImageProvider_OperationKey` and\n * `EmbeddingsProvider_OperationKey` (each protocol kind owns its own operation enum, so a key's\n * membership decides its protocol without inspection).\n *\n * Import path: `@wildo-ai/external-connectors-models`.\n */\nexport enum DocumentExtractionProvider_OperationKey {\n /** One document's bytes → its text, page by page. */\n EXTRACT_DOCUMENT_TEXT = \"documentExtraction.extractDocumentText\",\n}\n\n/**\n * @wildo_source:part:start saas.external-providers.document-extraction.applicability facet:kind:api facet:audience:app-developer\n *\n * WHAT a document is being extracted FOR — the durable axis of extraction-model selection\n * (model-selection-by-applicability rule: an author names a CLASS, never a concrete model id;\n * the framework resolves the id from the catalog + preference below).\n *\n * One class today, and that is a statement rather than a placeholder: every extraction in the\n * engine feeds `FileTextExtractionBackendService`, and a second class would only be earned by a\n * surface with genuinely different requirements (a layout-preserving export, say, or a\n * cheap-and-approximate preview tier).\n */\nexport enum DocumentExtraction_Applicability {\n /** The default document-text surface: file text extraction, and the RAG corpus built on it. */\n DOCUMENT_TEXT_DEFAULT = \"document-text-default\",\n}\n/** @wildo_source:part:end saas.external-providers.document-extraction.applicability */\n\n/**\n * One row per document-extraction model: everything the framework knows about a concrete id.\n * Mirrors `Embeddings_ModelCatalogEntry`'s shape at the size this axis needs today.\n */\nexport type DocumentExtraction_ModelCatalogEntry = {\n /** The `ref` of the provider module that serves this id. */\n providerRef: string;\n /**\n * MIME types this model can process, as declared by the provider's documentation.\n *\n * Consulted BEFORE bytes leave the deployment: sending a document the model cannot read wastes\n * an egress of application content, which the data-minimization posture on the execution seam\n * exists to avoid.\n */\n supportedMimeTypes: readonly string[];\n /** FRAMEWORK OPINION — which applicability classes this model may be resolved for. */\n applicabilities: readonly DocumentExtraction_Applicability[];\n};\n\n/**\n * THE document-extraction model catalog — the single per-model fact table (the\n * `EMBEDDINGS_MODEL_CATALOG` discipline: an EXHAUSTIVE `Record`, so a new\n * `DocumentExtractionProvider_Model` member without a row is a compile error).\n */\nexport const DOCUMENT_EXTRACTION_MODEL_CATALOG: Record<\n DocumentExtractionProvider_Model,\n DocumentExtraction_ModelCatalogEntry\n> = {\n [DocumentExtractionProvider_Model.MISTRAL_OCR_LATEST]: {\n providerRef: \"mistral\",\n /**\n * Mistral's published OCR format list (docs.mistral.ai \"Known limitations\": \"Supported\n * formats for OCR: PDF, PNG, JPG, JPEG, TIFF, BMP, GIF, WEBP\"), narrowed to the MIME types\n * the engine's own extraction gate admits today.\n *\n * `application/pdf` is the only entry that is currently REACHABLE: image MIME types are\n * refused by `FileTextExtractionBackendService.isExtractionSupported`, which is a separate,\n * deliberate decision (an uploaded photo is not a document). The image types are declared\n * here anyway because this row states what the MODEL can do, not what the engine currently\n * asks it to do — and admitting images to extraction later must be an engine decision, not\n * an accidental consequence of a catalog edit.\n */\n supportedMimeTypes: [\"application/pdf\", \"image/png\", \"image/jpeg\", \"image/tiff\", \"image/webp\"],\n applicabilities: [DocumentExtraction_Applicability.DOCUMENT_TEXT_DEFAULT],\n },\n};\n\n/**\n * The framework's DEFAULT answer to \"which extraction model serves this class\", ordered by\n * preference, highest first.\n *\n * Unlike the embeddings preference — which is a MIGRATION KEY, because editing it re-binds a\n * class and forces every stamped chunk to be re-embedded — this one carries no durable\n * consequence: extraction output is re-derived on the next ingestion pass and nothing persists\n * the model that produced it. Editing this list changes what the next extraction uses and\n * nothing else.\n */\nexport const DOCUMENT_EXTRACTION_MODEL_APPLICABILITY_PREFERENCE: Record<\n DocumentExtraction_Applicability,\n readonly DocumentExtractionProvider_Model[]\n> = {\n [DocumentExtraction_Applicability.DOCUMENT_TEXT_DEFAULT]: [\n DocumentExtractionProvider_Model.MISTRAL_OCR_LATEST,\n ],\n};\n\n/** Why {@link resolveDocumentExtractionModelForApplicability} could not answer — carried into a named CONFIGURATION error. */\nexport enum DocumentExtraction_ModelResolutionFailure {\n /** The applicability has no candidate at all for this provider. */\n NO_CANDIDATE_FOR_PROVIDER = \"no_candidate_for_provider\",\n}\n\nexport type DocumentExtraction_ModelResolution =\n | { resolved: true; model: DocumentExtractionProvider_Model; entry: DocumentExtraction_ModelCatalogEntry }\n | {\n resolved: false;\n failure: DocumentExtraction_ModelResolutionFailure;\n consideredModels: readonly DocumentExtractionProvider_Model[];\n };\n\n/**\n * Resolve an applicability class to ONE concrete extraction model for a given provider.\n *\n * Fails CLOSED and explains itself (the `resolveModelForApplicability` contract): a silent\n * fallback to some other model would send application documents to a model nobody chose.\n */\nexport const resolveDocumentExtractionModelForApplicability = (\n input: { applicability: DocumentExtraction_Applicability; providerRef: string },\n catalog: Record<DocumentExtractionProvider_Model, DocumentExtraction_ModelCatalogEntry> = DOCUMENT_EXTRACTION_MODEL_CATALOG,\n): DocumentExtraction_ModelResolution => {\n const candidates = DOCUMENT_EXTRACTION_MODEL_APPLICABILITY_PREFERENCE[input.applicability];\n const forProvider = candidates.filter((model) => {\n const entry = catalog[model];\n return entry.providerRef === input.providerRef && entry.applicabilities.includes(input.applicability);\n });\n if (forProvider.length === 0) {\n return {\n resolved: false,\n failure: DocumentExtraction_ModelResolutionFailure.NO_CANDIDATE_FOR_PROVIDER,\n consideredModels: candidates,\n };\n }\n const model = forProvider[0]!;\n return { resolved: true, model, entry: catalog[model] };\n};\n\n// ===============================================================\n// Document Extraction Provider Profiles and Configurations (the config arm —\n// disjoint from LLM/image/embeddings config by construction)\n// ===============================================================\n\nexport type DocumentExtractionProvider_Profile = ExternalProvider_ExchangeProtocol_Profile_Base & {\n baseURL?: string,\n /** Model ids this provider serves (advertised for validation/UX). */\n supportedModels?: string[],\n}\n\nexport type DocumentExtractionProvider_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base & {\n customLocation?: string,\n}\n\n// ===============================================================\n// Document Extraction Operations Context\n// ===============================================================\n\n/**\n * Usage of one extraction call.\n *\n * There is NO token dimension, and its absence is structural rather than an omission: an OCR\n * call is billed and reported per PAGE, not per token. Any consumer judging usage completeness\n * for an extraction must do so on `pagesProcessed` alone — the operation-aware discipline the\n * embeddings arm records for its own missing completion-token dimension.\n */\nexport const DocumentExtractionProvider_UsageSchema = z.object({\n /** Pages the provider reports having processed (Mistral: `usage_info.pages_processed`). */\n pagesProcessed: z.number().optional(),\n /** Document size the provider reports having received (Mistral: `usage_info.doc_size_bytes`). */\n documentSizeBytes: z.number().optional(),\n});\nexport type DocumentExtractionProvider_Usage = z.infer<typeof DocumentExtractionProvider_UsageSchema>;\n\nexport const DocumentExtractionProvider_ExecutionTransportMetadataSchema = z.object({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.DOCUMENT_EXTRACTION_PROVIDER),\n providerRef: z.string(),\n model: z.string().optional(),\n});\nexport type DocumentExtractionProvider_ExecutionTransportMetadata = z.infer<\n typeof DocumentExtractionProvider_ExecutionTransportMetadataSchema\n>;\n\n// ===============================================================\n// Document Extraction I/O Schemas\n// ===============================================================\n\n/**\n * Input DESCRIPTOR of the {@link DocumentExtractionProvider_OperationKey.EXTRACT_DOCUMENT_TEXT}\n * operation — the metadata about the document, deliberately NOT the document.\n *\n * ⚠️ THE BYTES ARE ABSENT ON PURPOSE, and this is the design decision most likely to be\n * \"corrected\" by a later reader. A `documentBase64: z.string()` field here would be structurally\n * correct and operationally dangerous: a Zod-shaped input object is the thing every diagnostic\n * path in this codebase reaches for when something goes wrong — error `context`, debug logs,\n * agent-call traces — and a multi-megabyte base64 blob of an application's private contract is\n * the single worst payload to make casually loggable. The embeddings arm reached the same\n * conclusion from the other direction (its header forbids raw texts and vectors from ever\n * entering a trace); here the prohibition is enforced by the SHAPE rather than by discipline.\n *\n * The bytes travel as a `Buffer` on the execution service's own request type, which no\n * serializer walks.\n */\nexport const DocumentExtractionProvider_ExtractDocumentTextInputSchema = z.object({\n /** The document's MIME type — checked against the model's catalog row before any egress. */\n mimeType: z.string(),\n /** Byte length of the document being sent. Diagnostic and ceiling-checking only. */\n documentByteLength: z.number().int().nonnegative(),\n});\nexport type DocumentExtractionProvider_ExtractDocumentTextInput = z.infer<\n typeof DocumentExtractionProvider_ExtractDocumentTextInputSchema\n>;\n\n/**\n * Output of {@link DocumentExtractionProvider_OperationKey.EXTRACT_DOCUMENT_TEXT}.\n *\n * `text` is the concatenation of the provider's per-page output in document order. Providers in\n * this family return MARKDOWN per page (Mistral's `pages[].markdown`), which is kept as-is:\n * headings and table structure are signal for a retrieval corpus, and stripping them to \"plain\"\n * text would discard information the provider was paid to recover.\n */\nexport const DocumentExtractionProvider_ExtractDocumentTextOutputSchema = z.object({\n text: z.string(),\n /** Pages the provider actually returned — the authoritative count, not the request's estimate. */\n pageCount: z.number().int().nonnegative(),\n /** The concrete model that produced the text. */\n model: z.string(),\n usage: DocumentExtractionProvider_UsageSchema,\n});\nexport type DocumentExtractionProvider_ExtractDocumentTextOutput = z.infer<\n typeof DocumentExtractionProvider_ExtractDocumentTextOutputSchema\n>;\n\n// ===============================================================\n// STATUS\n// ===============================================================\n\nexport const DocumentExtractionProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.DOCUMENT_EXTRACTION_PROVIDER),\n});\nexport type DocumentExtractionProvider_Status = z.infer<typeof DocumentExtractionProvider_StatusSchema>;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base } from "../core/commons.external-connectors-models.schemas
|
|
3
|
-
import { ExternalProvider_OperationDefinition_Base } from "../core/operations.external-connectors-models.schemas
|
|
2
|
+
import { ExternalProvider_ExchangeProtocol_Configuration_Base, ExternalProvider_ExchangeProtocol_Kind, ExternalProvider_ExchangeProtocol_Profile_Base } from "../core/commons.external-connectors-models.schemas";
|
|
3
|
+
import { ExternalProvider_OperationDefinition_Base } from "../core/operations.external-connectors-models.schemas";
|
|
4
4
|
/**
|
|
5
5
|
* The type of email operation - transactional vs marketing have different
|
|
6
6
|
* requirements, compliance rules, and often use separate sending domains/IPs.
|
|
@@ -296,11 +296,11 @@ export type EmailProvider_CreateCampaignInput = z.infer<typeof EmailProvider_Cre
|
|
|
296
296
|
export declare const EmailProvider_CampaignOutputSchema: z.ZodObject<{
|
|
297
297
|
id: z.ZodString;
|
|
298
298
|
status: z.ZodEnum<{
|
|
299
|
+
cancelled: "cancelled";
|
|
300
|
+
sent: "sent";
|
|
299
301
|
draft: "draft";
|
|
300
302
|
scheduled: "scheduled";
|
|
301
303
|
sending: "sending";
|
|
302
|
-
sent: "sent";
|
|
303
|
-
cancelled: "cancelled";
|
|
304
304
|
}>;
|
|
305
305
|
scheduledAt: z.ZodOptional<z.ZodISODateTime>;
|
|
306
306
|
sentAt: z.ZodOptional<z.ZodISODateTime>;
|
|
@@ -352,7 +352,7 @@ export type EmailProvider_OperationDefinition = ExternalProvider_OperationDefini
|
|
|
352
352
|
requiredCapabilities?: EmailProvider_Capability[];
|
|
353
353
|
};
|
|
354
354
|
export declare const EmailProvider_StatusSchema: z.ZodObject<{
|
|
355
|
-
status: z.ZodEnum<typeof import("
|
|
355
|
+
status: z.ZodEnum<typeof import("..").ExternalProvider_Status>;
|
|
356
356
|
lastCheckedAt: z.ZodString;
|
|
357
357
|
errorReason: z.ZodOptional<z.ZodString>;
|
|
358
358
|
protocolKind: z.ZodLiteral<ExternalProvider_ExchangeProtocol_Kind.EMAIL_PROVIDER>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"email.external-connectors-models.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/email.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -365,4 +365,4 @@ export const EmailProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Stat
|
|
|
365
365
|
// Reputation (if provider exposes it)
|
|
366
366
|
senderReputation: z.number().min(0).max(100).optional(),
|
|
367
367
|
});
|
|
368
|
-
//# sourceMappingURL=email.external-connectors-models.schemas.js.map
|
|
368
|
+
//# sourceMappingURL=email.external-connectors-models.schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../src/protocols/email.external-connectors-models.schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"email.external-connectors-models.schemas.js","sourceRoot":"","sources":["../../../../src/protocols/email.external-connectors-models.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { \n ExternalProvider_ExchangeProtocol_Configuration_Base, \n ExternalProvider_ExchangeProtocol_Kind, \n ExternalProvider_ExchangeProtocol_Profile_Base, \n ExternalProvider_ExchangeProtocol_Status_BaseSchema \n} from \"../core/commons.external-connectors-models.schemas\";\nimport { ExternalProvider_OperationContextSchema, ExternalProvider_OperationDefinition_Base } from \"../core/operations.external-connectors-models.schemas\";\n\n//===============================================================\n// Email Provider\n// --------\n// Integration with email service providers for sending transactional\n// and marketing emails. Supports both REST API and SMTP-based providers\n// with differentiated operations for each email type.\n//\n// CONFIGURATION LEVELS:\n// - Profile (Provider-level): Fixed by the provider, cannot be changed.\n// Examples: API endpoints, SMTP server addresses, capabilities, limits.\n// - Configuration (Consumer-level): User-configurable settings.\n// Examples: API keys, sender addresses, tracking preferences, webhooks.\n//===============================================================\n\n// ===============================================================\n// Email Provider Enums\n// ===============================================================\n\n/**\n * The type of email operation - transactional vs marketing have different\n * requirements, compliance rules, and often use separate sending domains/IPs.\n */\nexport enum EmailProvider_EmailType {\n TRANSACTIONAL = \"transactional\", // Password resets, receipts, notifications\n MARKETING = \"marketing\", // Newsletters, promotions, campaigns\n}\n\n/**\n * The delivery method used by the email provider.\n * REST API provides more features, SMTP is simpler but more limited.\n */\nexport enum EmailProvider_DeliveryMethod {\n REST_API = \"rest_api\",\n SMTP = \"smtp\",\n}\n\n/**\n * SMTP encryption/security modes.\n */\nexport enum EmailProvider_SMTP_Security {\n NONE = \"none\", // Plain text (port 25, not recommended)\n STARTTLS = \"starttls\", // Upgrade to TLS (port 587)\n TLS = \"tls\", // Implicit TLS/SSL (port 465)\n}\n\n/**\n * Email delivery status for tracking.\n */\nexport enum EmailProvider_DeliveryStatus {\n QUEUED = \"queued\",\n SENT = \"sent\",\n DELIVERED = \"delivered\",\n OPENED = \"opened\",\n CLICKED = \"clicked\",\n BOUNCED = \"bounced\",\n SOFT_BOUNCED = \"soft_bounced\",\n SPAM_COMPLAINT = \"spam_complaint\",\n UNSUBSCRIBED = \"unsubscribed\",\n DROPPED = \"dropped\",\n DEFERRED = \"deferred\",\n FAILED = \"failed\",\n}\n\n/**\n * Email bounce types.\n */\nexport enum EmailProvider_BounceType {\n HARD = \"hard\", // Permanent failure (address doesn't exist)\n SOFT = \"soft\", // Temporary failure (mailbox full, server down)\n TRANSIENT = \"transient\",\n}\n\n/**\n * Standard email provider operation keys.\n * Each provider implements a subset of these based on capabilities.\n */\nexport enum EmailProvider_OperationKey {\n // Core Transactional Operations\n SEND_EMAIL = \"email.send\",\n SEND_BATCH = \"email.sendBatch\",\n SEND_TEMPLATE = \"email.sendTemplate\",\n \n // Marketing/Campaign Operations\n SEND_CAMPAIGN = \"email.campaign.send\",\n CREATE_CAMPAIGN = \"email.campaign.create\",\n SCHEDULE_CAMPAIGN = \"email.campaign.schedule\",\n GET_CAMPAIGN = \"email.campaign.get\",\n \n // List Management (Marketing)\n LIST_CREATE = \"email.list.create\",\n LIST_ADD_CONTACT = \"email.list.addContact\",\n LIST_REMOVE_CONTACT = \"email.list.removeContact\",\n LIST_GET = \"email.list.get\",\n \n // Template Operations\n TEMPLATE_CREATE = \"email.template.create\",\n TEMPLATE_GET = \"email.template.get\",\n TEMPLATE_LIST = \"email.template.list\",\n TEMPLATE_DELETE = \"email.template.delete\",\n \n // Status & Analytics\n GET_MESSAGE_STATUS = \"email.message.getStatus\",\n GET_ANALYTICS = \"email.analytics.get\",\n \n // Suppression/Bounces\n GET_SUPPRESSIONS = \"email.suppressions.get\",\n ADD_SUPPRESSION = \"email.suppressions.add\",\n DELETE_SUPPRESSION = \"email.suppressions.delete\",\n \n // Domain Verification\n DOMAIN_VERIFY = \"email.domain.verify\",\n DOMAIN_GET_STATUS = \"email.domain.getStatus\",\n}\n\n/**\n * Email provider capabilities - what features the provider supports.\n * Used to determine which operations are available.\n */\nexport enum EmailProvider_Capability {\n // Delivery Methods\n SUPPORTS_REST_API = \"supports_rest_api\",\n SUPPORTS_SMTP = \"supports_smtp\",\n \n // Email Types\n SUPPORTS_TRANSACTIONAL = \"supports_transactional\",\n SUPPORTS_MARKETING = \"supports_marketing\",\n \n // Core Features\n SUPPORTS_TEMPLATES = \"supports_templates\",\n SUPPORTS_BATCH_SENDING = \"supports_batch_sending\",\n SUPPORTS_SCHEDULING = \"supports_scheduling\",\n SUPPORTS_ATTACHMENTS = \"supports_attachments\",\n SUPPORTS_INLINE_IMAGES = \"supports_inline_images\",\n \n // Tracking\n SUPPORTS_OPEN_TRACKING = \"supports_open_tracking\",\n SUPPORTS_CLICK_TRACKING = \"supports_click_tracking\",\n SUPPORTS_WEBHOOKS = \"supports_webhooks\",\n \n // Marketing Specific\n SUPPORTS_CAMPAIGNS = \"supports_campaigns\",\n SUPPORTS_LIST_MANAGEMENT = \"supports_list_management\",\n SUPPORTS_SEGMENTATION = \"supports_segmentation\",\n SUPPORTS_AB_TESTING = \"supports_ab_testing\",\n \n // Compliance & Deliverability\n SUPPORTS_SUPPRESSION_LISTS = \"supports_suppression_lists\",\n SUPPORTS_DEDICATED_IP = \"supports_dedicated_ip\",\n SUPPORTS_CUSTOM_DOMAIN = \"supports_custom_domain\",\n SUPPORTS_EMAIL_VALIDATION = \"supports_email_validation\",\n}\n\n// ===============================================================\n// SMTP Server Profile (Provider-level, fixed)\n// ===============================================================\n\nexport const EmailProvider_SMTP_ServerProfileSchema = z.object({\n host: z.string().min(1),\n port: z.number().int().min(1).max(65535),\n security: z.enum(EmailProvider_SMTP_Security),\n // Note: username/password are consumer-level (in Configuration)\n});\nexport type EmailProvider_SMTP_ServerProfile = z.infer<typeof EmailProvider_SMTP_ServerProfileSchema>;\n\n// ===============================================================\n// Email Address Schema\n// ===============================================================\n\nexport const EmailProvider_AddressSchema = z.object({\n email: z.email(),\n name: z.string().optional(),\n});\nexport type EmailProvider_Address = z.infer<typeof EmailProvider_AddressSchema>;\n\n// ===============================================================\n// Email Attachment Schema\n// ===============================================================\n\nexport const EmailProvider_AttachmentSchema = z.object({\n filename: z.string().min(1),\n content: z.string(), // Base64 encoded content\n contentType: z.string().optional(),\n contentId: z.string().optional(), // For inline images (cid:)\n});\nexport type EmailProvider_Attachment = z.infer<typeof EmailProvider_AttachmentSchema>;\n\n// ===============================================================\n// Email Provider Profile (Provider-level - FIXED by provider)\n// ===============================================================\n\nexport type EmailProvider_Profile = ExternalProvider_ExchangeProtocol_Profile_Base & {\n // Human-readable provider name (for display and registry)\n displayName?: string;\n \n // API settings (for REST API providers)\n baseURL: string;\n apiVersion?: string;\n \n // SMTP server settings (for SMTP-capable providers)\n // Note: These are the provider's SMTP server details, NOT user credentials\n smtpServer?: EmailProvider_SMTP_ServerProfile;\n \n // Provider capabilities (fixed)\n capabilities: EmailProvider_Capability[];\n \n // Supported email types (fixed)\n supportedEmailTypes: EmailProvider_EmailType[];\n \n // Delivery methods supported (fixed)\n deliveryMethods: EmailProvider_DeliveryMethod[];\n \n // Provider-imposed limits (fixed)\n limits: {\n maxRecipientsPerRequest?: number;\n maxBatchSize?: number;\n maxAttachmentSizeMB?: number;\n maxEmailSizeKB?: number;\n rateLimit?: {\n requests: number;\n period: \"second\" | \"minute\" | \"hour\" | \"day\";\n };\n };\n};\n\n// ===============================================================\n// Email Provider Configuration (Consumer-level - user configurable)\n// ===============================================================\n\nexport type EmailProvider_Configuration = ExternalProvider_ExchangeProtocol_Configuration_Base & {\n // Preferred delivery method (if provider supports both)\n preferredDeliveryMethod?: EmailProvider_DeliveryMethod;\n \n // SMTP credentials (user's credentials for SMTP)\n smtpCredentials?: {\n username: string;\n passwordSecretRef: string; // Reference to secret store\n };\n \n // Default sender identity (user's sender)\n defaultFromAddress?: EmailProvider_Address;\n defaultReplyTo?: EmailProvider_Address;\n \n // Tracking preferences\n openTrackingEnabled?: boolean;\n clickTrackingEnabled?: boolean;\n \n // Webhook for delivery events\n webhookConfig?: {\n url: string;\n secretRef?: string;\n events?: EmailProvider_DeliveryStatus[];\n };\n \n // Testing/sandbox mode\n sandboxMode?: boolean;\n \n // IP pool selection (for providers that support it)\n ipPoolName?: string;\n \n // Tags to apply to all emails\n defaultTags?: string[];\n};\n\n// ===============================================================\n// Send Email Input Schema\n// ===============================================================\n\nexport const EmailProvider_SendEmailInputSchema = z.object({\n // Recipients\n to: z.array(EmailProvider_AddressSchema).min(1),\n cc: z.array(EmailProvider_AddressSchema).optional(),\n bcc: z.array(EmailProvider_AddressSchema).optional(),\n \n // Sender (can override configuration default)\n from: EmailProvider_AddressSchema.optional(),\n replyTo: EmailProvider_AddressSchema.optional(),\n \n // Content\n subject: z.string().min(1),\n text: z.string().optional(),\n html: z.string().optional(),\n \n // Attachments\n attachments: z.array(EmailProvider_AttachmentSchema).optional(),\n \n // Headers\n headers: z.record(z.string(), z.string()).optional(),\n \n // Tags for categorization/analytics\n tags: z.array(z.string()).optional(),\n \n // Scheduling\n scheduledAt: z.iso.datetime().optional(),\n \n // Tracking overrides\n trackOpens: z.boolean().optional(),\n trackClicks: z.boolean().optional(),\n});\nexport type EmailProvider_SendEmailInput = z.infer<typeof EmailProvider_SendEmailInputSchema>;\n\n// ===============================================================\n// Send Email Output Schema\n// ===============================================================\n\nexport const EmailProvider_SendEmailOutputSchema = z.object({\n // Provider's message ID\n id: z.string(),\n \n // Status (if available immediately)\n status: z.enum(EmailProvider_DeliveryStatus).optional(),\n \n // Provider-specific data\n providerMessageId: z.string().optional(),\n});\nexport type EmailProvider_SendEmailOutput = z.infer<typeof EmailProvider_SendEmailOutputSchema>;\n\n// ===============================================================\n// Send Template Email Input Schema\n// ===============================================================\n\nexport const EmailProvider_SendTemplateInputSchema = z.object({\n // Recipients\n to: z.array(EmailProvider_AddressSchema).min(1),\n cc: z.array(EmailProvider_AddressSchema).optional(),\n bcc: z.array(EmailProvider_AddressSchema).optional(),\n \n // Sender\n from: EmailProvider_AddressSchema.optional(),\n replyTo: EmailProvider_AddressSchema.optional(),\n \n // Template\n templateId: z.string().min(1),\n templateAlias: z.string().optional(), // Some providers use alias instead of ID\n \n // Template variables\n variables: z.record(z.string(), z.unknown()).optional(),\n \n // Subject override (if template allows)\n subject: z.string().optional(),\n \n // Tags\n tags: z.array(z.string()).optional(),\n \n // Scheduling\n scheduledAt: z.iso.datetime().optional(),\n});\nexport type EmailProvider_SendTemplateInput = z.infer<typeof EmailProvider_SendTemplateInputSchema>;\n\n// ===============================================================\n// Batch Send Input Schema\n// ===============================================================\n\nconst emailProviderBatchItemSchema = z.object({\n to: EmailProvider_AddressSchema,\n variables: z.record(z.string(), z.unknown()).optional(),\n subject: z.string().optional(), // Override per recipient\n});\n\nexport const EmailProvider_SendBatchInputSchema = z.object({\n // Sender\n from: EmailProvider_AddressSchema.optional(),\n replyTo: EmailProvider_AddressSchema.optional(),\n \n // Content (direct or template)\n subject: z.string().optional(), // Default subject\n text: z.string().optional(),\n html: z.string().optional(),\n templateId: z.string().optional(),\n \n // Recipients with personalizations\n recipients: z.array(emailProviderBatchItemSchema).min(1),\n \n // Tags\n tags: z.array(z.string()).optional(),\n});\nexport type EmailProvider_SendBatchInput = z.infer<typeof EmailProvider_SendBatchInputSchema>;\n\n// ===============================================================\n// Batch Send Output Schema\n// ===============================================================\n\nexport const EmailProvider_SendBatchOutputSchema = z.object({\n // Summary\n totalRequested: z.number().int(),\n totalAccepted: z.number().int(),\n totalRejected: z.number().int(),\n \n // Results per recipient\n results: z.array(z.object({\n email: z.string(),\n id: z.string().optional(),\n status: z.enum([\"accepted\", \"rejected\"]),\n error: z.string().optional(),\n })),\n});\nexport type EmailProvider_SendBatchOutput = z.infer<typeof EmailProvider_SendBatchOutputSchema>;\n\n// ===============================================================\n// Campaign Input Schema (Marketing)\n// ===============================================================\n\nexport const EmailProvider_CreateCampaignInputSchema = z.object({\n // Campaign details\n name: z.string().min(1),\n subject: z.string().min(1),\n previewText: z.string().optional(),\n \n // Sender\n from: EmailProvider_AddressSchema,\n replyTo: EmailProvider_AddressSchema.optional(),\n \n // Content\n html: z.string().optional(),\n text: z.string().optional(),\n templateId: z.string().optional(),\n \n // Recipients\n listIds: z.array(z.string()).optional(),\n segmentIds: z.array(z.string()).optional(),\n \n // Scheduling\n scheduledAt: z.iso.datetime().optional(),\n \n // Tracking\n trackOpens: z.boolean().optional().default(true),\n trackClicks: z.boolean().optional().default(true),\n});\nexport type EmailProvider_CreateCampaignInput = z.infer<typeof EmailProvider_CreateCampaignInputSchema>;\n\n// ===============================================================\n// Campaign Output Schema\n// ===============================================================\n\nexport const EmailProvider_CampaignOutputSchema = z.object({\n id: z.string(),\n status: z.enum([\"draft\", \"scheduled\", \"sending\", \"sent\", \"cancelled\"]),\n scheduledAt: z.iso.datetime().optional(),\n sentAt: z.iso.datetime().optional(),\n});\nexport type EmailProvider_CampaignOutput = z.infer<typeof EmailProvider_CampaignOutputSchema>;\n\n// ===============================================================\n// Message Status Schema\n// ===============================================================\n\nexport const EmailProvider_MessageStatusSchema = z.object({\n id: z.string(),\n status: z.enum(EmailProvider_DeliveryStatus),\n to: z.email(),\n subject: z.string().optional(),\n sentAt: z.iso.datetime().optional(),\n deliveredAt: z.iso.datetime().optional(),\n openedAt: z.iso.datetime().optional(),\n clickedAt: z.iso.datetime().optional(),\n bouncedAt: z.iso.datetime().optional(),\n bounceType: z.enum(EmailProvider_BounceType).optional(),\n bounceReason: z.string().optional(),\n});\nexport type EmailProvider_MessageStatus = z.infer<typeof EmailProvider_MessageStatusSchema>;\n\n// ===============================================================\n// Email Operation Context (for tracking)\n// ===============================================================\n\nexport const EmailProvider_OperationContextSchema = ExternalProvider_OperationContextSchema.extend({\n // Message identification\n messageId: z.string().optional(),\n \n // Delivery info\n deliveryMethod: z.enum(EmailProvider_DeliveryMethod).optional(),\n deliveryStatus: z.enum(EmailProvider_DeliveryStatus).optional(),\n \n // Email type\n emailType: z.enum(EmailProvider_EmailType).optional(),\n \n // Counts\n recipientCount: z.number().int().optional(),\n \n // Rate limit headers from provider\n rateLimitRemaining: z.number().optional(),\n rateLimitResetAt: z.iso.datetime().optional(),\n});\nexport type EmailProvider_OperationContext = z.infer<typeof EmailProvider_OperationContextSchema>;\n\n// ===============================================================\n// Webhook Event Schema\n// ===============================================================\n\nexport const EmailProvider_WebhookEventSchema = z.object({\n eventType: z.enum(EmailProvider_DeliveryStatus),\n messageId: z.string(),\n email: z.email(),\n timestamp: z.iso.datetime(),\n \n // Event-specific data\n bounceType: z.enum(EmailProvider_BounceType).optional(),\n bounceReason: z.string().optional(),\n link: z.url().optional(), // For click events\n userAgent: z.string().optional(),\n \n // Original tags\n tags: z.array(z.string()).optional(),\n});\nexport type EmailProvider_WebhookEvent = z.infer<typeof EmailProvider_WebhookEventSchema>;\n\n// ===============================================================\n// Email Operation Definition\n// ===============================================================\n\nexport type EmailProvider_OperationDefinition = ExternalProvider_OperationDefinition_Base & {\n operationContextSchema: typeof EmailProvider_OperationContextSchema;\n \n // Which email types this operation supports\n supportedEmailTypes: EmailProvider_EmailType[];\n \n // Which delivery methods work for this operation\n supportedDeliveryMethods: EmailProvider_DeliveryMethod[];\n \n // Required capabilities\n requiredCapabilities?: EmailProvider_Capability[];\n};\n\n// ===============================================================\n// Email Provider Status Schema\n// ===============================================================\n\nexport const EmailProvider_StatusSchema = ExternalProvider_ExchangeProtocol_Status_BaseSchema.extend({\n protocolKind: z.literal(ExternalProvider_ExchangeProtocol_Kind.EMAIL_PROVIDER),\n \n // API connectivity\n apiConnected: z.boolean().optional(),\n smtpConnected: z.boolean().optional(),\n \n // Domain status\n domainVerified: z.boolean().optional(),\n spfValid: z.boolean().optional(),\n dkimValid: z.boolean().optional(),\n dmarcValid: z.boolean().optional(),\n \n // Rate limit\n rateLimitRemaining: z.number().optional(),\n rateLimitResetAt: z.iso.datetime().optional(),\n \n // Reputation (if provider exposes it)\n senderReputation: z.number().min(0).max(100).optional(),\n});\nexport type EmailProvider_Status = z.infer<typeof EmailProvider_StatusSchema>;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { EmailProvider_Capability, EmailProvider_DeliveryStatus } from "./email.external-connectors-models.schemas
|
|
2
|
+
import { EmailProvider_Capability, EmailProvider_DeliveryStatus } from "./email.external-connectors-models.schemas";
|
|
3
3
|
export declare const StandardEmail_AddressSchema: z.ZodObject<{
|
|
4
4
|
email: z.ZodEmail;
|
|
5
5
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -12,7 +12,31 @@ export declare const StandardEmail_AttachmentSchema: z.ZodObject<{
|
|
|
12
12
|
contentId: z.ZodOptional<z.ZodString>;
|
|
13
13
|
}, z.core.$strip>;
|
|
14
14
|
export type StandardEmail_Attachment = z.infer<typeof StandardEmail_AttachmentSchema>;
|
|
15
|
+
/**
|
|
16
|
+
* Wire encoding used by a network email provider gateway.
|
|
17
|
+
*
|
|
18
|
+
* This vocabulary is deliberately closed and explicit on every provider
|
|
19
|
+
* contract: JSON and multipart data require materially different headers and
|
|
20
|
+
* serialization. There is no implicit default.
|
|
21
|
+
*/
|
|
22
|
+
export declare enum EmailProviderPayloadEncoding {
|
|
23
|
+
JSON = "json",
|
|
24
|
+
MULTIPART_FORM_DATA = "multipart-form-data"
|
|
25
|
+
}
|
|
26
|
+
/** Provider acknowledgement state returned by a synchronous send endpoint. */
|
|
27
|
+
export declare enum EmailProviderSubmissionStatus {
|
|
28
|
+
QUEUED = "queued",
|
|
29
|
+
SENT = "sent",
|
|
30
|
+
SCHEDULED = "scheduled"
|
|
31
|
+
}
|
|
32
|
+
/** Provider-owned classification for HTTP responses whose status is ambiguous. */
|
|
33
|
+
export declare enum EmailProviderSubmissionClassification {
|
|
34
|
+
ACCEPTED = "accepted",
|
|
35
|
+
REJECTED = "rejected",
|
|
36
|
+
ACCEPTANCE_UNKNOWN = "acceptance_unknown"
|
|
37
|
+
}
|
|
15
38
|
export declare const StandardEmail_SendRequestSchema: z.ZodObject<{
|
|
39
|
+
submissionId: z.ZodString;
|
|
16
40
|
to: z.ZodArray<z.ZodObject<{
|
|
17
41
|
email: z.ZodEmail;
|
|
18
42
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -52,13 +76,16 @@ export declare const StandardEmail_SendRequestSchema: z.ZodObject<{
|
|
|
52
76
|
export type StandardEmail_SendRequest = z.infer<typeof StandardEmail_SendRequestSchema>;
|
|
53
77
|
export declare const StandardEmail_SendResponseSchema: z.ZodObject<{
|
|
54
78
|
success: z.ZodBoolean;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
79
|
+
classification: z.ZodEnum<typeof EmailProviderSubmissionClassification>;
|
|
80
|
+
providerMessageIds: z.ZodArray<z.ZodString>;
|
|
81
|
+
rejectedRecipients: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
82
|
+
email: z.ZodString;
|
|
83
|
+
reason: z.ZodOptional<z.ZodString>;
|
|
84
|
+
}, z.core.$strip>>>;
|
|
85
|
+
providerError: z.ZodOptional<z.ZodString>;
|
|
86
|
+
retryable: z.ZodOptional<z.ZodBoolean>;
|
|
87
|
+
deduplicated: z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
status: z.ZodOptional<z.ZodEnum<typeof EmailProviderSubmissionStatus>>;
|
|
62
89
|
scheduledAt: z.ZodOptional<z.ZodISODateTime>;
|
|
63
90
|
}, z.core.$strip>;
|
|
64
91
|
export type StandardEmail_SendResponse = z.infer<typeof StandardEmail_SendResponseSchema>;
|
|
@@ -266,11 +293,11 @@ export declare const StandardMarketing_CampaignResponseSchema: z.ZodObject<{
|
|
|
266
293
|
campaignId: z.ZodString;
|
|
267
294
|
providerCampaignId: z.ZodOptional<z.ZodString>;
|
|
268
295
|
status: z.ZodEnum<{
|
|
296
|
+
cancelled: "cancelled";
|
|
297
|
+
sent: "sent";
|
|
269
298
|
draft: "draft";
|
|
270
299
|
scheduled: "scheduled";
|
|
271
300
|
sending: "sending";
|
|
272
|
-
sent: "sent";
|
|
273
|
-
cancelled: "cancelled";
|
|
274
301
|
}>;
|
|
275
302
|
scheduledAt: z.ZodOptional<z.ZodISODateTime>;
|
|
276
303
|
listId: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.standard-interface.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"email.standard-interface.schemas.d.ts","sourceRoot":"","sources":["../../../../src/protocols/email.standard-interface.schemas.ts"],"names":[],"mappings":"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"}
|