@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,277 +1,277 @@
|
|
|
1
|
-
# Auto-Pagination Learning Path
|
|
2
|
-
|
|
3
|
-
> **Complete guide to automatic pagination in the Fluent Connect SDK**
|
|
4
|
-
> Progressive learning modules with real schema examples and verified code patterns
|
|
5
|
-
|
|
6
|
-
## 📚 What You'll Learn
|
|
7
|
-
|
|
8
|
-
This guide teaches you how to efficiently fetch large datasets from Fluent Commerce APIs using the SDK's automatic pagination feature. By the end, you'll understand:
|
|
9
|
-
|
|
10
|
-
- ✅ How Relay-style pagination works in Fluent Commerce
|
|
11
|
-
- ✅ How to write queries with real schema fields (not guessed!)
|
|
12
|
-
- ✅ How to configure safety limits and performance tuning
|
|
13
|
-
- ✅ How to integrate pagination with other SDK services
|
|
14
|
-
- ✅ How to troubleshoot common issues and optimize performance
|
|
15
|
-
|
|
16
|
-
## 🎯 Learning Path Overview
|
|
17
|
-
|
|
18
|
-
This guide is organized into **7 progressive modules**. Follow them in order for the best learning experience:
|
|
19
|
-
|
|
20
|
-
| Module | Topic | Level |
|
|
21
|
-
| -------------------------------------------------------- | ----------------------------------------------------------------- | ------------ |
|
|
22
|
-
| [Module 1](./modules/auto-pagination-01-foundations.md) | **Foundations** - Why pagination matters, Relay spec basics | Beginner |
|
|
23
|
-
| [Module 2](./modules/auto-pagination-02-quick-start.md) | **Quick Start** - Your first paginated query with real fields | Beginner |
|
|
24
|
-
| [Module 3](./modules/auto-pagination-03-configuration.md) | **Configuration Mastery** - All options, safety limits, tuning | Intermediate |
|
|
25
|
-
| [Module 4](./modules/auto-pagination-04-advanced-patterns.md) | **Advanced Patterns** - Nested connections, fragments, aliases | Advanced |
|
|
26
|
-
| [Module 5](./modules/auto-pagination-05-sdk-integration.md) | **SDK Integration** - Combining with mapping, extraction, Versori | Advanced |
|
|
27
|
-
| [Module 6](./modules/auto-pagination-06-troubleshooting.md) | **Troubleshooting** - Common errors, optimization, edge cases | Intermediate |
|
|
28
|
-
| [Module 7](./modules/auto-pagination-07-api-reference.md) | **API Reference** - Complete interface documentation | Reference |
|
|
29
|
-
|
|
30
|
-
## 🚀 Quick Navigation
|
|
31
|
-
|
|
32
|
-
### By Use Case
|
|
33
|
-
|
|
34
|
-
- **First time using pagination?** → Start with [Module 1: Foundations](./modules/auto-pagination-01-foundations.md)
|
|
35
|
-
- **Need a working example now?** → Jump to [Module 2: Quick Start](./modules/auto-pagination-02-quick-start.md)
|
|
36
|
-
- **Experiencing performance issues?** → See [Module 6: Troubleshooting](./modules/auto-pagination-06-troubleshooting.md)
|
|
37
|
-
- **Need specific config option?** → Check [Module 7: API Reference](./modules/auto-pagination-07-api-reference.md)
|
|
38
|
-
- **Want code examples?** → Browse [Examples Directory](./examples/)
|
|
39
|
-
|
|
40
|
-
### By Entity Type
|
|
41
|
-
|
|
42
|
-
Different Fluent entities require different pagination strategies:
|
|
43
|
-
|
|
44
|
-
| Entity Type | Complexity | Recommended Page Size | Example |
|
|
45
|
-
| --------------------- | ---------- | --------------------- | ---------------------------------------------------- |
|
|
46
|
-
| `virtualPositions` | Simple | 100-200 | [Example](./examples/paginate-virtual-positions.ts) |
|
|
47
|
-
| `locations` | Simple | 100-200 | [Example](./examples/common-patterns.ts) (see locations pattern) |
|
|
48
|
-
| `products` | Medium | 50-100 | [Example](./examples/paginate-products.ts) |
|
|
49
|
-
| `orders` (with items) | Complex | 20-50 | [Example](./examples/common-patterns.ts) (see nested patterns) |
|
|
50
|
-
| Nested connections | Complex | 20-50 | [Example](./examples/common-patterns.ts) (see nested patterns) |
|
|
51
|
-
|
|
52
|
-
## 📖 Quick Reference
|
|
53
|
-
|
|
54
|
-
For quick lookups, see:
|
|
55
|
-
|
|
56
|
-
- [Quick Reference Cheat Sheet](../advanced-services/advanced-services-quick-reference.md) - All config options on one page
|
|
57
|
-
- [Common Patterns](./examples/common-patterns.ts) - Copy-paste ready snippets
|
|
58
|
-
- [Troubleshooting Guide](./modules/auto-pagination-06-troubleshooting.md#common-errors) - Error messages and fixes
|
|
59
|
-
|
|
60
|
-
## 🎓 Prerequisites
|
|
61
|
-
|
|
62
|
-
Before starting this guide, you should:
|
|
63
|
-
|
|
64
|
-
1. ✅ Have the SDK installed: `npm install @fluentcommerce/fc-connect-sdk`
|
|
65
|
-
2. ✅ Have Fluent API credentials (clientId, clientSecret, retailerId)
|
|
66
|
-
3. ✅ Understand basic GraphQL concepts (queries, variables, types)
|
|
67
|
-
4. ✅ Be familiar with the SDK's `FluentClient` basic usage
|
|
68
|
-
|
|
69
|
-
**New to the SDK?** Start with the [Getting Started Guide](../../00-START-HERE/getting-started.md) first.
|
|
70
|
-
|
|
71
|
-
## 🔍 Key Concepts at a Glance
|
|
72
|
-
|
|
73
|
-
### What is Auto-Pagination?
|
|
74
|
-
|
|
75
|
-
```typescript
|
|
76
|
-
// ❌ WITHOUT auto-pagination: Manual loop, cursor management, error-prone
|
|
77
|
-
let allRecords = [];
|
|
78
|
-
let cursor = null;
|
|
79
|
-
let hasMore = true;
|
|
80
|
-
|
|
81
|
-
while (hasMore) {
|
|
82
|
-
const result = await client.graphql({
|
|
83
|
-
query,
|
|
84
|
-
variables: { first: 100, after: cursor },
|
|
85
|
-
});
|
|
86
|
-
allRecords.push(...result.data.items.edges);
|
|
87
|
-
cursor = result.data.items.edges[result.data.items.edges.length - 1]?.cursor;
|
|
88
|
-
hasMore = result.data.items.pageInfo.hasNextPage;
|
|
89
|
-
// What if cursor is undefined? What about rate limits? Memory issues?
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// ✅ WITH auto-pagination: Zero boilerplate, built-in safety, just works
|
|
93
|
-
const result = await client.graphql({
|
|
94
|
-
query,
|
|
95
|
-
variables: { first: 100 },
|
|
96
|
-
pagination: { maxRecords: 10000 }, // Optional safety limit
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
// All pages automatically fetched, merged, and deduplicated!
|
|
100
|
-
const allRecords = result.data.items.edges;
|
|
101
|
-
console.log(result.extensions.autoPagination);
|
|
102
|
-
// { totalPages: 15, totalRecords: 1487, truncated: false, truncationReason: undefined }
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### How Detection Works
|
|
106
|
-
|
|
107
|
-
### Cursor Selection Logic
|
|
108
|
-
|
|
109
|
-
The SDK selects the next cursor based on pagination direction:
|
|
110
|
-
|
|
111
|
-
- Forward pagination (default): uses the last edge cursor on each page and continues while `pageInfo.hasNextPage` is true.
|
|
112
|
-
- Backward pagination (optional): uses the first edge cursor on each page and continues while `pageInfo.hasPreviousPage` is true.
|
|
113
|
-
|
|
114
|
-
Requirements for queries:
|
|
115
|
-
|
|
116
|
-
- Forward: include `$first`, `$after`, `edges { cursor }`, and `pageInfo { hasNextPage }`.
|
|
117
|
-
- Backward: include `$last`, `$before`, `edges { cursor }`, and `pageInfo { hasPreviousPage }`.
|
|
118
|
-
|
|
119
|
-
Do not pass manual pagination variables when using the `ExtractionOrchestrator`; it injects them for you.
|
|
120
|
-
|
|
121
|
-
Auto-pagination activates when your query includes pagination variables:
|
|
122
|
-
|
|
123
|
-
```typescript
|
|
124
|
-
// ✅ Auto-pagination ENABLED (has $first and/or $after)
|
|
125
|
-
query GetItems($first: Int!, $after: String) { ... }
|
|
126
|
-
|
|
127
|
-
// ❌ Auto-pagination DISABLED (no pagination variables)
|
|
128
|
-
query GetItems { items(first: 100) { ... } }
|
|
129
|
-
|
|
130
|
-
// ❌ Auto-pagination DISABLED (mutations never auto-paginate)
|
|
131
|
-
mutation CreateItem($input: CreateItemInput!) { ... }
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### Benefits Summary
|
|
135
|
-
|
|
136
|
-
| Feature | Manual Pagination | Auto-Pagination |
|
|
137
|
-
| ---------------------------- | ----------------- | ------------------------ |
|
|
138
|
-
| **Boilerplate Code** | 15-20 lines | 3 lines |
|
|
139
|
-
| **Cursor Management** | Manual tracking | Automatic |
|
|
140
|
-
| **Error Handling** | Manual try-catch | Built-in fail-fast |
|
|
141
|
-
| **Safety Limits** | Manual checks | Built-in OR-logic limits |
|
|
142
|
-
| **Deduplication** | Manual Set logic | Automatic by ID |
|
|
143
|
-
| **Progress Tracking** | Manual logging | Built-in callbacks |
|
|
144
|
-
| **Memory Safety** | Manual chunking | Built-in limits |
|
|
145
|
-
| **Infinite Loop Protection** | Manual detection | Automatic |
|
|
146
|
-
|
|
147
|
-
## 🛠️ Complete Example
|
|
148
|
-
|
|
149
|
-
Here's a real-world example using verified Fluent schema fields:
|
|
150
|
-
|
|
151
|
-
```typescript
|
|
152
|
-
import { createClient } from '@fluentcommerce/fc-connect-sdk';
|
|
153
|
-
|
|
154
|
-
// Create client (works in Node.js, Deno, and Versori)
|
|
155
|
-
const client = await createClient({
|
|
156
|
-
config: {
|
|
157
|
-
baseUrl: process.env.FLUENT_BASE_URL!,
|
|
158
|
-
clientId: process.env.FLUENT_CLIENT_ID!,
|
|
159
|
-
clientSecret: process.env.FLUENT_CLIENT_SECRET!,
|
|
160
|
-
retailerId: process.env.FLUENT_RETAILER_ID!,
|
|
161
|
-
},
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
// Fetch all virtual positions with auto-pagination
|
|
165
|
-
const result = await client.graphql({
|
|
166
|
-
query: `
|
|
167
|
-
query GetVirtualPositions($first: Int!, $after: String) {
|
|
168
|
-
virtualPositions(first: $first, after: $after) {
|
|
169
|
-
edges {
|
|
170
|
-
node {
|
|
171
|
-
id
|
|
172
|
-
productRef
|
|
173
|
-
quantity
|
|
174
|
-
groupRef
|
|
175
|
-
}
|
|
176
|
-
cursor
|
|
177
|
-
}
|
|
178
|
-
pageInfo {
|
|
179
|
-
hasNextPage
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
`,
|
|
184
|
-
variables: { first: 100 },
|
|
185
|
-
pagination: {
|
|
186
|
-
maxPages: 100, // Stop after 100 pages
|
|
187
|
-
maxRecords: 10000, // OR stop after 10K records
|
|
188
|
-
timeoutMs: 60000, // OR stop after 60 seconds
|
|
189
|
-
onProgress: (page, totalRecords) => {
|
|
190
|
-
console.log(`Page ${page}: ${totalRecords} records fetched`);
|
|
191
|
-
},
|
|
192
|
-
},
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
// All pages merged into single response
|
|
196
|
-
console.log(`Total: ${result.extensions.autoPagination.totalRecords} records`);
|
|
197
|
-
console.log(`Pages: ${result.extensions.autoPagination.totalPages}`);
|
|
198
|
-
|
|
199
|
-
// Process all records
|
|
200
|
-
for (const edge of result.data.virtualPositions.edges) {
|
|
201
|
-
console.log(`Product ${edge.node.productRef}: ${edge.node.quantity} units`);
|
|
202
|
-
}
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
## 📂 Repository Structure
|
|
206
|
-
|
|
207
|
-
```
|
|
208
|
-
docs/guides/auto-pagination/
|
|
209
|
-
├── readme.md # This file - main index
|
|
210
|
-
├── quick-reference.md # Cheat sheet for quick lookups
|
|
211
|
-
│
|
|
212
|
-
├── modules/ # Learning modules
|
|
213
|
-
│ ├── 01-foundations.md # Theory and concepts
|
|
214
|
-
│ ├── 02-quick-start.md # First working example
|
|
215
|
-
│ ├── 03-configuration.md # All config options
|
|
216
|
-
│ ├── 04-advanced-patterns.md # Complex queries
|
|
217
|
-
│ ├── 05-sdk-integration.md # Integration with other services
|
|
218
|
-
│ ├── 06-troubleshooting.md # Error handling and optimization
|
|
219
|
-
│ └── 07-api-reference.md # Complete API docs
|
|
220
|
-
│
|
|
221
|
-
└── examples/ # Verified code examples
|
|
222
|
-
├── readme.md # Examples index
|
|
223
|
-
├── common-patterns.ts # Copy-paste ready patterns
|
|
224
|
-
├── paginate-virtual-positions.ts # Simple entity
|
|
225
|
-
├── common-patterns.ts # All patterns (locations, orders, nested)
|
|
226
|
-
├── paginate-products.ts # Medium complexity
|
|
227
|
-
├── paginate-with-transformation.ts # With UniversalMapper
|
|
228
|
-
├── paginate-with-export.ts # With S3 export
|
|
229
|
-
├── paginate-versori-webhook.ts # Versori platform
|
|
230
|
-
└── real-schema-examples.ts # Real Fluent schema queries
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
## 🔗 Related Documentation
|
|
234
|
-
|
|
235
|
-
- [Universal Mapping Guide](../mapping/modules/) - Transform paginated data
|
|
236
|
-
- [Extraction Orchestrator Guide](../extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) - High-level extraction service
|
|
237
|
-
- [GraphQL Mutation Mapping](../mapping/graphql-mutation-mapping/) - Create mutations
|
|
238
|
-
- [SDK Architecture](../../04-REFERENCE/architecture/) - Understanding SDK design
|
|
239
|
-
- [Fluent API Documentation](https://docs.fluentcommerce.com/) - Official API docs
|
|
240
|
-
|
|
241
|
-
## 🎯 FluentClient.graphql() vs ExtractionOrchestrator
|
|
242
|
-
|
|
243
|
-
**Which should you use for paginated queries?**
|
|
244
|
-
|
|
245
|
-
| Use Case | Recommended Approach |
|
|
246
|
-
|----------|---------------------|
|
|
247
|
-
| **Fetch data + custom processing** | `FluentClient.graphql()` with `pagination` option |
|
|
248
|
-
| **Fetch data + export to S3/SFTP** | `ExtractionOrchestrator.extract()` |
|
|
249
|
-
| **Fetch data + transform + your logic** | `FluentClient.graphql()` + `UniversalMapper` |
|
|
250
|
-
| **Standard ETL pipelines** | `ExtractionOrchestrator` (pre-built patterns) |
|
|
251
|
-
|
|
252
|
-
**Key Difference:**
|
|
253
|
-
- `FluentClient.graphql({ pagination })` - **Direct access**, full control, manual file handling
|
|
254
|
-
- `ExtractionOrchestrator.extract()` - **All-in-one**, automatic export, built-in retry logic
|
|
255
|
-
|
|
256
|
-
**See:** [Module 5: When to Use Each Approach](./modules/auto-pagination-05-sdk-integration.md#when-to-use-fluentclientgraphql-vs-extractionorchestrator) for detailed comparison
|
|
257
|
-
|
|
258
|
-
## 💡 Tips for Best Results
|
|
259
|
-
|
|
260
|
-
1. **Always introspect schema first** - Use `npx fc-connect introspect-schema` to discover real field names
|
|
261
|
-
2. **Start conservative** - Begin with small `maxPages` and `maxRecords` limits
|
|
262
|
-
3. **Monitor progress** - Use `onProgress` callbacks for long operations
|
|
263
|
-
4. **Match entity complexity** - Simple entities = large pages, complex entities = small pages
|
|
264
|
-
5. **Test before production** - Validate queries with `maxPages: 2` first
|
|
265
|
-
|
|
266
|
-
## 🚦 Getting Started
|
|
267
|
-
|
|
268
|
-
Ready to begin? Start with [Module 1: Foundations →](./modules/auto-pagination-01-foundations.md)
|
|
269
|
-
|
|
270
|
-
---
|
|
271
|
-
|
|
272
|
-
**Need Help?**
|
|
273
|
-
|
|
274
|
-
- 📖 Browse [Examples](./examples/)
|
|
275
|
-
- 🔍 Check [Troubleshooting](./modules/auto-pagination-06-troubleshooting.md)
|
|
276
|
-
- 📧 Contact support@fluentcommerce.com
|
|
277
|
-
- 🐛 Report issues at [GitHub](https://github.com/fluentcommerce/fc-connect-sdk/issues)
|
|
1
|
+
# Auto-Pagination Learning Path
|
|
2
|
+
|
|
3
|
+
> **Complete guide to automatic pagination in the Fluent Connect SDK**
|
|
4
|
+
> Progressive learning modules with real schema examples and verified code patterns
|
|
5
|
+
|
|
6
|
+
## 📚 What You'll Learn
|
|
7
|
+
|
|
8
|
+
This guide teaches you how to efficiently fetch large datasets from Fluent Commerce APIs using the SDK's automatic pagination feature. By the end, you'll understand:
|
|
9
|
+
|
|
10
|
+
- ✅ How Relay-style pagination works in Fluent Commerce
|
|
11
|
+
- ✅ How to write queries with real schema fields (not guessed!)
|
|
12
|
+
- ✅ How to configure safety limits and performance tuning
|
|
13
|
+
- ✅ How to integrate pagination with other SDK services
|
|
14
|
+
- ✅ How to troubleshoot common issues and optimize performance
|
|
15
|
+
|
|
16
|
+
## 🎯 Learning Path Overview
|
|
17
|
+
|
|
18
|
+
This guide is organized into **7 progressive modules**. Follow them in order for the best learning experience:
|
|
19
|
+
|
|
20
|
+
| Module | Topic | Level |
|
|
21
|
+
| -------------------------------------------------------- | ----------------------------------------------------------------- | ------------ |
|
|
22
|
+
| [Module 1](./modules/auto-pagination-01-foundations.md) | **Foundations** - Why pagination matters, Relay spec basics | Beginner |
|
|
23
|
+
| [Module 2](./modules/auto-pagination-02-quick-start.md) | **Quick Start** - Your first paginated query with real fields | Beginner |
|
|
24
|
+
| [Module 3](./modules/auto-pagination-03-configuration.md) | **Configuration Mastery** - All options, safety limits, tuning | Intermediate |
|
|
25
|
+
| [Module 4](./modules/auto-pagination-04-advanced-patterns.md) | **Advanced Patterns** - Nested connections, fragments, aliases | Advanced |
|
|
26
|
+
| [Module 5](./modules/auto-pagination-05-sdk-integration.md) | **SDK Integration** - Combining with mapping, extraction, Versori | Advanced |
|
|
27
|
+
| [Module 6](./modules/auto-pagination-06-troubleshooting.md) | **Troubleshooting** - Common errors, optimization, edge cases | Intermediate |
|
|
28
|
+
| [Module 7](./modules/auto-pagination-07-api-reference.md) | **API Reference** - Complete interface documentation | Reference |
|
|
29
|
+
|
|
30
|
+
## 🚀 Quick Navigation
|
|
31
|
+
|
|
32
|
+
### By Use Case
|
|
33
|
+
|
|
34
|
+
- **First time using pagination?** → Start with [Module 1: Foundations](./modules/auto-pagination-01-foundations.md)
|
|
35
|
+
- **Need a working example now?** → Jump to [Module 2: Quick Start](./modules/auto-pagination-02-quick-start.md)
|
|
36
|
+
- **Experiencing performance issues?** → See [Module 6: Troubleshooting](./modules/auto-pagination-06-troubleshooting.md)
|
|
37
|
+
- **Need specific config option?** → Check [Module 7: API Reference](./modules/auto-pagination-07-api-reference.md)
|
|
38
|
+
- **Want code examples?** → Browse [Examples Directory](./examples/)
|
|
39
|
+
|
|
40
|
+
### By Entity Type
|
|
41
|
+
|
|
42
|
+
Different Fluent entities require different pagination strategies:
|
|
43
|
+
|
|
44
|
+
| Entity Type | Complexity | Recommended Page Size | Example |
|
|
45
|
+
| --------------------- | ---------- | --------------------- | ---------------------------------------------------- |
|
|
46
|
+
| `virtualPositions` | Simple | 100-200 | [Example](./examples/paginate-virtual-positions.ts) |
|
|
47
|
+
| `locations` | Simple | 100-200 | [Example](./examples/common-patterns.ts) (see locations pattern) |
|
|
48
|
+
| `products` | Medium | 50-100 | [Example](./examples/paginate-products.ts) |
|
|
49
|
+
| `orders` (with items) | Complex | 20-50 | [Example](./examples/common-patterns.ts) (see nested patterns) |
|
|
50
|
+
| Nested connections | Complex | 20-50 | [Example](./examples/common-patterns.ts) (see nested patterns) |
|
|
51
|
+
|
|
52
|
+
## 📖 Quick Reference
|
|
53
|
+
|
|
54
|
+
For quick lookups, see:
|
|
55
|
+
|
|
56
|
+
- [Quick Reference Cheat Sheet](../advanced-services/advanced-services-quick-reference.md) - All config options on one page
|
|
57
|
+
- [Common Patterns](./examples/common-patterns.ts) - Copy-paste ready snippets
|
|
58
|
+
- [Troubleshooting Guide](./modules/auto-pagination-06-troubleshooting.md#common-errors) - Error messages and fixes
|
|
59
|
+
|
|
60
|
+
## 🎓 Prerequisites
|
|
61
|
+
|
|
62
|
+
Before starting this guide, you should:
|
|
63
|
+
|
|
64
|
+
1. ✅ Have the SDK installed: `npm install @fluentcommerce/fc-connect-sdk`
|
|
65
|
+
2. ✅ Have Fluent API credentials (clientId, clientSecret, retailerId)
|
|
66
|
+
3. ✅ Understand basic GraphQL concepts (queries, variables, types)
|
|
67
|
+
4. ✅ Be familiar with the SDK's `FluentClient` basic usage
|
|
68
|
+
|
|
69
|
+
**New to the SDK?** Start with the [Getting Started Guide](../../00-START-HERE/getting-started.md) first.
|
|
70
|
+
|
|
71
|
+
## 🔍 Key Concepts at a Glance
|
|
72
|
+
|
|
73
|
+
### What is Auto-Pagination?
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
// ❌ WITHOUT auto-pagination: Manual loop, cursor management, error-prone
|
|
77
|
+
let allRecords = [];
|
|
78
|
+
let cursor = null;
|
|
79
|
+
let hasMore = true;
|
|
80
|
+
|
|
81
|
+
while (hasMore) {
|
|
82
|
+
const result = await client.graphql({
|
|
83
|
+
query,
|
|
84
|
+
variables: { first: 100, after: cursor },
|
|
85
|
+
});
|
|
86
|
+
allRecords.push(...result.data.items.edges);
|
|
87
|
+
cursor = result.data.items.edges[result.data.items.edges.length - 1]?.cursor;
|
|
88
|
+
hasMore = result.data.items.pageInfo.hasNextPage;
|
|
89
|
+
// What if cursor is undefined? What about rate limits? Memory issues?
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// ✅ WITH auto-pagination: Zero boilerplate, built-in safety, just works
|
|
93
|
+
const result = await client.graphql({
|
|
94
|
+
query,
|
|
95
|
+
variables: { first: 100 },
|
|
96
|
+
pagination: { maxRecords: 10000 }, // Optional safety limit
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
// All pages automatically fetched, merged, and deduplicated!
|
|
100
|
+
const allRecords = result.data.items.edges;
|
|
101
|
+
console.log(result.extensions.autoPagination);
|
|
102
|
+
// { totalPages: 15, totalRecords: 1487, truncated: false, truncationReason: undefined }
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### How Detection Works
|
|
106
|
+
|
|
107
|
+
### Cursor Selection Logic
|
|
108
|
+
|
|
109
|
+
The SDK selects the next cursor based on pagination direction:
|
|
110
|
+
|
|
111
|
+
- Forward pagination (default): uses the last edge cursor on each page and continues while `pageInfo.hasNextPage` is true.
|
|
112
|
+
- Backward pagination (optional): uses the first edge cursor on each page and continues while `pageInfo.hasPreviousPage` is true.
|
|
113
|
+
|
|
114
|
+
Requirements for queries:
|
|
115
|
+
|
|
116
|
+
- Forward: include `$first`, `$after`, `edges { cursor }`, and `pageInfo { hasNextPage }`.
|
|
117
|
+
- Backward: include `$last`, `$before`, `edges { cursor }`, and `pageInfo { hasPreviousPage }`.
|
|
118
|
+
|
|
119
|
+
Do not pass manual pagination variables when using the `ExtractionOrchestrator`; it injects them for you.
|
|
120
|
+
|
|
121
|
+
Auto-pagination activates when your query includes pagination variables:
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
// ✅ Auto-pagination ENABLED (has $first and/or $after)
|
|
125
|
+
query GetItems($first: Int!, $after: String) { ... }
|
|
126
|
+
|
|
127
|
+
// ❌ Auto-pagination DISABLED (no pagination variables)
|
|
128
|
+
query GetItems { items(first: 100) { ... } }
|
|
129
|
+
|
|
130
|
+
// ❌ Auto-pagination DISABLED (mutations never auto-paginate)
|
|
131
|
+
mutation CreateItem($input: CreateItemInput!) { ... }
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Benefits Summary
|
|
135
|
+
|
|
136
|
+
| Feature | Manual Pagination | Auto-Pagination |
|
|
137
|
+
| ---------------------------- | ----------------- | ------------------------ |
|
|
138
|
+
| **Boilerplate Code** | 15-20 lines | 3 lines |
|
|
139
|
+
| **Cursor Management** | Manual tracking | Automatic |
|
|
140
|
+
| **Error Handling** | Manual try-catch | Built-in fail-fast |
|
|
141
|
+
| **Safety Limits** | Manual checks | Built-in OR-logic limits |
|
|
142
|
+
| **Deduplication** | Manual Set logic | Automatic by ID |
|
|
143
|
+
| **Progress Tracking** | Manual logging | Built-in callbacks |
|
|
144
|
+
| **Memory Safety** | Manual chunking | Built-in limits |
|
|
145
|
+
| **Infinite Loop Protection** | Manual detection | Automatic |
|
|
146
|
+
|
|
147
|
+
## 🛠️ Complete Example
|
|
148
|
+
|
|
149
|
+
Here's a real-world example using verified Fluent schema fields:
|
|
150
|
+
|
|
151
|
+
```typescript
|
|
152
|
+
import { createClient } from '@fluentcommerce/fc-connect-sdk';
|
|
153
|
+
|
|
154
|
+
// Create client (works in Node.js, Deno, and Versori)
|
|
155
|
+
const client = await createClient({
|
|
156
|
+
config: {
|
|
157
|
+
baseUrl: process.env.FLUENT_BASE_URL!,
|
|
158
|
+
clientId: process.env.FLUENT_CLIENT_ID!,
|
|
159
|
+
clientSecret: process.env.FLUENT_CLIENT_SECRET!,
|
|
160
|
+
retailerId: process.env.FLUENT_RETAILER_ID!,
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
// Fetch all virtual positions with auto-pagination
|
|
165
|
+
const result = await client.graphql({
|
|
166
|
+
query: `
|
|
167
|
+
query GetVirtualPositions($first: Int!, $after: String) {
|
|
168
|
+
virtualPositions(first: $first, after: $after) {
|
|
169
|
+
edges {
|
|
170
|
+
node {
|
|
171
|
+
id
|
|
172
|
+
productRef
|
|
173
|
+
quantity
|
|
174
|
+
groupRef
|
|
175
|
+
}
|
|
176
|
+
cursor
|
|
177
|
+
}
|
|
178
|
+
pageInfo {
|
|
179
|
+
hasNextPage
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
`,
|
|
184
|
+
variables: { first: 100 },
|
|
185
|
+
pagination: {
|
|
186
|
+
maxPages: 100, // Stop after 100 pages
|
|
187
|
+
maxRecords: 10000, // OR stop after 10K records
|
|
188
|
+
timeoutMs: 60000, // OR stop after 60 seconds
|
|
189
|
+
onProgress: (page, totalRecords) => {
|
|
190
|
+
console.log(`Page ${page}: ${totalRecords} records fetched`);
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
// All pages merged into single response
|
|
196
|
+
console.log(`Total: ${result.extensions.autoPagination.totalRecords} records`);
|
|
197
|
+
console.log(`Pages: ${result.extensions.autoPagination.totalPages}`);
|
|
198
|
+
|
|
199
|
+
// Process all records
|
|
200
|
+
for (const edge of result.data.virtualPositions.edges) {
|
|
201
|
+
console.log(`Product ${edge.node.productRef}: ${edge.node.quantity} units`);
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## 📂 Repository Structure
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
docs/guides/auto-pagination/
|
|
209
|
+
├── readme.md # This file - main index
|
|
210
|
+
├── quick-reference.md # Cheat sheet for quick lookups
|
|
211
|
+
│
|
|
212
|
+
├── modules/ # Learning modules
|
|
213
|
+
│ ├── 01-foundations.md # Theory and concepts
|
|
214
|
+
│ ├── 02-quick-start.md # First working example
|
|
215
|
+
│ ├── 03-configuration.md # All config options
|
|
216
|
+
│ ├── 04-advanced-patterns.md # Complex queries
|
|
217
|
+
│ ├── 05-sdk-integration.md # Integration with other services
|
|
218
|
+
│ ├── 06-troubleshooting.md # Error handling and optimization
|
|
219
|
+
│ └── 07-api-reference.md # Complete API docs
|
|
220
|
+
│
|
|
221
|
+
└── examples/ # Verified code examples
|
|
222
|
+
├── readme.md # Examples index
|
|
223
|
+
├── common-patterns.ts # Copy-paste ready patterns
|
|
224
|
+
├── paginate-virtual-positions.ts # Simple entity
|
|
225
|
+
├── common-patterns.ts # All patterns (locations, orders, nested)
|
|
226
|
+
├── paginate-products.ts # Medium complexity
|
|
227
|
+
├── paginate-with-transformation.ts # With UniversalMapper
|
|
228
|
+
├── paginate-with-export.ts # With S3 export
|
|
229
|
+
├── paginate-versori-webhook.ts # Versori platform
|
|
230
|
+
└── real-schema-examples.ts # Real Fluent schema queries
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## 🔗 Related Documentation
|
|
234
|
+
|
|
235
|
+
- [Universal Mapping Guide](../mapping/modules/) - Transform paginated data
|
|
236
|
+
- [Extraction Orchestrator Guide](../extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) - High-level extraction service
|
|
237
|
+
- [GraphQL Mutation Mapping](../mapping/graphql-mutation-mapping/) - Create mutations
|
|
238
|
+
- [SDK Architecture](../../04-REFERENCE/architecture/) - Understanding SDK design
|
|
239
|
+
- [Fluent API Documentation](https://docs.fluentcommerce.com/) - Official API docs
|
|
240
|
+
|
|
241
|
+
## 🎯 FluentClient.graphql() vs ExtractionOrchestrator
|
|
242
|
+
|
|
243
|
+
**Which should you use for paginated queries?**
|
|
244
|
+
|
|
245
|
+
| Use Case | Recommended Approach |
|
|
246
|
+
|----------|---------------------|
|
|
247
|
+
| **Fetch data + custom processing** | `FluentClient.graphql()` with `pagination` option |
|
|
248
|
+
| **Fetch data + export to S3/SFTP** | `ExtractionOrchestrator.extract()` |
|
|
249
|
+
| **Fetch data + transform + your logic** | `FluentClient.graphql()` + `UniversalMapper` |
|
|
250
|
+
| **Standard ETL pipelines** | `ExtractionOrchestrator` (pre-built patterns) |
|
|
251
|
+
|
|
252
|
+
**Key Difference:**
|
|
253
|
+
- `FluentClient.graphql({ pagination })` - **Direct access**, full control, manual file handling
|
|
254
|
+
- `ExtractionOrchestrator.extract()` - **All-in-one**, automatic export, built-in retry logic
|
|
255
|
+
|
|
256
|
+
**See:** [Module 5: When to Use Each Approach](./modules/auto-pagination-05-sdk-integration.md#when-to-use-fluentclientgraphql-vs-extractionorchestrator) for detailed comparison
|
|
257
|
+
|
|
258
|
+
## 💡 Tips for Best Results
|
|
259
|
+
|
|
260
|
+
1. **Always introspect schema first** - Use `npx fc-connect introspect-schema` to discover real field names
|
|
261
|
+
2. **Start conservative** - Begin with small `maxPages` and `maxRecords` limits
|
|
262
|
+
3. **Monitor progress** - Use `onProgress` callbacks for long operations
|
|
263
|
+
4. **Match entity complexity** - Simple entities = large pages, complex entities = small pages
|
|
264
|
+
5. **Test before production** - Validate queries with `maxPages: 2` first
|
|
265
|
+
|
|
266
|
+
## 🚦 Getting Started
|
|
267
|
+
|
|
268
|
+
Ready to begin? Start with [Module 1: Foundations →](./modules/auto-pagination-01-foundations.md)
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
**Need Help?**
|
|
273
|
+
|
|
274
|
+
- 📖 Browse [Examples](./examples/)
|
|
275
|
+
- 🔍 Check [Troubleshooting](./modules/auto-pagination-06-troubleshooting.md)
|
|
276
|
+
- 📧 Contact support@fluentcommerce.com
|
|
277
|
+
- 🐛 Report issues at [GitHub](https://github.com/fluentcommerce/fc-connect-sdk/issues)
|