@fluentcommerce/fc-connect-sdk 0.1.48 → 0.1.52
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/CHANGELOG.md +506 -379
- package/README.md +343 -0
- package/dist/cjs/clients/fluent-client.js +110 -14
- package/dist/cjs/data-sources/s3-data-source.js +1 -1
- package/dist/cjs/data-sources/sftp-data-source.js +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/services/extraction/extraction-orchestrator.d.ts +4 -1
- package/dist/cjs/services/extraction/extraction-orchestrator.js +84 -11
- package/dist/cjs/types/index.d.ts +79 -10
- package/dist/cjs/versori/fluent-versori-client.d.ts +4 -1
- package/dist/cjs/versori/fluent-versori-client.js +131 -13
- package/dist/esm/clients/fluent-client.js +110 -14
- package/dist/esm/data-sources/s3-data-source.js +1 -1
- package/dist/esm/data-sources/sftp-data-source.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/services/extraction/extraction-orchestrator.d.ts +4 -1
- package/dist/esm/services/extraction/extraction-orchestrator.js +84 -11
- package/dist/esm/types/index.d.ts +79 -10
- package/dist/esm/versori/fluent-versori-client.d.ts +4 -1
- package/dist/esm/versori/fluent-versori-client.js +131 -13
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/services/extraction/extraction-orchestrator.d.ts +4 -1
- package/dist/types/types/index.d.ts +79 -10
- package/dist/types/versori/fluent-versori-client.d.ts +4 -1
- package/docs/02-CORE-GUIDES/api-reference/event-api-input-output-reference.md +478 -18
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-01-client-api.md +83 -0
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-08-types.md +52 -0
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-partial-responses.md +212 -0
- package/docs/02-CORE-GUIDES/api-reference/readme.md +1 -1
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md +68 -4
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-01-foundations.md +450 -448
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-02-quick-start.md +476 -474
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-03-schema-validation.md +464 -462
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-05-advanced-patterns.md +1366 -1364
- package/docs/readme.md +245 -245
- package/package.json +17 -6
- package/docs/versori-apis/ACTIVATIONS-AND-VARIABLES-GUIDE.md +0 -60
- package/docs/versori-apis/JWT-GENERATION-GUIDE.md +0 -94
- package/docs/versori-apis/QUICK-WORKFLOW.md +0 -293
- package/docs/versori-apis/README.md +0 -73
- package/docs/versori-apis/VERSORI-PLATFORM-ARCHITECTURE.md +0 -880
- package/docs/versori-apis/Versori-Platform-API.postman_collection.json +0 -2925
- package/docs/versori-apis/Versori-Platform-API.postman_environment.example.json +0 -62
- package/docs/versori-apis/Versori-Platform-API.postman_environment.json +0 -178
package/dist/types/index.d.ts
CHANGED
|
@@ -34,7 +34,7 @@ export { GraphQLTemplateGenerator } from './services/mapping/query/graphql-templ
|
|
|
34
34
|
export { MappingError, ResolverError } from './errors';
|
|
35
35
|
export type { NodeConfig, NodesConfig, FieldConfig, FieldsConfig, NodesContext, MappingContext, ResolverFunction, ResolverHelpers, ResolverContext, ResolversMap, MapResult, MapWithNodesResult, NodeValidationResult, MappingOptions, } from './services/mapping/types';
|
|
36
36
|
export { CsvDelimiter, FileEncoding, JobStrategy, FileType, BatchAction, EntityType, AwsRegion, ValidationMode, ProcessingStatus, } from './types/enums';
|
|
37
|
-
export type { FluentClientConfig, FluentBatchPayload, FluentInventoryBatchEntity, FluentInventoryBatchRequest, FluentBatchResponse, FluentBatchStatus, FluentJobPayload, FluentJobResponse, FluentJobMetadata, FluentJobStatus, FluentJobResults, FluentEvent, FluentEventMode, CreateEventOptions, GraphQLPayload, GraphQLResponse, PaginationConfig, PageInfo, PaginatedResponse, FluentWebhookPayload, WebhookRequestContext, GraphQLValidationResult, BatchConfiguration, DataSourceConfig, FileMetadata, Logger, StructuredLogger, LogContext, LoggerConfig, PerformanceMetrics, InventoryDataRecord, ParquetDataRecord, FieldMappingConfig, FieldMappingRule, ProcessingMetadata, AttributeValue, } from './types';
|
|
37
|
+
export type { FluentClientConfig, FluentBatchPayload, FluentInventoryBatchEntity, FluentInventoryBatchRequest, FluentBatchResponse, FluentBatchStatus, FluentJobPayload, FluentJobResponse, FluentJobMetadata, FluentJobStatus, FluentJobResults, FluentEvent, FluentEventMode, CreateEventOptions, FluentEventRootEntityType, FluentEventEntityType, FluentEventCategory, FluentEventType, FluentEventStatus, FluentEventQueryParamValue, FluentEventQueryParams, FluentEventLogAttribute, FluentEventLogContext, FluentEventLogItem, FluentEventLogResponse, GraphQLPayload, GraphQLResponse, GraphQLErrorMode, GraphQLError, PaginationConfig, PageInfo, PaginatedResponse, FluentWebhookPayload, WebhookRequestContext, GraphQLValidationResult, BatchConfiguration, DataSourceConfig, FileMetadata, Logger, StructuredLogger, LogContext, LoggerConfig, PerformanceMetrics, InventoryDataRecord, ParquetDataRecord, FieldMappingConfig, FieldMappingRule, ProcessingMetadata, AttributeValue, } from './types';
|
|
38
38
|
export type { VersoriContext, WebhookContext, DirectContext } from './types';
|
|
39
39
|
export { S3SDKTester, S3PresignedTester, S3ComparisonTester, FluentConnectionTester, type TestResult, type FluentTestConfig, type S3TestConfig, } from './testing/index';
|
|
40
40
|
export { S3Service, S3ServiceError, type S3ServiceConfig, type S3Config, type S3Object, type ListOptions, type PutOptions, type CopyOptions, type S3Location, } from './services/s3/index';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FluentClient } from '../../clients/fluent-client';
|
|
2
|
-
import type { Logger } from '../../types';
|
|
2
|
+
import type { Logger, GraphQLErrorMode, GraphQLError } from '../../types';
|
|
3
3
|
export interface ExtractionOptions<T = any> {
|
|
4
4
|
query: string;
|
|
5
5
|
resultPath: string;
|
|
@@ -10,6 +10,8 @@ export interface ExtractionOptions<T = any> {
|
|
|
10
10
|
direction?: 'forward' | 'backward';
|
|
11
11
|
timeout?: number;
|
|
12
12
|
validateItem?: (item: T) => boolean;
|
|
13
|
+
operationName?: string;
|
|
14
|
+
errorHandling?: GraphQLErrorMode;
|
|
13
15
|
}
|
|
14
16
|
export interface ExtractionStats {
|
|
15
17
|
totalRecords: number;
|
|
@@ -20,6 +22,7 @@ export interface ExtractionStats {
|
|
|
20
22
|
validRecords?: number;
|
|
21
23
|
invalidRecords?: number;
|
|
22
24
|
direction?: 'forward' | 'backward';
|
|
25
|
+
partialErrors?: GraphQLError[];
|
|
23
26
|
}
|
|
24
27
|
export interface ExtractionError {
|
|
25
28
|
type: 'graphql' | 'network' | 'validation' | 'parsing';
|
|
@@ -95,23 +95,91 @@ export interface FluentEvent {
|
|
|
95
95
|
export interface CreateEventOptions {
|
|
96
96
|
mode?: FluentEventMode;
|
|
97
97
|
}
|
|
98
|
+
export type FluentEventRootEntityType = 'ORDER' | 'LOCATION' | 'FULFILMENT_OPTIONS' | 'PRODUCT_CATALOGUE' | 'INVENTORY_CATALOGUE' | 'VIRTUAL_CATALOGUE' | 'CONTROL_GROUP' | 'RETURN_ORDER' | 'BILLING_ACCOUNT' | 'JOB';
|
|
99
|
+
export type FluentEventEntityType = 'ORDER' | 'FULFILMENT' | 'ARTICLE' | 'CONSIGNMENT' | 'LOCATION' | 'WAVE' | 'FULFILMENT_OPTIONS' | 'FULFILMENT_PLAN' | 'PRODUCT_CATALOGUE' | 'CATEGORY' | 'PRODUCT' | 'INVENTORY_CATALOGUE' | 'INVENTORY_POSITION' | 'INVENTORY_QUANTITY' | 'VIRTUAL_CATALOGUE' | 'VIRTUAL_POSITION' | 'CONTROL_GROUP' | 'CONTROL' | 'RETURN_ORDER' | 'RETURN_FULFILMENT' | 'BILLING_ACCOUNT' | 'CREDIT_MEMO' | 'BATCH';
|
|
100
|
+
export type FluentEventCategory = 'snapshot' | 'ruleSet' | 'rule' | 'ACTION' | 'CUSTOM' | 'exception' | 'ORDER_WORKFLOW';
|
|
101
|
+
export type FluentEventType = 'ORCHESTRATION' | 'ORCHESTRATION_AUDIT' | 'API' | 'INTEGRATION' | 'SECURITY' | 'GENERAL';
|
|
102
|
+
export type FluentEventStatus = 'PENDING' | 'SCHEDULED' | 'NO_MATCH' | 'SUCCESS' | 'FAILED' | 'COMPLETE';
|
|
103
|
+
export type FluentEventQueryParamValue = string | number | boolean;
|
|
104
|
+
export interface FluentEventQueryParams {
|
|
105
|
+
start?: number;
|
|
106
|
+
count?: number;
|
|
107
|
+
from?: string;
|
|
108
|
+
to?: string;
|
|
109
|
+
name?: string;
|
|
110
|
+
category?: FluentEventCategory | string;
|
|
111
|
+
retailerId?: string | number;
|
|
112
|
+
eventType?: FluentEventType | string;
|
|
113
|
+
eventStatus?: FluentEventStatus | string;
|
|
114
|
+
eventId?: string;
|
|
115
|
+
'context.rootEntityType'?: FluentEventRootEntityType | string;
|
|
116
|
+
'context.rootEntityId'?: string | number;
|
|
117
|
+
'context.rootEntityRef'?: string;
|
|
118
|
+
'context.entityType'?: FluentEventEntityType | string;
|
|
119
|
+
'context.entityId'?: string | number;
|
|
120
|
+
'context.entityRef'?: string;
|
|
121
|
+
'context.sourceEvents'?: string;
|
|
122
|
+
[key: string]: FluentEventQueryParamValue | undefined;
|
|
123
|
+
}
|
|
124
|
+
export interface FluentEventLogContext {
|
|
125
|
+
sourceEvents?: string[];
|
|
126
|
+
entityType?: FluentEventEntityType | string;
|
|
127
|
+
entityId?: string;
|
|
128
|
+
entityRef?: string;
|
|
129
|
+
rootEntityType?: FluentEventRootEntityType | string;
|
|
130
|
+
rootEntityId?: string;
|
|
131
|
+
rootEntityRef?: string;
|
|
132
|
+
[key: string]: JsonValue | undefined;
|
|
133
|
+
}
|
|
134
|
+
export interface FluentEventLogAttribute {
|
|
135
|
+
name: string;
|
|
136
|
+
value: string;
|
|
137
|
+
type?: string;
|
|
138
|
+
[key: string]: unknown;
|
|
139
|
+
}
|
|
140
|
+
export interface FluentEventLogItem {
|
|
141
|
+
id: string;
|
|
142
|
+
name: string;
|
|
143
|
+
type?: FluentEventType | string;
|
|
144
|
+
accountId?: string;
|
|
145
|
+
retailerId?: string;
|
|
146
|
+
category?: FluentEventCategory | string;
|
|
147
|
+
context?: FluentEventLogContext;
|
|
148
|
+
eventStatus?: FluentEventStatus | string;
|
|
149
|
+
attributes?: FluentEventLogAttribute[] | Record<string, JsonValue> | null;
|
|
150
|
+
source?: string | null;
|
|
151
|
+
generatedBy?: string;
|
|
152
|
+
generatedOn?: string;
|
|
153
|
+
[key: string]: unknown;
|
|
154
|
+
}
|
|
155
|
+
export interface FluentEventLogResponse {
|
|
156
|
+
start: number;
|
|
157
|
+
count: number;
|
|
158
|
+
hasMore: boolean;
|
|
159
|
+
results: FluentEventLogItem[];
|
|
160
|
+
[key: string]: unknown;
|
|
161
|
+
}
|
|
162
|
+
export type GraphQLErrorMode = 'throw' | 'partial';
|
|
98
163
|
export interface GraphQLPayload<T = Record<string, JsonValue>> {
|
|
99
164
|
query: string;
|
|
100
165
|
variables?: T;
|
|
101
166
|
operationName?: string;
|
|
102
167
|
pagination?: PaginationConfig;
|
|
168
|
+
errorHandling?: GraphQLErrorMode;
|
|
169
|
+
}
|
|
170
|
+
export interface GraphQLError {
|
|
171
|
+
message: string;
|
|
172
|
+
locations?: Array<{
|
|
173
|
+
line: number;
|
|
174
|
+
column: number;
|
|
175
|
+
}>;
|
|
176
|
+
path?: (string | number)[];
|
|
177
|
+
extensions?: Record<string, JsonValue>;
|
|
178
|
+
[key: string]: unknown;
|
|
103
179
|
}
|
|
104
180
|
export interface GraphQLResponse<T = JsonValue> {
|
|
105
181
|
data?: T;
|
|
106
|
-
errors?:
|
|
107
|
-
message: string;
|
|
108
|
-
locations?: Array<{
|
|
109
|
-
line: number;
|
|
110
|
-
column: number;
|
|
111
|
-
}>;
|
|
112
|
-
path?: (string | number)[];
|
|
113
|
-
extensions?: Record<string, JsonValue>;
|
|
114
|
-
}>;
|
|
182
|
+
errors?: GraphQLError[];
|
|
115
183
|
extensions?: Record<string, unknown> & {
|
|
116
184
|
autoPagination?: {
|
|
117
185
|
totalPages: number;
|
|
@@ -121,6 +189,7 @@ export interface GraphQLResponse<T = JsonValue> {
|
|
|
121
189
|
direction?: 'forward' | 'backward';
|
|
122
190
|
};
|
|
123
191
|
};
|
|
192
|
+
hasPartialData?: boolean;
|
|
124
193
|
}
|
|
125
194
|
export interface FluentInventoryBatchEntity {
|
|
126
195
|
locationRef: string;
|
|
@@ -359,7 +428,7 @@ export interface Logger {
|
|
|
359
428
|
debug(message: string, meta?: Record<string, unknown> | undefined): void;
|
|
360
429
|
info(message: string, meta?: Record<string, unknown> | undefined): void;
|
|
361
430
|
warn(message: string, meta?: Record<string, unknown> | undefined): void;
|
|
362
|
-
error(message: string,
|
|
431
|
+
error(message: string, errorOrMeta?: unknown, meta?: Record<string, unknown>): void;
|
|
363
432
|
}
|
|
364
433
|
export interface LogContext {
|
|
365
434
|
[key: string]: MetadataValue;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FluentEvent, GraphQLPayload, GraphQLResponse, FluentEventMode, JsonValue, FluentBatchPayload, FluentBatchResponse, FluentBatchStatus, FluentJobPayload, FluentJobResponse, FluentJobStatus, FluentJobResults } from '../types';
|
|
1
|
+
import type { FluentEvent, GraphQLPayload, GraphQLResponse, FluentEventMode, FluentEventLogResponse, FluentEventLogItem, FluentEventQueryParams, JsonValue, FluentBatchPayload, FluentBatchResponse, FluentBatchStatus, FluentJobPayload, FluentJobResponse, FluentJobStatus, FluentJobResults } from '../types';
|
|
2
2
|
import type { FluentWebhookPayload, EventResponse } from '../types';
|
|
3
3
|
export declare class FluentVersoriClient {
|
|
4
4
|
private ctx;
|
|
@@ -13,6 +13,8 @@ export declare class FluentVersoriClient {
|
|
|
13
13
|
private executeSinglePage;
|
|
14
14
|
private executeWithAutoPagination;
|
|
15
15
|
sendEvent(event: FluentEvent, mode?: FluentEventMode): Promise<EventResponse>;
|
|
16
|
+
getEvents(params?: FluentEventQueryParams): Promise<FluentEventLogResponse>;
|
|
17
|
+
getEventById(eventId: string): Promise<FluentEventLogItem>;
|
|
16
18
|
createJob(payload: FluentJobPayload): Promise<FluentJobResponse>;
|
|
17
19
|
sendBatch(jobId: string, payload: FluentBatchPayload): Promise<FluentBatchResponse>;
|
|
18
20
|
getJobStatus(jobId: string): Promise<FluentJobStatus>;
|
|
@@ -20,6 +22,7 @@ export declare class FluentVersoriClient {
|
|
|
20
22
|
getJobResults(jobId: string): Promise<FluentJobResults>;
|
|
21
23
|
query<T = JsonValue>(queryOrPayload: string | GraphQLPayload, variables?: Record<string, any>): Promise<T | undefined>;
|
|
22
24
|
mutate<T = JsonValue>(mutationOrPayload: string | GraphQLPayload, variables?: Record<string, any>): Promise<T | undefined>;
|
|
25
|
+
private buildEventQueryString;
|
|
23
26
|
private throwApiError;
|
|
24
27
|
private fetchWithRetry;
|
|
25
28
|
validateWebhook(payload: FluentWebhookPayload, signature?: string, rawPayload?: string, publicKey?: string): Promise<boolean>;
|