meadow-integration 1.0.41 → 1.0.43
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/BUILDING-AND-PUBLISHING.md +2 -2
- package/README.md +27 -8
- package/docs/README.md +1 -1
- package/docs/_cover.md +1 -1
- package/docs/_topbar.md +1 -1
- package/docs/_version.json +3 -3
- package/docs/architecture.md +14 -225
- package/docs/css/docuserve.css +327 -0
- package/docs/data-clone/diagrams/architecture-diagram.excalidraw +1756 -0
- package/docs/data-clone/diagrams/architecture-diagram.mmd +8 -0
- package/docs/data-clone/diagrams/architecture-diagram.svg +2 -0
- package/docs/data-clone/overview.md +2 -32
- package/docs/diagrams/configuration-cascade-2.excalidraw +831 -0
- package/docs/diagrams/configuration-cascade-2.mmd +8 -0
- package/docs/diagrams/configuration-cascade-2.svg +2 -0
- package/docs/diagrams/configuration-cascade.excalidraw +831 -0
- package/docs/diagrams/configuration-cascade.mmd +8 -0
- package/docs/diagrams/configuration-cascade.svg +2 -0
- package/docs/diagrams/data-synchronization-pipeline.excalidraw +3278 -0
- package/docs/diagrams/data-synchronization-pipeline.mmd +42 -0
- package/docs/diagrams/data-synchronization-pipeline.svg +2 -0
- package/docs/diagrams/data-transformation-pipeline.excalidraw +2929 -0
- package/docs/diagrams/data-transformation-pipeline.mmd +31 -0
- package/docs/diagrams/data-transformation-pipeline.svg +2 -0
- package/docs/diagrams/docker-deployment.excalidraw +1963 -0
- package/docs/diagrams/docker-deployment.mmd +23 -0
- package/docs/diagrams/docker-deployment.svg +2 -0
- package/docs/diagrams/high-level-system-architecture.excalidraw +5752 -0
- package/docs/diagrams/high-level-system-architecture.mmd +66 -0
- package/docs/diagrams/high-level-system-architecture.svg +2 -0
- package/docs/diagrams/module-structure.excalidraw +15206 -0
- package/docs/diagrams/module-structure.mmd +56 -0
- package/docs/diagrams/module-structure.svg +2 -0
- package/docs/diagrams/sync-mode-comparison.excalidraw +3660 -0
- package/docs/diagrams/sync-mode-comparison.mmd +33 -0
- package/docs/diagrams/sync-mode-comparison.svg +2 -0
- package/docs/implementation-reference.md +2 -58
- package/docs/index.html +2 -2
- package/docs/retold-catalog.json +388 -284
- package/docs/retold-keyword-index.json +24830 -16291
- package/example-applications/mapping-demo/README.md +2 -10
- package/example-applications/mapping-demo/diagrams/architecture.excalidraw +1866 -0
- package/example-applications/mapping-demo/diagrams/architecture.mmd +8 -0
- package/example-applications/mapping-demo/diagrams/architecture.svg +2 -0
- package/example-applications/mapping-demo/package.json +0 -3
- package/example-applications/mapping-demo/web/mapping-demo-editor.js +5 -5
- package/example-applications/mapping-demo/web/mapping-demo-editor.min.js +2 -2
- package/example-applications/mapping-demo/web/pict.min.js +2 -2
- package/package.json +7 -7
- package/source/Meadow-Integration-Engine.js +34 -0
- package/source/services/clone/Meadow-Service-DeleteCursorStore.js +105 -0
- package/source/services/clone/Meadow-Service-Sync-Entity-OngoingEventualConsistency.js +327 -92
- package/source/services/clone/Meadow-Service-Sync.js +2 -0
- package/test/Meadow-Integration-BisectionSync_test.js +15 -5
- package/test/Meadow-Integration-NewStrategies_test.js +15 -5
- package/test/Meadow-Integration-OngoingEventualConsistencyDeleteCursor_test.js +228 -0
- package/test/Meadow-Integration-OngoingEventualConsistencyDeleteSync_test.js +311 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
graph LR
|
|
2
|
+
SourceAPI["Source Meadow<br/>API Server"] <-->|"HTTPS/HTTP<br/>GET /Entity/...<br/>Session Auth"| RestClient["RestClient<br/>(MeadowClone RestClient)"]
|
|
3
|
+
RestClient --> MeadowSync["MeadowSync<br/>(Orchestrator)"]
|
|
4
|
+
MeadowSync --> SyncInitial["SyncEntity<br/>Initial"]
|
|
5
|
+
MeadowSync --> SyncOngoing["SyncEntity<br/>Ongoing"]
|
|
6
|
+
SyncInitial --> ConnMgr["ConnectionManager<br/>(MySQL / MSSQL)"]
|
|
7
|
+
SyncOngoing --> ConnMgr
|
|
8
|
+
ConnMgr --> LocalDB["Local Database<br/>(MySQL / MSSQL)"]
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1686 221" width="1686" height="221"><!-- svg-source:excalidraw --><metadata><!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1d2XLcNlx1MDAxNn33V3QpLzNVJo198ZtcdTAwMTc58cRKnMhV8zBJTdFqRmKpRapaVGRPKv8+l+yFJJpcclx1MDAxME1KYc+wrZLVXFxALPfgnHtcdTAwMDFcdTAwMTB/PJvNTvKvt/HJy9lJ/OVcIlok82X0cPK8OP57vLxLslx1MDAxNE6R8vtddr+8KK+8yvPbly9eYFwiQ1x1MDAwNP/wSy5cdTAwMTDGq7viRXxcdTAwMTOn+Vx1MDAxZFxc9y/4Ppv9Uf6GM8m8uPfuKrqNg/MyrVdcdTAwMWbfXHUwMDA3qPzEcXl3ed0mP8v4XCKP0stF7dRcdTAwMTc4jsX261f4KtX260Myz6+KKyTfXHUwMDFlu4qTy6u8ed0q0ZcztD1yly+z6/hNtsiWxZO/wa/xO0Kr536OLq4vl9l9Ot9eky+j9O42WkJZq+t+S1x1MDAxNovz/GuZOtRcdTAwMTfU5onxjH+u80iM4/vugodeXqXxXVGfeHs0u40ukrwoPkZVKYpcdTAwMWPevp+XVf9rladldFx1MDAxM78v6j69XyzqXHSn83XCmyaqKp+uj/xZZTOOizQ4rurRMJD6sVx1MDAxZrK0NFx1MDAxNSYx5lQztr0guXtcdTAwMGImkpeJ/Vx1MDAxNi3u4qqSi1x1MDAxY52a5lM3oZpcdTAwMTlFy2X2UDOjn+O7/M1cIoFb11x1MDAxNpWqbSU2rKq88WR75s/1X1V93d/Oo1X2sFSIcYY0l7wqwFwiSa/NylxcZFx1MDAxN9ctJUrSefylfChaPXFdnVx1MDAwNiRcdTAwMTbR53ixXHUwMDAzicvLXUjk8Zfcilx1MDAwNox1yLtcdTAwMDGCoFFcdTAwMDFcdTAwMDKPXHRcdTAwMTCNXHUwMDEzXHUwMDFiy9c7Vm6zfExcYsJacXSQ6T+KOZbWXHUwMDAzNVxuNjY7j5eQ4VpDZWl+nvwnbppUcfRddJMsiprljYReLZLLolx1MDAwMk4uIM/1lCDZPFx1MDAwMSbZXpBnt3XDuYshy+Vzqlx1MDAwNC/gOVx1MDAxMVx1MDAxY13uNku2TC6TNFp8smQ+us8z6Fx1MDAwMFbZz5f3cb124u82XHUwMDE2j0NSPbLCJrZhc0VXO73LxW1nvlwiqjLTPYRFdFXlXHUwMDEzYVxyS1iMSy/YYiG1JEpVtT82xnrufkot7bM4mmdcdTAwMGbnX9OLzWOyMVx1MDAxMSNxXHUwMDEz405F3aguzGjirp1cdTAwMWFboTdRo1x1MDAxZjWqWsJdMEYpRoLLXHUwMDExUuPfVnB5s8jSeFZcdTAwMTne34+QKN1F6Ueb1E2bO33P51x1MDAxNk27hzaFqPrtfX6emmjz0WhcdTAwMTP7qV2KNKWUyOqKQWlzXGJC68CbtbSLX+/TJE+ixfo5i+H42XjOj+lllqSXm+eMiqCZm6B3WuS6k+tqXCJ8j+/aXHUwMDA28omg/VxiWlLhg2ZCOSaKkVx1MDAxMfLzj8uLK+hcdTAwMGKWUZ4tj5KV91x1MDAxNKBcdTAwMWZcdTAwMTdzN1x1MDAxN+/2Z3XLdJCxZrRcdNWqjrc4ZZU5TWQ8LFx1MDAxOVx1MDAwYoHr9ulcZrpSiiQnh8F3PCRZT/xNlqZnl8v1Q7LrMTGk6Fx1MDAxMNvdqSfeiVwiTdxx2caQbcibXHUwMDE40o8hsfZiSEyFokihw/Tuo1Lk2s6OkFx1MDAxYndy3o9cdTAwMTRlN1Jsiu/r68NJkeqJXHUwMDE110efglx1MDAxNSXzizpxXHK+XHUwMDA0XHUwMDE3T0SLh/l0XHUwMDFkaXGTeJNcdTAwMTavXHUwMDFlxkSLqlx1MDAxYi0262nJXHUwMDBloUWs0MSLj8OLWvrxoqJcdTAwMTRcdTAwMTOJakQzXHUwMDE2XlxcXHUwMDFi2lx1MDAxMfLiTs778aJ282KzX0muuk/OqU812DfaWcPgxIlDe4q8bpVOuFx1MDAwMqrgXHUwMDA3P9r8nN4u3JNcdTAwMTBih4dsXHUwMDEy/pBcdTAwMDHO375eP0CNKlT7ys24zfpZ8E5TjExM71x1MDAxOUltg/VEt56BWr9IXHUwMDBmlppqpvlh+H3kkdSv5z99mL2YnZ3D/0dcdTAwMTmq3VeCfvT72k2/zU6GtmjiffTLlJN+sa6GXSb6XHUwMDFkln6x36ipQFJhwVx1MDAxZWvQ9Fx1MDAxODjrjZuzmtlcdTAwMTeoXHUwMDEzZ5lA2DO42IaFibP8OItgL1x1MDAxN1ErSVx00nR8XHUwMDFl4kRZeyjrrVxypD7zXHUwMDFhjc6mXHRZbc7Xq7C5watuk5ihYlx1MDAwNEukXHUwMDE5RVxm/uE4wJVcdTAwMTm4XHUwMDExTE7lW8n+b9isdf6e5/RcdTAwMDBcdTAwMDRtozipxV//alxi34L3Z9Bi9desav3yy/bvX5+3Xl1hvNvlOlSSY/CihZSCgV7zup3QkGOtNFwiXHUwMDAyXHSKtKT121x1MDAwM1x1MDAxY4J1I8WZxJwgglx1MDAxMCvs25moXGK1INWPrqd5WJJcdTAwMTSFhFKsRVx1MDAxMUhcdTAwMDdnz6+SKFxyKVx1MDAwN2dFMEqZRJxcdTAwMGaQIVx1MDAxMVKJqlx1MDAxZjVAkjok4E9cdTAwMTHGOcOKKsG9XG7JSIhFMcjAhSaSXCLE+meJeWZBhpBvTFx1MDAxOfSGkkBF989cdTAwMDFHIaSDXHUwMDAwmYyDXFzF2itDnIZ1Q1x1MDAxNMTvblx1MDAxMVx1MDAwMqJcdTAwMDSiXFxcYk40x1x1MDAwM1x1MDAxNEeHUlxiXHUwMDA19sKQklJjr1xmXHRcdTAwMWGiutVJv7tFyFx1MDAxNMJcdTAwMDXIQVx1MDAwMGlEve6WKMSEKaI4JVx1MDAwNNDk189Iv8v1vj7zmXFcdTAwMWKodCD87OYmyaEz/1h0xDs0k0fL/DXoiVwiit1wqG6yecmE2fJzktf8ks0y0vfd1oyWdPylenqj71x1MDAwZjlCzUYuj+yUqPLm4nTeO7e2JUNcdTAwMDNnt6zeV4WiuoqjXHUwMDFk8ofC1M+Z0itefM5cdTAwMWWsLtqpTf3F88s4MFx1MDAxNzDulL1WW7ZcdKFcdTAwMTX1r+ROJYI2XHUwMDAykDJcdTAwMWFcdTAwMTJU+/Rd2Pj46m/0/lx1MDAxYqhcdTAwMTZcdTAwMWb1h4Vkkkvox0aj/jZcdTAwMGXcd58+fTx/Ufz+Jf329NPsxWmaQ+W9XGLD8Jf0XHUwMDFjalx1MDAwMIoxe3WfXz2Ja3eTzOf1XHUwMDAwXd27q2rXw7s7oHj9/L53br+v48R8m+PHpTlcdTAwMGZ8cvxmT+T4cb9VXHUwMDFlWlClMFx1MDAxOVx1MDAwZvLH4/dR7SfUXHK3TzWePYjXXHUwMDA3qGio02HcPj/Jarp9Q/hoTbePXHLgY1x1MDAxOW6f9vNRxuf14SHcpCG9Pu6HLNPro0N4sYbb5+m4TW6fcduTuX1P6EhccuH32da8XHUwMDFll9/3rVv9dV1cbmKTf2DWhtunQrE7bN2mXHUwMDAwi15G1ZzBSjtN6q+D+pM1h7uD+lPAXHUwMDAzWEFPNKm/mUP9XHUwMDA1KGRSXHSiXGKXXG4uo1xcudJzXHUwMDBlXHUwMDAzbMKVTFx1MDAxN9cp6UzQKlx1MDAwNlx1MDAwM1x1MDAxYWpZo2hFXelcdTAwMTlCXHUwMDEwN4VXIEIpN0FnuI5oZ3o2aVx1MDAxOGCD9Eg/XVx1MDAxOGAoL66PXHUwMDE29Fx1MDAxM4VcdTAwMDFWIapJXHUwMDE05mxcdTAwMGW7SlxmXGJcdKmqyS13ek2Dg9ZcdTAwMDZcdTAwMDOpfZzt2dSMQuumXHUwMDA3QnFzKFx1MDAwNDkt2KpcdTAwMThcdTAwMDPKQ0BJ1dzEmZxNQlx1MDAwNrSQc7XTzvqya8qAXHUwMDAx/HhtXHUwMDEwz52eTU9cdTAwMDZcZsCHVk1ccnmD67grPUNh4iZcdTAwMWNcdTAwMTg8rXHamZxNclx1MDAwNlx1MDAxY7pcdTAwMTNaunPFXHUwMDBiylx1MDAxNHImZ9WgXHUwMDAxL4KyXHUwMDE4ciVBmcN1TuzLnfubPO66v6lSbfc/M9J5Mtl6uFx1MDAwZYT+v/YxXFynkFx1MDAxNu/ZqD5sp6jDylnrsvHj0rPfeevZvWu4vPQs4SGtRJVVz5JJz8566NnakESnXHUwMDA1gVx1MDAwMthPcDWeydOjXHUwMDE1tKBnhZZcdTAwMThryqDaqHB38XY9XHUwMDBi/IOKmqeCYKo1ws4u3y5nQd0hUn0o941rXHUwMDFhcrZcdTAwMTBcdTAwMGKKwFM4XHUwMDExkinIrDM9m5zVoV6XXHUwMDE0S1x1MDAwMVLGLbatQU6gOy6rj3CKXHUwMDE1q5bFXHUwMDEytMW6oNDGXHUwMDA0ObWKXctcdTAwMTJcZi1VNS/z1bLQ0nRIKVx1MDAwYi1dWS54ZbifkqVcZjwnziQlXHUwMDFjI6Lcidl0LDRM3W6JXHUwMDEzXHUwMDA2dlx1MDAxOVx1MDAwYlxyI1lRRoRK6+2nYkHEXCJaXHUwMDFh7Kq0rsSsXHUwMDEylqmwZrLSWW1WXHUwMDAxXHUwMDBiXHKk5LZBXHUwMDExclx1MDAwYk6bflx1MDAwNdolZVOubdZpb9K8vY96tdz+zEjm6MSraJjAzlmxU9Thxeve1ztcdTAwMWOXeH3fYVxudpfFltZcdTAwMTnYyFg0wXdXTExh2Nngg/DKK1xmi1x1MDAxNfRgRI/p7anjka0gNlxmf7lcdTAwMTGHRdI9hu7SrY0wLHbqQmMmtmpIr2ZcdTAwMTBcdTAwMTZcYru3bG1cdTAwMDZhnUE2Q7Wy5oRnM1xiS52s7dKt/WKwqjmubYRgtTN3XHUwMDBl3dpcZsE6625HtfZcbsBK0rRcZiP86m5Ku2g1oq9unelQrY3gq1x1MDAxM1x1MDAwNFx1MDAwZdXaM/aqmrkzY69OcWjXrUbk1T1cdTAwMTBhV65G5NXZrIZybfZcdTAwMWZm4NVcdTAwMWRmNqRrv8DrXHUwMDE4465PXHUwMDE5sFx1MDAxY0Kj7n3Vij2vzTAwOO/PLaetUeJHXHUwMDE2rv/oJlxcnS/w8Fx1MDAxMq64Zd37XHUwMDE0cJ1ccq1cXFx1MDAwNfNSrlxmXHUwMDE0U7FqcJpAUF5uXHUwMDE1rkEz4lxupMidfbt7XG5BPebK3GrOql1cdTAwMDMj5uqmbedcZoJGzNU9QmxcdTAwMTevgVx1MDAxMXTtoDZdM1xiXHUwMDFhUddcdTAwMGVi2KZeXHUwMDAzI+xcbnl0XG5Gx1x1MDAxNIKecdegb+DVkLCBXHUwMDExeOVOIeaYQWBcdTAwMDRenblzziBohF7dM0hcdTAwMWQzXGJ6xl5cclx1MDAxNVx1MDAxYlxmXHUwMDFhfVxyjPCrdObOMYHAXGLAOrFglbFBz1xibNAzXHUwMDA0a7v/mZHOk1xu2adcbl6ORsgyU8ia8WRLIVx1MDAxZVnIfu9cdTAwMTayzlx1MDAxN+5YRWxtyHVaXHUwMDA39bRClvq9t4kgzqVGeJo5sLq8OXNA+i2fMVSrZEeyXHUwMDEyivqtXHUwMDAxMcSqXHUwMDE44o1cdTAwMWOPvlx1MDAxMkr5vVx1MDAxY6EpUIlcdTAwMWNgtVevhVDmTIBpJVSZplV3ei6FXHUwMDEynstcdTAwMWVccllJ/O62qsj//aVQXHUwMDA3Sqy/RFx1MDAwZe59h+Vxjbt/OGTj7n/nSb5o2dHeuX23Zp13766OTS8p7KLwPLco1VIghVlt4u5frfA2L7lYmdtsNUWn9UVcdTAwMTa19fkjfEfhnvz3e1PF2UHbXGJ3x6m5mXArUNv3XHUwMDEynoDqN4nbz1x1MDAxNWNaYZCaI1x1MDAxYVPY4LSytyNcdTAwMDRpW+b7IfSHg/ZcdTAwMTHtjlBzN9F2Km3dTHRCqFx1MDAxZpVKv5fGKPBOKKNiPG+N2UC0MrgjhGhb5vtB9MfDNjLsjlFz3yZKOm/bNGH0MeeUMk20kqymX8ZcdTAwMDLRwuBWrzk7Qoi2Zb5cdTAwMWZEP1x1MDAxZbap2uFcdTAwMTDFnE9cdTAwMTh9XHUwMDFjjDK/129ISjHmmoxP6U5cdTAwMThtYPQn/22YPFx1MDAwMkbmZkztnmjrXkxcdTAwMTM+/fBZq7BOg4KIXHUwMDE2XHUwMDAx9Vx1MDAxMe7FVJhbfJFDZs+iNLqso+tocGopQz+4/uy/XHUwMDAzjVx1MDAwN1xczX1o2t3S1m1oJrj6XHUwMDA1jqpxrE5uKeJaMabU+Pi0NLfZ2yiPXG7UXHUwMDFjIVb3XHUwMDE1oFx1MDAxZlDP10B9tlx1MDAxZXo7iW5vz3Oo/JPNIFx1MDAxNVx1MDAxOFQyN2podSyPb6vaKVx1MDAwZp1l8/g0jT4vzIY4+T2JXHUwMDFmXu/i55t3r9/J09N1adZteHa/yJNzsJqyZyp3XHUwMDBiK/JXdiZcdTAwMDW44vWhP/9cdTAwMGLBWMZfIn0=<!-- payload-end --><pict-renderer-graph:source xmlns:pict-renderer-graph="https://fable-retold.github.io/pict-renderer-graph/ns/v1"><![CDATA[{"type":"flowgraph","mermaid":"graph LR\n SourceAPI[\"Source Meadow<br/>API Server\"] <-->|\"HTTPS/HTTP<br/>GET /Entity/...<br/>Session Auth\"| RestClient[\"RestClient<br/>(MeadowClone RestClient)\"]\n RestClient --> MeadowSync[\"MeadowSync<br/>(Orchestrator)\"]\n MeadowSync --> SyncInitial[\"SyncEntity<br/>Initial\"]\n MeadowSync --> SyncOngoing[\"SyncEntity<br/>Ongoing\"]\n SyncInitial --> ConnMgr[\"ConnectionManager<br/>(MySQL / MSSQL)\"]\n SyncOngoing --> ConnMgr\n ConnMgr --> LocalDB[\"Local Database<br/>(MySQL / MSSQL)\"]\n","style":"notebook"}]]></pict-renderer-graph:source></metadata><defs><style class="style-fonts">
|
|
2
|
+
@font-face { font-family: Excalifont; src: url(data:font/woff2;base64,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); }</style></defs><g stroke-linecap="round" transform="translate(10 72) rotate(0 87.5 39)"><path d="M19.5 0 C45.08 1.32, 74.9 0.56, 155.5 0 M19.5 0 C59.94 0.34, 99.89 1.36, 155.5 0 M155.5 0 C170.48 0.12, 176.27 7.49, 175 19.5 M155.5 0 C167.93 -1.37, 175.84 8.7, 175 19.5 M175 19.5 C172.95 29.68, 174.17 39.54, 175 58.5 M175 19.5 C174.85 33.31, 175.08 49.46, 175 58.5 M175 58.5 C173.39 73.45, 169.25 76.92, 155.5 78 M175 58.5 C176.29 69.54, 167.95 76.76, 155.5 78 M155.5 78 C111.56 76.67, 68.67 75.24, 19.5 78 M155.5 78 C102.28 79.1, 48.27 79.16, 19.5 78 M19.5 78 C7.11 79.09, -1.04 70.82, 0 58.5 M19.5 78 C4.86 75.79, -1.44 73.05, 0 58.5 M0 58.5 C0.36 44.38, -1.29 28.16, 0 19.5 M0 58.5 C0.77 42.84, -0.17 29.21, 0 19.5 M0 19.5 C-0.2 6.66, 4.81 0.52, 19.5 0 M0 19.5 C-1.63 7.76, 4.9 1.84, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(10 113.5) rotate(0 87.5 10)"><text x="87.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">API Server</text></g><g stroke-linecap="round" transform="translate(275 72) rotate(0 148 39)"><path d="M19.5 0 C71.24 -0.87, 124.86 -1.62, 276.5 0 M19.5 0 C96.62 -0.91, 174.04 -1.94, 276.5 0 M276.5 0 C288.62 1.84, 297.66 6.22, 296 19.5 M276.5 0 C288.31 -1.1, 297.77 6.58, 296 19.5 M296 19.5 C294.66 35.55, 294.59 48.82, 296 58.5 M296 19.5 C294.99 27.32, 295.5 35.96, 296 58.5 M296 58.5 C296.08 72.96, 290.72 79.85, 276.5 78 M296 58.5 C296.83 72.61, 289.37 80.24, 276.5 78 M276.5 78 C184.29 76.95, 89.39 78.02, 19.5 78 M276.5 78 C217.25 77.98, 158.06 77.48, 19.5 78 M19.5 78 C8.21 78.63, -0.32 72.63, 0 58.5 M19.5 78 C5.89 79.16, -2.07 69.48, 0 58.5 M0 58.5 C-1.18 47.27, 0.3 38.83, 0 19.5 M0 58.5 C0.75 45.34, -0.5 34.02, 0 19.5 M0 19.5 C-0.79 6.88, 5.46 -1.7, 19.5 0 M0 19.5 C1.71 7.59, 5.16 -1.08, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(275 113.5) rotate(0 148 10)"><text x="148" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(MeadowClone RestClient)</text></g><g stroke-linecap="round" transform="translate(661 72) rotate(0 93 39)"><path d="M19.5 0 C48.36 -1.61, 77.11 0.5, 166.5 0 M19.5 0 C57.75 1.68, 97.31 1.57, 166.5 0 M166.5 0 C179 0.03, 186.11 6.99, 186 19.5 M166.5 0 C180.87 -1.06, 185.74 4.57, 186 19.5 M186 19.5 C185.42 28.96, 185.05 36.82, 186 58.5 M186 19.5 C186.3 31.33, 187.08 41.13, 186 58.5 M186 58.5 C185.29 70.9, 180.93 79.26, 166.5 78 M186 58.5 C186.95 72.08, 180.96 78.29, 166.5 78 M166.5 78 C128.47 76.91, 89.46 77.32, 19.5 78 M166.5 78 C119.63 76.75, 72.34 77.14, 19.5 78 M19.5 78 C7.12 77.56, 1.59 70.89, 0 58.5 M19.5 78 C8.62 77.66, -0.35 72.05, 0 58.5 M0 58.5 C1.11 42.28, 1.43 30.3, 0 19.5 M0 58.5 C0.52 47.15, 0.44 36.31, 0 19.5 M0 19.5 C1.6 7.04, 5.27 -0.85, 19.5 0 M0 19.5 C-0.27 6.5, 7.85 0.16, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(661 113.5) rotate(0 93 10)"><text x="93" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(Orchestrator)</text></g><g stroke-linecap="round" transform="translate(937 10) rotate(0 71 39)"><path d="M19.5 0 C39.06 1.17, 61.95 0.9, 122.5 0 M19.5 0 C59.12 0.43, 98.51 -0.34, 122.5 0 M122.5 0 C133.96 1.8, 142.96 6.21, 142 19.5 M122.5 0 C133.44 -1.61, 142.86 5.61, 142 19.5 M142 19.5 C142.07 33.52, 140.69 49.48, 142 58.5 M142 19.5 C142.57 29.28, 141.97 40.29, 142 58.5 M142 58.5 C143.53 70.86, 135.47 76.92, 122.5 78 M142 58.5 C143.24 71.62, 137.67 79.92, 122.5 78 M122.5 78 C85.37 76.81, 49.55 78.31, 19.5 78 M122.5 78 C96.64 78.76, 68.8 78.63, 19.5 78 M19.5 78 C7.29 79.99, -0.17 72.27, 0 58.5 M19.5 78 C6.74 80.18, 1.49 70.72, 0 58.5 M0 58.5 C-0.21 45.59, 1.48 30.53, 0 19.5 M0 58.5 C-0.41 45.85, 0.86 33.69, 0 19.5 M0 19.5 C0.14 6.15, 4.95 -0.51, 19.5 0 M0 19.5 C-0.63 8.28, 4.96 -2.1, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(937 51.5) rotate(0 71 10)"><text x="71" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Initial</text></g><g stroke-linecap="round" transform="translate(937 133) rotate(0 71 39)"><path d="M19.5 0 C40.82 -1.72, 62.77 -2.25, 122.5 0 M19.5 0 C48.03 -0.35, 76.31 1.12, 122.5 0 M122.5 0 C137.47 1.61, 142.39 4.78, 142 19.5 M122.5 0 C137.64 -0.97, 140.9 6.69, 142 19.5 M142 19.5 C140.9 32.64, 140.93 47.32, 142 58.5 M142 19.5 C141.3 28.23, 141.91 38.44, 142 58.5 M142 58.5 C140.56 70.57, 135.71 79.03, 122.5 78 M142 58.5 C140.89 69.69, 135.7 77.22, 122.5 78 M122.5 78 C82.62 77.08, 41.1 76.18, 19.5 78 M122.5 78 C90.57 79.26, 58.81 78.2, 19.5 78 M19.5 78 C8.23 79.28, -0.05 71.95, 0 58.5 M19.5 78 C6.46 76.49, -0.41 71.42, 0 58.5 M0 58.5 C0.74 50.9, -1.05 38.86, 0 19.5 M0 58.5 C0.91 45.79, 0.42 30.69, 0 19.5 M0 19.5 C0.58 5.87, 8.38 -1.83, 19.5 0 M0 19.5 C-1.34 7.97, 4.54 0.33, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(937 174.5) rotate(0 71 10)"><text x="71" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Ongoing</text></g><g stroke-linecap="round" transform="translate(1169 72) rotate(0 110 39)"><path d="M19.5 0 C54.32 -0.4, 92.35 0.12, 200.5 0 M19.5 0 C69.89 0.76, 119.56 -1.14, 200.5 0 M200.5 0 C214.77 -0.08, 220.47 4.72, 220 19.5 M200.5 0 C212.24 0.64, 220.12 7.93, 220 19.5 M220 19.5 C222.28 29.45, 219.14 36.27, 220 58.5 M220 19.5 C221.11 28.39, 219.51 36.65, 220 58.5 M220 58.5 C219.91 72.47, 215.4 78.04, 200.5 78 M220 58.5 C219.08 71.87, 214.82 78.56, 200.5 78 M200.5 78 C160.4 75.8, 121.3 77.38, 19.5 78 M200.5 78 C142.31 79.94, 84.82 79.24, 19.5 78 M19.5 78 C7.74 78.84, -0.87 70.38, 0 58.5 M19.5 78 C4.86 80.11, 0.92 71.1, 0 58.5 M0 58.5 C0.56 46.52, -1.83 32.53, 0 19.5 M0 58.5 C1.04 50.08, -0.82 42.36, 0 19.5 M0 19.5 C1.88 6.14, 6.74 -1.74, 19.5 0 M0 19.5 C1.49 4.6, 4.41 -2.21, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1169 113.5) rotate(0 110 10)"><text x="110" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(MySQL / MSSQL)</text></g><g stroke-linecap="round" transform="translate(1479 72) rotate(0 98.5 39)"><path d="M19.5 0 C49.19 2.43, 81.05 0.75, 177.5 0 M19.5 0 C62.07 0.03, 102.14 -1.53, 177.5 0 M177.5 0 C191.2 1.27, 197.44 6.77, 197 19.5 M177.5 0 C192.05 0.76, 197 4.93, 197 19.5 M197 19.5 C194.83 31.61, 197.8 47.39, 197 58.5 M197 19.5 C196.97 27.94, 196.91 37.98, 197 58.5 M197 58.5 C197.68 70.46, 190.72 79.33, 177.5 78 M197 58.5 C198.71 71.64, 191.81 79.04, 177.5 78 M177.5 78 C121.27 75.77, 66.63 78.06, 19.5 78 M177.5 78 C119.15 77.77, 60.43 77.57, 19.5 78 M19.5 78 C5.17 79.8, -1.68 72.6, 0 58.5 M19.5 78 C6.83 78.33, 0.37 70.78, 0 58.5 M0 58.5 C1.18 44.39, -0.9 32.16, 0 19.5 M0 58.5 C-0.18 44.93, 0.26 30.21, 0 19.5 M0 19.5 C-1.18 8.1, 6.73 -0.48, 19.5 0 M0 19.5 C1.82 6.83, 7.33 -0.78, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1479 113.5) rotate(0 98.5 10)"><text x="98.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">(MySQL / MSSQL)</text></g><g stroke-linecap="round"><g transform="translate(185 111) rotate(0 45 -0.168261842617909)"><path d="M0 0 C2.2 -0.22, 5.47 -1.34, 16 0 M0 0 C6.99 -0.28, 12.5 0.05, 16 0 M16 0 C17.15 -0.32, 18.49 -0.09, 19.88 0 M16 0 C17.24 -0.09, 18.55 0.11, 19.88 0 M19.88 0 C20.79 -0.11, 21.8 0.09, 23.52 0 M19.88 0 C20.48 -0.04, 21.15 -0.06, 23.52 0 M23.52 0 C24.02 0.01, 24.68 -0.08, 26.96 0 M23.52 0 C24.3 0.14, 25.45 -0.04, 26.96 0 M26.96 0 C28.48 -0.16, 29.31 0.12, 30.23 0 M26.96 0 C28.26 -0.05, 29.43 -0.03, 30.23 0 M30.23 0 C30.92 0.07, 31.82 0.26, 33.36 0 M30.23 0 C31.07 -0.1, 32.24 0.02, 33.36 0 M33.36 0 C34.42 0.04, 34.65 0.03, 36.37 0 M33.36 0 C34.25 -0.09, 35.26 0.01, 36.37 0 M36.37 0 C37.36 -0.1, 38.63 -0.12, 39.29 0 M36.37 0 C37.36 -0.03, 38.47 0.14, 39.29 0 M39.29 0 C39.82 -0.14, 40.69 -0.23, 42.16 0 M39.29 0 C40.25 -0.11, 41.39 0.1, 42.16 0 M42.16 0 C42.79 0.08, 44.01 0.22, 45 0 M42.16 0 C43.11 0.06, 43.92 0.16, 45 0 M45 0 C45.93 0.05, 46.12 -0.01, 47.84 0 M45 0 C46.09 0.02, 47.02 0.02, 47.84 0 M47.84 0 C48.68 -0.1, 48.85 0.21, 50.71 0 M47.84 0 C48.58 0.14, 49.52 -0.11, 50.71 0 M50.71 0 C51.45 0.05, 52.36 0.06, 53.63 0 M50.71 0 C51.67 -0.11, 52.59 -0.08, 53.63 0 M53.63 0 C54.45 -0.18, 55.97 -0.03, 56.64 0 M53.63 0 C54.58 0.11, 55.64 -0.12, 56.64 0 M56.64 0 C57.69 -0.1, 58.82 -0.02, 59.77 0 M56.64 0 C57.41 0.08, 57.89 0.03, 59.77 0 M59.77 0 C60.34 -0.26, 61.46 0.22, 63.04 0 M59.77 0 C60.45 -0.08, 61.44 -0.05, 63.04 0 M63.04 0 C63.87 0.3, 65.03 0.37, 66.48 0 M63.04 0 C63.79 -0.14, 64.65 -0.12, 66.48 0 M66.48 0 C67.67 0.22, 68.19 -0.21, 70.12 0 M66.48 0 C67.41 0.12, 68.27 0.11, 70.12 0 M70.12 0 C71.45 -0.23, 72.84 -0.36, 74 0 M70.12 0 C71.43 -0.17, 72.62 0.1, 74 0 M74 0 C79.51 -1.43, 83.78 0.65, 90 0 M74 0 C79.85 0.18, 84.92 0.6, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(185 111) rotate(0 45 -0.168261842617909)"><path d="M82.68 3.22 C83.66 2.45, 85.16 1.24, 90 0 M82.68 3.22 C85.91 1.83, 88.41 0.75, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(185 111) rotate(0 45 -0.168261842617909)"><path d="M82.32 -2.24 C83.34 -1.9, 84.91 -2, 90 0 M82.32 -2.24 C85.69 -1.52, 88.32 -0.49, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(58 95) rotate(0 171.60000000000002 10)"><text x="171.60000000000002" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-link, #2E7D74)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">HTTPS/HTTP</text><text x="171.60000000000002" y="34.096000000000004" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-link, #2E7D74)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">GET /Entity/...</text><text x="171.60000000000002" y="54.096000000000004" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-link, #2E7D74)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Session Auth</text></g><g stroke-linecap="round"><g transform="translate(571 111) rotate(0 45 -0.2520080662360371)"><path d="M0 0 C3.57 -0.56, 7.78 0.87, 16 0 M0 0 C5.53 0.59, 11.24 0.51, 16 0 M16 0 C17.4 0.26, 18.94 0.22, 19.88 0 M16 0 C17.19 -0.06, 18.58 -0.15, 19.88 0 M19.88 0 C20.41 0.24, 21.3 -0.29, 23.52 0 M19.88 0 C20.66 0.03, 21.6 0.05, 23.52 0 M23.52 0 C24.26 -0.07, 25.18 0.01, 26.96 0 M23.52 0 C24.41 -0.11, 25.4 -0.03, 26.96 0 M26.96 0 C27.8 0.07, 28.2 -0.26, 30.23 0 M26.96 0 C28.2 -0.13, 29.19 -0.02, 30.23 0 M30.23 0 C30.91 -0.1, 31.26 -0.24, 33.36 0 M30.23 0 C31.37 -0.08, 32.3 -0.03, 33.36 0 M33.36 0 C34.27 -0.24, 34.88 0.11, 36.37 0 M33.36 0 C34.31 -0.05, 35.55 0, 36.37 0 M36.37 0 C37.45 0.22, 38.24 0.14, 39.29 0 M36.37 0 C37.06 0.1, 38.14 -0.07, 39.29 0 M39.29 0 C40.26 0.25, 40.68 0.22, 42.16 0 M39.29 0 C40.19 0.09, 41.19 0.02, 42.16 0 M42.16 0 C42.66 -0.26, 43.35 -0.05, 45 0 M42.16 0 C43 -0.14, 43.95 0.06, 45 0 M45 0 C45.89 -0.02, 47.01 0.02, 47.84 0 M45 0 C45.8 -0.06, 46.35 0.08, 47.84 0 M47.84 0 C48.51 0.2, 49.37 -0.23, 50.71 0 M47.84 0 C48.95 -0.06, 50.2 -0.08, 50.71 0 M50.71 0 C52.11 0.05, 53.15 0.29, 53.63 0 M50.71 0 C51.41 0.01, 52.2 -0.11, 53.63 0 M53.63 0 C54.37 -0.17, 55.85 0.08, 56.64 0 M53.63 0 C54.42 -0.14, 55.53 0.1, 56.64 0 M56.64 0 C57.86 -0.05, 58.5 0.21, 59.77 0 M56.64 0 C57.38 -0.17, 58.09 -0.04, 59.77 0 M59.77 0 C61.14 0.16, 61.84 0.06, 63.04 0 M59.77 0 C60.42 -0.09, 61.19 -0.05, 63.04 0 M63.04 0 C64.06 0.27, 65.72 -0.06, 66.48 0 M63.04 0 C64.13 0.09, 64.97 -0.19, 66.48 0 M66.48 0 C67.38 0.25, 69.04 -0.11, 70.12 0 M66.48 0 C67.5 -0.04, 68.21 -0.15, 70.12 0 M70.12 0 C71.48 0.01, 72.66 0.16, 74 0 M70.12 0 C71.51 -0.02, 73.18 0.09, 74 0 M74 0 C79.4 -1.68, 85.14 -0.65, 90 0 M74 0 C77.33 0.2, 80.84 -0.85, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(571 111) rotate(0 45 -0.2520080662360371)"><path d="M82.36 2.36 C84.07 1.6, 86.1 1.83, 90 0 M82.36 2.36 C85 1.86, 87.74 1.02, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(571 111) rotate(0 45 -0.2520080662360371)"><path d="M82.63 -3.1 C84.28 -2.75, 86.26 -1.4, 90 0 M82.63 -3.1 C85.18 -1.75, 87.82 -0.74, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(847 102.68) rotate(0 45 -26.738451284252932)"><path d="M0 0 C4.01 -1.25, 7.88 -1.04, 16 0 M0 0 C3.95 0.13, 6.98 0.69, 16 0 M16 0 C17.2 -0.53, 17.66 -0.42, 19.88 -0.48 M16 0 C17.08 -0.16, 18.58 -0.16, 19.88 -0.48 M19.88 -0.48 C21.38 -0.67, 22.57 -1.76, 23.52 -1.84 M19.88 -0.48 C20.78 -0.86, 21.7 -1.21, 23.52 -1.84 M23.52 -1.84 C24.7 -2.15, 25.15 -3.3, 26.96 -3.98 M23.52 -1.84 C24.71 -2.5, 26.2 -3.19, 26.96 -3.98 M26.96 -3.98 C27.54 -4.85, 29.07 -5.99, 30.23 -6.77 M26.96 -3.98 C27.71 -4.73, 28.19 -5.27, 30.23 -6.77 M30.23 -6.77 C31.37 -7.69, 31.34 -8.28, 33.36 -10.12 M30.23 -6.77 C31.15 -7.9, 32.32 -9.02, 33.36 -10.12 M33.36 -10.12 C34.51 -11.77, 35.8 -12.92, 36.37 -13.92 M33.36 -10.12 C34.65 -11.48, 35.87 -13.1, 36.37 -13.92 M36.37 -13.92 C36.81 -15.21, 37.68 -16.31, 39.29 -18.04 M36.37 -13.92 C37.19 -14.73, 37.57 -15.78, 39.29 -18.04 M39.29 -18.04 C40.52 -20.02, 41.31 -20.55, 42.16 -22.39 M39.29 -18.04 C40.17 -19.02, 40.82 -20.36, 42.16 -22.39 M42.16 -22.39 C43.17 -23.36, 43.83 -25.62, 45 -26.84 M42.16 -22.39 C43.08 -23.88, 44.03 -25.17, 45 -26.84 M45 -26.84 C45.42 -28.17, 46.91 -28.66, 47.84 -31.29 M45 -26.84 C45.71 -28.04, 46.81 -29.05, 47.84 -31.29 M47.84 -31.29 C49.39 -33.26, 49.89 -34.98, 50.71 -35.64 M47.84 -31.29 C48.32 -32.17, 48.83 -33.3, 50.71 -35.64 M50.71 -35.64 C52.14 -37.04, 52.94 -38.73, 53.63 -39.76 M50.71 -35.64 C51.53 -37.22, 52.62 -38.49, 53.63 -39.76 M53.63 -39.76 C53.97 -40.8, 55.27 -41.88, 56.64 -43.56 M53.63 -39.76 C54.68 -40.92, 55.64 -42.54, 56.64 -43.56 M56.64 -43.56 C57.65 -43.95, 58.08 -44.8, 59.77 -46.91 M56.64 -43.56 C57.87 -44.84, 58.63 -45.89, 59.77 -46.91 M59.77 -46.91 C61.02 -47.68, 62.47 -48.5, 63.04 -49.7 M59.77 -46.91 C60.77 -47.76, 62.1 -48.73, 63.04 -49.7 M63.04 -49.7 C63.67 -50.26, 65.06 -50.66, 66.48 -51.84 M63.04 -49.7 C64.14 -50.43, 65.25 -51.13, 66.48 -51.84 M66.48 -51.84 C67.5 -52.17, 68.74 -52.17, 70.12 -53.2 M66.48 -51.84 C67.76 -52.48, 69.29 -52.76, 70.12 -53.2 M70.12 -53.2 C71.34 -53.23, 72.49 -53.24, 74 -53.68 M70.12 -53.2 C71.46 -53.53, 72.82 -53.48, 74 -53.68 M74 -53.68 C80 -52.99, 85.63 -54.2, 90 -53.68 M74 -53.68 C78.39 -53.1, 84.07 -53.27, 90 -53.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(847 102.68) rotate(0 45 -26.738451284252932)"><path d="M82.65 -50.53 C84.49 -51.79, 86.29 -52.33, 90 -53.68 M82.65 -50.53 C84.49 -51.11, 85.87 -51.47, 90 -53.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(847 102.68) rotate(0 45 -26.738451284252932)"><path d="M82.34 -55.99 C84.3 -56.15, 86.16 -55.57, 90 -53.68 M82.34 -55.99 C84.25 -55.46, 85.69 -54.71, 90 -53.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(847 119.32) rotate(0 45 26.59776989740491)"><path d="M0 0 C2.19 1.61, 6.99 1.17, 16 0 M0 0 C5.69 -0.28, 12.12 -0.13, 16 0 M16 0 C16.67 0.26, 17.32 0.32, 19.88 0.47 M16 0 C17.42 0.18, 18.62 0.18, 19.88 0.47 M19.88 0.47 C20.98 0.99, 22.82 1.73, 23.52 1.81 M19.88 0.47 C20.95 0.92, 22.15 1.37, 23.52 1.81 M23.52 1.81 C24.95 2.79, 25.67 3.15, 26.96 3.9 M23.52 1.81 C24.79 2.45, 26.1 3.24, 26.96 3.9 M26.96 3.9 C28.36 4.97, 29.32 5.55, 30.23 6.65 M26.96 3.9 C27.64 4.28, 28.31 5.02, 30.23 6.65 M30.23 6.65 C30.52 6.99, 31.56 8.37, 33.36 9.94 M30.23 6.65 C31.09 7.66, 32.35 9.07, 33.36 9.94 M33.36 9.94 C34.31 11.68, 35.3 12.98, 36.37 13.66 M33.36 9.94 C34.04 10.94, 34.94 11.55, 36.37 13.66 M36.37 13.66 C37.07 14.84, 38.15 15.59, 39.29 17.7 M36.37 13.66 C37.46 14.79, 38.09 16.39, 39.29 17.7 M39.29 17.7 C39.6 18.79, 40.93 19.65, 42.16 21.97 M39.29 17.7 C40.25 19.22, 41.81 21.18, 42.16 21.97 M42.16 21.97 C43.23 22.64, 43.19 23.86, 45 26.34 M42.16 21.97 C42.88 23.41, 44.07 24.55, 45 26.34 M45 26.34 C46.11 27.57, 46.95 29.97, 47.84 30.71 M45 26.34 C46.05 27.71, 46.8 29.12, 47.84 30.71 M47.84 30.71 C48.25 32.13, 49.21 32.9, 50.71 34.98 M47.84 30.71 C48.79 32.21, 49.65 33.17, 50.71 34.98 M50.71 34.98 C51.49 36.17, 52.73 37.44, 53.63 39.02 M50.71 34.98 C51.71 36.27, 52.68 37.42, 53.63 39.02 M53.63 39.02 C53.92 39.98, 55.19 41.04, 56.64 42.74 M53.63 39.02 C54.53 39.93, 55.21 40.94, 56.64 42.74 M56.64 42.74 C57.04 43.87, 57.7 43.81, 59.77 46.03 M56.64 42.74 C57.89 43.98, 58.99 45.07, 59.77 46.03 M59.77 46.03 C60.49 46.55, 61.51 47.43, 63.04 48.78 M59.77 46.03 C60.75 46.92, 61.85 47.72, 63.04 48.78 M63.04 48.78 C64.63 49.57, 65.74 50.07, 66.48 50.87 M63.04 48.78 C64.13 49.42, 65.61 50.26, 66.48 50.87 M66.48 50.87 C67.94 51.42, 68.82 51.56, 70.12 52.21 M66.48 50.87 C67.86 51.48, 69.23 51.75, 70.12 52.21 M70.12 52.21 C71.37 52.58, 71.53 52.32, 74 52.68 M70.12 52.21 C71.15 52.32, 72.22 52.51, 74 52.68 M74 52.68 C79.89 53.43, 83.79 51.18, 90 52.68 M74 52.68 C80.67 53.6, 86.39 53.56, 90 52.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(847 119.32) rotate(0 45 26.59776989740491)"><path d="M82.97 56.49 C83.88 56.51, 86.08 55.51, 90 52.68 M82.97 56.49 C85.46 54.99, 88.33 53.71, 90 52.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(847 119.32) rotate(0 45 26.59776989740491)"><path d="M82.16 51.08 C83.22 52.21, 85.58 52.31, 90 52.68 M82.16 51.08 C84.95 51.5, 88.11 52.15, 90 52.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1079 49) rotate(0 45 26.603362205749296)"><path d="M0 0 C3.12 -1.56, 6 -1.43, 16 0 M0 0 C4.21 -0.24, 7.12 0.47, 16 0 M16 0 C17.13 -0.1, 18.28 0.25, 19.88 0.48 M16 0 C17.48 0.18, 18.65 0.44, 19.88 0.48 M19.88 0.48 C21.11 1.29, 22.48 1.23, 23.52 1.84 M19.88 0.48 C21.39 1.09, 22.48 1.29, 23.52 1.84 M23.52 1.84 C24.73 2.44, 26.2 3.7, 26.96 3.98 M23.52 1.84 C24.59 2.69, 26.02 3.3, 26.96 3.98 M26.96 3.98 C27.74 4.39, 28.65 5.62, 30.23 6.77 M26.96 3.98 C28.08 5, 28.98 5.9, 30.23 6.77 M30.23 6.77 C31.6 8.25, 32.75 9.16, 33.36 10.12 M30.23 6.77 C31.34 7.87, 32.39 9.44, 33.36 10.12 M33.36 10.12 C34.68 11.3, 35.24 12.4, 36.37 13.92 M33.36 10.12 C34.1 11.14, 34.91 11.98, 36.37 13.92 M36.37 13.92 C36.87 15.42, 37.95 16.32, 39.29 18.04 M36.37 13.92 C37.43 15.28, 38.1 16.53, 39.29 18.04 M39.29 18.04 C40.12 18.83, 40.87 19.85, 42.16 22.39 M39.29 18.04 C40.14 19.31, 40.85 20.3, 42.16 22.39 M42.16 22.39 C42.68 24.39, 44.24 25.68, 45 26.84 M42.16 22.39 C42.96 24.08, 43.85 25.33, 45 26.84 M45 26.84 C45.56 28.07, 47.03 30.16, 47.84 31.29 M45 26.84 C46.01 28.7, 47.31 30.12, 47.84 31.29 M47.84 31.29 C48.75 32.11, 49.04 34.05, 50.71 35.64 M47.84 31.29 C48.79 32.69, 49.78 34.53, 50.71 35.64 M50.71 35.64 C51.58 37.24, 53.03 38.96, 53.63 39.76 M50.71 35.64 C51.84 37.02, 53.02 38.77, 53.63 39.76 M53.63 39.76 C54.05 40.68, 55.76 41.51, 56.64 43.56 M53.63 39.76 C54.7 41.21, 55.97 42.49, 56.64 43.56 M56.64 43.56 C57.62 44.59, 58.57 45.42, 59.77 46.91 M56.64 43.56 C57.97 45.02, 59.1 46.12, 59.77 46.91 M59.77 46.91 C60.81 47.27, 61.2 48.13, 63.04 49.7 M59.77 46.91 C60.63 47.67, 62.06 48.64, 63.04 49.7 M63.04 49.7 C64.45 50.75, 65.74 51, 66.48 51.84 M63.04 49.7 C64.13 50.27, 65.26 51.16, 66.48 51.84 M66.48 51.84 C67.52 51.95, 69.3 52.96, 70.12 53.2 M66.48 51.84 C67.3 52.14, 68.08 52.5, 70.12 53.2 M70.12 53.2 C71.53 53.78, 73.07 53.91, 74 53.68 M70.12 53.2 C71.68 53.34, 73.14 53.7, 74 53.68 M74 53.68 C79.18 55, 81.47 53.94, 90 53.68 M74 53.68 C80.28 52.95, 87.08 53.76, 90 53.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1079 49) rotate(0 45 26.603362205749296)"><path d="M82.41 56.2 C83.9 54.9, 85.26 54.46, 90 53.68 M82.41 56.2 C84.41 55.47, 85.76 55.21, 90 53.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1079 49) rotate(0 45 26.603362205749296)"><path d="M82.56 50.73 C83.99 50.55, 85.31 51.22, 90 53.68 M82.56 50.73 C84.54 51.33, 85.86 52.4, 90 53.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1079 172) rotate(0 45 -26.560437072415844)"><path d="M0 0 C1.71 -0.93, 6.56 -0.66, 16 0 M0 0 C5.29 0.49, 11.64 -0.69, 16 0 M16 0 C16.5 0.14, 17.81 -0.51, 19.88 -0.47 M16 0 C17.07 -0.15, 18.12 -0.09, 19.88 -0.47 M19.88 -0.47 C20.96 -1.14, 21.24 -1.17, 23.52 -1.81 M19.88 -0.47 C21.29 -1.12, 22.39 -1.29, 23.52 -1.81 M23.52 -1.81 C23.89 -2.2, 24.92 -2.54, 26.96 -3.9 M23.52 -1.81 C24.78 -2.56, 25.93 -3.45, 26.96 -3.9 M26.96 -3.9 C28.22 -4.62, 29.5 -5.89, 30.23 -6.65 M26.96 -3.9 C27.99 -4.67, 29.13 -5.38, 30.23 -6.65 M30.23 -6.65 C30.86 -7.35, 32.11 -8.6, 33.36 -9.94 M30.23 -6.65 C30.95 -7.55, 31.79 -8.42, 33.36 -9.94 M33.36 -9.94 C33.75 -10.96, 35.15 -11.84, 36.37 -13.66 M33.36 -9.94 C34.05 -11.01, 35.08 -12.42, 36.37 -13.66 M36.37 -13.66 C37.34 -15, 38.58 -16.43, 39.29 -17.7 M36.37 -13.66 C37.58 -15.08, 38.25 -16.36, 39.29 -17.7 M39.29 -17.7 C40.41 -18.82, 40.67 -20.34, 42.16 -21.97 M39.29 -17.7 C40.19 -18.84, 40.77 -19.88, 42.16 -21.97 M42.16 -21.97 C42.65 -23.6, 43.47 -23.92, 45 -26.34 M42.16 -21.97 C43.12 -23.04, 43.61 -24.33, 45 -26.34 M45 -26.34 C45.8 -27.8, 46.83 -29.48, 47.84 -30.71 M45 -26.34 C45.88 -27.96, 46.81 -29.36, 47.84 -30.71 M47.84 -30.71 C48.38 -32.04, 49.54 -32.93, 50.71 -34.98 M47.84 -30.71 C48.4 -31.59, 49.52 -32.85, 50.71 -34.98 M50.71 -34.98 C51.73 -36.22, 52.89 -38.19, 53.63 -39.02 M50.71 -34.98 C51.78 -36.57, 52.77 -37.92, 53.63 -39.02 M53.63 -39.02 C54.86 -39.91, 54.8 -40.73, 56.64 -42.74 M53.63 -39.02 C54.63 -40.5, 55.77 -41.78, 56.64 -42.74 M56.64 -42.74 C58.27 -44.4, 58.8 -45.8, 59.77 -46.03 M56.64 -42.74 C57.81 -43.6, 58.66 -44.6, 59.77 -46.03 M59.77 -46.03 C60.61 -46.6, 61.59 -46.97, 63.04 -48.78 M59.77 -46.03 C60.93 -47.18, 62.16 -47.85, 63.04 -48.78 M63.04 -48.78 C64.38 -49.77, 65.74 -50.48, 66.48 -50.87 M63.04 -48.78 C64.17 -49.43, 65.27 -50.25, 66.48 -50.87 M66.48 -50.87 C68.19 -51.74, 68.83 -52.07, 70.12 -52.21 M66.48 -50.87 C67.87 -51.21, 69.04 -52.03, 70.12 -52.21 M70.12 -52.21 C71.93 -52.58, 73.47 -52.46, 74 -52.68 M70.12 -52.21 C71.63 -52.24, 72.88 -52.52, 74 -52.68 M74 -52.68 C77.61 -52.62, 83.38 -53.98, 90 -52.68 M74 -52.68 C78.11 -52.39, 81.06 -51.93, 90 -52.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1079 172) rotate(0 45 -26.560437072415844)"><path d="M82.65 -49.51 C83.36 -50.62, 85.65 -51.13, 90 -52.68 M82.65 -49.51 C85.06 -50.42, 88 -52.17, 90 -52.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1079 172) rotate(0 45 -26.560437072415844)"><path d="M82.34 -54.98 C83.13 -54.98, 85.49 -54.37, 90 -52.68 M82.34 -54.98 C84.86 -53.9, 87.91 -53.65, 90 -52.68" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1389 111) rotate(0 45 0.12272830562302772)"><path d="M0 0 C4.4 -1.05, 5.03 0.69, 16 0 M0 0 C4.36 -0.18, 8.21 -0.12, 16 0 M16 0 C17.74 -0.02, 18.47 -0.03, 19.88 0 M16 0 C17.15 0.1, 18.25 0.05, 19.88 0 M19.88 0 C21.28 -0.19, 22.88 -0.25, 23.52 0 M19.88 0 C21.29 0.13, 22.5 -0.07, 23.52 0 M23.52 0 C24.7 -0.12, 25.29 -0.1, 26.96 0 M23.52 0 C24.48 -0.1, 25.42 -0.04, 26.96 0 M26.96 0 C27.68 -0.16, 28.07 -0.24, 30.23 0 M26.96 0 C28.12 -0.1, 29.24 0.09, 30.23 0 M30.23 0 C30.71 -0.31, 31.33 0.25, 33.36 0 M30.23 0 C31 0.1, 32.23 0.18, 33.36 0 M33.36 0 C34.3 -0.21, 35.91 0.02, 36.37 0 M33.36 0 C34.03 0.02, 34.84 0.02, 36.37 0 M36.37 0 C37.28 -0.21, 37.53 0.1, 39.29 0 M36.37 0 C37.16 -0.12, 37.99 0.06, 39.29 0 M39.29 0 C39.86 -0.21, 40.61 0.02, 42.16 0 M39.29 0 C40.13 -0.07, 41.26 -0.01, 42.16 0 M42.16 0 C42.89 0.02, 43.89 -0.02, 45 0 M42.16 0 C42.95 0, 43.72 -0.05, 45 0 M45 0 C45.6 0.19, 46.08 0.14, 47.84 0 M45 0 C45.88 -0.05, 46.96 -0.12, 47.84 0 M47.84 0 C48.47 0.24, 49.17 0.27, 50.71 0 M47.84 0 C49.09 0.05, 50.12 0.15, 50.71 0 M50.71 0 C51.54 0.18, 52.9 0.11, 53.63 0 M50.71 0 C51.77 -0.11, 52.9 -0.07, 53.63 0 M53.63 0 C54.36 -0.02, 55.27 -0.11, 56.64 0 M53.63 0 C54.38 0.02, 55.15 -0.05, 56.64 0 M56.64 0 C57.76 0.29, 59.15 -0.16, 59.77 0 M56.64 0 C57.83 -0.09, 58.64 -0.11, 59.77 0 M59.77 0 C60.91 0.18, 62.21 -0.26, 63.04 0 M59.77 0 C60.65 0.08, 61.47 -0.06, 63.04 0 M63.04 0 C64.28 0.19, 65.42 0.23, 66.48 0 M63.04 0 C64.2 -0.07, 64.99 0.16, 66.48 0 M66.48 0 C67.86 -0.19, 68.95 0.12, 70.12 0 M66.48 0 C67.57 -0.11, 68.71 0.02, 70.12 0 M70.12 0 C71.01 -0.09, 72.01 0.08, 74 0 M70.12 0 C71.5 0.04, 73.09 -0.01, 74 0 M74 0 C76.67 0.59, 81.44 0.97, 90 0 M74 0 C80.03 -0.46, 86.48 0.48, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1389 111) rotate(0 45 0.12272830562302772)"><path d="M82.57 2.98 C84.65 1.85, 84.86 2.12, 90 0 M82.57 2.98 C84.63 2.1, 86.4 1.35, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1389 111) rotate(0 45 0.12272830562302772)"><path d="M82.4 -2.49 C84.52 -2.52, 84.76 -1.14, 90 0 M82.4 -2.49 C84.45 -1.93, 86.27 -1.25, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(10 88.5) rotate(0 87.5 12.5)"><text x="87.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Source Meadow</text></g><g transform="translate(275 88.5) rotate(0 148 12.5)"><text x="148" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">RestClient</text></g><g transform="translate(661 88.5) rotate(0 93 12.5)"><text x="93" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">MeadowSync</text></g><g transform="translate(937 26.5) rotate(0 71 12.5)"><text x="71" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">SyncEntity</text></g><g transform="translate(937 149.5) rotate(0 71 12.5)"><text x="71" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">SyncEntity</text></g><g transform="translate(1169 88.5) rotate(0 110 12.5)"><text x="110" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">ConnectionManager</text></g><g transform="translate(1479 88.5) rotate(0 98.5 12.5)"><text x="98.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Local Database</text></g></svg>
|
|
@@ -132,38 +132,8 @@ fable.MeadowCloneRestClient.authenticate((pAuthError) => {
|
|
|
132
132
|
|
|
133
133
|
## Architecture Diagram
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
| Source Meadow | <-------------------> | RestClient |
|
|
138
|
-
| API Server | GET /Entity/... | (MeadowClone |
|
|
139
|
-
+-------------------+ Session Auth | RestClient) |
|
|
140
|
-
+--------+----------+
|
|
141
|
-
|
|
|
142
|
-
v
|
|
143
|
-
+-------------------+
|
|
144
|
-
| MeadowSync |
|
|
145
|
-
| (Orchestrator) |
|
|
146
|
-
+--------+----------+
|
|
147
|
-
|
|
|
148
|
-
+------------+------------+
|
|
149
|
-
| |
|
|
150
|
-
+------+------+ +-------+-------+
|
|
151
|
-
| SyncEntity | | SyncEntity |
|
|
152
|
-
| Initial | | Ongoing |
|
|
153
|
-
+------+------+ +-------+-------+
|
|
154
|
-
| |
|
|
155
|
-
v v
|
|
156
|
-
+------+-------------------------+------+
|
|
157
|
-
| ConnectionManager |
|
|
158
|
-
| (MySQL / MSSQL) |
|
|
159
|
-
+---------------------------------------+
|
|
160
|
-
|
|
|
161
|
-
v
|
|
162
|
-
+-------------------+
|
|
163
|
-
| Local Database |
|
|
164
|
-
| (MySQL / MSSQL) |
|
|
165
|
-
+-------------------+
|
|
166
|
-
```
|
|
135
|
+
<!-- bespoke diagram: edit diagrams/architecture-diagram.mmd or .hints.json, then: npx pict-renderer-graph build modules/meadow/meadow-integration/docs/data-clone -->
|
|
136
|
+

|
|
167
137
|
|
|
168
138
|
## Related Documentation
|
|
169
139
|
|