@fluentcommerce/fc-connect-sdk 0.1.54 → 0.1.55
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 +12 -0
- package/dist/cjs/clients/fluent-client.js +13 -6
- package/dist/cjs/utils/pagination-helpers.js +38 -2
- package/dist/cjs/versori/fluent-versori-client.js +11 -5
- package/dist/esm/clients/fluent-client.js +13 -6
- package/dist/esm/utils/pagination-helpers.js +38 -2
- package/dist/esm/versori/fluent-versori-client.js +11 -5
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsconfig.types.tsbuildinfo +1 -1
- package/docs/00-START-HERE/EXPORT-VALIDATION.md +158 -158
- package/docs/00-START-HERE/cli-analyze-source-structure-guide.md +655 -655
- package/docs/00-START-HERE/cli-documentation-index.md +202 -202
- package/docs/00-START-HERE/cli-quick-reference.md +252 -252
- package/docs/00-START-HERE/decision-tree.md +552 -552
- package/docs/00-START-HERE/getting-started.md +1070 -1070
- package/docs/00-START-HERE/mapper-quick-decision-guide.md +235 -235
- package/docs/00-START-HERE/readme.md +237 -237
- package/docs/00-START-HERE/retailerid-configuration.md +404 -404
- package/docs/00-START-HERE/sdk-philosophy.md +794 -794
- package/docs/00-START-HERE/troubleshooting-quick-reference.md +1086 -1086
- package/docs/01-TEMPLATES/faq.md +686 -686
- package/docs/01-TEMPLATES/patterns/pattern-templates-guide.md +68 -68
- package/docs/01-TEMPLATES/patterns/patterns-csv-schema-validation-and-rejection-report.md +233 -233
- package/docs/01-TEMPLATES/patterns/patterns-custom-resolvers.md +407 -407
- package/docs/01-TEMPLATES/patterns/patterns-error-handling-retry.md +511 -511
- package/docs/01-TEMPLATES/patterns/patterns-field-mapping-universal.md +701 -701
- package/docs/01-TEMPLATES/patterns/patterns-large-file-splitting.md +1430 -1430
- package/docs/01-TEMPLATES/patterns/patterns-master-data-etl.md +2399 -2399
- package/docs/01-TEMPLATES/patterns/patterns-pagination-streaming.md +447 -447
- package/docs/01-TEMPLATES/patterns/patterns-state-duplicate-prevention.md +385 -385
- package/docs/01-TEMPLATES/readme.md +957 -957
- package/docs/01-TEMPLATES/standalone/standalone-asn-inbound-processing.md +1209 -1209
- package/docs/01-TEMPLATES/standalone/standalone-graphql-query-export.md +1140 -1140
- package/docs/01-TEMPLATES/standalone/standalone-graphql-to-parquet-partitioned-s3.md +432 -432
- package/docs/01-TEMPLATES/standalone/standalone-multi-channel-inventory-sync.md +1185 -1185
- package/docs/01-TEMPLATES/standalone/standalone-multi-source-aggregation.md +1462 -1462
- package/docs/01-TEMPLATES/standalone/standalone-s3-csv-batch-api.md +1390 -1390
- package/docs/01-TEMPLATES/standalone/standalone-s3-csv-inventory-to-batch.md +330 -330
- package/docs/01-TEMPLATES/standalone/standalone-scripts-guide.md +87 -87
- package/docs/01-TEMPLATES/standalone/standalone-sftp-xml-graphql.md +1444 -1444
- package/docs/01-TEMPLATES/standalone/standalone-webhook-payload-processing.md +688 -688
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-dropship-order-routing.md +193 -193
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-graphql-parquet-extraction.md +518 -518
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-inter-location-transfers.md +2162 -2162
- package/docs/01-TEMPLATES/versori/business-examples/business-examples-pre-order-allocation.md +2226 -2226
- package/docs/01-TEMPLATES/versori/business-examples/business-scenarios-guide.md +87 -87
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-connection-validation-pattern.md +656 -656
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-dual-workflow-connector.md +835 -835
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-guide.md +108 -108
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-kv-state-management.md +1533 -1533
- package/docs/01-TEMPLATES/versori/patterns/versori-patterns-xml-response-patterns.md +1160 -1160
- package/docs/01-TEMPLATES/versori/versori-platform-guide.md +201 -201
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-asn-purchase-order.md +1906 -1906
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-dropship-routing.md +1074 -1074
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-flash-sale-reserve.md +1395 -1395
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-generic-xml-order.md +888 -888
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-payment-gateway-integration.md +2478 -2478
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-rma-returns-comprehensive.md +2240 -2240
- package/docs/01-TEMPLATES/versori/webhooks/template-webhook-xml-order-ingestion.md +2029 -2029
- package/docs/01-TEMPLATES/versori/webhooks/webhook-templates-guide.md +140 -140
- package/docs/01-TEMPLATES/versori/workflows/_examples/sample-data/inventory-mapping.json +20 -20
- package/docs/01-TEMPLATES/versori/workflows/_examples/sample-data/products_2025-01-22.csv +11 -11
- package/docs/01-TEMPLATES/versori/workflows/_examples/sample-data/sample-data-guide.md +34 -34
- package/docs/01-TEMPLATES/versori/workflows/_examples/workflow-examples-guide.md +36 -36
- package/docs/01-TEMPLATES/versori/workflows/extraction/extraction-modes-guide.md +1038 -1038
- package/docs/01-TEMPLATES/versori/workflows/extraction/extraction-workflows-guide.md +138 -138
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/graphql-extraction-guide.md +63 -63
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-fulfillments-to-sftp-csv.md +2062 -2062
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-fulfillments-to-sftp-xml.md +2294 -2294
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-positions-to-s3-csv.md +2461 -2461
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-positions-to-sftp-xml.md +2529 -2529
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-quantities-to-s3-csv.md +2464 -2464
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-inventory-quantities-to-s3-json.md +1959 -1959
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-orders-to-s3-csv.md +1953 -1953
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-orders-to-sftp-xml.md +2541 -2541
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-products-to-s3-json.md +2384 -2384
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-products-to-sftp-xml.md +2445 -2445
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-virtual-positions-to-s3-csv.md +2355 -2355
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-virtual-positions-to-s3-json.md +2042 -2042
- package/docs/01-TEMPLATES/versori/workflows/extraction/graphql-queries/template-extraction-virtual-positions-to-sftp-xml.md +2726 -2726
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/batch-api-guide.md +206 -206
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-cycle-count-reconciliation.md +2030 -2030
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-multi-channel-inventory-sync.md +1882 -1882
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md +2827 -2827
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-json-inventory-batch.md +1952 -1952
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-xml-inventory-batch.md +3289 -3289
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-csv-inventory-batch.md +3064 -3064
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-json-inventory-batch.md +3238 -3238
- package/docs/01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-xml-inventory-batch.md +2977 -2977
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/event-api-guide.md +321 -321
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-payload-json-order-cancel-event.md +959 -959
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-payload-xml-order-cancel-event.md +1170 -1170
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-csv-product-event.md +2312 -2312
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-json-product-event.md +2999 -2999
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-parquet-product-event.md +2836 -2836
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-s3-xml-product-event.md +2395 -2395
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-csv-product-event.md +2295 -2295
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-json-product-event.md +2602 -2602
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-parquet-product-event.md +2589 -2589
- package/docs/01-TEMPLATES/versori/workflows/ingestion/event-api/template-ingestion-sftp-xml-product-event.md +3578 -3578
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/graphql-mutations-guide.md +93 -93
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-payload-json-order-update-graphql.md +1260 -1260
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-payload-xml-order-update-graphql.md +1472 -1472
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-csv-control-graphql.md +2417 -2417
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-csv-location-graphql.md +2811 -2811
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-csv-price-graphql.md +2619 -2619
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-json-location-graphql.md +2807 -2807
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-s3-xml-location-graphql.md +2373 -2373
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-sftp-csv-control-graphql.md +2740 -2740
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-sftp-csv-location-graphql.md +2760 -2760
- package/docs/01-TEMPLATES/versori/workflows/ingestion/graphql-mutations/template-ingestion-sftp-json-location-graphql.md +1710 -1710
- package/docs/01-TEMPLATES/versori/workflows/ingestion/ingestion-workflows-guide.md +136 -136
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/rubix-webhooks-guide.md +520 -520
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/template-webhook-rubix-fulfilment-to-sftp-xml-inline.md +1418 -1418
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/template-webhook-rubix-fulfilment-to-sftp-xml-universal-mapper.md +1785 -1785
- package/docs/01-TEMPLATES/versori/workflows/rubix-webhooks/template-webhook-rubix-order-attribute-update.md +824 -824
- package/docs/01-TEMPLATES/versori/workflows/workflows-overview-guide.md +646 -646
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-batch-archival.md +724 -724
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-job-tracker.md +627 -627
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-partial-batch-recovery.md +561 -561
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-quick-reference.md +367 -367
- package/docs/02-CORE-GUIDES/advanced-services/advanced-services-readme.md +407 -407
- package/docs/02-CORE-GUIDES/advanced-services/readme.md +49 -49
- package/docs/02-CORE-GUIDES/api-reference/api-reference-quick-reference.md +548 -548
- package/docs/02-CORE-GUIDES/api-reference/event-api-input-output-reference.md +702 -1171
- package/docs/02-CORE-GUIDES/api-reference/examples/client-initialization.ts +286 -286
- package/docs/02-CORE-GUIDES/api-reference/graphql-error-classification.md +337 -337
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-01-client-api.md +399 -520
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-03-authentication.md +199 -199
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-04-graphql-mapping.md +925 -925
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-05-services.md +1198 -1198
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-06-data-sources.md +1083 -1083
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-07-parsers.md +1097 -1097
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-08-pagination.md +513 -513
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-08-types.md +545 -597
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-09-error-handling.md +527 -527
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-09-webhook-validation.md +514 -514
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-10-extraction.md +557 -557
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-10-utilities.md +412 -412
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-11-cli-tools.md +423 -423
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-11-error-handling.md +716 -716
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-analyze-source-structure.md +518 -518
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-partial-responses.md +212 -212
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-testing.md +300 -300
- package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-13-resolver-builder.md +322 -322
- package/docs/02-CORE-GUIDES/api-reference/readme.md +279 -279
- package/docs/02-CORE-GUIDES/auto-pagination/auto-pagination-quick-reference.md +351 -351
- package/docs/02-CORE-GUIDES/auto-pagination/auto-pagination-readme.md +277 -277
- package/docs/02-CORE-GUIDES/auto-pagination/examples/auto-pagination-readme.md +178 -178
- package/docs/02-CORE-GUIDES/auto-pagination/examples/common-patterns.ts +351 -351
- package/docs/02-CORE-GUIDES/auto-pagination/examples/paginate-products.ts +384 -384
- package/docs/02-CORE-GUIDES/auto-pagination/examples/paginate-virtual-positions.ts +308 -308
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md +470 -470
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-02-quick-start.md +713 -713
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-03-configuration.md +754 -754
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-04-advanced-patterns.md +732 -732
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-05-sdk-integration.md +847 -847
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-06-troubleshooting.md +359 -359
- package/docs/02-CORE-GUIDES/auto-pagination/modules/auto-pagination-07-api-reference.md +462 -462
- package/docs/02-CORE-GUIDES/auto-pagination/readme.md +54 -54
- package/docs/02-CORE-GUIDES/data-sources/data-sources-file-operations-error-handling.md +1487 -1487
- package/docs/02-CORE-GUIDES/data-sources/data-sources-quick-reference.md +836 -836
- package/docs/02-CORE-GUIDES/data-sources/data-sources-readme.md +276 -276
- package/docs/02-CORE-GUIDES/data-sources/data-sources-sftp-credential-access-security.md +553 -553
- package/docs/02-CORE-GUIDES/data-sources/examples/common-patterns.ts +409 -409
- package/docs/02-CORE-GUIDES/data-sources/examples/data-sources-readme.md +178 -178
- package/docs/02-CORE-GUIDES/data-sources/examples/s3-operations.ts +308 -308
- package/docs/02-CORE-GUIDES/data-sources/examples/sftp-operations.ts +371 -371
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-01-foundations.md +735 -735
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-02-s3-operations.md +1302 -1302
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-03-sftp-operations.md +1379 -1379
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-04-file-patterns.md +941 -941
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-05-advanced-topics.md +813 -813
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-06-integration-patterns.md +486 -486
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-07-troubleshooting.md +387 -387
- package/docs/02-CORE-GUIDES/data-sources/modules/data-sources-08-api-reference.md +417 -417
- package/docs/02-CORE-GUIDES/data-sources/readme.md +77 -77
- package/docs/02-CORE-GUIDES/error-handling-guide.md +936 -936
- package/docs/02-CORE-GUIDES/extraction/examples/02-core-guides-extraction-readme.md +116 -116
- package/docs/02-CORE-GUIDES/extraction/examples/common-patterns.ts +428 -428
- package/docs/02-CORE-GUIDES/extraction/examples/extract-inventory-basic.ts +187 -187
- package/docs/02-CORE-GUIDES/extraction/extraction-quick-reference.md +596 -596
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-01-foundations.md +514 -514
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-02-basic-extraction.md +823 -823
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-03-parquet-processing.md +507 -507
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-04-data-enrichment.md +546 -546
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-05-transformation.md +494 -494
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-06-export-formats.md +458 -458
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-06-performance.md +138 -138
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-07-api-reference.md +148 -148
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-07-optimization.md +692 -692
- package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md +1008 -1008
- package/docs/02-CORE-GUIDES/extraction/readme.md +151 -151
- package/docs/02-CORE-GUIDES/ingestion/examples/_simple-kv-store.ts +40 -40
- package/docs/02-CORE-GUIDES/ingestion/examples/error-recovery.ts +728 -728
- package/docs/02-CORE-GUIDES/ingestion/examples/event-driven.ts +501 -501
- package/docs/02-CORE-GUIDES/ingestion/examples/local-file-ingestion.ts +88 -88
- package/docs/02-CORE-GUIDES/ingestion/examples/parquet-ingestion.ts +117 -117
- package/docs/02-CORE-GUIDES/ingestion/examples/performance-optimized.ts +647 -647
- package/docs/02-CORE-GUIDES/ingestion/examples/s3-csv-ingestion.ts +169 -169
- package/docs/02-CORE-GUIDES/ingestion/examples/sftp-csv-ingestion.ts +134 -134
- package/docs/02-CORE-GUIDES/ingestion/ingestion-quick-reference.md +546 -546
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-01-introduction.md +626 -626
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-02-quick-start.md +658 -658
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-03-data-sources.md +1052 -1052
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-04-field-mapping.md +763 -763
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-05-advanced-parsers.md +676 -676
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-06-batch-api.md +1295 -1295
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-07-api-reference.md +138 -138
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-07-state-management.md +1037 -1037
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-08-performance-optimization.md +1349 -1349
- package/docs/02-CORE-GUIDES/ingestion/modules/02-core-guides-ingestion-09-best-practices.md +1893 -1893
- package/docs/02-CORE-GUIDES/ingestion/readme.md +160 -160
- package/docs/02-CORE-GUIDES/logging-guide.md +585 -585
- package/docs/02-CORE-GUIDES/mapping/error-handling-patterns.md +401 -401
- package/docs/02-CORE-GUIDES/mapping/examples/02-core-guides-mapping-readme.md +128 -128
- package/docs/02-CORE-GUIDES/mapping/examples/common-patterns.ts +273 -273
- package/docs/02-CORE-GUIDES/mapping/examples/csv-location-ingestion.json +36 -36
- package/docs/02-CORE-GUIDES/mapping/examples/csv-mapping.ts +242 -242
- package/docs/02-CORE-GUIDES/mapping/examples/graphql-to-parquet-extraction.json +36 -36
- package/docs/02-CORE-GUIDES/mapping/examples/json-mapping.ts +213 -213
- package/docs/02-CORE-GUIDES/mapping/examples/json-product-to-mutation.json +48 -48
- package/docs/02-CORE-GUIDES/mapping/examples/xml-mapping.ts +291 -291
- package/docs/02-CORE-GUIDES/mapping/examples/xml-order-to-mutation.json +45 -45
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/graphql-mutation-mapping-quick-reference.md +463 -463
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/graphql-mutation-mapping-readme.md +227 -227
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-01-introduction.md +222 -222
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-02-quick-start.md +351 -351
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-03-schema-validation.md +569 -569
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-04-mapping-patterns.md +471 -471
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-05-configuration-reference.md +611 -611
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-06-advanced-xpath.md +148 -148
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-06-path-syntax.md +464 -464
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-07-api-reference.md +94 -94
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-07-array-handling.md +307 -307
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-08-custom-resolvers.md +544 -544
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-09-advanced-patterns.md +427 -427
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-10-hooks-and-variables.md +336 -336
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-11-error-handling.md +488 -488
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-12-arguments-vs-nodes.md +383 -383
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-13-best-practices.md +477 -477
- package/docs/02-CORE-GUIDES/mapping/graphql-mutation-mapping/readme.md +62 -62
- package/docs/02-CORE-GUIDES/mapping/mapping-format-decision-tree.md +480 -480
- package/docs/02-CORE-GUIDES/mapping/mapping-graphql-alias-batching-guide.md +820 -820
- package/docs/02-CORE-GUIDES/mapping/mapping-javascript-objects.md +2369 -2369
- package/docs/02-CORE-GUIDES/mapping/mapping-mapper-comparison-guide.md +682 -682
- package/docs/02-CORE-GUIDES/mapping/modules/02-core-guides-mapping-07-api-reference.md +1327 -1327
- package/docs/02-CORE-GUIDES/mapping/modules/02-core-guides-mapping-08-error-handling.md +1142 -1142
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-04-use-cases.md +891 -891
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-06-helpers-resolvers.md +1126 -1126
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-06-sdk-resolvers.md +199 -199
- package/docs/02-CORE-GUIDES/mapping/modules/mapping-07-api-reference.md +1319 -1319
- package/docs/02-CORE-GUIDES/mapping/readme.md +178 -178
- package/docs/02-CORE-GUIDES/mapping/resolver-registration.md +410 -410
- package/docs/02-CORE-GUIDES/mapping/resolvers/examples/common-patterns.ts +226 -226
- package/docs/02-CORE-GUIDES/mapping/resolvers/examples/custom-resolvers.ts +227 -227
- package/docs/02-CORE-GUIDES/mapping/resolvers/examples/sdk-resolvers-usage.ts +203 -203
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-readme.md +274 -274
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-api-reference.md +679 -679
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-cookbook.md +826 -826
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-guide.md +1330 -1330
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-helpers-reference.md +1437 -1437
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-parameters-reference.md +553 -553
- package/docs/02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-resolver-troubleshooting.md +854 -854
- package/docs/02-CORE-GUIDES/mapping/resolvers/readme.md +75 -75
- package/docs/02-CORE-GUIDES/parsers/examples/02-core-guides-parsers-readme.md +161 -161
- package/docs/02-CORE-GUIDES/parsers/examples/csv-parser-examples.ts +110 -110
- package/docs/02-CORE-GUIDES/parsers/examples/json-parser-examples.ts +33 -33
- package/docs/02-CORE-GUIDES/parsers/examples/parquet-parser-examples.ts +47 -47
- package/docs/02-CORE-GUIDES/parsers/examples/xml-parser-examples.ts +38 -38
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-01-foundations.md +355 -355
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-02-csv-parser.md +772 -772
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-03-json-parser.md +789 -789
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-04-xml-parser.md +857 -857
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-05-parquet-parser.md +603 -603
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-06-integration-patterns.md +702 -702
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-06-streaming.md +121 -121
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-07-api-reference.md +89 -89
- package/docs/02-CORE-GUIDES/parsers/modules/02-core-guides-parsers-07-troubleshooting.md +727 -727
- package/docs/02-CORE-GUIDES/parsers/parsers-quick-reference.md +482 -482
- package/docs/02-CORE-GUIDES/parsers/parsers-readme.md +258 -258
- package/docs/02-CORE-GUIDES/parsers/readme.md +65 -65
- package/docs/02-CORE-GUIDES/readme.md +194 -194
- package/docs/02-CORE-GUIDES/webhook-validation/examples/basic-validation.ts +108 -108
- package/docs/02-CORE-GUIDES/webhook-validation/examples/common-patterns.ts +316 -316
- package/docs/02-CORE-GUIDES/webhook-validation/examples/webhook-validation-readme.md +61 -61
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-01-foundations.md +440 -440
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-02-quick-start.md +525 -525
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-03-versori-integration.md +741 -741
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-04-platform-integration.md +629 -629
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-05-configuration.md +535 -535
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-06-error-handling.md +611 -611
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-06-troubleshooting.md +124 -124
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-07-api-reference.md +511 -511
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-08-rubix-webhooks.md +590 -590
- package/docs/02-CORE-GUIDES/webhook-validation/modules/webhook-validation-09-rubix-event-vs-http-call.md +432 -432
- package/docs/02-CORE-GUIDES/webhook-validation/readme.md +239 -239
- package/docs/02-CORE-GUIDES/webhook-validation/webhook-validation-quick-reference.md +392 -392
- package/docs/03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-quick-reference.md +498 -498
- package/docs/03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-readme.md +313 -313
- package/docs/03-PATTERN-GUIDES/connector-scenarios/examples/common-patterns.ts +612 -612
- package/docs/03-PATTERN-GUIDES/connector-scenarios/examples/connector-scenarios-readme.md +253 -253
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-01-foundations.md +452 -452
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-02-simple-scenarios.md +681 -681
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-03-intermediate-scenarios.md +637 -637
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-04-advanced-scenarios.md +650 -650
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-05-bidirectional-sync.md +233 -233
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-06-production-patterns.md +442 -442
- package/docs/03-PATTERN-GUIDES/connector-scenarios/modules/connector-scenarios-07-reference.md +445 -445
- package/docs/03-PATTERN-GUIDES/connector-scenarios/readme.md +31 -31
- package/docs/03-PATTERN-GUIDES/enterprise-integration-patterns.md +1528 -1528
- package/docs/03-PATTERN-GUIDES/error-handling/comprehensive-error-handling-guide.md +1437 -1437
- package/docs/03-PATTERN-GUIDES/error-handling/error-handling-quick-reference.md +390 -390
- package/docs/03-PATTERN-GUIDES/error-handling/examples/common-patterns.ts +438 -438
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-01-foundations.md +362 -362
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-02-error-types.md +850 -850
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-03-utf8-handling.md +456 -456
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-04-error-scenarios.md +658 -658
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-05-calling-patterns.md +671 -671
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-06-retry-strategies.md +1034 -1034
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-07-monitoring.md +653 -653
- package/docs/03-PATTERN-GUIDES/error-handling/modules/error-handling-08-api-reference.md +847 -847
- package/docs/03-PATTERN-GUIDES/error-handling/readme.md +36 -36
- package/docs/03-PATTERN-GUIDES/examples/__tests__/readme.md +40 -40
- package/docs/03-PATTERN-GUIDES/examples/__tests__/resolver-examples.test.js +282 -282
- package/docs/03-PATTERN-GUIDES/examples/test-data/03-pattern-guides-readme.md +110 -110
- package/docs/03-PATTERN-GUIDES/examples/test-data/canonical-inventory.json +123 -123
- package/docs/03-PATTERN-GUIDES/examples/test-data/canonical-order.json +171 -171
- package/docs/03-PATTERN-GUIDES/examples/test-data/readme.md +28 -28
- package/docs/03-PATTERN-GUIDES/extraction/extraction-readme.md +15 -15
- package/docs/03-PATTERN-GUIDES/extraction/readme.md +25 -25
- package/docs/03-PATTERN-GUIDES/file-operations/examples/common-patterns.ts +407 -407
- package/docs/03-PATTERN-GUIDES/file-operations/examples/file-operations-readme.md +142 -142
- package/docs/03-PATTERN-GUIDES/file-operations/file-operations-quick-reference.md +462 -462
- package/docs/03-PATTERN-GUIDES/file-operations/file-operations-readme.md +379 -379
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-01-foundations.md +430 -430
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-02-quick-start.md +484 -484
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-03-s3-operations.md +507 -507
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-04-sftp-operations.md +963 -963
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-05-streaming-performance.md +503 -503
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-06-archive-patterns.md +386 -386
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-06-error-handling.md +117 -117
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-07-api-reference.md +78 -78
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-07-testing-troubleshooting.md +567 -567
- package/docs/03-PATTERN-GUIDES/file-operations/modules/file-operations-08-api-reference.md +1055 -1055
- package/docs/03-PATTERN-GUIDES/file-operations/readme.md +32 -32
- package/docs/03-PATTERN-GUIDES/ingestion/ingestion-readme.md +15 -15
- package/docs/03-PATTERN-GUIDES/ingestion/readme.md +25 -25
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/batch-processing.ts +130 -130
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/common-patterns.ts +360 -360
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/delta-sync.ts +130 -130
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/integration-patterns-readme.md +100 -100
- package/docs/03-PATTERN-GUIDES/integration-patterns/examples/real-time-webhook.ts +398 -398
- package/docs/03-PATTERN-GUIDES/integration-patterns/integration-patterns-quick-reference.md +962 -962
- package/docs/03-PATTERN-GUIDES/integration-patterns/integration-patterns-readme.md +134 -134
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-01-real-time-processing.md +991 -991
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-02-batch-processing.md +1547 -1547
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-03-delta-sync.md +1108 -1108
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-04-webhook-patterns.md +1181 -1181
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-05-error-handling.md +1061 -1061
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-06-advanced-integration-services.md +1547 -1547
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-06-performance.md +109 -109
- package/docs/03-PATTERN-GUIDES/integration-patterns/modules/integration-patterns-07-api-reference.md +34 -34
- package/docs/03-PATTERN-GUIDES/integration-patterns/readme.md +30 -30
- package/docs/03-PATTERN-GUIDES/logging-minimal-mode.md +128 -128
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/common-patterns.ts +380 -380
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/multiple-connections-readme.md +139 -139
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/parallel-root-connections.ts +149 -149
- package/docs/03-PATTERN-GUIDES/multiple-connections/examples/real-world-scenarios.ts +405 -405
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-01-foundations.md +378 -378
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-02-quick-start.md +566 -566
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-03-targeting-connections.md +659 -659
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-04-parallel-queries.md +656 -656
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-05-best-practices.md +624 -624
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-06-api-reference.md +824 -824
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-06-versori.md +119 -119
- package/docs/03-PATTERN-GUIDES/multiple-connections/modules/multiple-connections-07-api-reference.md +87 -87
- package/docs/03-PATTERN-GUIDES/multiple-connections/multiple-connections-quick-reference.md +353 -353
- package/docs/03-PATTERN-GUIDES/multiple-connections/multiple-connections-readme.md +270 -270
- package/docs/03-PATTERN-GUIDES/multiple-connections/readme.md +30 -30
- package/docs/03-PATTERN-GUIDES/pagination/pagination-readme.md +14 -14
- package/docs/03-PATTERN-GUIDES/pagination/readme.md +24 -24
- package/docs/03-PATTERN-GUIDES/parquet/examples/common-patterns.ts +180 -180
- package/docs/03-PATTERN-GUIDES/parquet/examples/read-parquet.ts +48 -48
- package/docs/03-PATTERN-GUIDES/parquet/examples/write-parquet.ts +65 -65
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-01-introduction.md +393 -393
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-02-quick-start.md +572 -572
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-03-reading-parquet.md +525 -525
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-04-writing-parquet.md +554 -554
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-05-graphql-extraction.md +405 -405
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-06-performance.md +104 -104
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-06-s3-integration.md +511 -511
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-07-api-reference.md +90 -90
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-07-performance-optimization.md +525 -525
- package/docs/03-PATTERN-GUIDES/parquet/modules/03-pattern-guides-parquet-08-best-practices.md +712 -712
- package/docs/03-PATTERN-GUIDES/parquet/parquet-quick-reference.md +683 -683
- package/docs/03-PATTERN-GUIDES/parquet/parquet-readme.md +248 -248
- package/docs/03-PATTERN-GUIDES/parquet/readme.md +32 -32
- package/docs/03-PATTERN-GUIDES/parsers/parsers-readme.md +12 -12
- package/docs/03-PATTERN-GUIDES/parsers/readme.md +24 -24
- package/docs/03-PATTERN-GUIDES/readme.md +159 -159
- package/docs/03-PATTERN-GUIDES/webhooks/readme.md +24 -24
- package/docs/03-PATTERN-GUIDES/webhooks/webhooks-readme.md +8 -8
- package/docs/04-REFERENCE/architecture/architecture-01-overview.md +427 -427
- package/docs/04-REFERENCE/architecture/architecture-02-client-architecture.md +424 -424
- package/docs/04-REFERENCE/architecture/architecture-03-data-flow.md +690 -690
- package/docs/04-REFERENCE/architecture/architecture-04-service-layer.md +834 -834
- package/docs/04-REFERENCE/architecture/architecture-05-integration-architecture.md +655 -655
- package/docs/04-REFERENCE/architecture/architecture-06-state-management.md +653 -653
- package/docs/04-REFERENCE/architecture/architecture-adding-new-data-sources.md +686 -686
- package/docs/04-REFERENCE/architecture/readme.md +279 -279
- package/docs/04-REFERENCE/platforms/deno/readme.md +117 -117
- package/docs/04-REFERENCE/platforms/nodejs/readme.md +146 -146
- package/docs/04-REFERENCE/platforms/readme.md +135 -135
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-01-introduction.md +398 -398
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-02-quick-start.md +560 -560
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-03-authentication.md +757 -757
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-04-workflows.md +2476 -2476
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-05-connections.md +1167 -1167
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-06-kv-storage.md +990 -990
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-06-state-management.md +121 -121
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-07-api-reference.md +68 -68
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-07-deployment.md +731 -731
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-08-best-practices.md +1111 -1111
- package/docs/04-REFERENCE/platforms/versori/modules/platforms-versori-09-signature-reference.md +766 -766
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-readme.md +299 -299
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-s3-sftp-configuration-guide.md +1425 -1425
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-webhook-api-key-security.md +816 -816
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-webhook-connection-security.md +681 -681
- package/docs/04-REFERENCE/platforms/versori/platforms-versori-workflow-task-types.md +708 -708
- package/docs/04-REFERENCE/platforms/versori/readme.md +108 -108
- package/docs/04-REFERENCE/readme.md +148 -148
- package/docs/04-REFERENCE/resolver-signature/examples/advanced-resolvers.ts +482 -482
- package/docs/04-REFERENCE/resolver-signature/examples/async-resolvers.ts +496 -496
- package/docs/04-REFERENCE/resolver-signature/examples/basic-resolvers.ts +343 -343
- package/docs/04-REFERENCE/resolver-signature/examples/resolver-signature-readme.md +188 -188
- package/docs/04-REFERENCE/resolver-signature/examples/testing-resolvers.ts +463 -463
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-01-foundations.md +286 -286
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-02-parameter-reference.md +643 -643
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-03-basic-examples.md +521 -521
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-04-advanced-patterns.md +739 -739
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-05-sdk-resolvers.md +531 -531
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-06-migration-guide.md +650 -650
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-06-testing.md +125 -125
- package/docs/04-REFERENCE/resolver-signature/modules/resolver-signature-07-api-reference.md +794 -794
- package/docs/04-REFERENCE/resolver-signature/readme.md +64 -64
- package/docs/04-REFERENCE/resolver-signature/resolver-signature-quick-reference.md +270 -270
- package/docs/04-REFERENCE/resolver-signature/resolver-signature-readme.md +351 -351
- package/docs/04-REFERENCE/schema/fluent-commerce-schema.json +764 -764
- package/docs/04-REFERENCE/schema/readme.md +141 -141
- package/docs/04-REFERENCE/testing/examples/04-reference-testing-readme.md +158 -158
- package/docs/04-REFERENCE/testing/examples/fluent-testing.ts +62 -62
- package/docs/04-REFERENCE/testing/examples/health-check.ts +155 -155
- package/docs/04-REFERENCE/testing/examples/integration-test.ts +119 -119
- package/docs/04-REFERENCE/testing/examples/performance-test.ts +183 -183
- package/docs/04-REFERENCE/testing/examples/s3-testing.ts +127 -127
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-01-foundations.md +267 -267
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-02-s3-testing.md +599 -599
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-03-fluent-testing.md +589 -589
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-04-integration-testing.md +699 -699
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-05-debugging.md +478 -478
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-06-cicd-integration.md +463 -463
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-06-preflight-validation.md +131 -131
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-07-best-practices.md +499 -499
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-07-coverage-ci.md +165 -165
- package/docs/04-REFERENCE/testing/modules/04-reference-testing-08-api-reference.md +634 -634
- package/docs/04-REFERENCE/testing/readme.md +86 -86
- package/docs/04-REFERENCE/testing/testing-quick-reference.md +667 -667
- package/docs/04-REFERENCE/testing/testing-readme.md +286 -286
- package/docs/04-REFERENCE/troubleshooting/readme.md +144 -144
- package/docs/04-REFERENCE/troubleshooting/troubleshooting-deno-sftp-compatibility.md +392 -392
- package/docs/template-loading-matrix.md +242 -242
- package/package.json +5 -3
- package/docs/02-CORE-GUIDES/api-reference/cli-profile-integration.md +0 -377
|
@@ -1,279 +1,279 @@
|
|
|
1
|
-
# FC Connect SDK - Architecture Documentation
|
|
2
|
-
|
|
3
|
-
Welcome to the FC Connect SDK architecture documentation. This guide explains how the SDK works internally and helps you understand the design decisions behind its implementation.
|
|
4
|
-
|
|
5
|
-
## Documentation Structure
|
|
6
|
-
|
|
7
|
-
### 1. [Architecture Overview](./architecture-01-overview.md)
|
|
8
|
-
**Start here!** Get a high-level understanding of the SDK architecture.
|
|
9
|
-
|
|
10
|
-
- What is the FC Connect SDK?
|
|
11
|
-
- High-level system architecture
|
|
12
|
-
- Core concepts and design principles
|
|
13
|
-
- Common use cases with diagrams
|
|
14
|
-
- Multi-runtime support
|
|
15
|
-
|
|
16
|
-
**Best for:** First-time readers, architects, technical decision-makers
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
### 2. [Client Architecture](./architecture-02-client-architecture.md)
|
|
21
|
-
Deep dive into client creation, authentication, and runtime detection.
|
|
22
|
-
|
|
23
|
-
- Universal client factory pattern
|
|
24
|
-
- FluentClient vs FluentVersoriClient
|
|
25
|
-
- OAuth2 authentication flow
|
|
26
|
-
- Platform auth integration
|
|
27
|
-
- Context detection mechanism
|
|
28
|
-
- Shared service layer
|
|
29
|
-
|
|
30
|
-
**Best for:** Developers implementing custom integrations, understanding authentication
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
### 3. [Data Flow Architecture](./architecture-03-data-flow.md)
|
|
35
|
-
Understand how data flows through the SDK for different operations.
|
|
36
|
-
|
|
37
|
-
- **Ingestion flow:** External files → Fluent Commerce
|
|
38
|
-
- **Extraction flow:** Fluent Commerce → External storage
|
|
39
|
-
- **Transformation flow:** External data → GraphQL mutations
|
|
40
|
-
- Universal mapping engine
|
|
41
|
-
- State management integration
|
|
42
|
-
- Error handling strategies
|
|
43
|
-
|
|
44
|
-
**Best for:** Integration developers, data engineers, workflow designers
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
### 4. [Service Layer Architecture](./architecture-04-service-layer.md)
|
|
49
|
-
Explore the organization and responsibilities of SDK services.
|
|
50
|
-
|
|
51
|
-
- Service module organization (12 modules)
|
|
52
|
-
- Batch, Core, Mapping, Transformation services
|
|
53
|
-
- Resolver, Integration, and S3 services
|
|
54
|
-
- Orchestration and Validation layers
|
|
55
|
-
- Data sources and parsers
|
|
56
|
-
- Service communication patterns
|
|
57
|
-
|
|
58
|
-
**Best for:** SDK contributors, advanced integration developers
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
### 5. [Integration Architecture](./architecture-05-integration-architecture.md)
|
|
63
|
-
Learn how the SDK integrates with external systems.
|
|
64
|
-
|
|
65
|
-
- **Fluent Commerce:** OAuth2, GraphQL, Batch API
|
|
66
|
-
- **Amazon S3:** Presigned URLs, AWS SDK, streaming
|
|
67
|
-
- **SFTP:** SSH connections, file operations
|
|
68
|
-
- **Versori Platform:** KV storage, webhooks, connections
|
|
69
|
-
- Cross-system data flows
|
|
70
|
-
- Security considerations
|
|
71
|
-
|
|
72
|
-
**Best for:** DevOps engineers, integration specialists, security teams
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
### 6. [State Management Architecture](./architecture-06-state-management.md)
|
|
77
|
-
Understand distributed state management and file deduplication.
|
|
78
|
-
|
|
79
|
-
- File deduplication system
|
|
80
|
-
- Job caching for DAILY strategy
|
|
81
|
-
- Batch counting for BATCHES_PER_JOB
|
|
82
|
-
- Distributed locking mechanism
|
|
83
|
-
- KV adapter interface
|
|
84
|
-
- State versioning and migration
|
|
85
|
-
|
|
86
|
-
**Best for:** Workflow developers, reliability engineers
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Quick Reference Diagrams
|
|
91
|
-
|
|
92
|
-
### System Architecture
|
|
93
|
-
|
|
94
|
-
```mermaid
|
|
95
|
-
graph TB
|
|
96
|
-
APP[Your Application] --> SDK[FC Connect SDK]
|
|
97
|
-
|
|
98
|
-
SDK --> CLIENT[Client Layer]
|
|
99
|
-
SDK --> SERVICES[Service Layer]
|
|
100
|
-
SDK --> DATA[Data Layer]
|
|
101
|
-
|
|
102
|
-
CLIENT --> FLUENT[Fluent Commerce]
|
|
103
|
-
SERVICES --> S3[Amazon S3]
|
|
104
|
-
DATA --> SFTP[SFTP Servers]
|
|
105
|
-
SDK --> VERSORI[Versori Platform]
|
|
106
|
-
|
|
107
|
-
style APP fill:#e3f2fd
|
|
108
|
-
style SDK fill:#fff4e6
|
|
109
|
-
style FLUENT fill:#e8f5e9
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### Core Design Patterns
|
|
113
|
-
|
|
114
|
-
```mermaid
|
|
115
|
-
graph LR
|
|
116
|
-
FACTORY[Universal<br/>Client Factory] --> CONTEXT[Context<br/>Detection]
|
|
117
|
-
CONTEXT --> STATELESS[Stateless<br/>Services]
|
|
118
|
-
STATELESS --> MAPPER[Universal<br/>Mapping]
|
|
119
|
-
MAPPER --> STREAM[Streaming<br/>Processing]
|
|
120
|
-
STREAM --> STATE[Distributed<br/>State]
|
|
121
|
-
|
|
122
|
-
style FACTORY fill:#e3f2fd
|
|
123
|
-
style MAPPER fill:#fff3e0
|
|
124
|
-
style STREAM fill:#e8f5e9
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
## Architecture Principles
|
|
128
|
-
|
|
129
|
-
### 1. Universal Compatibility
|
|
130
|
-
- **Single codebase** works across Node.js, Deno, and Versori
|
|
131
|
-
- **Context detection** automatically adapts to runtime
|
|
132
|
-
- **Consistent API** regardless of environment
|
|
133
|
-
|
|
134
|
-
### 2. Layered Design
|
|
135
|
-
- Clear separation between client, service, and data layers
|
|
136
|
-
- Services can be used independently or orchestrated
|
|
137
|
-
- Easy to test, maintain, and extend
|
|
138
|
-
|
|
139
|
-
### 3. Stateless & Parallel-Safe
|
|
140
|
-
- All operations are stateless and idempotent
|
|
141
|
-
- Safe to call methods in parallel (`Promise.all`)
|
|
142
|
-
- Distributed state management via KV storage
|
|
143
|
-
|
|
144
|
-
### 4. Streaming-First
|
|
145
|
-
- Handle large files without memory issues
|
|
146
|
-
- Process data incrementally
|
|
147
|
-
- Constant memory footprint
|
|
148
|
-
|
|
149
|
-
### 5. Universal Mapping
|
|
150
|
-
- One mapping configuration for all transformations
|
|
151
|
-
- CSV ingestion, XML transformation, JSON extraction
|
|
152
|
-
- Consistent field resolution priority
|
|
153
|
-
|
|
154
|
-
### 6. Smart Error Handling
|
|
155
|
-
- 4xx errors: Fail fast, no retry
|
|
156
|
-
- 5xx errors: Exponential backoff
|
|
157
|
-
- Job expiration: Auto-recreation
|
|
158
|
-
- Configurable error strategies
|
|
159
|
-
|
|
160
|
-
## Architecture Decision Records (ADRs)
|
|
161
|
-
|
|
162
|
-
### Why Universal Client Factory?
|
|
163
|
-
|
|
164
|
-
**Problem:** Different runtimes (Node.js, Deno, Versori) require different authentication and configuration.
|
|
165
|
-
|
|
166
|
-
**Solution:** Single `createClient()` factory detects context and returns appropriate client implementation.
|
|
167
|
-
|
|
168
|
-
**Benefits:**
|
|
169
|
-
- Write once, run anywhere
|
|
170
|
-
- No runtime-specific code in applications
|
|
171
|
-
- Easy to add new runtime support
|
|
172
|
-
|
|
173
|
-
### Why Universal Mapping?
|
|
174
|
-
|
|
175
|
-
**Problem:** Different data transformations (CSV ingestion, XML mutation, extraction) used separate mapping systems.
|
|
176
|
-
|
|
177
|
-
**Solution:** Single mapping configuration format with consistent field resolution.
|
|
178
|
-
|
|
179
|
-
**Benefits:**
|
|
180
|
-
- Learn once, use everywhere
|
|
181
|
-
- Reduced complexity
|
|
182
|
-
- Easier to maintain and test
|
|
183
|
-
|
|
184
|
-
### Why Presigned URLs for S3?
|
|
185
|
-
|
|
186
|
-
**Problem:** AWS SDK doesn't work in all environments (browsers, Versori platform).
|
|
187
|
-
|
|
188
|
-
**Solution:** Generate presigned URLs for S3 operations using SigV4 signing.
|
|
189
|
-
|
|
190
|
-
**Benefits:**
|
|
191
|
-
- Works in restricted environments
|
|
192
|
-
- No AWS SDK dependency required
|
|
193
|
-
- Temporary, secure access
|
|
194
|
-
- Cross-account support
|
|
195
|
-
|
|
196
|
-
### Why KV-Based State Management?
|
|
197
|
-
|
|
198
|
-
**Problem:** Multiple workflow executions need to coordinate and avoid duplicate processing.
|
|
199
|
-
|
|
200
|
-
**Solution:** Key-value storage for distributed state with file deduplication and locking.
|
|
201
|
-
|
|
202
|
-
**Benefits:**
|
|
203
|
-
- Works across platforms (Versori KV, Redis, custom)
|
|
204
|
-
- Prevents duplicate file processing
|
|
205
|
-
- Enables job caching and batch counting
|
|
206
|
-
- Distributed locking with stale detection
|
|
207
|
-
|
|
208
|
-
## Performance Characteristics
|
|
209
|
-
|
|
210
|
-
### Memory Usage
|
|
211
|
-
- **Constant:** Streaming parsers maintain constant memory
|
|
212
|
-
- **Low:** Batch operations chunk data into manageable sizes
|
|
213
|
-
- **Configurable:** Adjust batch sizes based on environment
|
|
214
|
-
|
|
215
|
-
### Throughput
|
|
216
|
-
- **Parallel:** Stateless design enables parallel API calls
|
|
217
|
-
- **Optimized:** Single-page optimization for small datasets
|
|
218
|
-
- **Streaming:** Process large files without loading entirely
|
|
219
|
-
|
|
220
|
-
### Latency
|
|
221
|
-
- **Minimal:** Direct API communication without middleware
|
|
222
|
-
- **Cached:** OAuth2 tokens cached to avoid repeated auth
|
|
223
|
-
- **Retry:** Smart retry logic for transient failures
|
|
224
|
-
|
|
225
|
-
## Testing Strategy
|
|
226
|
-
|
|
227
|
-
### Unit Tests
|
|
228
|
-
- Test individual services in isolation
|
|
229
|
-
- Mock external dependencies
|
|
230
|
-
- Fast feedback loop
|
|
231
|
-
|
|
232
|
-
### Integration Tests
|
|
233
|
-
- Test service interactions
|
|
234
|
-
- Use MockFluentClient for API simulation
|
|
235
|
-
- Validate end-to-end flows
|
|
236
|
-
|
|
237
|
-
### Runtime Tests
|
|
238
|
-
- Deno compatibility validation
|
|
239
|
-
- Versori platform integration
|
|
240
|
-
- Cross-runtime consistency
|
|
241
|
-
|
|
242
|
-
## Contributing to Architecture
|
|
243
|
-
|
|
244
|
-
When proposing architectural changes:
|
|
245
|
-
|
|
246
|
-
1. **Document the problem** clearly
|
|
247
|
-
2. **Propose solution** with diagrams
|
|
248
|
-
3. **Consider impact** on existing integrations
|
|
249
|
-
4. **Add tests** for new patterns
|
|
250
|
-
5. **Update documentation** including architecture docs
|
|
251
|
-
|
|
252
|
-
## Further Reading
|
|
253
|
-
|
|
254
|
-
### Guides
|
|
255
|
-
- [Getting Started](../../00-START-HERE/getting-started.md) - Quick start guide
|
|
256
|
-
- [Universal Mapping Guide](../../02-CORE-GUIDES/mapping/mapping-readme.md) - Field mapping patterns
|
|
257
|
-
- [GraphQL Mutation Mapping](../../02-CORE-GUIDES/mapping/graphql-mutation-mapping/) - XML/JSON to GraphQL
|
|
258
|
-
|
|
259
|
-
### Use Cases
|
|
260
|
-
- [Inventory Ingestion](../../01-TEMPLATES/versori/workflows/readme.md) - Ingestion templates
|
|
261
|
-
- [Data Extraction](../../01-TEMPLATES/versori/workflows/readme.md) - Extraction templates
|
|
262
|
-
- [Order Transformation](../../01-TEMPLATES/versori/webhooks/)
|
|
263
|
-
|
|
264
|
-
### API Reference
|
|
265
|
-
- [API Documentation](../../02-CORE-GUIDES/api-reference/) - Complete API documentation
|
|
266
|
-
|
|
267
|
-
## Feedback
|
|
268
|
-
|
|
269
|
-
Have questions or suggestions about the architecture?
|
|
270
|
-
|
|
271
|
-
- **GitHub Issues:** [Report issues or suggest improvements](https://github.com/fluentcommerce/fc-connect-sdk/issues)
|
|
272
|
-
- **Documentation:** Found something unclear? Let us know!
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
**Next Steps:**
|
|
277
|
-
1. Start with [Architecture Overview](./architecture-01-overview.md) for the big picture
|
|
278
|
-
2. Dive into [Client Architecture](./architecture-02-client-architecture.md) for authentication details
|
|
279
|
-
3. Explore [Data Flow](./architecture-03-data-flow.md) for integration patterns
|
|
1
|
+
# FC Connect SDK - Architecture Documentation
|
|
2
|
+
|
|
3
|
+
Welcome to the FC Connect SDK architecture documentation. This guide explains how the SDK works internally and helps you understand the design decisions behind its implementation.
|
|
4
|
+
|
|
5
|
+
## Documentation Structure
|
|
6
|
+
|
|
7
|
+
### 1. [Architecture Overview](./architecture-01-overview.md)
|
|
8
|
+
**Start here!** Get a high-level understanding of the SDK architecture.
|
|
9
|
+
|
|
10
|
+
- What is the FC Connect SDK?
|
|
11
|
+
- High-level system architecture
|
|
12
|
+
- Core concepts and design principles
|
|
13
|
+
- Common use cases with diagrams
|
|
14
|
+
- Multi-runtime support
|
|
15
|
+
|
|
16
|
+
**Best for:** First-time readers, architects, technical decision-makers
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
### 2. [Client Architecture](./architecture-02-client-architecture.md)
|
|
21
|
+
Deep dive into client creation, authentication, and runtime detection.
|
|
22
|
+
|
|
23
|
+
- Universal client factory pattern
|
|
24
|
+
- FluentClient vs FluentVersoriClient
|
|
25
|
+
- OAuth2 authentication flow
|
|
26
|
+
- Platform auth integration
|
|
27
|
+
- Context detection mechanism
|
|
28
|
+
- Shared service layer
|
|
29
|
+
|
|
30
|
+
**Best for:** Developers implementing custom integrations, understanding authentication
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
### 3. [Data Flow Architecture](./architecture-03-data-flow.md)
|
|
35
|
+
Understand how data flows through the SDK for different operations.
|
|
36
|
+
|
|
37
|
+
- **Ingestion flow:** External files → Fluent Commerce
|
|
38
|
+
- **Extraction flow:** Fluent Commerce → External storage
|
|
39
|
+
- **Transformation flow:** External data → GraphQL mutations
|
|
40
|
+
- Universal mapping engine
|
|
41
|
+
- State management integration
|
|
42
|
+
- Error handling strategies
|
|
43
|
+
|
|
44
|
+
**Best for:** Integration developers, data engineers, workflow designers
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
### 4. [Service Layer Architecture](./architecture-04-service-layer.md)
|
|
49
|
+
Explore the organization and responsibilities of SDK services.
|
|
50
|
+
|
|
51
|
+
- Service module organization (12 modules)
|
|
52
|
+
- Batch, Core, Mapping, Transformation services
|
|
53
|
+
- Resolver, Integration, and S3 services
|
|
54
|
+
- Orchestration and Validation layers
|
|
55
|
+
- Data sources and parsers
|
|
56
|
+
- Service communication patterns
|
|
57
|
+
|
|
58
|
+
**Best for:** SDK contributors, advanced integration developers
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
### 5. [Integration Architecture](./architecture-05-integration-architecture.md)
|
|
63
|
+
Learn how the SDK integrates with external systems.
|
|
64
|
+
|
|
65
|
+
- **Fluent Commerce:** OAuth2, GraphQL, Batch API
|
|
66
|
+
- **Amazon S3:** Presigned URLs, AWS SDK, streaming
|
|
67
|
+
- **SFTP:** SSH connections, file operations
|
|
68
|
+
- **Versori Platform:** KV storage, webhooks, connections
|
|
69
|
+
- Cross-system data flows
|
|
70
|
+
- Security considerations
|
|
71
|
+
|
|
72
|
+
**Best for:** DevOps engineers, integration specialists, security teams
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### 6. [State Management Architecture](./architecture-06-state-management.md)
|
|
77
|
+
Understand distributed state management and file deduplication.
|
|
78
|
+
|
|
79
|
+
- File deduplication system
|
|
80
|
+
- Job caching for DAILY strategy
|
|
81
|
+
- Batch counting for BATCHES_PER_JOB
|
|
82
|
+
- Distributed locking mechanism
|
|
83
|
+
- KV adapter interface
|
|
84
|
+
- State versioning and migration
|
|
85
|
+
|
|
86
|
+
**Best for:** Workflow developers, reliability engineers
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Quick Reference Diagrams
|
|
91
|
+
|
|
92
|
+
### System Architecture
|
|
93
|
+
|
|
94
|
+
```mermaid
|
|
95
|
+
graph TB
|
|
96
|
+
APP[Your Application] --> SDK[FC Connect SDK]
|
|
97
|
+
|
|
98
|
+
SDK --> CLIENT[Client Layer]
|
|
99
|
+
SDK --> SERVICES[Service Layer]
|
|
100
|
+
SDK --> DATA[Data Layer]
|
|
101
|
+
|
|
102
|
+
CLIENT --> FLUENT[Fluent Commerce]
|
|
103
|
+
SERVICES --> S3[Amazon S3]
|
|
104
|
+
DATA --> SFTP[SFTP Servers]
|
|
105
|
+
SDK --> VERSORI[Versori Platform]
|
|
106
|
+
|
|
107
|
+
style APP fill:#e3f2fd
|
|
108
|
+
style SDK fill:#fff4e6
|
|
109
|
+
style FLUENT fill:#e8f5e9
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Core Design Patterns
|
|
113
|
+
|
|
114
|
+
```mermaid
|
|
115
|
+
graph LR
|
|
116
|
+
FACTORY[Universal<br/>Client Factory] --> CONTEXT[Context<br/>Detection]
|
|
117
|
+
CONTEXT --> STATELESS[Stateless<br/>Services]
|
|
118
|
+
STATELESS --> MAPPER[Universal<br/>Mapping]
|
|
119
|
+
MAPPER --> STREAM[Streaming<br/>Processing]
|
|
120
|
+
STREAM --> STATE[Distributed<br/>State]
|
|
121
|
+
|
|
122
|
+
style FACTORY fill:#e3f2fd
|
|
123
|
+
style MAPPER fill:#fff3e0
|
|
124
|
+
style STREAM fill:#e8f5e9
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Architecture Principles
|
|
128
|
+
|
|
129
|
+
### 1. Universal Compatibility
|
|
130
|
+
- **Single codebase** works across Node.js, Deno, and Versori
|
|
131
|
+
- **Context detection** automatically adapts to runtime
|
|
132
|
+
- **Consistent API** regardless of environment
|
|
133
|
+
|
|
134
|
+
### 2. Layered Design
|
|
135
|
+
- Clear separation between client, service, and data layers
|
|
136
|
+
- Services can be used independently or orchestrated
|
|
137
|
+
- Easy to test, maintain, and extend
|
|
138
|
+
|
|
139
|
+
### 3. Stateless & Parallel-Safe
|
|
140
|
+
- All operations are stateless and idempotent
|
|
141
|
+
- Safe to call methods in parallel (`Promise.all`)
|
|
142
|
+
- Distributed state management via KV storage
|
|
143
|
+
|
|
144
|
+
### 4. Streaming-First
|
|
145
|
+
- Handle large files without memory issues
|
|
146
|
+
- Process data incrementally
|
|
147
|
+
- Constant memory footprint
|
|
148
|
+
|
|
149
|
+
### 5. Universal Mapping
|
|
150
|
+
- One mapping configuration for all transformations
|
|
151
|
+
- CSV ingestion, XML transformation, JSON extraction
|
|
152
|
+
- Consistent field resolution priority
|
|
153
|
+
|
|
154
|
+
### 6. Smart Error Handling
|
|
155
|
+
- 4xx errors: Fail fast, no retry
|
|
156
|
+
- 5xx errors: Exponential backoff
|
|
157
|
+
- Job expiration: Auto-recreation
|
|
158
|
+
- Configurable error strategies
|
|
159
|
+
|
|
160
|
+
## Architecture Decision Records (ADRs)
|
|
161
|
+
|
|
162
|
+
### Why Universal Client Factory?
|
|
163
|
+
|
|
164
|
+
**Problem:** Different runtimes (Node.js, Deno, Versori) require different authentication and configuration.
|
|
165
|
+
|
|
166
|
+
**Solution:** Single `createClient()` factory detects context and returns appropriate client implementation.
|
|
167
|
+
|
|
168
|
+
**Benefits:**
|
|
169
|
+
- Write once, run anywhere
|
|
170
|
+
- No runtime-specific code in applications
|
|
171
|
+
- Easy to add new runtime support
|
|
172
|
+
|
|
173
|
+
### Why Universal Mapping?
|
|
174
|
+
|
|
175
|
+
**Problem:** Different data transformations (CSV ingestion, XML mutation, extraction) used separate mapping systems.
|
|
176
|
+
|
|
177
|
+
**Solution:** Single mapping configuration format with consistent field resolution.
|
|
178
|
+
|
|
179
|
+
**Benefits:**
|
|
180
|
+
- Learn once, use everywhere
|
|
181
|
+
- Reduced complexity
|
|
182
|
+
- Easier to maintain and test
|
|
183
|
+
|
|
184
|
+
### Why Presigned URLs for S3?
|
|
185
|
+
|
|
186
|
+
**Problem:** AWS SDK doesn't work in all environments (browsers, Versori platform).
|
|
187
|
+
|
|
188
|
+
**Solution:** Generate presigned URLs for S3 operations using SigV4 signing.
|
|
189
|
+
|
|
190
|
+
**Benefits:**
|
|
191
|
+
- Works in restricted environments
|
|
192
|
+
- No AWS SDK dependency required
|
|
193
|
+
- Temporary, secure access
|
|
194
|
+
- Cross-account support
|
|
195
|
+
|
|
196
|
+
### Why KV-Based State Management?
|
|
197
|
+
|
|
198
|
+
**Problem:** Multiple workflow executions need to coordinate and avoid duplicate processing.
|
|
199
|
+
|
|
200
|
+
**Solution:** Key-value storage for distributed state with file deduplication and locking.
|
|
201
|
+
|
|
202
|
+
**Benefits:**
|
|
203
|
+
- Works across platforms (Versori KV, Redis, custom)
|
|
204
|
+
- Prevents duplicate file processing
|
|
205
|
+
- Enables job caching and batch counting
|
|
206
|
+
- Distributed locking with stale detection
|
|
207
|
+
|
|
208
|
+
## Performance Characteristics
|
|
209
|
+
|
|
210
|
+
### Memory Usage
|
|
211
|
+
- **Constant:** Streaming parsers maintain constant memory
|
|
212
|
+
- **Low:** Batch operations chunk data into manageable sizes
|
|
213
|
+
- **Configurable:** Adjust batch sizes based on environment
|
|
214
|
+
|
|
215
|
+
### Throughput
|
|
216
|
+
- **Parallel:** Stateless design enables parallel API calls
|
|
217
|
+
- **Optimized:** Single-page optimization for small datasets
|
|
218
|
+
- **Streaming:** Process large files without loading entirely
|
|
219
|
+
|
|
220
|
+
### Latency
|
|
221
|
+
- **Minimal:** Direct API communication without middleware
|
|
222
|
+
- **Cached:** OAuth2 tokens cached to avoid repeated auth
|
|
223
|
+
- **Retry:** Smart retry logic for transient failures
|
|
224
|
+
|
|
225
|
+
## Testing Strategy
|
|
226
|
+
|
|
227
|
+
### Unit Tests
|
|
228
|
+
- Test individual services in isolation
|
|
229
|
+
- Mock external dependencies
|
|
230
|
+
- Fast feedback loop
|
|
231
|
+
|
|
232
|
+
### Integration Tests
|
|
233
|
+
- Test service interactions
|
|
234
|
+
- Use MockFluentClient for API simulation
|
|
235
|
+
- Validate end-to-end flows
|
|
236
|
+
|
|
237
|
+
### Runtime Tests
|
|
238
|
+
- Deno compatibility validation
|
|
239
|
+
- Versori platform integration
|
|
240
|
+
- Cross-runtime consistency
|
|
241
|
+
|
|
242
|
+
## Contributing to Architecture
|
|
243
|
+
|
|
244
|
+
When proposing architectural changes:
|
|
245
|
+
|
|
246
|
+
1. **Document the problem** clearly
|
|
247
|
+
2. **Propose solution** with diagrams
|
|
248
|
+
3. **Consider impact** on existing integrations
|
|
249
|
+
4. **Add tests** for new patterns
|
|
250
|
+
5. **Update documentation** including architecture docs
|
|
251
|
+
|
|
252
|
+
## Further Reading
|
|
253
|
+
|
|
254
|
+
### Guides
|
|
255
|
+
- [Getting Started](../../00-START-HERE/getting-started.md) - Quick start guide
|
|
256
|
+
- [Universal Mapping Guide](../../02-CORE-GUIDES/mapping/mapping-readme.md) - Field mapping patterns
|
|
257
|
+
- [GraphQL Mutation Mapping](../../02-CORE-GUIDES/mapping/graphql-mutation-mapping/) - XML/JSON to GraphQL
|
|
258
|
+
|
|
259
|
+
### Use Cases
|
|
260
|
+
- [Inventory Ingestion](../../01-TEMPLATES/versori/workflows/readme.md) - Ingestion templates
|
|
261
|
+
- [Data Extraction](../../01-TEMPLATES/versori/workflows/readme.md) - Extraction templates
|
|
262
|
+
- [Order Transformation](../../01-TEMPLATES/versori/webhooks/)
|
|
263
|
+
|
|
264
|
+
### API Reference
|
|
265
|
+
- [API Documentation](../../02-CORE-GUIDES/api-reference/) - Complete API documentation
|
|
266
|
+
|
|
267
|
+
## Feedback
|
|
268
|
+
|
|
269
|
+
Have questions or suggestions about the architecture?
|
|
270
|
+
|
|
271
|
+
- **GitHub Issues:** [Report issues or suggest improvements](https://github.com/fluentcommerce/fc-connect-sdk/issues)
|
|
272
|
+
- **Documentation:** Found something unclear? Let us know!
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
**Next Steps:**
|
|
277
|
+
1. Start with [Architecture Overview](./architecture-01-overview.md) for the big picture
|
|
278
|
+
2. Dive into [Client Architecture](./architecture-02-client-architecture.md) for authentication details
|
|
279
|
+
3. Explore [Data Flow](./architecture-03-data-flow.md) for integration patterns
|