@fluentcommerce/fc-connect-sdk 0.1.53 → 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 +30 -2
- package/README.md +39 -0
- package/dist/cjs/auth/index.d.ts +3 -0
- package/dist/cjs/auth/index.js +13 -0
- package/dist/cjs/auth/profile-loader.d.ts +18 -0
- package/dist/cjs/auth/profile-loader.js +208 -0
- package/dist/cjs/client-factory.d.ts +4 -0
- package/dist/cjs/client-factory.js +10 -0
- package/dist/cjs/clients/fluent-client.js +13 -6
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/utils/pagination-helpers.js +38 -2
- package/dist/cjs/versori/fluent-versori-client.js +11 -5
- package/dist/esm/auth/index.d.ts +3 -0
- package/dist/esm/auth/index.js +2 -0
- package/dist/esm/auth/profile-loader.d.ts +18 -0
- package/dist/esm/auth/profile-loader.js +169 -0
- package/dist/esm/client-factory.d.ts +4 -0
- package/dist/esm/client-factory.js +9 -0
- package/dist/esm/clients/fluent-client.js +13 -6
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.js +2 -1
- 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/dist/types/auth/index.d.ts +3 -0
- package/dist/types/auth/profile-loader.d.ts +18 -0
- package/dist/types/client-factory.d.ts +4 -0
- package/dist/types/index.d.ts +3 -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 -482
- 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
|
@@ -1,286 +1,286 @@
|
|
|
1
|
-
# Testing Learning Path
|
|
2
|
-
|
|
3
|
-
> **Complete guide to testing utilities in the Fluent Connect SDK**
|
|
4
|
-
> Progressive learning modules with real examples and production-ready patterns
|
|
5
|
-
|
|
6
|
-
## 📚 What You'll Learn
|
|
7
|
-
|
|
8
|
-
This guide teaches you how to validate integrations, test connectivity, and ensure reliability using the SDK's comprehensive testing utilities. By the end, you'll understand:
|
|
9
|
-
|
|
10
|
-
- ✅ How to test S3 connectivity using SDK and presigned URL approaches
|
|
11
|
-
- ✅ How to validate Fluent Commerce API connections
|
|
12
|
-
- ✅ How to compare SDK vs presigned URL performance
|
|
13
|
-
- ✅ How to implement health check endpoints
|
|
14
|
-
- ✅ How to debug and troubleshoot test failures
|
|
15
|
-
- ✅ How to integrate tests into CI/CD pipelines
|
|
16
|
-
|
|
17
|
-
## 🎯 Learning Path Overview
|
|
18
|
-
|
|
19
|
-
This guide is organized into **8 progressive modules**. Follow them in order for the best learning experience:
|
|
20
|
-
|
|
21
|
-
| Module | Topic | Level |
|
|
22
|
-
|--------|-------|-------|
|
|
23
|
-
| [Module 1](../../02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md) | **Foundations** - Overview of testing utilities and test result types | Beginner |
|
|
24
|
-
| [Module 2](./modules/04-reference-testing-02-s3-testing.md) | **S3 Testing** - S3SDKTester, S3PresignedTester, S3ComparisonTester | Beginner |
|
|
25
|
-
| [Module 3](./modules/04-reference-testing-03-fluent-testing.md) | **Fluent Testing** - FluentConnectionTester and health checks | Beginner |
|
|
26
|
-
| [Module 4](./modules/04-reference-testing-04-integration-testing.md) | **Integration Testing** - End-to-end ingestion tests, performance testing | Intermediate |
|
|
27
|
-
| [Module 5](./modules/04-reference-testing-05-debugging.md) | **Debugging** - Verbose logging, error analysis, troubleshooting | Intermediate |
|
|
28
|
-
| [Module 6](./modules/04-reference-testing-06-cicd-integration.md) | **CI/CD Integration** - GitHub Actions, test scripts, automation | Intermediate |
|
|
29
|
-
| [Module 7](./modules/04-reference-testing-07-best-practices.md) | **Best Practices** - Testing strategies, common issues, tips | Intermediate |
|
|
30
|
-
| [Module 8](../../03-PATTERN-GUIDES/error-handling/modules/error-handling-08-api-reference.md) | **API Reference** - Complete API documentation for all testers | Reference |
|
|
31
|
-
|
|
32
|
-
## 🚀 Quick Navigation
|
|
33
|
-
|
|
34
|
-
### By Use Case
|
|
35
|
-
|
|
36
|
-
- **First time testing connectivity?** → Start with [Module 1: Foundations](../../02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md)
|
|
37
|
-
- **Need to test S3 access?** → Jump to [Module 2: S3 Testing](./modules/04-reference-testing-02-s3-testing.md)
|
|
38
|
-
- **Testing Fluent API connection?** → See [Module 3: Fluent Testing](./modules/04-reference-testing-03-fluent-testing.md)
|
|
39
|
-
- **Building integration tests?** → Check [Module 4: Integration Testing](./modules/04-reference-testing-04-integration-testing.md)
|
|
40
|
-
- **Experiencing test failures?** → See [Module 5: Debugging](./modules/04-reference-testing-05-debugging.md)
|
|
41
|
-
- **Want code examples?** → Browse [Examples Directory](./examples/)
|
|
42
|
-
|
|
43
|
-
### By Testing Scenario
|
|
44
|
-
|
|
45
|
-
Different testing scenarios require different testers:
|
|
46
|
-
|
|
47
|
-
| Testing Need | Tester | Complexity | Example |
|
|
48
|
-
|-------------|--------|------------|---------|
|
|
49
|
-
| S3 SDK connectivity | `S3SDKTester` | Simple | [Example](./examples/s3-testing.ts) |
|
|
50
|
-
| S3 presigned URLs | `S3PresignedTester` | Simple | [Example](./examples/s3-testing.ts) |
|
|
51
|
-
| Compare S3 approaches | `S3ComparisonTester` | Medium | [Example](./examples/s3-testing.ts) |
|
|
52
|
-
| Fluent API connectivity | `FluentConnectionTester` | Simple | [Example](./examples/fluent-testing.ts) |
|
|
53
|
-
| Health check endpoint | `FluentConnectionTester` | Medium | [Example](./examples/health-check.ts) |
|
|
54
|
-
| End-to-end ingestion | Multiple testers | Complex | [Example](./examples/integration-test.ts) |
|
|
55
|
-
|
|
56
|
-
## 📖 Quick Reference
|
|
57
|
-
|
|
58
|
-
For quick lookups, see:
|
|
59
|
-
- [Quick Reference Cheat Sheet](../../02-CORE-GUIDES/advanced-services/advanced-services-quick-reference.md) - All testers and methods on one page
|
|
60
|
-
- [Common Patterns](./examples/04-REFERENCE-testing-readme.md) - Copy-paste ready snippets
|
|
61
|
-
- [Debugging Guide](./modules/04-reference-testing-05-debugging.md) - Error messages and fixes
|
|
62
|
-
|
|
63
|
-
## 🎓 Prerequisites
|
|
64
|
-
|
|
65
|
-
Before starting this guide, you should:
|
|
66
|
-
|
|
67
|
-
1. ✅ Have the SDK installed: `npm install @fluentcommerce/fc-connect-sdk^0.1.23`
|
|
68
|
-
2. ✅ Have AWS credentials for S3 testing (accessKeyId, secretAccessKey)
|
|
69
|
-
3. ✅ Have Fluent API credentials for API testing (clientId, clientSecret, username, password)
|
|
70
|
-
4. ✅ Be familiar with basic SDK usage (`createClient`, basic operations)
|
|
71
|
-
|
|
72
|
-
**New to the SDK?** Start with the [Getting Started Guide](../../00-START-HERE/getting-started.md) first.
|
|
73
|
-
|
|
74
|
-
## 🔍 Key Concepts at a Glance
|
|
75
|
-
|
|
76
|
-
### What Are Testing Utilities?
|
|
77
|
-
|
|
78
|
-
The SDK provides specialized testing utilities to validate connectivity and operations:
|
|
79
|
-
|
|
80
|
-
```typescript
|
|
81
|
-
// ❌ WITHOUT testing utilities: Manual curl/aws cli commands, unclear results
|
|
82
|
-
// $ aws s3 ls s3://my-bucket
|
|
83
|
-
// $ curl -X POST https://api.fluentcommerce.com/graphql ...
|
|
84
|
-
// Hard to automate, inconsistent error handling, no structured results
|
|
85
|
-
|
|
86
|
-
// ✅ WITH testing utilities: Programmatic, standardized results, easy automation
|
|
87
|
-
import { S3SDKTester, FluentConnectionTester, createClient } from '@fluentcommerce/fc-connect-sdk';
|
|
88
|
-
|
|
89
|
-
// Test S3 connectivity
|
|
90
|
-
const s3Tester = new S3SDKTester({
|
|
91
|
-
accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
|
|
92
|
-
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!,
|
|
93
|
-
region: 'us-east-1'
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
const s3Results = await s3Tester.testAll('test-bucket');
|
|
97
|
-
console.log(`S3 Tests: ${s3Results.summary.passed}/${s3Results.summary.total} passed`);
|
|
98
|
-
console.log(`Success rate: ${s3Results.summary.successRate}%`);
|
|
99
|
-
|
|
100
|
-
// Test Fluent API connectivity
|
|
101
|
-
const client = await createClient({
|
|
102
|
-
config: {
|
|
103
|
-
baseUrl: process.env.FLUENT_BASE_URL!,
|
|
104
|
-
clientId: process.env.FLUENT_CLIENT_ID!,
|
|
105
|
-
clientSecret: process.env.FLUENT_CLIENT_SECRET!,
|
|
106
|
-
username: process.env.FLUENT_USERNAME!,
|
|
107
|
-
password: process.env.FLUENT_PASSWORD!,
|
|
108
|
-
retailerId: process.env.FLUENT_RETAILER_ID!
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
const fluentTester = new FluentConnectionTester(client, {
|
|
113
|
-
retailerId: process.env.FLUENT_RETAILER_ID!,
|
|
114
|
-
logger: console
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
const fluentResult = await fluentTester.testConnection();
|
|
118
|
-
console.log(`Fluent API: ${fluentResult.success ? '✅ CONNECTED' : '❌ FAILED'}`);
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### When to Use Each Tester
|
|
122
|
-
|
|
123
|
-
| Tester | Use When | Best For |
|
|
124
|
-
|--------|---------|---------|
|
|
125
|
-
| **S3SDKTester** | Testing AWS SDK approach | Node.js/server-side S3 access |
|
|
126
|
-
| **S3PresignedTester** | Testing presigned URL approach | Browser/client-side S3 access |
|
|
127
|
-
| **S3ComparisonTester** | Deciding between approaches | Performance benchmarking |
|
|
128
|
-
| **FluentConnectionTester** | Testing Fluent API | API connectivity, health checks |
|
|
129
|
-
|
|
130
|
-
### Benefits of Testing Utilities
|
|
131
|
-
|
|
132
|
-
| Aspect | Manual Testing | SDK Testing Utilities |
|
|
133
|
-
|--------|----------------|---------------------|
|
|
134
|
-
| **Consistency** | Varies by developer | Standardized approach |
|
|
135
|
-
| **Automation** | Difficult | Easy CI/CD integration |
|
|
136
|
-
| **Error Reporting** | Generic errors | Detailed, categorized errors |
|
|
137
|
-
| **Performance Metrics** | Manual timing | Built-in duration tracking |
|
|
138
|
-
| **Result Structure** | Unstructured | Typed TestResult interface |
|
|
139
|
-
| **Debugging** | Manual analysis | Built-in error categorization |
|
|
140
|
-
|
|
141
|
-
## 🛠️ Complete Example
|
|
142
|
-
|
|
143
|
-
Here's a real-world example testing both S3 and Fluent connectivity:
|
|
144
|
-
|
|
145
|
-
```typescript
|
|
146
|
-
import {
|
|
147
|
-
S3SDKTester,
|
|
148
|
-
FluentConnectionTester,
|
|
149
|
-
createClient
|
|
150
|
-
} from '@fluentcommerce/fc-connect-sdk';
|
|
151
|
-
|
|
152
|
-
async function validateConnectivity() {
|
|
153
|
-
// Step 1: Test S3 connectivity
|
|
154
|
-
const s3Tester = new S3SDKTester({
|
|
155
|
-
accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
|
|
156
|
-
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!,
|
|
157
|
-
region: process.env.AWS_REGION!
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
console.log('Testing S3 connectivity...');
|
|
161
|
-
const s3Results = await s3Tester.testAll(process.env.S3_BUCKET!);
|
|
162
|
-
|
|
163
|
-
if (s3Results.summary.failed > 0) {
|
|
164
|
-
console.error(`❌ S3 tests failed: ${s3Results.summary.failed}/${s3Results.summary.total}`);
|
|
165
|
-
console.error('Failed tests:',
|
|
166
|
-
Object.entries(s3Results.tests)
|
|
167
|
-
.filter(([_, result]) => !result.success)
|
|
168
|
-
.map(([name]) => name)
|
|
169
|
-
);
|
|
170
|
-
return false;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
console.log(`✅ S3 tests passed: ${s3Results.summary.passed}/${s3Results.summary.total}`);
|
|
174
|
-
console.log(` Success rate: ${s3Results.summary.successRate.toFixed(1)}%`);
|
|
175
|
-
console.log(` Total duration: ${s3Results.summary.totalDuration}ms`);
|
|
176
|
-
console.log(` Average duration: ${s3Results.summary.averageDuration.toFixed(0)}ms`);
|
|
177
|
-
|
|
178
|
-
// Step 2: Test Fluent API connectivity
|
|
179
|
-
const client = await createClient({
|
|
180
|
-
config: {
|
|
181
|
-
baseUrl: process.env.FLUENT_BASE_URL!,
|
|
182
|
-
clientId: process.env.FLUENT_CLIENT_ID!,
|
|
183
|
-
clientSecret: process.env.FLUENT_CLIENT_SECRET!,
|
|
184
|
-
username: process.env.FLUENT_USERNAME!,
|
|
185
|
-
password: process.env.FLUENT_PASSWORD!,
|
|
186
|
-
retailerId: process.env.FLUENT_RETAILER_ID!
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
const fluentTester = new FluentConnectionTester(client, {
|
|
191
|
-
retailerId: process.env.FLUENT_RETAILER_ID!,
|
|
192
|
-
logger: console
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
console.log('Testing Fluent API connectivity...');
|
|
196
|
-
const fluentResult = await fluentTester.testConnection();
|
|
197
|
-
|
|
198
|
-
if (!fluentResult.success) {
|
|
199
|
-
console.error('❌ Fluent tests failed:', fluentResult.error);
|
|
200
|
-
return false;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
console.log(`✅ Fluent test passed (${fluentResult.duration}ms)`);
|
|
204
|
-
console.log(` User: ${fluentResult.details.username} (${fluentResult.details.userType})`);
|
|
205
|
-
console.log(` Retailer: ${fluentResult.details.retailerName} (${fluentResult.details.retailerRef})`);
|
|
206
|
-
if (fluentResult.details.locationName) {
|
|
207
|
-
console.log(` Location: ${fluentResult.details.locationName} (${fluentResult.details.locationRef})`);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
return true;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
// Run validation
|
|
214
|
-
validateConnectivity()
|
|
215
|
-
.then(success => {
|
|
216
|
-
if (success) {
|
|
217
|
-
console.log('🎉 All connectivity tests passed!');
|
|
218
|
-
process.exit(0);
|
|
219
|
-
} else {
|
|
220
|
-
console.error('💥 Connectivity validation failed');
|
|
221
|
-
process.exit(1);
|
|
222
|
-
}
|
|
223
|
-
})
|
|
224
|
-
.catch(error => {
|
|
225
|
-
console.error('💥 Unexpected error:', error);
|
|
226
|
-
process.exit(1);
|
|
227
|
-
});
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
**What this does:**
|
|
231
|
-
1. Tests S3 connectivity with 9 operations (list, write, read, copy, head, move, delete, multipart, select)
|
|
232
|
-
2. Tests Fluent API connectivity with the 'me' query
|
|
233
|
-
3. Returns structured results with detailed error information
|
|
234
|
-
4. Provides duration metrics and success rates for monitoring
|
|
235
|
-
|
|
236
|
-
## 📂 Repository Structure
|
|
237
|
-
|
|
238
|
-
```
|
|
239
|
-
docs/04-REFERENCE/testing/
|
|
240
|
-
├── readme.md # This file - main index
|
|
241
|
-
├── quick-reference.md # Cheat sheet for quick lookups
|
|
242
|
-
│
|
|
243
|
-
├── modules/ # Learning modules
|
|
244
|
-
│ ├── 01-foundations.md # Overview and test result types
|
|
245
|
-
│ ├── 02-s3-testing.md # S3 testing utilities
|
|
246
|
-
│ ├── 03-fluent-testing.md # Fluent API testing utilities
|
|
247
|
-
│ ├── 04-integration-testing.md # End-to-end tests
|
|
248
|
-
│ ├── 05-debugging.md # Debugging and troubleshooting
|
|
249
|
-
│ ├── 06-cicd-integration.md # CI/CD automation
|
|
250
|
-
│ ├── 07-best-practices.md # Testing best practices
|
|
251
|
-
│ └── 08-api-reference.md # Complete API docs
|
|
252
|
-
│
|
|
253
|
-
└── examples/ # Verified code examples
|
|
254
|
-
├── readme.md # Examples index
|
|
255
|
-
├── s3-testing.ts # S3 testing examples
|
|
256
|
-
├── fluent-testing.ts # Fluent API testing examples
|
|
257
|
-
├── integration-test.ts # End-to-end test example
|
|
258
|
-
└── health-check.ts # Health check endpoint
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
## 🔗 Related Documentation
|
|
262
|
-
|
|
263
|
-
- [Getting Started Guide](../../00-START-HERE/getting-started.md) - SDK installation and setup
|
|
264
|
-
- [Data Sources Guide](../../02-CORE-GUIDES/data-sources/) - S3 and SFTP operations
|
|
265
|
-
- [API Reference](../../02-CORE-GUIDES/api-reference/) - Complete SDK API
|
|
266
|
-
- [Error Handling Guide](../../03-PATTERN-GUIDES/error-handling/) - Error handling strategies
|
|
267
|
-
|
|
268
|
-
## 💡 Tips for Best Results
|
|
269
|
-
|
|
270
|
-
1. **Test early and often** - Run connectivity tests before starting development
|
|
271
|
-
2. **Use test environments** - Never test against production data
|
|
272
|
-
3. **Clean up test data** - Testers automatically clean up (but verify)
|
|
273
|
-
4. **Monitor performance** - Track test duration trends
|
|
274
|
-
5. **Automate tests** - Include in CI/CD pipeline
|
|
275
|
-
6. **Test error scenarios** - Validate error handling works correctly
|
|
276
|
-
|
|
277
|
-
## 🚦 Getting Started
|
|
278
|
-
|
|
279
|
-
Ready to begin? Start with [Module 1: Foundations →](../../02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md)
|
|
280
|
-
|
|
281
|
-
---
|
|
282
|
-
|
|
283
|
-
**Need Help?**
|
|
284
|
-
- 📖 Browse [Examples](./examples/)
|
|
285
|
-
- 🔍 Check [Debugging Module](./modules/04-reference-testing-05-debugging.md)
|
|
286
|
-
- 🐛 Report issues at GitHub
|
|
1
|
+
# Testing Learning Path
|
|
2
|
+
|
|
3
|
+
> **Complete guide to testing utilities in the Fluent Connect SDK**
|
|
4
|
+
> Progressive learning modules with real examples and production-ready patterns
|
|
5
|
+
|
|
6
|
+
## 📚 What You'll Learn
|
|
7
|
+
|
|
8
|
+
This guide teaches you how to validate integrations, test connectivity, and ensure reliability using the SDK's comprehensive testing utilities. By the end, you'll understand:
|
|
9
|
+
|
|
10
|
+
- ✅ How to test S3 connectivity using SDK and presigned URL approaches
|
|
11
|
+
- ✅ How to validate Fluent Commerce API connections
|
|
12
|
+
- ✅ How to compare SDK vs presigned URL performance
|
|
13
|
+
- ✅ How to implement health check endpoints
|
|
14
|
+
- ✅ How to debug and troubleshoot test failures
|
|
15
|
+
- ✅ How to integrate tests into CI/CD pipelines
|
|
16
|
+
|
|
17
|
+
## 🎯 Learning Path Overview
|
|
18
|
+
|
|
19
|
+
This guide is organized into **8 progressive modules**. Follow them in order for the best learning experience:
|
|
20
|
+
|
|
21
|
+
| Module | Topic | Level |
|
|
22
|
+
|--------|-------|-------|
|
|
23
|
+
| [Module 1](../../02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md) | **Foundations** - Overview of testing utilities and test result types | Beginner |
|
|
24
|
+
| [Module 2](./modules/04-reference-testing-02-s3-testing.md) | **S3 Testing** - S3SDKTester, S3PresignedTester, S3ComparisonTester | Beginner |
|
|
25
|
+
| [Module 3](./modules/04-reference-testing-03-fluent-testing.md) | **Fluent Testing** - FluentConnectionTester and health checks | Beginner |
|
|
26
|
+
| [Module 4](./modules/04-reference-testing-04-integration-testing.md) | **Integration Testing** - End-to-end ingestion tests, performance testing | Intermediate |
|
|
27
|
+
| [Module 5](./modules/04-reference-testing-05-debugging.md) | **Debugging** - Verbose logging, error analysis, troubleshooting | Intermediate |
|
|
28
|
+
| [Module 6](./modules/04-reference-testing-06-cicd-integration.md) | **CI/CD Integration** - GitHub Actions, test scripts, automation | Intermediate |
|
|
29
|
+
| [Module 7](./modules/04-reference-testing-07-best-practices.md) | **Best Practices** - Testing strategies, common issues, tips | Intermediate |
|
|
30
|
+
| [Module 8](../../03-PATTERN-GUIDES/error-handling/modules/error-handling-08-api-reference.md) | **API Reference** - Complete API documentation for all testers | Reference |
|
|
31
|
+
|
|
32
|
+
## 🚀 Quick Navigation
|
|
33
|
+
|
|
34
|
+
### By Use Case
|
|
35
|
+
|
|
36
|
+
- **First time testing connectivity?** → Start with [Module 1: Foundations](../../02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md)
|
|
37
|
+
- **Need to test S3 access?** → Jump to [Module 2: S3 Testing](./modules/04-reference-testing-02-s3-testing.md)
|
|
38
|
+
- **Testing Fluent API connection?** → See [Module 3: Fluent Testing](./modules/04-reference-testing-03-fluent-testing.md)
|
|
39
|
+
- **Building integration tests?** → Check [Module 4: Integration Testing](./modules/04-reference-testing-04-integration-testing.md)
|
|
40
|
+
- **Experiencing test failures?** → See [Module 5: Debugging](./modules/04-reference-testing-05-debugging.md)
|
|
41
|
+
- **Want code examples?** → Browse [Examples Directory](./examples/)
|
|
42
|
+
|
|
43
|
+
### By Testing Scenario
|
|
44
|
+
|
|
45
|
+
Different testing scenarios require different testers:
|
|
46
|
+
|
|
47
|
+
| Testing Need | Tester | Complexity | Example |
|
|
48
|
+
|-------------|--------|------------|---------|
|
|
49
|
+
| S3 SDK connectivity | `S3SDKTester` | Simple | [Example](./examples/s3-testing.ts) |
|
|
50
|
+
| S3 presigned URLs | `S3PresignedTester` | Simple | [Example](./examples/s3-testing.ts) |
|
|
51
|
+
| Compare S3 approaches | `S3ComparisonTester` | Medium | [Example](./examples/s3-testing.ts) |
|
|
52
|
+
| Fluent API connectivity | `FluentConnectionTester` | Simple | [Example](./examples/fluent-testing.ts) |
|
|
53
|
+
| Health check endpoint | `FluentConnectionTester` | Medium | [Example](./examples/health-check.ts) |
|
|
54
|
+
| End-to-end ingestion | Multiple testers | Complex | [Example](./examples/integration-test.ts) |
|
|
55
|
+
|
|
56
|
+
## 📖 Quick Reference
|
|
57
|
+
|
|
58
|
+
For quick lookups, see:
|
|
59
|
+
- [Quick Reference Cheat Sheet](../../02-CORE-GUIDES/advanced-services/advanced-services-quick-reference.md) - All testers and methods on one page
|
|
60
|
+
- [Common Patterns](./examples/04-REFERENCE-testing-readme.md) - Copy-paste ready snippets
|
|
61
|
+
- [Debugging Guide](./modules/04-reference-testing-05-debugging.md) - Error messages and fixes
|
|
62
|
+
|
|
63
|
+
## 🎓 Prerequisites
|
|
64
|
+
|
|
65
|
+
Before starting this guide, you should:
|
|
66
|
+
|
|
67
|
+
1. ✅ Have the SDK installed: `npm install @fluentcommerce/fc-connect-sdk^0.1.23`
|
|
68
|
+
2. ✅ Have AWS credentials for S3 testing (accessKeyId, secretAccessKey)
|
|
69
|
+
3. ✅ Have Fluent API credentials for API testing (clientId, clientSecret, username, password)
|
|
70
|
+
4. ✅ Be familiar with basic SDK usage (`createClient`, basic operations)
|
|
71
|
+
|
|
72
|
+
**New to the SDK?** Start with the [Getting Started Guide](../../00-START-HERE/getting-started.md) first.
|
|
73
|
+
|
|
74
|
+
## 🔍 Key Concepts at a Glance
|
|
75
|
+
|
|
76
|
+
### What Are Testing Utilities?
|
|
77
|
+
|
|
78
|
+
The SDK provides specialized testing utilities to validate connectivity and operations:
|
|
79
|
+
|
|
80
|
+
```typescript
|
|
81
|
+
// ❌ WITHOUT testing utilities: Manual curl/aws cli commands, unclear results
|
|
82
|
+
// $ aws s3 ls s3://my-bucket
|
|
83
|
+
// $ curl -X POST https://api.fluentcommerce.com/graphql ...
|
|
84
|
+
// Hard to automate, inconsistent error handling, no structured results
|
|
85
|
+
|
|
86
|
+
// ✅ WITH testing utilities: Programmatic, standardized results, easy automation
|
|
87
|
+
import { S3SDKTester, FluentConnectionTester, createClient } from '@fluentcommerce/fc-connect-sdk';
|
|
88
|
+
|
|
89
|
+
// Test S3 connectivity
|
|
90
|
+
const s3Tester = new S3SDKTester({
|
|
91
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
|
|
92
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!,
|
|
93
|
+
region: 'us-east-1'
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
const s3Results = await s3Tester.testAll('test-bucket');
|
|
97
|
+
console.log(`S3 Tests: ${s3Results.summary.passed}/${s3Results.summary.total} passed`);
|
|
98
|
+
console.log(`Success rate: ${s3Results.summary.successRate}%`);
|
|
99
|
+
|
|
100
|
+
// Test Fluent API connectivity
|
|
101
|
+
const client = await createClient({
|
|
102
|
+
config: {
|
|
103
|
+
baseUrl: process.env.FLUENT_BASE_URL!,
|
|
104
|
+
clientId: process.env.FLUENT_CLIENT_ID!,
|
|
105
|
+
clientSecret: process.env.FLUENT_CLIENT_SECRET!,
|
|
106
|
+
username: process.env.FLUENT_USERNAME!,
|
|
107
|
+
password: process.env.FLUENT_PASSWORD!,
|
|
108
|
+
retailerId: process.env.FLUENT_RETAILER_ID!
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
const fluentTester = new FluentConnectionTester(client, {
|
|
113
|
+
retailerId: process.env.FLUENT_RETAILER_ID!,
|
|
114
|
+
logger: console
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
const fluentResult = await fluentTester.testConnection();
|
|
118
|
+
console.log(`Fluent API: ${fluentResult.success ? '✅ CONNECTED' : '❌ FAILED'}`);
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### When to Use Each Tester
|
|
122
|
+
|
|
123
|
+
| Tester | Use When | Best For |
|
|
124
|
+
|--------|---------|---------|
|
|
125
|
+
| **S3SDKTester** | Testing AWS SDK approach | Node.js/server-side S3 access |
|
|
126
|
+
| **S3PresignedTester** | Testing presigned URL approach | Browser/client-side S3 access |
|
|
127
|
+
| **S3ComparisonTester** | Deciding between approaches | Performance benchmarking |
|
|
128
|
+
| **FluentConnectionTester** | Testing Fluent API | API connectivity, health checks |
|
|
129
|
+
|
|
130
|
+
### Benefits of Testing Utilities
|
|
131
|
+
|
|
132
|
+
| Aspect | Manual Testing | SDK Testing Utilities |
|
|
133
|
+
|--------|----------------|---------------------|
|
|
134
|
+
| **Consistency** | Varies by developer | Standardized approach |
|
|
135
|
+
| **Automation** | Difficult | Easy CI/CD integration |
|
|
136
|
+
| **Error Reporting** | Generic errors | Detailed, categorized errors |
|
|
137
|
+
| **Performance Metrics** | Manual timing | Built-in duration tracking |
|
|
138
|
+
| **Result Structure** | Unstructured | Typed TestResult interface |
|
|
139
|
+
| **Debugging** | Manual analysis | Built-in error categorization |
|
|
140
|
+
|
|
141
|
+
## 🛠️ Complete Example
|
|
142
|
+
|
|
143
|
+
Here's a real-world example testing both S3 and Fluent connectivity:
|
|
144
|
+
|
|
145
|
+
```typescript
|
|
146
|
+
import {
|
|
147
|
+
S3SDKTester,
|
|
148
|
+
FluentConnectionTester,
|
|
149
|
+
createClient
|
|
150
|
+
} from '@fluentcommerce/fc-connect-sdk';
|
|
151
|
+
|
|
152
|
+
async function validateConnectivity() {
|
|
153
|
+
// Step 1: Test S3 connectivity
|
|
154
|
+
const s3Tester = new S3SDKTester({
|
|
155
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID!,
|
|
156
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY!,
|
|
157
|
+
region: process.env.AWS_REGION!
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
console.log('Testing S3 connectivity...');
|
|
161
|
+
const s3Results = await s3Tester.testAll(process.env.S3_BUCKET!);
|
|
162
|
+
|
|
163
|
+
if (s3Results.summary.failed > 0) {
|
|
164
|
+
console.error(`❌ S3 tests failed: ${s3Results.summary.failed}/${s3Results.summary.total}`);
|
|
165
|
+
console.error('Failed tests:',
|
|
166
|
+
Object.entries(s3Results.tests)
|
|
167
|
+
.filter(([_, result]) => !result.success)
|
|
168
|
+
.map(([name]) => name)
|
|
169
|
+
);
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
console.log(`✅ S3 tests passed: ${s3Results.summary.passed}/${s3Results.summary.total}`);
|
|
174
|
+
console.log(` Success rate: ${s3Results.summary.successRate.toFixed(1)}%`);
|
|
175
|
+
console.log(` Total duration: ${s3Results.summary.totalDuration}ms`);
|
|
176
|
+
console.log(` Average duration: ${s3Results.summary.averageDuration.toFixed(0)}ms`);
|
|
177
|
+
|
|
178
|
+
// Step 2: Test Fluent API connectivity
|
|
179
|
+
const client = await createClient({
|
|
180
|
+
config: {
|
|
181
|
+
baseUrl: process.env.FLUENT_BASE_URL!,
|
|
182
|
+
clientId: process.env.FLUENT_CLIENT_ID!,
|
|
183
|
+
clientSecret: process.env.FLUENT_CLIENT_SECRET!,
|
|
184
|
+
username: process.env.FLUENT_USERNAME!,
|
|
185
|
+
password: process.env.FLUENT_PASSWORD!,
|
|
186
|
+
retailerId: process.env.FLUENT_RETAILER_ID!
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
const fluentTester = new FluentConnectionTester(client, {
|
|
191
|
+
retailerId: process.env.FLUENT_RETAILER_ID!,
|
|
192
|
+
logger: console
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
console.log('Testing Fluent API connectivity...');
|
|
196
|
+
const fluentResult = await fluentTester.testConnection();
|
|
197
|
+
|
|
198
|
+
if (!fluentResult.success) {
|
|
199
|
+
console.error('❌ Fluent tests failed:', fluentResult.error);
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
console.log(`✅ Fluent test passed (${fluentResult.duration}ms)`);
|
|
204
|
+
console.log(` User: ${fluentResult.details.username} (${fluentResult.details.userType})`);
|
|
205
|
+
console.log(` Retailer: ${fluentResult.details.retailerName} (${fluentResult.details.retailerRef})`);
|
|
206
|
+
if (fluentResult.details.locationName) {
|
|
207
|
+
console.log(` Location: ${fluentResult.details.locationName} (${fluentResult.details.locationRef})`);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// Run validation
|
|
214
|
+
validateConnectivity()
|
|
215
|
+
.then(success => {
|
|
216
|
+
if (success) {
|
|
217
|
+
console.log('🎉 All connectivity tests passed!');
|
|
218
|
+
process.exit(0);
|
|
219
|
+
} else {
|
|
220
|
+
console.error('💥 Connectivity validation failed');
|
|
221
|
+
process.exit(1);
|
|
222
|
+
}
|
|
223
|
+
})
|
|
224
|
+
.catch(error => {
|
|
225
|
+
console.error('💥 Unexpected error:', error);
|
|
226
|
+
process.exit(1);
|
|
227
|
+
});
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**What this does:**
|
|
231
|
+
1. Tests S3 connectivity with 9 operations (list, write, read, copy, head, move, delete, multipart, select)
|
|
232
|
+
2. Tests Fluent API connectivity with the 'me' query
|
|
233
|
+
3. Returns structured results with detailed error information
|
|
234
|
+
4. Provides duration metrics and success rates for monitoring
|
|
235
|
+
|
|
236
|
+
## 📂 Repository Structure
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
docs/04-REFERENCE/testing/
|
|
240
|
+
├── readme.md # This file - main index
|
|
241
|
+
├── quick-reference.md # Cheat sheet for quick lookups
|
|
242
|
+
│
|
|
243
|
+
├── modules/ # Learning modules
|
|
244
|
+
│ ├── 01-foundations.md # Overview and test result types
|
|
245
|
+
│ ├── 02-s3-testing.md # S3 testing utilities
|
|
246
|
+
│ ├── 03-fluent-testing.md # Fluent API testing utilities
|
|
247
|
+
│ ├── 04-integration-testing.md # End-to-end tests
|
|
248
|
+
│ ├── 05-debugging.md # Debugging and troubleshooting
|
|
249
|
+
│ ├── 06-cicd-integration.md # CI/CD automation
|
|
250
|
+
│ ├── 07-best-practices.md # Testing best practices
|
|
251
|
+
│ └── 08-api-reference.md # Complete API docs
|
|
252
|
+
│
|
|
253
|
+
└── examples/ # Verified code examples
|
|
254
|
+
├── readme.md # Examples index
|
|
255
|
+
├── s3-testing.ts # S3 testing examples
|
|
256
|
+
├── fluent-testing.ts # Fluent API testing examples
|
|
257
|
+
├── integration-test.ts # End-to-end test example
|
|
258
|
+
└── health-check.ts # Health check endpoint
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
## 🔗 Related Documentation
|
|
262
|
+
|
|
263
|
+
- [Getting Started Guide](../../00-START-HERE/getting-started.md) - SDK installation and setup
|
|
264
|
+
- [Data Sources Guide](../../02-CORE-GUIDES/data-sources/) - S3 and SFTP operations
|
|
265
|
+
- [API Reference](../../02-CORE-GUIDES/api-reference/) - Complete SDK API
|
|
266
|
+
- [Error Handling Guide](../../03-PATTERN-GUIDES/error-handling/) - Error handling strategies
|
|
267
|
+
|
|
268
|
+
## 💡 Tips for Best Results
|
|
269
|
+
|
|
270
|
+
1. **Test early and often** - Run connectivity tests before starting development
|
|
271
|
+
2. **Use test environments** - Never test against production data
|
|
272
|
+
3. **Clean up test data** - Testers automatically clean up (but verify)
|
|
273
|
+
4. **Monitor performance** - Track test duration trends
|
|
274
|
+
5. **Automate tests** - Include in CI/CD pipeline
|
|
275
|
+
6. **Test error scenarios** - Validate error handling works correctly
|
|
276
|
+
|
|
277
|
+
## 🚦 Getting Started
|
|
278
|
+
|
|
279
|
+
Ready to begin? Start with [Module 1: Foundations →](../../02-CORE-GUIDES/auto-pagination/modules/auto-pagination-01-foundations.md)
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
**Need Help?**
|
|
284
|
+
- 📖 Browse [Examples](./examples/)
|
|
285
|
+
- 🔍 Check [Debugging Module](./modules/04-reference-testing-05-debugging.md)
|
|
286
|
+
- 🐛 Report issues at GitHub
|