meadow-integration 1.0.4 → 1.0.6

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 (67) hide show
  1. package/.dockerignore +11 -0
  2. package/Docker-Build.sh +2 -0
  3. package/Docker-Compose.sh +2 -0
  4. package/Docker-Push.sh +2 -0
  5. package/Docker-Tag.sh +2 -0
  6. package/Dockerfile +28 -0
  7. package/Dockerfile_LUXURYCode +23 -0
  8. package/README.md +139 -25
  9. package/docker-compose.yml +16 -0
  10. package/docs/README.md +65 -18
  11. package/docs/{cover.md → _cover.md} +3 -2
  12. package/docs/_sidebar.md +52 -7
  13. package/docs/_topbar.md +2 -0
  14. package/docs/api/clone-rest-client.md +278 -0
  15. package/docs/api/connection-manager.md +179 -0
  16. package/docs/api/guid-map.md +234 -0
  17. package/docs/api/integration-adapter.md +283 -0
  18. package/docs/api/operation.md +241 -0
  19. package/docs/api/sync-entity-initial.md +227 -0
  20. package/docs/api/sync-entity-ongoing.md +244 -0
  21. package/docs/api/sync.md +213 -0
  22. package/docs/api/tabular-check.md +213 -0
  23. package/docs/api/tabular-transform.md +316 -0
  24. package/docs/architecture.md +423 -0
  25. package/docs/cli/comprehensionarray.md +111 -0
  26. package/docs/cli/comprehensionintersect.md +132 -0
  27. package/docs/cli/csvcheck.md +111 -0
  28. package/docs/cli/csvtransform.md +170 -0
  29. package/docs/cli/data-clone.md +277 -0
  30. package/docs/cli/jsonarraytransform.md +166 -0
  31. package/docs/cli/load-comprehension.md +129 -0
  32. package/docs/cli/objectarraytocsv.md +159 -0
  33. package/docs/cli/overview.md +96 -0
  34. package/docs/cli/serve.md +102 -0
  35. package/docs/cli/tsvtransform.md +144 -0
  36. package/docs/data-clone/configuration.md +357 -0
  37. package/docs/data-clone/connection-manager.md +206 -0
  38. package/docs/data-clone/docker.md +290 -0
  39. package/docs/data-clone/overview.md +173 -0
  40. package/docs/data-clone/sync-modes.md +186 -0
  41. package/docs/implementation-reference.md +311 -0
  42. package/docs/overview.md +156 -0
  43. package/docs/quickstart.md +233 -0
  44. package/docs/rest/comprehension-push.md +209 -0
  45. package/docs/rest/comprehension.md +506 -0
  46. package/docs/rest/csv.md +255 -0
  47. package/docs/rest/entity-generation.md +158 -0
  48. package/docs/rest/json-array.md +243 -0
  49. package/docs/rest/overview.md +120 -0
  50. package/docs/rest/status.md +63 -0
  51. package/docs/rest/tsv.md +241 -0
  52. package/docs/retold-catalog.json +93 -3
  53. package/docs/retold-keyword-index.json +23683 -1901
  54. package/package.json +13 -10
  55. package/scripts/run.sh +18 -0
  56. package/source/Meadow-Integration.js +15 -1
  57. package/source/cli/Default-Meadow-Integration-Configuration.json +37 -2
  58. package/source/cli/Meadow-Integration-CLI-Program.js +4 -1
  59. package/source/cli/commands/Meadow-Integration-Command-DataClone.js +284 -0
  60. package/source/services/clone/Meadow-Service-ConnectionManager.js +251 -0
  61. package/source/services/clone/Meadow-Service-Operation.js +196 -0
  62. package/source/services/clone/Meadow-Service-RestClient.js +364 -0
  63. package/source/services/clone/Meadow-Service-Sync-Entity-Initial.js +367 -0
  64. package/source/services/clone/Meadow-Service-Sync-Entity-Ongoing.js +457 -0
  65. package/source/services/clone/Meadow-Service-Sync.js +142 -0
  66. /package/docs/examples/bookstore/{mapping_books_Author.json → mapping_books_author.json} +0 -0
  67. /package/docs/examples/bookstore/{mapping_books_Book.json → mapping_books_book.json} +0 -0
package/.dockerignore ADDED
@@ -0,0 +1,11 @@
1
+ .*
2
+ coverage
3
+ test
4
+ node_modules
5
+ package-lock.json
6
+ Docker-*.sh
7
+ *.yml
8
+ .vscode
9
+ logs
10
+ *.patch
11
+ debug
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ docker build -t retold/meadow-integration -f Dockerfile .
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ docker-compose -f docker-compose.yml up
package/Docker-Push.sh ADDED
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ docker push retold/meadow-integration
package/Docker-Tag.sh ADDED
@@ -0,0 +1,2 @@
1
+ #!/bin/bash
2
+ docker tag retold/meadow-integration retold/meadow-integration:$1
package/Dockerfile ADDED
@@ -0,0 +1,28 @@
1
+ FROM node:20-bookworm AS base
2
+ MAINTAINER steven velozo <steven@velozo.com>
3
+
4
+ RUN apt-get update && apt-get -y --force-yes install curl vim nano less \
5
+ tmux uuid-runtime
6
+
7
+ # Setup node.js global tools
8
+ RUN npm install -g nodemon --unsafe-perm
9
+
10
+ ADD package.json /service_root/package.json
11
+ RUN cd /service_root && npm install --omit=dev
12
+
13
+ ADD source /service_root/source
14
+ ADD scripts /service_root/scripts
15
+
16
+ WORKDIR /service_root
17
+
18
+ # Don't leave local artifacts around
19
+ RUN rm -rf package-lock.json .git test
20
+
21
+ # Default config file for Docker deployments
22
+ RUN if [ -f ./Meadow-Config-Docker.json ]; then mv ./Meadow-Config-Docker.json ./source/cli/Default-Meadow-Integration-Configuration.json; fi
23
+
24
+ FROM base AS production
25
+
26
+ RUN date -u +"%Y-%m-%dT%H:%M:%SZ" > ./build.date
27
+
28
+ CMD ["scripts/run.sh"]
@@ -0,0 +1,23 @@
1
+ FROM codercom/code-server:latest
2
+
3
+ USER root
4
+
5
+ RUN apt-get update && apt-get install -y vim curl tmux
6
+
7
+ # Install NVM / Node
8
+ RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
9
+ RUN bash -c "source /root/.nvm/nvm.sh && nvm install 20 && nvm alias default 20"
10
+
11
+ # Install VSCode extensions
12
+ RUN code-server --install-extension hbenl.vscode-mocha-test-adapter
13
+ RUN code-server --install-extension hbenl.vscode-test-adapter-converter
14
+ RUN code-server --install-extension hbenl.vscode-test-explorer
15
+ RUN code-server --install-extension oderwat.indent-rainbow
16
+ RUN code-server --install-extension dbaeumer.vscode-eslint
17
+ RUN code-server --install-extension eamodio.gitlens
18
+
19
+ VOLUME ["/home/coder/.config"]
20
+ VOLUME ["/home/coder/.vscode"]
21
+ VOLUME ["/home/coder/meadow-integration"]
22
+
23
+ WORKDIR /home/coder/meadow-integration
package/README.md CHANGED
@@ -51,19 +51,30 @@ npm start -- csvtransform ./docs/examples/data/books.csv \
51
51
  npm start -- comprehensionintersect Set1.json -i Set2.json -e "MyEntity" -o merged.json
52
52
  ```
53
53
 
54
+ ### Clone Data from a Remote API
55
+
56
+ ```shell
57
+ npm start -- data-clone \
58
+ --api_server "https://my-meadow-api.example.com/1.0/" \
59
+ --api_username admin --api_password secret \
60
+ --db_host 127.0.0.1 --db_name my_local_db \
61
+ --schema_path ./schema/Model-Extended.json
62
+ ```
63
+
54
64
  ## CLI Commands
55
65
 
56
- | Command | Description |
57
- |---------|-------------|
58
- | `csvcheck` | Analyze a CSV file for statistics |
59
- | `csvtransform` | Transform a CSV into a comprehension |
60
- | `tsvtransform` | Transform a TSV into a comprehension |
61
- | `jsonarraytransform` | Transform a JSON array into a comprehension |
62
- | `comprehensionintersect` | Merge two comprehension files |
63
- | `comprehensionarray` | Convert object comprehension to array |
64
- | `objectarraytocsv` | Export a JSON array to CSV |
65
- | `load_comprehension` | Push a comprehension to Meadow REST APIs |
66
- | `serve` | Start the REST API server |
66
+ | Command | Aliases | Description |
67
+ |---------|---------|-------------|
68
+ | `csvcheck` | | Analyze a CSV file for statistics |
69
+ | `csvtransform` | | Transform a CSV into a comprehension |
70
+ | `tsvtransform` | | Transform a TSV into a comprehension |
71
+ | `jsonarraytransform` | | Transform a JSON array into a comprehension |
72
+ | `comprehensionintersect` | | Merge two comprehension files |
73
+ | `comprehensionarray` | | Convert object comprehension to array |
74
+ | `objectarraytocsv` | | Export a JSON array to CSV |
75
+ | `load_comprehension` | | Push a comprehension to Meadow REST APIs |
76
+ | `data-clone` | `clone`, `sync` | Clone data from a Meadow API to a local database |
77
+ | `serve` | | Start the REST API server |
67
78
 
68
79
  ## REST API Server
69
80
 
@@ -178,24 +189,124 @@ For multi-record generation (e.g. splitting comma-separated authors), use Solver
178
189
  ## Architecture
179
190
 
180
191
  ```
181
- External Data (CSV / TSV / JSON)
182
- |
183
- v
184
- TabularTransform Service -- column mapping via Pict templates
185
- |
186
- v
187
- Comprehension Object -- entity records keyed by GUID
188
- |
189
- v
190
- Integration Adapter -- marshal to Meadow schema
191
- |
192
- v
193
- GUID Map -- track external <-> Meadow IDs
192
+ External Data (CSV / TSV / JSON) Meadow REST API (Source)
193
+ | |
194
+ v v
195
+ TabularTransform Service CloneRestClient Service
196
+ -- column mapping via Pict templates -- authenticate & read entities
197
+ | |
198
+ v v
199
+ Comprehension Object Sync Service (Initial / Ongoing)
200
+ -- entity records keyed by GUID -- compare server vs local state
201
+ | |
202
+ v v
203
+ Integration Adapter ConnectionManager Service
204
+ -- marshal to Meadow schema -- MySQL or MSSQL connection pool
205
+ | |
206
+ v v
207
+ GUID Map Local Database
208
+ -- track external <-> Meadow IDs -- tables created from schema
194
209
  |
195
210
  v
196
- Meadow REST API -- batch upsert / single upsert
211
+ Meadow REST API (Destination)
212
+ -- batch upsert / single upsert
213
+ ```
214
+
215
+ ## Data Synchronization
216
+
217
+ The `data-clone` command synchronizes entity data from a remote Meadow REST API into a local MySQL or MSSQL database. It authenticates with the source API, connects to a local database, loads a Meadow schema, and syncs each entity defined in the schema.
218
+
219
+ ### Services
220
+
221
+ | Service | Description |
222
+ |---------|-------------|
223
+ | **ConnectionManager** | Manages database connection pools for MySQL and MSSQL. Handles table creation and index management on the local database. |
224
+ | **CloneRestClient** | Authenticates with a remote Meadow API and provides methods for reading, creating, updating, upserting, and deleting entities. Includes built-in entity caching and paginated batch downloads. |
225
+ | **Sync** | Orchestrates entity synchronization. Loads a Meadow schema, creates local tables if they do not exist, and iterates through each entity to sync records. |
226
+
227
+ ### Sync Modes
228
+
229
+ | Mode | Description |
230
+ |------|-------------|
231
+ | **Initial** | Compares the max entity ID on the server against the local database and downloads all records with IDs greater than the local maximum. Designed for first-time bulk population. |
232
+ | **Ongoing** | Walks through all server records page by page, comparing `UpdateDate` timestamps. Creates missing records locally and updates records whose server timestamp is newer than the local copy. |
233
+
234
+ ### CLI Options
235
+
236
+ ```
237
+ data-clone [options]
238
+
239
+ Options:
240
+ -a, --api_server <url> Source Meadow API server URL
241
+ -u, --api_username <user> API username for authentication
242
+ -p, --api_password <pass> API password for authentication
243
+ -d, --db_provider <provider> Database provider: MySQL or MSSQL (default: MySQL)
244
+ -dh, --db_host <host> Database host address
245
+ -dp, --db_port <port> Database port
246
+ -du, --db_username <user> Database username
247
+ -dw, --db_password <pass> Database password
248
+ -dn, --db_name <name> Database name
249
+ -sp, --schema_path <path> Path to Meadow extended schema JSON file
250
+ -s, --sync_mode <mode> Sync mode: Initial or Ongoing (default: Initial)
251
+ -w, --post_run_delay <min> Minutes to wait after sync before exiting (default: 0)
252
+ ```
253
+
254
+ ### Configuration
255
+
256
+ The `data-clone` command reads configuration from a `.meadow.config.json` file. The CLI searches for this file starting from the current working directory and cascading up to the home directory (powered by `pict-service-commandlineutility` auto-gather). Command-line options override values from the config file.
257
+
258
+ ```json
259
+ {
260
+ "Source": {
261
+ "ServerURL": "https://my-meadow-api.example.com/1.0/",
262
+ "UserID": "admin",
263
+ "Password": "secret"
264
+ },
265
+ "Destination": {
266
+ "Provider": "MySQL",
267
+ "MySQL": {
268
+ "server": "127.0.0.1",
269
+ "port": 3306,
270
+ "user": "root",
271
+ "password": "",
272
+ "database": "meadow",
273
+ "connectionLimit": 20
274
+ },
275
+ "MSSQL": {
276
+ "server": "127.0.0.1",
277
+ "port": 1433,
278
+ "user": "sa",
279
+ "password": "",
280
+ "database": "meadow",
281
+ "ConnectionPoolLimit": 20
282
+ }
283
+ },
284
+ "SchemaPath": "./schema/Model-Extended.json",
285
+ "Sync": {
286
+ "DefaultSyncMode": "Initial",
287
+ "PageSize": 100,
288
+ "SyncEntityList": [],
289
+ "SyncEntityOptions": {}
290
+ }
291
+ }
292
+ ```
293
+
294
+ Set `SyncEntityList` to an array of entity names to sync only a subset of the schema. When empty, all entities in the schema are synced.
295
+
296
+ ### Docker
297
+
298
+ A `Dockerfile` and `docker-compose.yml` are provided for running `data-clone` in a container. The Docker image is based on `node:20-bookworm` and runs the sync via the `scripts/run.sh` entrypoint.
299
+
300
+ ```shell
301
+ # Build the image
302
+ docker build -t retold/meadow-integration .
303
+
304
+ # Run with docker-compose (connects to a meadow_backend network)
305
+ docker-compose up
197
306
  ```
198
307
 
308
+ Place a `.meadow.config.json` in the mounted volume or use `Meadow-Config-Docker.json` at the project root (it is automatically copied into the container as the default configuration during the Docker build).
309
+
199
310
  ## Documentation
200
311
 
201
312
  Full documentation is available at `docs/index.html` (powered by pict-docuserve):
@@ -219,8 +330,11 @@ npm test
219
330
 
220
331
  - [meadow](https://github.com/stevenvelozo/meadow) - Data access and ORM
221
332
  - [meadow-endpoints](https://github.com/stevenvelozo/meadow-endpoints) - Auto-generated REST endpoints
333
+ - [meadow-connection-mysql](https://github.com/stevenvelozo/meadow-connection-mysql) - MySQL database provider for Meadow
334
+ - [meadow-connection-mssql](https://github.com/stevenvelozo/meadow-connection-mssql) - MSSQL database provider for Meadow
222
335
  - [orator](https://github.com/stevenvelozo/orator) - API server abstraction
223
336
  - [fable](https://github.com/stevenvelozo/fable) - Application services framework
337
+ - [pict-service-commandlineutility](https://github.com/stevenvelozo/pict-service-commandlineutility) - CLI framework with cascading configuration
224
338
 
225
339
  ## License
226
340
 
@@ -0,0 +1,16 @@
1
+ version: '2'
2
+
3
+ services:
4
+ meadow-integration-clone:
5
+ image: retold/meadow-integration:latest
6
+ volumes:
7
+ - "${RETOLD_DIR:-./}:/service_root"
8
+ environment:
9
+ - RUN_LOCAL_DEV=true
10
+ networks:
11
+ - back
12
+
13
+ networks:
14
+ back:
15
+ external:
16
+ name: meadow_backend
package/docs/README.md CHANGED
@@ -4,6 +4,8 @@ A suite of tools for managing data into a centralized non-specific schema format
4
4
 
5
5
  These tools are built to be usable from the command-line, as a web service, or within your own codebase. This module presents these behaviors both as a suite of externally usable fable services, a command-line utility to leverage them and a set of web service behaviors.
6
6
 
7
+ In addition to data transformation, Meadow Integration includes a **Data Clone** pipeline for replicating entity data from a remote Meadow REST API into a local MySQL or MSSQL database.
8
+
7
9
  ## What is a Comprehension?
8
10
 
9
11
  A **Comprehension** is a JSON object that stores entity records keyed by their GUID. It acts as an intermediate data format for integrating records from external systems (CSV, TSV, JSON) into Meadow entities.
@@ -78,38 +80,83 @@ npx meadow-integration csvtransform ./books.csv -m mapping.json -o books.json
78
80
  npx meadow-integration comprehensionintersect Set1.json -i Set2.json -e "MyEntity" -o merged.json
79
81
  ```
80
82
 
83
+ ### 5. Clone data from a remote API
84
+
85
+ Create a `.meadow.config.json` in your working directory:
86
+
87
+ ```json
88
+ {
89
+ "Source": {
90
+ "ServerURL": "https://api.example.com/1.0/",
91
+ "UserID": "sync-user",
92
+ "Password": "sync-password"
93
+ },
94
+ "Destination": {
95
+ "Provider": "MySQL",
96
+ "MySQL": {
97
+ "server": "127.0.0.1",
98
+ "port": 3306,
99
+ "user": "root",
100
+ "password": "",
101
+ "database": "meadow_clone"
102
+ }
103
+ },
104
+ "SchemaPath": "./schema/Model-Extended.json"
105
+ }
106
+ ```
107
+
108
+ Then run the clone:
109
+
110
+ ```shell
111
+ npx meadow-integration data-clone
112
+ ```
113
+
114
+ For incremental updates after the initial clone:
115
+
116
+ ```shell
117
+ npx meadow-integration data-clone -s Ongoing
118
+ ```
119
+
81
120
  ## Architecture
82
121
 
83
122
  ```
84
- External Data (CSV / TSV / JSON)
85
- |
86
- v
87
- TabularTransform Service
88
- (column mapping via Pict templates)
89
- |
90
- v
91
- Comprehension Object
92
- (Entity records keyed by GUID)
93
- |
94
- v
95
- Integration Adapter
96
- (marshal to Meadow schema)
97
- |
98
- v
99
- GUID Map
100
- (track external <-> Meadow IDs)
101
- |
123
+ External Data (CSV / TSV / JSON) Remote Meadow REST API
124
+ | |
125
+ v v
126
+ TabularTransform Service CloneRestClient
127
+ (column mapping via Pict templates) (authenticated HTTP)
128
+ | |
129
+ v v
130
+ Comprehension Object Sync Service
131
+ (Entity records keyed by GUID) (Initial or Ongoing mode)
132
+ | |
133
+ v v
134
+ Integration Adapter ConnectionManager
135
+ (marshal to Meadow schema) (MySQL or MSSQL pool)
136
+ | |
137
+ v v
138
+ GUID Map Local Database
139
+ (track external <-> Meadow IDs) (tables auto-created
140
+ | from Meadow schema)
102
141
  v
103
142
  Meadow REST API
104
143
  (batch upsert / single upsert)
105
144
  ```
106
145
 
146
+ The left side is the **Data Transformation** pipeline: external files are parsed, transformed into comprehensions, and pushed to a Meadow API. The right side is the **Data Synchronization** pipeline: entity data is pulled from a remote Meadow API and written to a local database.
147
+
148
+ Both pipelines share the Fable service provider pattern for dependency injection, logging, and configuration.
149
+
107
150
  ## Next Steps
108
151
 
152
+ - [Overview](overview.md) -- Full feature overview and when to use each tool
153
+ - [Quick Start Guide](quickstart.md) -- Step-by-step walkthrough of all workflows
154
+ - [Architecture](architecture.md) -- System design with mermaid diagrams
109
155
  - [CLI Reference](cli-reference.md) -- All commands and their options
110
156
  - [REST API Reference](rest-api-reference.md) -- All REST endpoints with curl examples
111
157
  - [Mapping Files](mapping-files.md) -- How to write column mapping configurations
112
158
  - [Comprehensions](comprehensions.md) -- The comprehension data format in detail
113
159
  - [Programmatic API](programmatic-api.md) -- Using services directly in your code
114
160
  - [Integration Adapter](integration-adapter.md) -- Pushing data to Meadow REST APIs
161
+ - [Data Clone Overview](data-clone/overview.md) -- Synchronizing remote APIs to local databases
115
162
  - [Examples](examples-walkthrough.md) -- Walkthrough of all runnable examples
@@ -1,10 +1,11 @@
1
- # Meadow Integration <small>1.0</small>
1
+ # Meadow Integration <small>1.1</small>
2
2
 
3
- > Data integration toolkit for transforming CSV, TSV, and JSON into Meadow entity comprehensions
3
+ > Data integration toolkit for transforming, synchronizing, and managing data with Meadow entity comprehensions
4
4
 
5
5
  - Transform tabular data into structured entity records
6
6
  - Merge multiple data sources by shared keys
7
7
  - Multi-entity extraction from single sources using Solvers
8
+ - Synchronize remote Meadow APIs to local databases
8
9
  - CLI utility, programmatic API, and REST integration
9
10
 
10
11
  [GitHub](https://github.com/stevenvelozo/meadow-integration)
package/docs/_sidebar.md CHANGED
@@ -1,19 +1,64 @@
1
1
  - Getting Started
2
2
 
3
3
  - [Introduction](/)
4
- - [Quick Start](README.md)
4
+ - [Quick Start](quickstart.md)
5
+ - [Overview](overview.md)
5
6
 
6
- - Concepts
7
+ - Architecture
8
+
9
+ - [Design](architecture.md)
10
+ - [Implementation Reference](implementation-reference.md)
11
+
12
+ - Data Transformation
7
13
 
8
14
  - [Comprehensions](comprehensions.md)
9
15
  - [Mapping Files](mapping-files.md)
10
16
 
11
- - Reference
17
+ - Data Synchronization
18
+
19
+ - [Data Clone Overview](data-clone/overview.md)
20
+ - [Connection Manager](data-clone/connection-manager.md)
21
+ - [Sync Modes](data-clone/sync-modes.md)
22
+ - [Configuration](data-clone/configuration.md)
23
+ - [Docker Deployment](data-clone/docker.md)
24
+
25
+ - CLI Reference
26
+
27
+ - [CLI Overview](cli/overview.md)
28
+ - [csvcheck](cli/csvcheck.md)
29
+ - [csvtransform](cli/csvtransform.md)
30
+ - [tsvtransform](cli/tsvtransform.md)
31
+ - [jsonarraytransform](cli/jsonarraytransform.md)
32
+ - [comprehensionintersect](cli/comprehensionintersect.md)
33
+ - [comprehensionarray](cli/comprehensionarray.md)
34
+ - [objectarraytocsv](cli/objectarraytocsv.md)
35
+ - [load_comprehension](cli/load-comprehension.md)
36
+ - [data-clone](cli/data-clone.md)
37
+ - [serve](cli/serve.md)
38
+
39
+ - REST API Reference
40
+
41
+ - [REST Overview](rest/overview.md)
42
+ - [Status](rest/status.md)
43
+ - [CSV Operations](rest/csv.md)
44
+ - [TSV Operations](rest/tsv.md)
45
+ - [JSON Array Operations](rest/json-array.md)
46
+ - [Comprehension Operations](rest/comprehension.md)
47
+ - [Entity Generation](rest/entity-generation.md)
48
+ - [Comprehension Push](rest/comprehension-push.md)
49
+
50
+ - API Reference
12
51
 
13
- - [CLI Reference](cli-reference.md)
14
- - [REST API Reference](rest-api-reference.md)
15
- - [Programmatic API](programmatic-api.md)
16
- - [Integration Adapter](integration-adapter.md)
52
+ - [ConnectionManager](api/connection-manager.md)
53
+ - [CloneRestClient](api/clone-rest-client.md)
54
+ - [Sync](api/sync.md)
55
+ - [SyncEntityInitial](api/sync-entity-initial.md)
56
+ - [SyncEntityOngoing](api/sync-entity-ongoing.md)
57
+ - [Operation](api/operation.md)
58
+ - [IntegrationAdapter](api/integration-adapter.md)
59
+ - [GUIDMap](api/guid-map.md)
60
+ - [TabularCheck](api/tabular-check.md)
61
+ - [TabularTransform](api/tabular-transform.md)
17
62
 
18
63
  - Examples
19
64
 
package/docs/_topbar.md CHANGED
@@ -1,7 +1,9 @@
1
1
  # Meadow Integration
2
2
 
3
3
  - [Overview](README.md)
4
+ - [Architecture](architecture.md)
4
5
  - [CLI Reference](cli-reference.md)
5
6
  - [API Reference](programmatic-api.md)
7
+ - [Data Clone](data-clone/overview.md)
6
8
  - [Examples](examples-walkthrough.md)
7
9
  - [GitHub](https://github.com/stevenvelozo/meadow-integration)