@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,398 +1,398 @@
|
|
|
1
|
-
# Module 1: Introduction to Versori Platform
|
|
2
|
-
|
|
3
|
-
[← Back to Versori Platform Guide](../platforms-versori-readme.md)
|
|
4
|
-
|
|
5
|
-
**Module 1 of 8** | **Level**: Beginner | **Time**: 15 minutes
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Learning Objectives
|
|
10
|
-
|
|
11
|
-
By the end of this module, you will:
|
|
12
|
-
- ✅ Understand what Versori Platform is and its core capabilities
|
|
13
|
-
- ✅ Know when to use Versori vs standalone Node.js deployments
|
|
14
|
-
- ✅ Understand the platform architecture and runtime model
|
|
15
|
-
- ✅ Recognize the key components: workflows, connections, KV storage
|
|
16
|
-
- ✅ Understand how the FC Connect SDK integrates with Versori
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## What is Versori Platform?
|
|
21
|
-
|
|
22
|
-
Versori Platform is a **managed serverless runtime** for deploying integration workflows. It provides:
|
|
23
|
-
|
|
24
|
-
- **Managed Infrastructure**: No servers to manage, automatic scaling
|
|
25
|
-
- **Built-in Features**: HTTP endpoints, cron scheduling, KV storage, OAuth2
|
|
26
|
-
- **Developer Experience**: TypeScript-first, modern tooling, instant deploys
|
|
27
|
-
- **Monitoring**: Built-in logs, execution tracking, error reporting
|
|
28
|
-
|
|
29
|
-
### Platform vs Traditional Deployment
|
|
30
|
-
|
|
31
|
-
| Aspect | Versori Platform | Traditional Node.js |
|
|
32
|
-
|--------|------------------|---------------------|
|
|
33
|
-
| **Infrastructure** | Managed (serverless) | Self-managed (EC2, containers) |
|
|
34
|
-
| **Scaling** | Automatic | Manual configuration |
|
|
35
|
-
| **HTTP Endpoints** | Auto-provisioned | Requires web server (Express, etc.) |
|
|
36
|
-
| **Cron Scheduling** | Built-in | External scheduler (cron, systemd) |
|
|
37
|
-
| **State Storage** | Built-in KV store | External DB (Redis, Postgres) |
|
|
38
|
-
| **Monitoring** | Built-in logs | Custom logging (CloudWatch, Datadog) |
|
|
39
|
-
| **Deployment** | `npm run deploy` | CI/CD pipelines, Docker |
|
|
40
|
-
| **Cost Model** | Pay-per-use | Always-on servers |
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Core Platform Capabilities
|
|
45
|
-
|
|
46
|
-
### 1. Workflow Runtime
|
|
47
|
-
|
|
48
|
-
The Versori runtime (`@versori/run`) provides four workflow types:
|
|
49
|
-
|
|
50
|
-
```typescript
|
|
51
|
-
import { http, webhook, schedule, fn } from '@versori/run';
|
|
52
|
-
|
|
53
|
-
// HTTP: External API calls with authentication
|
|
54
|
-
export const queryAPI = http('query', { connection: 'fluent_commerce' }, async (ctx) => {
|
|
55
|
-
// ctx.fetch is pre-authenticated
|
|
56
|
-
// Access to ctx.log, ctx.activation
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
// Webhook: Receive external HTTP requests
|
|
60
|
-
export const receiveOrder = webhook('receive-order', async (ctx) => {
|
|
61
|
-
// ctx.data contains webhook payload
|
|
62
|
-
// Access to ctx.request() (for headers), ctx.log
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
// Scheduled: Time-based recurring tasks (cron)
|
|
66
|
-
export const dailySync = schedule('daily', '0 0 * * *', { connection: 'fluent' }, async (ctx) => {
|
|
67
|
-
// Runs at midnight daily
|
|
68
|
-
// Full access like http() if connection provided
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
// Internal: Data transformation, no external APIs
|
|
72
|
-
export const transform = fn('transform', async (ctx) => {
|
|
73
|
-
// ctx.openKv() for state
|
|
74
|
-
// NO ctx.fetch (no external API access)
|
|
75
|
-
});
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### 2. OAuth2 Connection Management
|
|
79
|
-
|
|
80
|
-
Versori manages OAuth2 credentials securely:
|
|
81
|
-
|
|
82
|
-
```typescript
|
|
83
|
-
// Connections are configured in Versori UI
|
|
84
|
-
// Access in workflows via ctx.activation.connection
|
|
85
|
-
export const apiCall = http('call', { connection: 'fluent_commerce' }, async (ctx) => {
|
|
86
|
-
const client = await createClient(ctx); // Auto-authenticated
|
|
87
|
-
|
|
88
|
-
// Connection provides:
|
|
89
|
-
// - OAuth2 token management (automatic refresh)
|
|
90
|
-
// - Base URL
|
|
91
|
-
// - Headers
|
|
92
|
-
// - RetailerId extraction
|
|
93
|
-
});
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
**Benefits**:
|
|
97
|
-
- No credential management in code
|
|
98
|
-
- Automatic token refresh
|
|
99
|
-
- Secure secret storage
|
|
100
|
-
- Per-environment configurations
|
|
101
|
-
|
|
102
|
-
### 3. Distributed KV Storage
|
|
103
|
-
|
|
104
|
-
Built-in key-value store for state management:
|
|
105
|
-
|
|
106
|
-
```typescript
|
|
107
|
-
// Three storage scopes
|
|
108
|
-
const projectKV = ctx.openKv(':project:'); // Shared across workflows
|
|
109
|
-
const workflowKV = ctx.openKv(':workflow:xyz'); // Workflow-specific
|
|
110
|
-
const customKV = ctx.openKv('custom:ns'); // Custom namespace
|
|
111
|
-
|
|
112
|
-
// Operations
|
|
113
|
-
await projectKV.set('key', { value: 'data' }, { ttl: 3600000 }); // 1 hour TTL
|
|
114
|
-
const data = await projectKV.get('key');
|
|
115
|
-
await projectKV.delete('key');
|
|
116
|
-
const keys = await projectKV.list({ prefix: 'state:' });
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
**Use Cases**:
|
|
120
|
-
- Track processed files (prevent duplicates)
|
|
121
|
-
- Distributed locking (concurrent workflows)
|
|
122
|
-
- Caching expensive API calls
|
|
123
|
-
- Incremental sync state
|
|
124
|
-
- Rate limiting
|
|
125
|
-
|
|
126
|
-
### 4. Auto-Scaling & Performance
|
|
127
|
-
|
|
128
|
-
The platform automatically scales based on workload:
|
|
129
|
-
|
|
130
|
-
- **Cold Starts**: ~100-300ms for JavaScript/TypeScript
|
|
131
|
-
- **Warm Execution**: ~10-50ms overhead
|
|
132
|
-
- **Concurrent Workflows**: Automatic horizontal scaling
|
|
133
|
-
- **Resource Limits**: Configurable memory (128MB-1GB)
|
|
134
|
-
- **Execution Timeout**: Configurable (default 30s, max 300s)
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Platform Architecture
|
|
139
|
-
|
|
140
|
-
### High-Level Overview
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
┌─────────────────────────────────────────────────────────────┐
|
|
144
|
-
│ Versori Platform │
|
|
145
|
-
├─────────────────────────────────────────────────────────────┤
|
|
146
|
-
│ │
|
|
147
|
-
│ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐ │
|
|
148
|
-
│ │ HTTP Endpoint │ │ Cron Jobs │ │ Webhooks │ │
|
|
149
|
-
│ │ /my-workflow │ │ 0 0 * * * │ │ /receive │ │
|
|
150
|
-
│ └───────┬───────┘ └───────┬───────┘ └──────┬───────┘ │
|
|
151
|
-
│ │ │ │ │
|
|
152
|
-
│ └──────────────────┼───────────────────┘ │
|
|
153
|
-
│ ▼ │
|
|
154
|
-
│ ┌─────────────────┐ │
|
|
155
|
-
│ │ Workflow │ │
|
|
156
|
-
│ │ Runtime │ │
|
|
157
|
-
│ │ (@versori/run) │ │
|
|
158
|
-
│ └────────┬────────┘ │
|
|
159
|
-
│ │ │
|
|
160
|
-
│ ┌─────────────────┼─────────────────┐ │
|
|
161
|
-
│ ▼ ▼ ▼ │
|
|
162
|
-
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
163
|
-
│ │Connection│ │ KV Store │ │ Logs │ │
|
|
164
|
-
│ │ OAuth2 │ │ State │ │ Metrics │ │
|
|
165
|
-
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
166
|
-
│ │
|
|
167
|
-
└─────────────────────────────────────────────────────────────┘
|
|
168
|
-
│
|
|
169
|
-
▼
|
|
170
|
-
┌────────────────────────┐
|
|
171
|
-
│ Fluent Commerce API │
|
|
172
|
-
│ GraphQL / Batch │
|
|
173
|
-
└────────────────────────┘
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Request Flow Example: HTTP Workflow
|
|
177
|
-
|
|
178
|
-
```
|
|
179
|
-
1. External Request
|
|
180
|
-
↓
|
|
181
|
-
2. Versori HTTP Router → Matches workflow endpoint
|
|
182
|
-
↓
|
|
183
|
-
3. Workflow Runtime Initialization
|
|
184
|
-
- Load connection credentials
|
|
185
|
-
- Initialize context (ctx)
|
|
186
|
-
- Provide authenticated fetch
|
|
187
|
-
↓
|
|
188
|
-
4. Workflow Execution
|
|
189
|
-
- Your handler function runs
|
|
190
|
-
- Access to ctx.fetch, ctx.log, ctx.openKv()
|
|
191
|
-
↓
|
|
192
|
-
5. FC Connect SDK Integration
|
|
193
|
-
- createClient(ctx) → FluentVersoriClient
|
|
194
|
-
- Auto-configured with connection
|
|
195
|
-
- OAuth2 token managed by platform
|
|
196
|
-
↓
|
|
197
|
-
6. Fluent Commerce API Call
|
|
198
|
-
- GraphQL query/mutation
|
|
199
|
-
- Batch API operations
|
|
200
|
-
↓
|
|
201
|
-
7. Response
|
|
202
|
-
- JSON (default)
|
|
203
|
-
- Custom Response object (XML, HTML, CSV, etc.)
|
|
204
|
-
↓
|
|
205
|
-
8. Logging & Metrics
|
|
206
|
-
- Execution time tracked
|
|
207
|
-
- Logs stored
|
|
208
|
-
- Errors captured
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
## FC Connect SDK Integration
|
|
214
|
-
|
|
215
|
-
The FC Connect SDK is designed to work seamlessly with Versori:
|
|
216
|
-
|
|
217
|
-
### Universal Client Factory
|
|
218
|
-
|
|
219
|
-
```typescript
|
|
220
|
-
import { createClient } from '@fluentcommerce/fc-connect-sdk';
|
|
221
|
-
|
|
222
|
-
// Auto-detects Versori context
|
|
223
|
-
export const workflow = http('name', { connection: 'fluent_commerce' }, async (ctx) => {
|
|
224
|
-
// Creates FluentVersoriClient automatically
|
|
225
|
-
const client = await createClient(ctx);
|
|
226
|
-
|
|
227
|
-
// All SDK features available:
|
|
228
|
-
// - GraphQL queries/mutations
|
|
229
|
-
// - Batch API operations
|
|
230
|
-
// - Event sending
|
|
231
|
-
// - Auto-pagination
|
|
232
|
-
// - Field mapping
|
|
233
|
-
});
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### Context Detection
|
|
237
|
-
|
|
238
|
-
The SDK automatically detects the runtime environment:
|
|
239
|
-
|
|
240
|
-
| Runtime | Client Type | Auth Method |
|
|
241
|
-
|---------|-------------|-------------|
|
|
242
|
-
| Versori HTTP (`http()`) | `FluentVersoriClient` | Connection OAuth2 |
|
|
243
|
-
| Versori Webhook (`webhook()`) | `FluentClient` | Connection OAuth2 |
|
|
244
|
-
| Versori Scheduled (`schedule()`) | `FluentVersoriClient` | Connection OAuth2 |
|
|
245
|
-
| Node.js Standalone | `FluentClient` | Manual OAuth2 config |
|
|
246
|
-
| Deno | `FluentClient` | Manual OAuth2 config |
|
|
247
|
-
|
|
248
|
-
### Versori-Specific Adapters
|
|
249
|
-
|
|
250
|
-
The SDK provides Versori-optimized utilities:
|
|
251
|
-
|
|
252
|
-
```typescript
|
|
253
|
-
import {
|
|
254
|
-
VersoriKVAdapter, // KV store adapter
|
|
255
|
-
VersoriFileTracker, // File processing tracker
|
|
256
|
-
} from '@fluentcommerce/fc-connect-sdk';
|
|
257
|
-
|
|
258
|
-
// File tracking with KV storage
|
|
259
|
-
const kv = ctx.openKv(':project:');
|
|
260
|
-
const tracker = new VersoriFileTracker(kv, 'inventory-sync');
|
|
261
|
-
|
|
262
|
-
if (await tracker.wasFileProcessed('file.csv')) {
|
|
263
|
-
return { skipped: true, reason: 'Already processed' };
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
// Process file...
|
|
267
|
-
|
|
268
|
-
await tracker.markFileProcessed('file.csv', {
|
|
269
|
-
records: 1000,
|
|
270
|
-
duration: 5000
|
|
271
|
-
});
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## When to Use Versori Platform
|
|
277
|
-
|
|
278
|
-
### ✅ Ideal Use Cases
|
|
279
|
-
|
|
280
|
-
1. **Production Integrations**
|
|
281
|
-
- Daily/hourly inventory syncs
|
|
282
|
-
- Real-time order processing
|
|
283
|
-
- Event-driven workflows
|
|
284
|
-
- Scheduled data extraction
|
|
285
|
-
|
|
286
|
-
2. **Webhook Receivers**
|
|
287
|
-
- SFCC order webhooks
|
|
288
|
-
- Fluent Rubix event webhooks
|
|
289
|
-
- Third-party system notifications
|
|
290
|
-
- Real-time data ingestion
|
|
291
|
-
|
|
292
|
-
3. **Multi-Environment Deployments**
|
|
293
|
-
- Dev/staging/production isolation
|
|
294
|
-
- Per-environment credentials
|
|
295
|
-
- Easy configuration management
|
|
296
|
-
|
|
297
|
-
4. **Rapid Prototyping**
|
|
298
|
-
- Quick setup (no infrastructure)
|
|
299
|
-
- Instant deployment
|
|
300
|
-
- Built-in monitoring
|
|
301
|
-
|
|
302
|
-
### ⚠️ Consider Alternatives When
|
|
303
|
-
|
|
304
|
-
1. **Long-Running Processes** (> 5 minutes)
|
|
305
|
-
- Heavy data processing
|
|
306
|
-
- Large file transformations
|
|
307
|
-
- Consider chunking or async patterns
|
|
308
|
-
|
|
309
|
-
2. **Stateful Applications**
|
|
310
|
-
- Real-time streaming
|
|
311
|
-
- WebSocket connections
|
|
312
|
-
- Use external services
|
|
313
|
-
|
|
314
|
-
3. **Complex Networking**
|
|
315
|
-
- VPC peering requirements
|
|
316
|
-
- On-premise database access
|
|
317
|
-
- Consider hybrid deployment
|
|
318
|
-
|
|
319
|
-
---
|
|
320
|
-
|
|
321
|
-
## Platform Billing Model
|
|
322
|
-
|
|
323
|
-
Understanding Versori costs helps optimize workflows:
|
|
324
|
-
|
|
325
|
-
| Component | Billing | Optimization Tips |
|
|
326
|
-
|-----------|---------|-------------------|
|
|
327
|
-
| **Workflow Executions** | Per invocation | Batch operations, reduce redundant calls |
|
|
328
|
-
| **KV Store** | Per read/write | Cache data, use batch operations |
|
|
329
|
-
| **Data Transfer** | Per GB | Compress payloads, paginate results |
|
|
330
|
-
| **Compute Time** | Per second | Optimize code, use async operations |
|
|
331
|
-
|
|
332
|
-
**Cost Optimization Example**:
|
|
333
|
-
```typescript
|
|
334
|
-
// ❌ Expensive: Multiple KV writes
|
|
335
|
-
for (const item of items) {
|
|
336
|
-
await kv.set(`item:${item.id}`, item); // N KV writes
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
// ✅ Optimized: Single KV write
|
|
340
|
-
await kv.set('items:batch', items); // 1 KV write
|
|
341
|
-
```
|
|
342
|
-
|
|
343
|
-
---
|
|
344
|
-
|
|
345
|
-
## Platform Versions
|
|
346
|
-
|
|
347
|
-
### @versori/run Version Compatibility
|
|
348
|
-
|
|
349
|
-
| Version | Status | Key Features |
|
|
350
|
-
|---------|--------|--------------|
|
|
351
|
-
| **v0.4.4** | **Current** | Latest stable, dependency updates |
|
|
352
|
-
| v0.4.3 | Stable | Previous stable |
|
|
353
|
-
| v0.4.2 | Stable | Previous stable |
|
|
354
|
-
| v0.4.1 | Stable | Previous stable |
|
|
355
|
-
| v0.4.0 | Stable | Initial v0.4 release |
|
|
356
|
-
|
|
357
|
-
**Recommendation**: Always use latest v0.4.x for bug fixes and improvements.
|
|
358
|
-
|
|
359
|
-
### SDK Compatibility
|
|
360
|
-
|
|
361
|
-
The FC Connect SDK supports all @versori/run v0.4.x versions.
|
|
362
|
-
|
|
363
|
-
**Installation**:
|
|
364
|
-
```bash
|
|
365
|
-
npm install @fluentcommerce/fc-connect-sdk @versori/run
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
---
|
|
369
|
-
|
|
370
|
-
## Key Takeaways
|
|
371
|
-
|
|
372
|
-
- 🎯 **Versori Platform** provides managed serverless runtime for integrations
|
|
373
|
-
- 🎯 **Four workflow types**: http(), webhook(), schedule(), fn() - each for specific use cases
|
|
374
|
-
- 🎯 **Built-in features**: OAuth2 connections, KV storage, cron scheduling, auto-scaling
|
|
375
|
-
- 🎯 **FC Connect SDK** integrates seamlessly via `createClient()` factory
|
|
376
|
-
- 🎯 **Ideal for** production integrations, webhook receivers, scheduled tasks
|
|
377
|
-
- 🎯 **Platform architecture** separates concerns: runtime, storage, connections, monitoring
|
|
378
|
-
|
|
379
|
-
---
|
|
380
|
-
|
|
381
|
-
## Next Steps
|
|
382
|
-
|
|
383
|
-
Now that you understand the Versori Platform fundamentals, let's build your first connector!
|
|
384
|
-
|
|
385
|
-
Continue to [Module 2: Quick Start →](./platforms-versori-02-quick-start.md) to deploy your first Versori workflow.
|
|
386
|
-
|
|
387
|
-
---
|
|
388
|
-
|
|
389
|
-
## Related Documentation
|
|
390
|
-
|
|
391
|
-
- [Module 2: Quick Start](./platforms-versori-02-quick-start.md) - Deploy your first connector
|
|
392
|
-
- [Module 3: Authentication](./platforms-versori-03-authentication.md) - OAuth2 and connections
|
|
393
|
-
- [Module 4: Workflows](./platforms-versori-04-workflows.md) - Deep dive into workflow types
|
|
394
|
-
- [Getting Started Guide](../../../../00-START-HERE/getting-started.md) - SDK setup basics
|
|
395
|
-
|
|
396
|
-
---
|
|
397
|
-
|
|
398
|
-
[← Back to Guide](../platforms-versori-readme.md) | [Next: Module 2: Quick Start →](./platforms-versori-02-quick-start.md)
|
|
1
|
+
# Module 1: Introduction to Versori Platform
|
|
2
|
+
|
|
3
|
+
[← Back to Versori Platform Guide](../platforms-versori-readme.md)
|
|
4
|
+
|
|
5
|
+
**Module 1 of 8** | **Level**: Beginner | **Time**: 15 minutes
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Learning Objectives
|
|
10
|
+
|
|
11
|
+
By the end of this module, you will:
|
|
12
|
+
- ✅ Understand what Versori Platform is and its core capabilities
|
|
13
|
+
- ✅ Know when to use Versori vs standalone Node.js deployments
|
|
14
|
+
- ✅ Understand the platform architecture and runtime model
|
|
15
|
+
- ✅ Recognize the key components: workflows, connections, KV storage
|
|
16
|
+
- ✅ Understand how the FC Connect SDK integrates with Versori
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## What is Versori Platform?
|
|
21
|
+
|
|
22
|
+
Versori Platform is a **managed serverless runtime** for deploying integration workflows. It provides:
|
|
23
|
+
|
|
24
|
+
- **Managed Infrastructure**: No servers to manage, automatic scaling
|
|
25
|
+
- **Built-in Features**: HTTP endpoints, cron scheduling, KV storage, OAuth2
|
|
26
|
+
- **Developer Experience**: TypeScript-first, modern tooling, instant deploys
|
|
27
|
+
- **Monitoring**: Built-in logs, execution tracking, error reporting
|
|
28
|
+
|
|
29
|
+
### Platform vs Traditional Deployment
|
|
30
|
+
|
|
31
|
+
| Aspect | Versori Platform | Traditional Node.js |
|
|
32
|
+
|--------|------------------|---------------------|
|
|
33
|
+
| **Infrastructure** | Managed (serverless) | Self-managed (EC2, containers) |
|
|
34
|
+
| **Scaling** | Automatic | Manual configuration |
|
|
35
|
+
| **HTTP Endpoints** | Auto-provisioned | Requires web server (Express, etc.) |
|
|
36
|
+
| **Cron Scheduling** | Built-in | External scheduler (cron, systemd) |
|
|
37
|
+
| **State Storage** | Built-in KV store | External DB (Redis, Postgres) |
|
|
38
|
+
| **Monitoring** | Built-in logs | Custom logging (CloudWatch, Datadog) |
|
|
39
|
+
| **Deployment** | `npm run deploy` | CI/CD pipelines, Docker |
|
|
40
|
+
| **Cost Model** | Pay-per-use | Always-on servers |
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Core Platform Capabilities
|
|
45
|
+
|
|
46
|
+
### 1. Workflow Runtime
|
|
47
|
+
|
|
48
|
+
The Versori runtime (`@versori/run`) provides four workflow types:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { http, webhook, schedule, fn } from '@versori/run';
|
|
52
|
+
|
|
53
|
+
// HTTP: External API calls with authentication
|
|
54
|
+
export const queryAPI = http('query', { connection: 'fluent_commerce' }, async (ctx) => {
|
|
55
|
+
// ctx.fetch is pre-authenticated
|
|
56
|
+
// Access to ctx.log, ctx.activation
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Webhook: Receive external HTTP requests
|
|
60
|
+
export const receiveOrder = webhook('receive-order', async (ctx) => {
|
|
61
|
+
// ctx.data contains webhook payload
|
|
62
|
+
// Access to ctx.request() (for headers), ctx.log
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Scheduled: Time-based recurring tasks (cron)
|
|
66
|
+
export const dailySync = schedule('daily', '0 0 * * *', { connection: 'fluent' }, async (ctx) => {
|
|
67
|
+
// Runs at midnight daily
|
|
68
|
+
// Full access like http() if connection provided
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Internal: Data transformation, no external APIs
|
|
72
|
+
export const transform = fn('transform', async (ctx) => {
|
|
73
|
+
// ctx.openKv() for state
|
|
74
|
+
// NO ctx.fetch (no external API access)
|
|
75
|
+
});
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 2. OAuth2 Connection Management
|
|
79
|
+
|
|
80
|
+
Versori manages OAuth2 credentials securely:
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
// Connections are configured in Versori UI
|
|
84
|
+
// Access in workflows via ctx.activation.connection
|
|
85
|
+
export const apiCall = http('call', { connection: 'fluent_commerce' }, async (ctx) => {
|
|
86
|
+
const client = await createClient(ctx); // Auto-authenticated
|
|
87
|
+
|
|
88
|
+
// Connection provides:
|
|
89
|
+
// - OAuth2 token management (automatic refresh)
|
|
90
|
+
// - Base URL
|
|
91
|
+
// - Headers
|
|
92
|
+
// - RetailerId extraction
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Benefits**:
|
|
97
|
+
- No credential management in code
|
|
98
|
+
- Automatic token refresh
|
|
99
|
+
- Secure secret storage
|
|
100
|
+
- Per-environment configurations
|
|
101
|
+
|
|
102
|
+
### 3. Distributed KV Storage
|
|
103
|
+
|
|
104
|
+
Built-in key-value store for state management:
|
|
105
|
+
|
|
106
|
+
```typescript
|
|
107
|
+
// Three storage scopes
|
|
108
|
+
const projectKV = ctx.openKv(':project:'); // Shared across workflows
|
|
109
|
+
const workflowKV = ctx.openKv(':workflow:xyz'); // Workflow-specific
|
|
110
|
+
const customKV = ctx.openKv('custom:ns'); // Custom namespace
|
|
111
|
+
|
|
112
|
+
// Operations
|
|
113
|
+
await projectKV.set('key', { value: 'data' }, { ttl: 3600000 }); // 1 hour TTL
|
|
114
|
+
const data = await projectKV.get('key');
|
|
115
|
+
await projectKV.delete('key');
|
|
116
|
+
const keys = await projectKV.list({ prefix: 'state:' });
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
**Use Cases**:
|
|
120
|
+
- Track processed files (prevent duplicates)
|
|
121
|
+
- Distributed locking (concurrent workflows)
|
|
122
|
+
- Caching expensive API calls
|
|
123
|
+
- Incremental sync state
|
|
124
|
+
- Rate limiting
|
|
125
|
+
|
|
126
|
+
### 4. Auto-Scaling & Performance
|
|
127
|
+
|
|
128
|
+
The platform automatically scales based on workload:
|
|
129
|
+
|
|
130
|
+
- **Cold Starts**: ~100-300ms for JavaScript/TypeScript
|
|
131
|
+
- **Warm Execution**: ~10-50ms overhead
|
|
132
|
+
- **Concurrent Workflows**: Automatic horizontal scaling
|
|
133
|
+
- **Resource Limits**: Configurable memory (128MB-1GB)
|
|
134
|
+
- **Execution Timeout**: Configurable (default 30s, max 300s)
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Platform Architecture
|
|
139
|
+
|
|
140
|
+
### High-Level Overview
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
144
|
+
│ Versori Platform │
|
|
145
|
+
├─────────────────────────────────────────────────────────────┤
|
|
146
|
+
│ │
|
|
147
|
+
│ ┌───────────────┐ ┌───────────────┐ ┌──────────────┐ │
|
|
148
|
+
│ │ HTTP Endpoint │ │ Cron Jobs │ │ Webhooks │ │
|
|
149
|
+
│ │ /my-workflow │ │ 0 0 * * * │ │ /receive │ │
|
|
150
|
+
│ └───────┬───────┘ └───────┬───────┘ └──────┬───────┘ │
|
|
151
|
+
│ │ │ │ │
|
|
152
|
+
│ └──────────────────┼───────────────────┘ │
|
|
153
|
+
│ ▼ │
|
|
154
|
+
│ ┌─────────────────┐ │
|
|
155
|
+
│ │ Workflow │ │
|
|
156
|
+
│ │ Runtime │ │
|
|
157
|
+
│ │ (@versori/run) │ │
|
|
158
|
+
│ └────────┬────────┘ │
|
|
159
|
+
│ │ │
|
|
160
|
+
│ ┌─────────────────┼─────────────────┐ │
|
|
161
|
+
│ ▼ ▼ ▼ │
|
|
162
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
163
|
+
│ │Connection│ │ KV Store │ │ Logs │ │
|
|
164
|
+
│ │ OAuth2 │ │ State │ │ Metrics │ │
|
|
165
|
+
│ └──────────┘ └──────────┘ └──────────┘ │
|
|
166
|
+
│ │
|
|
167
|
+
└─────────────────────────────────────────────────────────────┘
|
|
168
|
+
│
|
|
169
|
+
▼
|
|
170
|
+
┌────────────────────────┐
|
|
171
|
+
│ Fluent Commerce API │
|
|
172
|
+
│ GraphQL / Batch │
|
|
173
|
+
└────────────────────────┘
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Request Flow Example: HTTP Workflow
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
1. External Request
|
|
180
|
+
↓
|
|
181
|
+
2. Versori HTTP Router → Matches workflow endpoint
|
|
182
|
+
↓
|
|
183
|
+
3. Workflow Runtime Initialization
|
|
184
|
+
- Load connection credentials
|
|
185
|
+
- Initialize context (ctx)
|
|
186
|
+
- Provide authenticated fetch
|
|
187
|
+
↓
|
|
188
|
+
4. Workflow Execution
|
|
189
|
+
- Your handler function runs
|
|
190
|
+
- Access to ctx.fetch, ctx.log, ctx.openKv()
|
|
191
|
+
↓
|
|
192
|
+
5. FC Connect SDK Integration
|
|
193
|
+
- createClient(ctx) → FluentVersoriClient
|
|
194
|
+
- Auto-configured with connection
|
|
195
|
+
- OAuth2 token managed by platform
|
|
196
|
+
↓
|
|
197
|
+
6. Fluent Commerce API Call
|
|
198
|
+
- GraphQL query/mutation
|
|
199
|
+
- Batch API operations
|
|
200
|
+
↓
|
|
201
|
+
7. Response
|
|
202
|
+
- JSON (default)
|
|
203
|
+
- Custom Response object (XML, HTML, CSV, etc.)
|
|
204
|
+
↓
|
|
205
|
+
8. Logging & Metrics
|
|
206
|
+
- Execution time tracked
|
|
207
|
+
- Logs stored
|
|
208
|
+
- Errors captured
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## FC Connect SDK Integration
|
|
214
|
+
|
|
215
|
+
The FC Connect SDK is designed to work seamlessly with Versori:
|
|
216
|
+
|
|
217
|
+
### Universal Client Factory
|
|
218
|
+
|
|
219
|
+
```typescript
|
|
220
|
+
import { createClient } from '@fluentcommerce/fc-connect-sdk';
|
|
221
|
+
|
|
222
|
+
// Auto-detects Versori context
|
|
223
|
+
export const workflow = http('name', { connection: 'fluent_commerce' }, async (ctx) => {
|
|
224
|
+
// Creates FluentVersoriClient automatically
|
|
225
|
+
const client = await createClient(ctx);
|
|
226
|
+
|
|
227
|
+
// All SDK features available:
|
|
228
|
+
// - GraphQL queries/mutations
|
|
229
|
+
// - Batch API operations
|
|
230
|
+
// - Event sending
|
|
231
|
+
// - Auto-pagination
|
|
232
|
+
// - Field mapping
|
|
233
|
+
});
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Context Detection
|
|
237
|
+
|
|
238
|
+
The SDK automatically detects the runtime environment:
|
|
239
|
+
|
|
240
|
+
| Runtime | Client Type | Auth Method |
|
|
241
|
+
|---------|-------------|-------------|
|
|
242
|
+
| Versori HTTP (`http()`) | `FluentVersoriClient` | Connection OAuth2 |
|
|
243
|
+
| Versori Webhook (`webhook()`) | `FluentClient` | Connection OAuth2 |
|
|
244
|
+
| Versori Scheduled (`schedule()`) | `FluentVersoriClient` | Connection OAuth2 |
|
|
245
|
+
| Node.js Standalone | `FluentClient` | Manual OAuth2 config |
|
|
246
|
+
| Deno | `FluentClient` | Manual OAuth2 config |
|
|
247
|
+
|
|
248
|
+
### Versori-Specific Adapters
|
|
249
|
+
|
|
250
|
+
The SDK provides Versori-optimized utilities:
|
|
251
|
+
|
|
252
|
+
```typescript
|
|
253
|
+
import {
|
|
254
|
+
VersoriKVAdapter, // KV store adapter
|
|
255
|
+
VersoriFileTracker, // File processing tracker
|
|
256
|
+
} from '@fluentcommerce/fc-connect-sdk';
|
|
257
|
+
|
|
258
|
+
// File tracking with KV storage
|
|
259
|
+
const kv = ctx.openKv(':project:');
|
|
260
|
+
const tracker = new VersoriFileTracker(kv, 'inventory-sync');
|
|
261
|
+
|
|
262
|
+
if (await tracker.wasFileProcessed('file.csv')) {
|
|
263
|
+
return { skipped: true, reason: 'Already processed' };
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// Process file...
|
|
267
|
+
|
|
268
|
+
await tracker.markFileProcessed('file.csv', {
|
|
269
|
+
records: 1000,
|
|
270
|
+
duration: 5000
|
|
271
|
+
});
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## When to Use Versori Platform
|
|
277
|
+
|
|
278
|
+
### ✅ Ideal Use Cases
|
|
279
|
+
|
|
280
|
+
1. **Production Integrations**
|
|
281
|
+
- Daily/hourly inventory syncs
|
|
282
|
+
- Real-time order processing
|
|
283
|
+
- Event-driven workflows
|
|
284
|
+
- Scheduled data extraction
|
|
285
|
+
|
|
286
|
+
2. **Webhook Receivers**
|
|
287
|
+
- SFCC order webhooks
|
|
288
|
+
- Fluent Rubix event webhooks
|
|
289
|
+
- Third-party system notifications
|
|
290
|
+
- Real-time data ingestion
|
|
291
|
+
|
|
292
|
+
3. **Multi-Environment Deployments**
|
|
293
|
+
- Dev/staging/production isolation
|
|
294
|
+
- Per-environment credentials
|
|
295
|
+
- Easy configuration management
|
|
296
|
+
|
|
297
|
+
4. **Rapid Prototyping**
|
|
298
|
+
- Quick setup (no infrastructure)
|
|
299
|
+
- Instant deployment
|
|
300
|
+
- Built-in monitoring
|
|
301
|
+
|
|
302
|
+
### ⚠️ Consider Alternatives When
|
|
303
|
+
|
|
304
|
+
1. **Long-Running Processes** (> 5 minutes)
|
|
305
|
+
- Heavy data processing
|
|
306
|
+
- Large file transformations
|
|
307
|
+
- Consider chunking or async patterns
|
|
308
|
+
|
|
309
|
+
2. **Stateful Applications**
|
|
310
|
+
- Real-time streaming
|
|
311
|
+
- WebSocket connections
|
|
312
|
+
- Use external services
|
|
313
|
+
|
|
314
|
+
3. **Complex Networking**
|
|
315
|
+
- VPC peering requirements
|
|
316
|
+
- On-premise database access
|
|
317
|
+
- Consider hybrid deployment
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## Platform Billing Model
|
|
322
|
+
|
|
323
|
+
Understanding Versori costs helps optimize workflows:
|
|
324
|
+
|
|
325
|
+
| Component | Billing | Optimization Tips |
|
|
326
|
+
|-----------|---------|-------------------|
|
|
327
|
+
| **Workflow Executions** | Per invocation | Batch operations, reduce redundant calls |
|
|
328
|
+
| **KV Store** | Per read/write | Cache data, use batch operations |
|
|
329
|
+
| **Data Transfer** | Per GB | Compress payloads, paginate results |
|
|
330
|
+
| **Compute Time** | Per second | Optimize code, use async operations |
|
|
331
|
+
|
|
332
|
+
**Cost Optimization Example**:
|
|
333
|
+
```typescript
|
|
334
|
+
// ❌ Expensive: Multiple KV writes
|
|
335
|
+
for (const item of items) {
|
|
336
|
+
await kv.set(`item:${item.id}`, item); // N KV writes
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// ✅ Optimized: Single KV write
|
|
340
|
+
await kv.set('items:batch', items); // 1 KV write
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Platform Versions
|
|
346
|
+
|
|
347
|
+
### @versori/run Version Compatibility
|
|
348
|
+
|
|
349
|
+
| Version | Status | Key Features |
|
|
350
|
+
|---------|--------|--------------|
|
|
351
|
+
| **v0.4.4** | **Current** | Latest stable, dependency updates |
|
|
352
|
+
| v0.4.3 | Stable | Previous stable |
|
|
353
|
+
| v0.4.2 | Stable | Previous stable |
|
|
354
|
+
| v0.4.1 | Stable | Previous stable |
|
|
355
|
+
| v0.4.0 | Stable | Initial v0.4 release |
|
|
356
|
+
|
|
357
|
+
**Recommendation**: Always use latest v0.4.x for bug fixes and improvements.
|
|
358
|
+
|
|
359
|
+
### SDK Compatibility
|
|
360
|
+
|
|
361
|
+
The FC Connect SDK supports all @versori/run v0.4.x versions.
|
|
362
|
+
|
|
363
|
+
**Installation**:
|
|
364
|
+
```bash
|
|
365
|
+
npm install @fluentcommerce/fc-connect-sdk @versori/run
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## Key Takeaways
|
|
371
|
+
|
|
372
|
+
- 🎯 **Versori Platform** provides managed serverless runtime for integrations
|
|
373
|
+
- 🎯 **Four workflow types**: http(), webhook(), schedule(), fn() - each for specific use cases
|
|
374
|
+
- 🎯 **Built-in features**: OAuth2 connections, KV storage, cron scheduling, auto-scaling
|
|
375
|
+
- 🎯 **FC Connect SDK** integrates seamlessly via `createClient()` factory
|
|
376
|
+
- 🎯 **Ideal for** production integrations, webhook receivers, scheduled tasks
|
|
377
|
+
- 🎯 **Platform architecture** separates concerns: runtime, storage, connections, monitoring
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## Next Steps
|
|
382
|
+
|
|
383
|
+
Now that you understand the Versori Platform fundamentals, let's build your first connector!
|
|
384
|
+
|
|
385
|
+
Continue to [Module 2: Quick Start →](./platforms-versori-02-quick-start.md) to deploy your first Versori workflow.
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Related Documentation
|
|
390
|
+
|
|
391
|
+
- [Module 2: Quick Start](./platforms-versori-02-quick-start.md) - Deploy your first connector
|
|
392
|
+
- [Module 3: Authentication](./platforms-versori-03-authentication.md) - OAuth2 and connections
|
|
393
|
+
- [Module 4: Workflows](./platforms-versori-04-workflows.md) - Deep dive into workflow types
|
|
394
|
+
- [Getting Started Guide](../../../../00-START-HERE/getting-started.md) - SDK setup basics
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
[← Back to Guide](../platforms-versori-readme.md) | [Next: Module 2: Quick Start →](./platforms-versori-02-quick-start.md)
|