@fluentcommerce/fc-connect-sdk 0.1.48 → 0.1.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/CHANGELOG.md +506 -379
  2. package/README.md +343 -0
  3. package/dist/cjs/clients/fluent-client.js +110 -14
  4. package/dist/cjs/data-sources/s3-data-source.js +1 -1
  5. package/dist/cjs/data-sources/sftp-data-source.js +1 -1
  6. package/dist/cjs/index.d.ts +1 -1
  7. package/dist/cjs/services/extraction/extraction-orchestrator.d.ts +4 -1
  8. package/dist/cjs/services/extraction/extraction-orchestrator.js +84 -11
  9. package/dist/cjs/types/index.d.ts +79 -10
  10. package/dist/cjs/versori/fluent-versori-client.d.ts +4 -1
  11. package/dist/cjs/versori/fluent-versori-client.js +131 -13
  12. package/dist/esm/clients/fluent-client.js +110 -14
  13. package/dist/esm/data-sources/s3-data-source.js +1 -1
  14. package/dist/esm/data-sources/sftp-data-source.js +1 -1
  15. package/dist/esm/index.d.ts +1 -1
  16. package/dist/esm/services/extraction/extraction-orchestrator.d.ts +4 -1
  17. package/dist/esm/services/extraction/extraction-orchestrator.js +84 -11
  18. package/dist/esm/types/index.d.ts +79 -10
  19. package/dist/esm/versori/fluent-versori-client.d.ts +4 -1
  20. package/dist/esm/versori/fluent-versori-client.js +131 -13
  21. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  22. package/dist/tsconfig.tsbuildinfo +1 -1
  23. package/dist/tsconfig.types.tsbuildinfo +1 -1
  24. package/dist/types/index.d.ts +1 -1
  25. package/dist/types/services/extraction/extraction-orchestrator.d.ts +4 -1
  26. package/dist/types/types/index.d.ts +79 -10
  27. package/dist/types/versori/fluent-versori-client.d.ts +4 -1
  28. package/docs/02-CORE-GUIDES/api-reference/event-api-input-output-reference.md +478 -18
  29. package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-01-client-api.md +83 -0
  30. package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-08-types.md +52 -0
  31. package/docs/02-CORE-GUIDES/api-reference/modules/api-reference-12-partial-responses.md +212 -0
  32. package/docs/02-CORE-GUIDES/api-reference/readme.md +1 -1
  33. package/docs/02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md +68 -4
  34. package/docs/02-CORE-GUIDES/mapping/modules/mapping-01-foundations.md +450 -448
  35. package/docs/02-CORE-GUIDES/mapping/modules/mapping-02-quick-start.md +476 -474
  36. package/docs/02-CORE-GUIDES/mapping/modules/mapping-03-schema-validation.md +464 -462
  37. package/docs/02-CORE-GUIDES/mapping/modules/mapping-05-advanced-patterns.md +1366 -1364
  38. package/docs/readme.md +245 -245
  39. package/package.json +17 -6
  40. package/docs/versori-apis/ACTIVATIONS-AND-VARIABLES-GUIDE.md +0 -60
  41. package/docs/versori-apis/JWT-GENERATION-GUIDE.md +0 -94
  42. package/docs/versori-apis/QUICK-WORKFLOW.md +0 -293
  43. package/docs/versori-apis/README.md +0 -73
  44. package/docs/versori-apis/VERSORI-PLATFORM-ARCHITECTURE.md +0 -880
  45. package/docs/versori-apis/Versori-Platform-API.postman_collection.json +0 -2925
  46. package/docs/versori-apis/Versori-Platform-API.postman_environment.example.json +0 -62
  47. package/docs/versori-apis/Versori-Platform-API.postman_environment.json +0 -178
package/docs/readme.md CHANGED
@@ -1,245 +1,245 @@
1
- # Fluent Commerce Connect SDK Documentation
2
-
3
- Comprehensive documentation for the Fluent Commerce Connect SDK - a TypeScript/JavaScript library for building integrations with inventory ingestion and extraction capabilities.
4
-
5
- **Current Version:** Latest
6
- **Node.js:** >= 18.0.0
7
- **TypeScript:** 5.9.2
8
- **Platform Support:** Node.js, Deno, Versori
9
-
10
- > **Tip:** For installation and quick start, see the main [readme.md](../readme.md). This document provides navigation to detailed guides.
11
-
12
- ---
13
-
14
- ## 📑 Documentation Index
15
-
16
- ### 🚀 Quick Start
17
-
18
- - **[Getting Started](./00-START-HERE/getting-started.md)** - Installation, configuration, and quick examples
19
- - **[API Reference](./02-CORE-GUIDES/api-reference/api-reference-readme.md)** - Complete API documentation for all SDK methods
20
- - **[SDK Philosophy](./00-START-HERE/sdk-philosophy.md)** - Design principles and architecture decisions
21
-
22
- ### 🏗️ Architecture
23
-
24
- - **[Architecture Overview](./04-REFERENCE/architecture/readme.md)** - Complete SDK architecture documentation
25
- - **[Client Architecture](./04-REFERENCE/architecture/architecture-02-client-architecture.md)** - Client system design
26
- - **[Data Flow](./04-REFERENCE/architecture/architecture-03-data-flow.md)** - How data moves through the SDK
27
- - **[Service Layer](./04-REFERENCE/architecture/architecture-04-service-layer.md)** - Service organization and patterns
28
- - **[State Management](./04-REFERENCE/architecture/architecture-06-state-management.md)** - State tracking and duplicate prevention
29
-
30
- ### 🎯 Scenarios & Patterns
31
-
32
- - **[Connector Scenarios](./03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-readme.md)** - Example connector scenarios
33
- - **[Integration Patterns](./03-PATTERN-GUIDES/integration-patterns/)** - Common patterns and practices
34
- - **[Orchestrators Guide](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md)** - Production orchestrators for inventory workflows
35
-
36
- ### 🔄 Data Workflows
37
-
38
- - **[Ingestion Guide](./02-CORE-GUIDES/ingestion/)** - Complete guide for ingesting data into Fluent Commerce
39
- - **[Extraction Guide](./02-CORE-GUIDES/extraction/)** - Extract and transform data from Fluent Commerce
40
- - **[Auto-Pagination Guide](./02-CORE-GUIDES/auto-pagination/)** - 🌟 Automatic GraphQL pagination with zero boilerplate (modules + examples)
41
-
42
- ### 🔄 Data Transformation
43
-
44
- - **[Universal Mapping Guide](./02-CORE-GUIDES/mapping/mapping-readme.md)** - Progressive learning path for field mapping and transformation
45
- - **[Resolver Guide](./02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-readme.md)** - Complete resolver development guide with modules and cookbook patterns
46
- - **[Resolver Signature](./04-REFERENCE/resolver-signature/resolver-signature-readme.md)** - Detailed resolver function signatures and contracts
47
- - **[GraphQL Mutation Mapping](./02-CORE-GUIDES/mapping/graphql-mutation-mapping/)** - Map XML/JSON to GraphQL mutations
48
- - **[Multiple Connections](./03-PATTERN-GUIDES/multiple-connections/multiple-connections-readme.md)** - Handle multiple Fluent connections
49
-
50
- ### 🌐 Platform Integration
51
-
52
- - **[Versori Platform APIs](./versori-apis/README.md)** - Complete Versori Platform API documentation
53
- - Platform Management APIs (Control Plane)
54
- - Workflow Runtime APIs (Data Plane)
55
- - Postman collections for both API layers
56
- - OpenAPI specifications
57
- - SDK reference for `@versori/run`
58
-
59
- ### 📄 Parser Learning Paths
60
-
61
- - **[CSV Parser](./02-CORE-GUIDES/api-reference/modules/api-reference-07-parsers.md#csv-parser)** - Built-in CSV parsing with validation
62
- - **[Parser Guide](./02-CORE-GUIDES/parsers/parsers-readme.md)** - Complete learning path for JSON/JSONL and XML parsing with streaming support
63
- - **[Parquet Guide](./03-PATTERN-GUIDES/parquet/)** - Work with Parquet files for big data operations
64
-
65
- ### 📁 Data Sources Learning Paths
66
-
67
- - **[Data Sources Guide](./02-CORE-GUIDES/data-sources/data-sources-readme.md)** - Complete learning path for S3 and SFTP integrations
68
- - **[SFTP Quick Reference](./02-CORE-GUIDES/data-sources/data-sources-quick-reference.md)** - Quick examples and recipes
69
- - **[File Operations Guide](./03-PATTERN-GUIDES/file-operations/file-operations-readme.md)** - Overview of all file operation capabilities
70
-
71
- ### 🔒 Validation & Security
72
-
73
- - **[Webhook Validation Guide](./02-CORE-GUIDES/webhook-validation/webhook-validation-readme.md)** - Validate webhook signatures from Fluent Commerce
74
- - **[Error Handling Guide](./03-PATTERN-GUIDES/error-handling/error-handling-readme.md)** - Comprehensive error handling patterns and strategies
75
- - **[GraphQL Error Classification](./02-CORE-GUIDES/api-reference/graphql-error-classification.md)** - 🌟 Classify GraphQL errors (retryable vs non-retryable) with error codes
76
- - **[GraphQL Mapping Error Handling](./02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-11-error-handling.md)** - Error handling for GraphQL operations
77
- - **[Testing Guide](./04-REFERENCE/testing/testing-readme.md)** - Test utilities and validation tools
78
-
79
- ### 🌐 Platform Integration
80
-
81
- - **[Versori Platform](./04-REFERENCE/platforms/versori/)** - Complete Versori platform integration guide
82
- - **[Versori Webhook Response Patterns](./04-REFERENCE/platforms/versori/modules/platforms-versori-04-workflows.md#critical-non-json-response-handlers-xml-html-csv)** - ⚠️ **CRITICAL**: Returning XML/HTML/CSV from webhooks
83
- - **[Deno Compatibility](./04-REFERENCE/platforms/deno/)** - Deno runtime support and compatibility
84
-
85
- ### 📚 Use Cases & Examples
86
-
87
- - **[Use Cases Index](./01-TEMPLATES/readme.md)** - Complete catalog of use cases and examples with decision tree
88
-
89
- #### Patterns (Reusable Components)
90
-
91
- - **[Custom Resolvers](./01-TEMPLATES/patterns/custom-resolvers.md)** - Custom transformation functions
92
- - **[Error Handling & Retry](./01-TEMPLATES/patterns/error-handling-retry.md)** - Circuit breakers, retries, fallbacks
93
- - **[Field Mapping Universal](./01-TEMPLATES/patterns/field-mapping-universal.md)** - Universal field transformation patterns
94
- - **[Pagination & Streaming](./01-TEMPLATES/patterns/pagination-streaming.md)** - Handle large datasets efficiently
95
- - **[State & Duplicate Prevention](./01-TEMPLATES/patterns/state-duplicate-prevention.md)** - Prevent duplicate processing
96
- - **[Large File Splitting](./01-TEMPLATES/patterns/large-file-splitting.md)** - Handle GB-sized files
97
- - **[Master Data ETL](./01-TEMPLATES/patterns/master-data-etl.md)** - Load locations, products, controls
98
- - **[CSV Schema Validation](./01-TEMPLATES/patterns/csv-schema-validation-and-rejection-report.md)** - Validate and report CSV issues
99
-
100
- #### Standalone Scripts (Node.js/Deno)
101
-
102
- - **[S3 CSV → Batch API](./01-TEMPLATES/standalone/s3-csv-batch-api.md)** - Complete standalone S3 CSV ingestion
103
- - **[SFTP XML → GraphQL](./01-TEMPLATES/standalone/sftp-xml-graphql.md)** - SFTP XML order ingestion
104
- - **[GraphQL Query Export](./01-TEMPLATES/standalone/graphql-query-export.md)** - Export data via GraphQL queries
105
- - **[Multi-Source Aggregation](./01-TEMPLATES/standalone/multi-source-aggregation.md)** - Combine multiple data sources
106
- - **[S3 CSV Inventory Batch](./01-TEMPLATES/standalone/s3-csv-batch-api.md)** - CSV inventory processing
107
- - **[GraphQL → Parquet S3](./01-TEMPLATES/standalone/graphql-to-parquet-partitioned-s3.md)** - Export to partitioned Parquet
108
- - **[Multi-Channel Sync](./01-TEMPLATES/standalone/multi-channel-inventory-sync.md)** - Sync across channels
109
- - **[ASN Inbound Processing](./01-TEMPLATES/standalone/asn-inbound-processing.md)** - Process ASN/EDI 856 files
110
-
111
- #### Versori Platform Examples
112
-
113
- **Webhooks** (Real-time):
114
- - **[XML Order Ingestion](./01-TEMPLATES/versori/webhooks/template-webhook-xml-order-ingestion.md)** - Process XML orders via webhooks
115
- - **[Payment Gateway Integration](./01-TEMPLATES/versori/webhooks/template-webhook-payment-gateway-integration.md)** - Adyen payment flows (Capture, Refund, Cancel, ReAuth)
116
- - **[Dropship Routing](./01-TEMPLATES/versori/webhooks/template-webhook-dropship-routing.md)** - Route dropship orders
117
- - **[Flash Sale Reserve](./01-TEMPLATES/versori/webhooks/template-webhook-flash-sale-reserve.md)** - Handle flash sale reservations
118
- - **[Generic XML Order](./01-TEMPLATES/versori/webhooks/template-webhook-generic-xml-order.md)** - Generic XML order processing
119
- - **[RMA Returns](./01-TEMPLATES/versori/webhooks/template-webhook-rma-returns-comprehensive.md)** - Comprehensive returns processing
120
- - **[ASN Purchase Order](./01-TEMPLATES/versori/webhooks/template-webhook-asn-purchase-order.md)** - ASN webhook processing
121
-
122
- **Scheduled** (Batch):
123
- - **[Bulk Price Updates](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Schedule price updates
124
- - **[CSV Inventory Sync](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Scheduled CSV ingestion
125
- - **[Cycle Count Reconciliation](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Inventory counting
126
- - **[Master Data Adapter](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Master data loading
127
- - **[Multi-Channel Sync](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Scheduled multi-channel sync
128
- - **[SFTP CSV Ingestion](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-csv-inventory-batch.md)** - SFTP scheduled ingestion
129
-
130
- **Patterns** (Versori-specific):
131
- - **[Dual Workflow Connector](./01-TEMPLATES/versori/patterns/dual-workflow-connector.md)** - Webhook + scheduled combination
132
- - **[KV State Management](./01-TEMPLATES/versori/patterns/kv-state-management.md)** - Versori KV store patterns
133
- - **[XML Response Patterns](./01-TEMPLATES/versori/patterns/xml-response-patterns.md)** - Return XML from webhooks
134
-
135
- **Business Examples** (Complex workflows):
136
- - **[Dropship Order Routing](./01-TEMPLATES/versori/business-examples/dropship-order-routing.md)** - Complete dropship workflow
137
- - **[GraphQL Parquet Extraction](./01-TEMPLATES/versori/business-examples/graphql-parquet-extraction.md)** - Extract to Parquet format
138
- - **[Inter-Location Transfers](./01-TEMPLATES/versori/business-examples/inter-location-transfers.md)** - Transfer inventory between locations
139
- - **[Pre-Order Allocation](./01-TEMPLATES/versori/business-examples/pre-order-allocation.md)** - Pre-order reservation system
140
-
141
- ---
142
-
143
- ## 🔍 Find What You Need
144
-
145
- | **I Want To...** | **Start Here** | **Then See** |
146
- |---|---|---|
147
- | **Build a production connector** | 🌟 [Connector Scenarios](./03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-readme.md) | [Integration Patterns](./03-PATTERN-GUIDES/integration-patterns/) |
148
- | **Get started quickly** | [Getting Started](./00-START-HERE/getting-started.md) | [API Reference](./02-CORE-GUIDES/api-reference/api-reference-readme.md) |
149
- | **Configure retailerId (optional)** | [retailerId Configuration](./00-START-HERE/retailerid-configuration.md) | [Authentication](./02-CORE-GUIDES/api-reference/modules/api-reference-03-authentication.md) |
150
- | **Fetch ALL results (not just first page)** | ⚠️ [Auto-Pagination](./02-CORE-GUIDES/auto-pagination/) | [Quick Start](./02-CORE-GUIDES/auto-pagination/modules/auto-pagination-02-quick-start.md) |
151
- | **Set up inventory sync** | [Ingestion Guide](./02-CORE-GUIDES/ingestion/) | [Data Sources](./02-CORE-GUIDES/data-sources/data-sources-readme.md) |
152
- | **Use SFTP (no platform needed)** | 🌟 [Data Sources Guide](./02-CORE-GUIDES/data-sources/data-sources-readme.md) | [SFTP Quick Reference](./02-CORE-GUIDES/data-sources/data-sources-quick-reference.md) |
153
- | **Export data from Fluent** | [Extraction Guide](./02-CORE-GUIDES/extraction/) | [ExtractionOrchestrator Guide](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) |
154
- | **High-level extraction (auto-pagination)** | 🌟 [ExtractionOrchestrator](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) | [Extraction Guide](./02-CORE-GUIDES/extraction/) |
155
- | **Handle webhooks** | [Webhook Validation](./02-CORE-GUIDES/webhook-validation/webhook-validation-readme.md) | [Webhook Examples](./01-TEMPLATES/versori/webhooks/) |
156
- | **Validate webhook signatures** | [Webhook Validation](./02-CORE-GUIDES/webhook-validation/webhook-validation-readme.md) | [Quick Start Guide](./02-CORE-GUIDES/auto-pagination/modules/auto-pagination-02-quick-start.md) |
157
- | **Track job lifecycle** | [JobTracker Usage](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) | [State Management](./04-REFERENCE/architecture/architecture-06-state-management.md) |
158
- | **Retry partial batch failures** | [Batch Recovery Patterns](./03-PATTERN-GUIDES/error-handling/error-handling-readme.md) | [PartialBatchRecovery API](./02-CORE-GUIDES/api-reference/modules/api-reference-05-services.md#partialbatchrecovery-new) |
159
- | **Pre-validate connector config** | [PreflightValidator Guide](./04-REFERENCE/testing/testing-readme.md) | [Testing Patterns](./04-REFERENCE/testing/) |
160
- | **Return XML/HTML from webhook** | ⚠️ [Webhook Response Patterns](./04-REFERENCE/platforms/versori/modules/platforms-versori-04-workflows.md#critical-non-json-response-handlers-xml-html-csv) | [Versori Platform](./04-REFERENCE/platforms/versori/) |
161
- | **Deploy on Versori** | [Versori Platform](./04-REFERENCE/platforms/versori/) | [Versori Examples](./01-TEMPLATES/versori/) |
162
- | **Look up API methods** | [API Reference](./02-CORE-GUIDES/api-reference/api-reference-readme.md) | [SDK Philosophy](./00-START-HERE/sdk-philosophy.md) |
163
- | **Transform data fields** | [Universal Mapping](./02-CORE-GUIDES/mapping/mapping-readme.md) | [Resolver Guide](./02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-readme.md) |
164
- | **Parse CSV data** | [API Reference](./02-CORE-GUIDES/api-reference/modules/api-reference-07-parsers.md#csv-parser) | [CSV Validation Pattern](./01-TEMPLATES/patterns/csv-schema-validation-and-rejection-report.md) |
165
- | **Parse XML/JSON data** | [Parser Guide](./02-CORE-GUIDES/parsers/parsers-readme.md) | [GraphQL Mutation Mapping](./02-CORE-GUIDES/mapping/graphql-mutation-mapping/) |
166
- | **Work with S3** | [Data Sources Guide](./02-CORE-GUIDES/data-sources/data-sources-readme.md) | [S3 Examples](./01-TEMPLATES/standalone/s3-csv-batch-api.md) |
167
- | **Debug issues** | [Error Handling Guide](./03-PATTERN-GUIDES/error-handling/error-handling-readme.md) | [Testing Guide](./04-REFERENCE/testing/testing-readme.md) |
168
- | **Prevent duplicates** | [State Management](./01-TEMPLATES/patterns/state-duplicate-prevention.md) | [Architecture](./04-REFERENCE/architecture/architecture-06-state-management.md) |
169
- | **Handle large files** | [Large File Splitting](./01-TEMPLATES/patterns/large-file-splitting.md) | [Pagination & Streaming](./01-TEMPLATES/patterns/pagination-streaming.md) |
170
- | **See complete examples** | [Use Cases Index](./01-TEMPLATES/readme.md) | [FAQ](./01-TEMPLATES/faq.md) |
171
-
172
- ---
173
-
174
- ## 📖 Documentation Structure
175
-
176
- **New 5-folder organization** for better AI context loading and navigation:
177
-
178
- ```
179
- docs/
180
- ├── readme.md (this file)
181
- ├── template-loading-matrix.md (template selection guide)
182
-
183
- ├── 00-START-HERE/ (essential docs - read first)
184
- │ ├── getting-started.md (installation & setup)
185
- │ ├── decision-tree.md (which approach to use)
186
- │ ├── sdk-philosophy.md (design principles)
187
- │ └── troubleshooting-quick-reference.md (90% of issues)
188
-
189
- ├── 01-TEMPLATES/ (complete working examples)
190
- │ ├── readme.md (complete catalog with decision tree)
191
- │ ├── faq.md (troubleshooting guide)
192
- │ ├── patterns/ (9 reusable components)
193
- │ ├── standalone/ (9 Node.js/Deno scripts)
194
- │ └── versori/ (32 Versori platform examples)
195
- │ ├── webhooks/ (7 real-time)
196
- │ ├── scheduled/ (6 batch)
197
- │ ├── patterns/ (3 Versori-specific)
198
- │ └── business-examples/ (4 complex workflows)
199
-
200
- ├── 02-CORE-GUIDES/ (progressive learning paths)
201
- │ ├── api-reference/ (complete API docs)
202
- │ ├── ingestion/ (data into Fluent)
203
- │ ├── extraction/ (data from Fluent)
204
- │ ├── auto-pagination/ (7 modules - cursor pagination)
205
- │ ├── data-sources/ (S3, SFTP guides)
206
- │ ├── parsers/ (CSV, XML, JSON, Parquet)
207
- │ ├── webhook-validation/ (webhook security)
208
- │ └── mapping/ (field transformation)
209
- │ ├── modules/ (universal mapping)
210
- │ ├── resolvers/ (7 modules - custom functions)
211
- │ └── graphql-mutation-mapping/ (XML/JSON → GraphQL)
212
-
213
- ├── 03-PATTERN-GUIDES/ (reusable patterns)
214
- │ ├── error-handling/ (retry, circuit breakers)
215
- │ ├── file-operations/ (S3, SFTP patterns)
216
- │ ├── integration-patterns/ (common workflows)
217
- │ ├── multiple-connections/ (multi-tenant)
218
- │ ├── orchestrators/ (high-level workflows)
219
- │ ├── parquet/ (big data operations)
220
- │ └── [other patterns]
221
-
222
- └── 04-REFERENCE/ (deep dives & platform docs)
223
- ├── architecture/ (7 docs - system design)
224
- ├── testing/ (test utilities)
225
- ├── platforms/versori/ (Versori integration)
226
- ├── schema/ (GraphQL schema docs)
227
- └── troubleshooting/ (detailed debugging)
228
- ```
229
-
230
- ---
231
-
232
- ## 🔗 External Resources
233
-
234
- - **[NPM Package](https://www.npmjs.com/package/@fluentcommerce/fc-connect-sdk)** - Install the SDK
235
- - **[GitHub Repository](https://github.com/fluentcommerce/fc-connect-sdk)** - Source code and issues
236
- - **[Fluent Commerce API Docs](https://docs.fluentcommerce.com)** - Fluent Commerce platform documentation
237
- - **[Versori Platform](https://versori.com)** - Versori integration platform
238
-
239
- ---
240
-
241
- ## 📝 Contributing
242
-
243
- Found an issue or want to improve the docs? Please see the main [readme.md](../readme.md) for contribution guidelines.
244
-
245
- **License:** MIT | **Current Version:** Latest
1
+ # Fluent Commerce Connect SDK Documentation
2
+
3
+ Comprehensive documentation for the Fluent Commerce Connect SDK - a TypeScript/JavaScript library for building integrations with inventory ingestion and extraction capabilities.
4
+
5
+ **Current Version:** Latest
6
+ **Node.js:** >= 18.0.0
7
+ **TypeScript:** 5.9.2
8
+ **Platform Support:** Node.js, Deno, Versori
9
+
10
+ > **Tip:** For installation and quick start, see the main [readme.md](../readme.md). This document provides navigation to detailed guides.
11
+
12
+ ---
13
+
14
+ ## 📑 Documentation Index
15
+
16
+ ### 🚀 Quick Start
17
+
18
+ - **[Getting Started](./00-START-HERE/getting-started.md)** - Installation, configuration, and quick examples
19
+ - **[API Reference](./02-CORE-GUIDES/api-reference/api-reference-readme.md)** - Complete API documentation for all SDK methods
20
+ - **[SDK Philosophy](./00-START-HERE/sdk-philosophy.md)** - Design principles and architecture decisions
21
+
22
+ ### 🏗️ Architecture
23
+
24
+ - **[Architecture Overview](./04-REFERENCE/architecture/readme.md)** - Complete SDK architecture documentation
25
+ - **[Client Architecture](./04-REFERENCE/architecture/architecture-02-client-architecture.md)** - Client system design
26
+ - **[Data Flow](./04-REFERENCE/architecture/architecture-03-data-flow.md)** - How data moves through the SDK
27
+ - **[Service Layer](./04-REFERENCE/architecture/architecture-04-service-layer.md)** - Service organization and patterns
28
+ - **[State Management](./04-REFERENCE/architecture/architecture-06-state-management.md)** - State tracking and duplicate prevention
29
+
30
+ ### 🎯 Scenarios & Patterns
31
+
32
+ - **[Connector Scenarios](./03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-readme.md)** - Example connector scenarios
33
+ - **[Integration Patterns](./03-PATTERN-GUIDES/integration-patterns/)** - Common patterns and practices
34
+ - **[Orchestrators Guide](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md)** - Production orchestrators for inventory workflows
35
+
36
+ ### 🔄 Data Workflows
37
+
38
+ - **[Ingestion Guide](./02-CORE-GUIDES/ingestion/)** - Complete guide for ingesting data into Fluent Commerce
39
+ - **[Extraction Guide](./02-CORE-GUIDES/extraction/)** - Extract and transform data from Fluent Commerce
40
+ - **[Auto-Pagination Guide](./02-CORE-GUIDES/auto-pagination/)** - 🌟 Automatic GraphQL pagination with zero boilerplate (modules + examples)
41
+
42
+ ### 🔄 Data Transformation
43
+
44
+ - **[Universal Mapping Guide](./02-CORE-GUIDES/mapping/mapping-readme.md)** - Progressive learning path for field mapping and transformation
45
+ - **[Resolver Guide](./02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-readme.md)** - Complete resolver development guide with modules and cookbook patterns
46
+ - **[Resolver Signature](./04-REFERENCE/resolver-signature/resolver-signature-readme.md)** - Detailed resolver function signatures and contracts
47
+ - **[GraphQL Mutation Mapping](./02-CORE-GUIDES/mapping/graphql-mutation-mapping/)** - Map XML/JSON to GraphQL mutations
48
+ - **[Multiple Connections](./03-PATTERN-GUIDES/multiple-connections/multiple-connections-readme.md)** - Handle multiple Fluent connections
49
+
50
+ ### 🌐 Platform Integration
51
+
52
+ - **[Versori Platform APIs](../versori-apis/README.md)** - Complete Versori Platform API documentation
53
+ - Platform Management APIs (Control Plane)
54
+ - Workflow Runtime APIs (Data Plane)
55
+ - Postman collections for both API layers
56
+ - OpenAPI specifications
57
+ - SDK reference for `@versori/run`
58
+
59
+ ### 📄 Parser Learning Paths
60
+
61
+ - **[CSV Parser](./02-CORE-GUIDES/api-reference/modules/api-reference-07-parsers.md#csv-parser)** - Built-in CSV parsing with validation
62
+ - **[Parser Guide](./02-CORE-GUIDES/parsers/parsers-readme.md)** - Complete learning path for JSON/JSONL and XML parsing with streaming support
63
+ - **[Parquet Guide](./03-PATTERN-GUIDES/parquet/)** - Work with Parquet files for big data operations
64
+
65
+ ### 📁 Data Sources Learning Paths
66
+
67
+ - **[Data Sources Guide](./02-CORE-GUIDES/data-sources/data-sources-readme.md)** - Complete learning path for S3 and SFTP integrations
68
+ - **[SFTP Quick Reference](./02-CORE-GUIDES/data-sources/data-sources-quick-reference.md)** - Quick examples and recipes
69
+ - **[File Operations Guide](./03-PATTERN-GUIDES/file-operations/file-operations-readme.md)** - Overview of all file operation capabilities
70
+
71
+ ### 🔒 Validation & Security
72
+
73
+ - **[Webhook Validation Guide](./02-CORE-GUIDES/webhook-validation/webhook-validation-readme.md)** - Validate webhook signatures from Fluent Commerce
74
+ - **[Error Handling Guide](./03-PATTERN-GUIDES/error-handling/error-handling-readme.md)** - Comprehensive error handling patterns and strategies
75
+ - **[GraphQL Error Classification](./02-CORE-GUIDES/api-reference/graphql-error-classification.md)** - 🌟 Classify GraphQL errors (retryable vs non-retryable) with error codes
76
+ - **[GraphQL Mapping Error Handling](./02-CORE-GUIDES/mapping/graphql-mutation-mapping/modules/graphql-mutation-mapping-11-error-handling.md)** - Error handling for GraphQL operations
77
+ - **[Testing Guide](./04-REFERENCE/testing/testing-readme.md)** - Test utilities and validation tools
78
+
79
+ ### 🌐 Platform Integration
80
+
81
+ - **[Versori Platform](./04-REFERENCE/platforms/versori/)** - Complete Versori platform integration guide
82
+ - **[Versori Webhook Response Patterns](./04-REFERENCE/platforms/versori/modules/platforms-versori-04-workflows.md#critical-non-json-response-handlers-xml-html-csv)** - ⚠️ **CRITICAL**: Returning XML/HTML/CSV from webhooks
83
+ - **[Deno Compatibility](./04-REFERENCE/platforms/deno/)** - Deno runtime support and compatibility
84
+
85
+ ### 📚 Use Cases & Examples
86
+
87
+ - **[Use Cases Index](./01-TEMPLATES/readme.md)** - Complete catalog of use cases and examples with decision tree
88
+
89
+ #### Patterns (Reusable Components)
90
+
91
+ - **[Custom Resolvers](./01-TEMPLATES/patterns/custom-resolvers.md)** - Custom transformation functions
92
+ - **[Error Handling & Retry](./01-TEMPLATES/patterns/error-handling-retry.md)** - Circuit breakers, retries, fallbacks
93
+ - **[Field Mapping Universal](./01-TEMPLATES/patterns/field-mapping-universal.md)** - Universal field transformation patterns
94
+ - **[Pagination & Streaming](./01-TEMPLATES/patterns/pagination-streaming.md)** - Handle large datasets efficiently
95
+ - **[State & Duplicate Prevention](./01-TEMPLATES/patterns/state-duplicate-prevention.md)** - Prevent duplicate processing
96
+ - **[Large File Splitting](./01-TEMPLATES/patterns/large-file-splitting.md)** - Handle GB-sized files
97
+ - **[Master Data ETL](./01-TEMPLATES/patterns/master-data-etl.md)** - Load locations, products, controls
98
+ - **[CSV Schema Validation](./01-TEMPLATES/patterns/csv-schema-validation-and-rejection-report.md)** - Validate and report CSV issues
99
+
100
+ #### Standalone Scripts (Node.js/Deno)
101
+
102
+ - **[S3 CSV → Batch API](./01-TEMPLATES/standalone/s3-csv-batch-api.md)** - Complete standalone S3 CSV ingestion
103
+ - **[SFTP XML → GraphQL](./01-TEMPLATES/standalone/sftp-xml-graphql.md)** - SFTP XML order ingestion
104
+ - **[GraphQL Query Export](./01-TEMPLATES/standalone/graphql-query-export.md)** - Export data via GraphQL queries
105
+ - **[Multi-Source Aggregation](./01-TEMPLATES/standalone/multi-source-aggregation.md)** - Combine multiple data sources
106
+ - **[S3 CSV Inventory Batch](./01-TEMPLATES/standalone/s3-csv-batch-api.md)** - CSV inventory processing
107
+ - **[GraphQL → Parquet S3](./01-TEMPLATES/standalone/graphql-to-parquet-partitioned-s3.md)** - Export to partitioned Parquet
108
+ - **[Multi-Channel Sync](./01-TEMPLATES/standalone/multi-channel-inventory-sync.md)** - Sync across channels
109
+ - **[ASN Inbound Processing](./01-TEMPLATES/standalone/asn-inbound-processing.md)** - Process ASN/EDI 856 files
110
+
111
+ #### Versori Platform Examples
112
+
113
+ **Webhooks** (Real-time):
114
+ - **[XML Order Ingestion](./01-TEMPLATES/versori/webhooks/template-webhook-xml-order-ingestion.md)** - Process XML orders via webhooks
115
+ - **[Payment Gateway Integration](./01-TEMPLATES/versori/webhooks/template-webhook-payment-gateway-integration.md)** - Adyen payment flows (Capture, Refund, Cancel, ReAuth)
116
+ - **[Dropship Routing](./01-TEMPLATES/versori/webhooks/template-webhook-dropship-routing.md)** - Route dropship orders
117
+ - **[Flash Sale Reserve](./01-TEMPLATES/versori/webhooks/template-webhook-flash-sale-reserve.md)** - Handle flash sale reservations
118
+ - **[Generic XML Order](./01-TEMPLATES/versori/webhooks/template-webhook-generic-xml-order.md)** - Generic XML order processing
119
+ - **[RMA Returns](./01-TEMPLATES/versori/webhooks/template-webhook-rma-returns-comprehensive.md)** - Comprehensive returns processing
120
+ - **[ASN Purchase Order](./01-TEMPLATES/versori/webhooks/template-webhook-asn-purchase-order.md)** - ASN webhook processing
121
+
122
+ **Scheduled** (Batch):
123
+ - **[Bulk Price Updates](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Schedule price updates
124
+ - **[CSV Inventory Sync](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Scheduled CSV ingestion
125
+ - **[Cycle Count Reconciliation](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Inventory counting
126
+ - **[Master Data Adapter](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Master data loading
127
+ - **[Multi-Channel Sync](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-s3-csv-inventory-batch.md)** - Scheduled multi-channel sync
128
+ - **[SFTP CSV Ingestion](./01-TEMPLATES/versori/workflows/ingestion/batch-api/template-ingestion-sftp-csv-inventory-batch.md)** - SFTP scheduled ingestion
129
+
130
+ **Patterns** (Versori-specific):
131
+ - **[Dual Workflow Connector](./01-TEMPLATES/versori/patterns/dual-workflow-connector.md)** - Webhook + scheduled combination
132
+ - **[KV State Management](./01-TEMPLATES/versori/patterns/kv-state-management.md)** - Versori KV store patterns
133
+ - **[XML Response Patterns](./01-TEMPLATES/versori/patterns/xml-response-patterns.md)** - Return XML from webhooks
134
+
135
+ **Business Examples** (Complex workflows):
136
+ - **[Dropship Order Routing](./01-TEMPLATES/versori/business-examples/dropship-order-routing.md)** - Complete dropship workflow
137
+ - **[GraphQL Parquet Extraction](./01-TEMPLATES/versori/business-examples/graphql-parquet-extraction.md)** - Extract to Parquet format
138
+ - **[Inter-Location Transfers](./01-TEMPLATES/versori/business-examples/inter-location-transfers.md)** - Transfer inventory between locations
139
+ - **[Pre-Order Allocation](./01-TEMPLATES/versori/business-examples/pre-order-allocation.md)** - Pre-order reservation system
140
+
141
+ ---
142
+
143
+ ## 🔍 Find What You Need
144
+
145
+ | **I Want To...** | **Start Here** | **Then See** |
146
+ |---|---|---|
147
+ | **Build a production connector** | 🌟 [Connector Scenarios](./03-PATTERN-GUIDES/connector-scenarios/connector-scenarios-readme.md) | [Integration Patterns](./03-PATTERN-GUIDES/integration-patterns/) |
148
+ | **Get started quickly** | [Getting Started](./00-START-HERE/getting-started.md) | [API Reference](./02-CORE-GUIDES/api-reference/api-reference-readme.md) |
149
+ | **Configure retailerId (optional)** | [retailerId Configuration](./00-START-HERE/retailerid-configuration.md) | [Authentication](./02-CORE-GUIDES/api-reference/modules/api-reference-03-authentication.md) |
150
+ | **Fetch ALL results (not just first page)** | ⚠️ [Auto-Pagination](./02-CORE-GUIDES/auto-pagination/) | [Quick Start](./02-CORE-GUIDES/auto-pagination/modules/auto-pagination-02-quick-start.md) |
151
+ | **Set up inventory sync** | [Ingestion Guide](./02-CORE-GUIDES/ingestion/) | [Data Sources](./02-CORE-GUIDES/data-sources/data-sources-readme.md) |
152
+ | **Use SFTP (no platform needed)** | 🌟 [Data Sources Guide](./02-CORE-GUIDES/data-sources/data-sources-readme.md) | [SFTP Quick Reference](./02-CORE-GUIDES/data-sources/data-sources-quick-reference.md) |
153
+ | **Export data from Fluent** | [Extraction Guide](./02-CORE-GUIDES/extraction/) | [ExtractionOrchestrator Guide](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) |
154
+ | **High-level extraction (auto-pagination)** | 🌟 [ExtractionOrchestrator](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) | [Extraction Guide](./02-CORE-GUIDES/extraction/) |
155
+ | **Handle webhooks** | [Webhook Validation](./02-CORE-GUIDES/webhook-validation/webhook-validation-readme.md) | [Webhook Examples](./01-TEMPLATES/versori/webhooks/) |
156
+ | **Validate webhook signatures** | [Webhook Validation](./02-CORE-GUIDES/webhook-validation/webhook-validation-readme.md) | [Quick Start Guide](./02-CORE-GUIDES/auto-pagination/modules/auto-pagination-02-quick-start.md) |
157
+ | **Track job lifecycle** | [JobTracker Usage](./02-CORE-GUIDES/extraction/modules/02-core-guides-extraction-08-extraction-orchestrator.md) | [State Management](./04-REFERENCE/architecture/architecture-06-state-management.md) |
158
+ | **Retry partial batch failures** | [Batch Recovery Patterns](./03-PATTERN-GUIDES/error-handling/error-handling-readme.md) | [PartialBatchRecovery API](./02-CORE-GUIDES/api-reference/modules/api-reference-05-services.md#partialbatchrecovery-new) |
159
+ | **Pre-validate connector config** | [PreflightValidator Guide](./04-REFERENCE/testing/testing-readme.md) | [Testing Patterns](./04-REFERENCE/testing/) |
160
+ | **Return XML/HTML from webhook** | ⚠️ [Webhook Response Patterns](./04-REFERENCE/platforms/versori/modules/platforms-versori-04-workflows.md#critical-non-json-response-handlers-xml-html-csv) | [Versori Platform](./04-REFERENCE/platforms/versori/) |
161
+ | **Deploy on Versori** | [Versori Platform](./04-REFERENCE/platforms/versori/) | [Versori Examples](./01-TEMPLATES/versori/) |
162
+ | **Look up API methods** | [API Reference](./02-CORE-GUIDES/api-reference/api-reference-readme.md) | [SDK Philosophy](./00-START-HERE/sdk-philosophy.md) |
163
+ | **Transform data fields** | [Universal Mapping](./02-CORE-GUIDES/mapping/mapping-readme.md) | [Resolver Guide](./02-CORE-GUIDES/mapping/resolvers/mapping-resolvers-readme.md) |
164
+ | **Parse CSV data** | [API Reference](./02-CORE-GUIDES/api-reference/modules/api-reference-07-parsers.md#csv-parser) | [CSV Validation Pattern](./01-TEMPLATES/patterns/csv-schema-validation-and-rejection-report.md) |
165
+ | **Parse XML/JSON data** | [Parser Guide](./02-CORE-GUIDES/parsers/parsers-readme.md) | [GraphQL Mutation Mapping](./02-CORE-GUIDES/mapping/graphql-mutation-mapping/) |
166
+ | **Work with S3** | [Data Sources Guide](./02-CORE-GUIDES/data-sources/data-sources-readme.md) | [S3 Examples](./01-TEMPLATES/standalone/s3-csv-batch-api.md) |
167
+ | **Debug issues** | [Error Handling Guide](./03-PATTERN-GUIDES/error-handling/error-handling-readme.md) | [Testing Guide](./04-REFERENCE/testing/testing-readme.md) |
168
+ | **Prevent duplicates** | [State Management](./01-TEMPLATES/patterns/state-duplicate-prevention.md) | [Architecture](./04-REFERENCE/architecture/architecture-06-state-management.md) |
169
+ | **Handle large files** | [Large File Splitting](./01-TEMPLATES/patterns/large-file-splitting.md) | [Pagination & Streaming](./01-TEMPLATES/patterns/pagination-streaming.md) |
170
+ | **See complete examples** | [Use Cases Index](./01-TEMPLATES/readme.md) | [FAQ](./01-TEMPLATES/faq.md) |
171
+
172
+ ---
173
+
174
+ ## 📖 Documentation Structure
175
+
176
+ **New 5-folder organization** for better AI context loading and navigation:
177
+
178
+ ```
179
+ docs/
180
+ ├── readme.md (this file)
181
+ ├── template-loading-matrix.md (template selection guide)
182
+
183
+ ├── 00-START-HERE/ (essential docs - read first)
184
+ │ ├── getting-started.md (installation & setup)
185
+ │ ├── decision-tree.md (which approach to use)
186
+ │ ├── sdk-philosophy.md (design principles)
187
+ │ └── troubleshooting-quick-reference.md (90% of issues)
188
+
189
+ ├── 01-TEMPLATES/ (complete working examples)
190
+ │ ├── readme.md (complete catalog with decision tree)
191
+ │ ├── faq.md (troubleshooting guide)
192
+ │ ├── patterns/ (9 reusable components)
193
+ │ ├── standalone/ (9 Node.js/Deno scripts)
194
+ │ └── versori/ (32 Versori platform examples)
195
+ │ ├── webhooks/ (7 real-time)
196
+ │ ├── scheduled/ (6 batch)
197
+ │ ├── patterns/ (3 Versori-specific)
198
+ │ └── business-examples/ (4 complex workflows)
199
+
200
+ ├── 02-CORE-GUIDES/ (progressive learning paths)
201
+ │ ├── api-reference/ (complete API docs)
202
+ │ ├── ingestion/ (data into Fluent)
203
+ │ ├── extraction/ (data from Fluent)
204
+ │ ├── auto-pagination/ (7 modules - cursor pagination)
205
+ │ ├── data-sources/ (S3, SFTP guides)
206
+ │ ├── parsers/ (CSV, XML, JSON, Parquet)
207
+ │ ├── webhook-validation/ (webhook security)
208
+ │ └── mapping/ (field transformation)
209
+ │ ├── modules/ (universal mapping)
210
+ │ ├── resolvers/ (7 modules - custom functions)
211
+ │ └── graphql-mutation-mapping/ (XML/JSON → GraphQL)
212
+
213
+ ├── 03-PATTERN-GUIDES/ (reusable patterns)
214
+ │ ├── error-handling/ (retry, circuit breakers)
215
+ │ ├── file-operations/ (S3, SFTP patterns)
216
+ │ ├── integration-patterns/ (common workflows)
217
+ │ ├── multiple-connections/ (multi-tenant)
218
+ │ ├── orchestrators/ (high-level workflows)
219
+ │ ├── parquet/ (big data operations)
220
+ │ └── [other patterns]
221
+
222
+ └── 04-REFERENCE/ (deep dives & platform docs)
223
+ ├── architecture/ (7 docs - system design)
224
+ ├── testing/ (test utilities)
225
+ ├── platforms/versori/ (Versori integration)
226
+ ├── schema/ (GraphQL schema docs)
227
+ └── troubleshooting/ (detailed debugging)
228
+ ```
229
+
230
+ ---
231
+
232
+ ## 🔗 External Resources
233
+
234
+ - **[NPM Package](https://www.npmjs.com/package/@fluentcommerce/fc-connect-sdk)** - Install the SDK
235
+ - **[GitHub Repository](https://github.com/fluentcommerce/fc-connect-sdk)** - Source code and issues
236
+ - **[Fluent Commerce API Docs](https://docs.fluentcommerce.com)** - Fluent Commerce platform documentation
237
+ - **[Versori Platform](https://versori.com)** - Versori integration platform
238
+
239
+ ---
240
+
241
+ ## 📝 Contributing
242
+
243
+ Found an issue or want to improve the docs? Please see the main [readme.md](../readme.md) for contribution guidelines.
244
+
245
+ **License:** MIT | **Current Version:** Latest
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentcommerce/fc-connect-sdk",
3
- "version": "0.1.48",
3
+ "version": "0.1.52",
4
4
  "description": "Fluent Commerce SDK - Deno & Node.js Compatible",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",
@@ -70,7 +70,19 @@
70
70
  "validate:templates": "node scripts/validate-templates.cjs",
71
71
  "validate:exports": "node scripts/validate-exports.mjs",
72
72
  "test:cov": "jest --coverage --coverageReporters=json-summary --coverageReporters=lcov --coverageReporters=text --reporters=default --reporters=jest-junit",
73
- "ai:queue": "node scripts/generate-ai-queue.cjs"
73
+ "ai:queue": "node scripts/generate-ai-queue.cjs",
74
+ "security:audit": "node security-audit/security-audit.cjs",
75
+ "security:audit:npm": "npm audit --audit-level=moderate",
76
+ "security:audit:json": "npm audit --json > artifacts/security-audit-$(date +%Y%m%d).json || true",
77
+ "security:check": "npm run security:audit:npm && npm run security:audit",
78
+ "security:snyk": "node security-audit/snyk-setup.cjs",
79
+ "security:snyk:test": "snyk test",
80
+ "security:snyk:monitor": "snyk monitor",
81
+ "security:snyk:report": "snyk test --json > artifacts/snyk-report-$(date +%Y%m%d).json",
82
+ "security:fix": "node security-audit/safe-fix.cjs",
83
+ "security:fix:critical": "node security-audit/safe-fix.cjs critical",
84
+ "security:fix:high": "node security-audit/safe-fix.cjs high",
85
+ "security:full": "npm run security:check && npm run security:snyk"
74
86
  },
75
87
  "jest-junit": {
76
88
  "outputDirectory": "artifacts",
@@ -97,7 +109,7 @@
97
109
  "@types/ssh2-sftp-client": "^9.0.5",
98
110
  "@typescript-eslint/eslint-plugin": "^7.0.0",
99
111
  "@typescript-eslint/parser": "^7.0.0",
100
- "@versori/run": "^0.4.4",
112
+ "@versori/run": "^0.4.18",
101
113
  "chalk": "^4.1.2",
102
114
  "dotenv": "^17.2.2",
103
115
  "eslint": "^8.57.0",
@@ -107,8 +119,7 @@
107
119
  "highlight.js": "^11.11.1",
108
120
  "jest": "^29.7.0",
109
121
  "jest-junit": "^16.0.0",
110
- "markdown-pdf": "^11.0.0",
111
- "markdownlint-cli": "^0.45.0",
122
+ "markdownlint-cli": "^0.46.0",
112
123
  "marked": "^14.1.4",
113
124
  "ora": "^5.4.1",
114
125
  "p-limit": "^3.1.0",
@@ -124,11 +135,11 @@
124
135
  "@aws-sdk/client-s3": "^3.879.0",
125
136
  "@aws-sdk/credential-providers": "^3.879.0",
126
137
  "@aws-sdk/s3-request-presigner": "^3.886.0",
138
+ "@dsnp/parquetjs": "^1.8.7",
127
139
  "csv-parse": "^5.6.0",
128
140
  "fast-xml-parser": "^5.2.5",
129
141
  "graphql": "^16.9.0",
130
142
  "hyparquet": "^1.3.0",
131
- "parquetjs": "^0.11.2",
132
143
  "ssh2": "^1.17.0",
133
144
  "ssh2-sftp-client": "^12.0.1"
134
145
  },
@@ -1,60 +0,0 @@
1
- # Activations and Variables Guide
2
-
3
- This guide explains how to manage Activations and Dynamic Variables in the Versori Platform.
4
-
5
- ## Concepts
6
-
7
- - **Activation**: A link between a User and an Environment. It stores configuration specific to that user in that environment.
8
- - **Dynamic Variables**: Key-value pairs stored on an Activation. These variables are defined by the Project's Variable Schema.
9
-
10
- ## Updating Variables
11
-
12
- To update variables, you use the `PATCH` endpoint.
13
-
14
- **Endpoint**: `PATCH /o/{org_id}/environments/{env_id}/activations/{activation_id}/variables`
15
-
16
- ### Important: Validation Rules
17
-
18
- The Versori Platform validates your variables against the Project's Schema on **every update**.
19
-
20
- **Critical Rule**: Even if you are only updating one variable (Partial Update), the **final state** of the variables must be valid.
21
- * If your activation is missing **Required Variables**, you **MUST** provide them in your update request, even if you are not changing them.
22
- * Once the activation is valid (has all required variables), you can perform partial updates freely.
23
-
24
- ### Example
25
-
26
- **Scenario**: You want to update `detailedLogging` to `false`.
27
- **Problem**: Your activation is missing required variables: `gsiClientId`, `gsiCatalogId`.
28
-
29
- **Incorrect Request (Will Fail 400 Bad Request)**:
30
- ```json
31
- {
32
- "detailedLogging": "false"
33
- }
34
- ```
35
- *Error: "missing properties: 'gsiClientId', 'gsiCatalogId'"*
36
-
37
- **Correct Request (Will Succeed)**:
38
- ```json
39
- {
40
- "detailedLogging": "false",
41
- "gsiClientId": "YOUR_GSI_CLIENT_ID",
42
- "gsiCatalogId": "YOUR_CATALOG_ID"
43
- }
44
- ```
45
-
46
- ## Finding Activations
47
-
48
- 1. **List Users**: Get the User ID.
49
- `GET /o/{org_id}/users`
50
- 2. **List Activations**: Find the activation for that user.
51
- `GET /o/{org_id}/activations` (Filter by `userId` in response)
52
-
53
- ## Variable Schema
54
-
55
- To see which variables are required, check the Project's Variable Schema:
56
-
57
- `GET /o/{org_id}/projects/{project_id}/variables`
58
-
59
- Look for the `required` array in the response.
60
-