mcp-creatio 0.6.3 → 0.6.5

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 (70) hide show
  1. package/README.md +65 -0
  2. package/dist/cli.js +6 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/creatio/engines/engine-manager.d.ts +3 -0
  5. package/dist/creatio/engines/engine-manager.d.ts.map +1 -1
  6. package/dist/creatio/engines/engine-manager.js +5 -0
  7. package/dist/creatio/engines/engine-manager.js.map +1 -1
  8. package/dist/creatio/provider-context.d.ts +3 -0
  9. package/dist/creatio/provider-context.d.ts.map +1 -1
  10. package/dist/creatio/services/client-cache-hash-client.d.ts +22 -0
  11. package/dist/creatio/services/client-cache-hash-client.d.ts.map +1 -0
  12. package/dist/creatio/services/client-cache-hash-client.js +56 -0
  13. package/dist/creatio/services/client-cache-hash-client.js.map +1 -0
  14. package/dist/creatio/services/creatio-service-context.d.ts +5 -0
  15. package/dist/creatio/services/creatio-service-context.d.ts.map +1 -1
  16. package/dist/creatio/services/creatio-service-context.js +15 -1
  17. package/dist/creatio/services/creatio-service-context.js.map +1 -1
  18. package/dist/creatio/services/crud-provider-factory.d.ts +4 -0
  19. package/dist/creatio/services/crud-provider-factory.d.ts.map +1 -1
  20. package/dist/creatio/services/crud-provider-factory.js +1 -1
  21. package/dist/creatio/services/crud-provider-factory.js.map +1 -1
  22. package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts +2 -0
  23. package/dist/creatio/services/dataservice/data-service-crud-provider.d.ts.map +1 -1
  24. package/dist/creatio/services/dataservice/data-service-crud-provider.js +3 -1
  25. package/dist/creatio/services/dataservice/data-service-crud-provider.js.map +1 -1
  26. package/dist/creatio/services/dataservice/data-service-schema.d.ts +3 -1
  27. package/dist/creatio/services/dataservice/data-service-schema.d.ts.map +1 -1
  28. package/dist/creatio/services/dataservice/data-service-schema.js +13 -4
  29. package/dist/creatio/services/dataservice/data-service-schema.js.map +1 -1
  30. package/dist/creatio/services/dataservice/data-service-transport.d.ts +3 -0
  31. package/dist/creatio/services/dataservice/data-service-transport.d.ts.map +1 -1
  32. package/dist/creatio/services/dataservice/data-service-transport.js +5 -0
  33. package/dist/creatio/services/dataservice/data-service-transport.js.map +1 -1
  34. package/dist/creatio/services/index.d.ts +2 -0
  35. package/dist/creatio/services/index.d.ts.map +1 -1
  36. package/dist/creatio/services/index.js +2 -0
  37. package/dist/creatio/services/index.js.map +1 -1
  38. package/dist/creatio/services/odata/metadata-store.d.ts +10 -1
  39. package/dist/creatio/services/odata/metadata-store.d.ts.map +1 -1
  40. package/dist/creatio/services/odata/metadata-store.js +35 -4
  41. package/dist/creatio/services/odata/metadata-store.js.map +1 -1
  42. package/dist/creatio/services/schema-freshness-gate.d.ts +26 -0
  43. package/dist/creatio/services/schema-freshness-gate.d.ts.map +1 -0
  44. package/dist/creatio/services/schema-freshness-gate.js +58 -0
  45. package/dist/creatio/services/schema-freshness-gate.js.map +1 -0
  46. package/dist/index.js +6 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/log.d.ts.map +1 -1
  49. package/dist/log.js +4 -1
  50. package/dist/log.js.map +1 -1
  51. package/dist/server/http/mcp-handlers.d.ts.map +1 -1
  52. package/dist/server/http/mcp-handlers.js +8 -6
  53. package/dist/server/http/mcp-handlers.js.map +1 -1
  54. package/dist/server/mcp/server.d.ts +37 -28
  55. package/dist/server/mcp/server.d.ts.map +1 -1
  56. package/dist/server/mcp/server.js +106 -75
  57. package/dist/server/mcp/server.js.map +1 -1
  58. package/dist/server/mcp/tenant-tool-registry.d.ts +66 -0
  59. package/dist/server/mcp/tenant-tool-registry.d.ts.map +1 -0
  60. package/dist/server/mcp/tenant-tool-registry.js +113 -0
  61. package/dist/server/mcp/tenant-tool-registry.js.map +1 -0
  62. package/dist/utils/index.d.ts +1 -0
  63. package/dist/utils/index.d.ts.map +1 -1
  64. package/dist/utils/index.js +1 -0
  65. package/dist/utils/index.js.map +1 -1
  66. package/dist/utils/redact.d.ts +25 -0
  67. package/dist/utils/redact.d.ts.map +1 -0
  68. package/dist/utils/redact.js +64 -0
  69. package/dist/utils/redact.js.map +1 -0
  70. package/package.json +1 -1
package/README.md CHANGED
@@ -175,6 +175,29 @@ the client logs in directly against Creatio. Needs no server-side credentials. T
175
175
  through unverified (Creatio is the authority) — a **trusted-environment** mode (see the trust note
176
176
  above).
177
177
 
178
+ **What the client sends.** The MCP **client** attaches the Creatio access token as a Bearer header
179
+ on every `/mcp` request. In a client that supports static headers:
180
+
181
+ ```jsonc
182
+ {
183
+ "creatio": {
184
+ "type": "http",
185
+ "url": "http://localhost:3000/mcp",
186
+ "headers": { "Authorization": "Bearer <CREATIO_ACCESS_TOKEN>" },
187
+ },
188
+ }
189
+ ```
190
+
191
+ Server side, just select the mode (no credentials needed):
192
+
193
+ ```bash
194
+ CREATIO_MCP_AUTH_MODE=delegated
195
+ CREATIO_BASE_URL=https://your-creatio.com
196
+ ```
197
+
198
+ A request with **no** `Authorization` header gets `401` with a `WWW-Authenticate` challenge pointing
199
+ at Creatio Identity (RFC 9728), so a compliant client knows where to log in.
200
+
178
201
  ### `gateway`
179
202
 
180
203
  A trusted fronting service (Creatio.ai Control-Plane) injects the Bearer; the MCP trusts and uses
@@ -184,6 +207,48 @@ is sent, it is validated: set **`CREATIO_MCP_ALLOWED_BASE_URLS`** (comma-separat
184
207
  restrict it to your tenants. When unset, any `http(s)` host is accepted (trusting the gateway) except
185
208
  the cloud-metadata link-local address, which is always blocked (SSRF guard).
186
209
 
210
+ **Who sends what.** Unlike `delegated`, the end client talks to the **gateway**, not to the MCP — so
211
+ the **gateway** is what injects the per-request headers. On each forwarded `/mcp` call it sends:
212
+
213
+ ```http
214
+ POST /mcp HTTP/1.1
215
+ Authorization: Bearer <CREATIO_ACCESS_TOKEN> # required — the tenant's Creatio token
216
+ X-Creatio-Base-Url: https://tenant-a.creatio.com # optional — pick the tenant's instance (multi-tenant)
217
+ ```
218
+
219
+ Server side:
220
+
221
+ ```bash
222
+ CREATIO_MCP_AUTH_MODE=gateway
223
+ CREATIO_BASE_URL=https://default-creatio.com # fallback when no X-Creatio-Base-Url
224
+ CREATIO_MCP_ALLOWED_BASE_URLS=https://tenant-a.creatio.com,https://tenant-b.creatio.com # SSRF allowlist
225
+ ```
226
+
227
+ Smoke-test it directly with `curl` (mint a token out-of-band first):
228
+
229
+ ```bash
230
+ curl -sS http://localhost:3000/mcp \
231
+ -H "Authorization: Bearer $CREATIO_ACCESS_TOKEN" \
232
+ -H "X-Creatio-Base-Url: https://tenant-a.creatio.com" \
233
+ -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
234
+ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get-current-user-info","arguments":{}}}'
235
+ ```
236
+
237
+ > **Only the Bearer token is injected** — not arbitrary credentials. The gateway owns auth: it should
238
+ > exchange whatever it holds (SSO, cookie, etc.) into a Creatio OAuth access token **before** calling
239
+ > the MCP. (Injecting other credential shapes, e.g. cookie/basic per tenant, is intentionally out of
240
+ > scope for now.)
241
+
242
+ > **Per-tenant tool isolation.** A single MCP deployment serving many instances keeps each tenant's
243
+ > tool surface separate, keyed by the effective base URL (`X-Creatio-Base-Url`, else `CREATIO_BASE_URL`).
244
+ > Optional capabilities are **probed per tenant** and the tools they expose (DataForge, Global Search,
245
+ > and any dynamically discovered per-instance tools) are registered only for the tenant they were
246
+ > discovered on. Tenant A's tools or DataForge verdict never leak into tenant B's session, even though
247
+ > both share one process. The
248
+ > per-tenant state is pooled with idle-TTL + LRU eviction, so memory stays bounded as the number of
249
+ > distinct instances grows. Single-tenant modes (everything except `gateway` with an override) all map
250
+ > to one bucket, so their behavior is unchanged.
251
+
187
252
  ### `client_credentials` / `legacy`
188
253
 
189
254
  ```bash
package/dist/cli.js CHANGED
@@ -136,7 +136,12 @@ async function main() {
136
136
  });
137
137
  // Proactive keep-alive applies only to the single-session modes (legacy / client_credentials),
138
138
  // which is exactly what stdio runs; it is opt-in via CREATIO_MCP_KEEPALIVE_SECONDS.
139
- const keepAlive = new server_1.SessionKeepAlive((0, server_1.keepAliveIntervalMs)(), () => engines.user.getCurrentUserInfo());
139
+ const keepAlive = new server_1.SessionKeepAlive((0, server_1.keepAliveIntervalMs)(), async () => {
140
+ await engines.user.getCurrentUserInfo();
141
+ // Reuse the periodic ping to also refresh the schema-freshness snapshot, so it isn't a
142
+ // wasted round-trip — the next schema read starts from a warm, validated cache.
143
+ await engines.warmSchemaCache();
144
+ });
140
145
  keepAlive.start();
141
146
  const state = { server, keepAlive };
142
147
  process.on('SIGINT', () => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,9 @@ export declare class CreatioEngineManager {
44
44
  get process(): ProcessEngine;
45
45
  get sysSettings(): SysSettingsEngine;
46
46
  get user(): UserEngine;
47
+ /** Proactively refresh the schema-freshness snapshot (no-op when the context doesn't support
48
+ * it). Lets the single-session keep-alive tick double as a cache-freshness check. */
49
+ warmSchemaCache(): Promise<void>;
47
50
  constructor(context: CreatioProviderContext, options?: EngineManagerOptions);
48
51
  private _initialize;
49
52
  private _registerEngine;
@@ -1 +1 @@
1
- {"version":3,"file":"engine-manager.d.ts","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAiB,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACpC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IAEjC,IAAW,YAAY,sCAEtB;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED,IAAW,cAAc,IAAI,oBAAoB,CAEhD;IAED,IAAW,aAAa,IAAI,mBAAmB,CAE9C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,WAAW,IAAI,iBAAiB,CAE1C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;gBAEW,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAU3E,OAAO,CAAC,WAAW;IA0DnB,OAAO,CAAC,eAAe;CAUvB"}
1
+ {"version":3,"file":"engine-manager.d.ts","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":"AACA,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAiB,SAAS,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,cAAc,EAAc,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,WAAW,oBAAoB;IACpC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IAEjC,IAAW,YAAY,sCAEtB;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,IAAI,cAAc,CAEpC;IAED,IAAW,cAAc,IAAI,oBAAoB,CAEhD;IAED,IAAW,aAAa,IAAI,mBAAmB,CAE9C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,OAAO,IAAI,aAAa,CAElC;IAED,IAAW,WAAW,IAAI,iBAAiB,CAE1C;IAED,IAAW,IAAI,IAAI,UAAU,CAE5B;IAED;0FACsF;IACzE,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;gBAIjC,OAAO,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAU3E,OAAO,CAAC,WAAW;IA0DnB,OAAO,CAAC,eAAe;CAUvB"}
@@ -48,6 +48,11 @@ class CreatioEngineManager {
48
48
  get user() {
49
49
  return this._registry.require(engine_registry_1.EngineType.User);
50
50
  }
51
+ /** Proactively refresh the schema-freshness snapshot (no-op when the context doesn't support
52
+ * it). Lets the single-session keep-alive tick double as a cache-freshness check. */
53
+ async warmSchemaCache() {
54
+ await this._context.warmSchemaCache?.();
55
+ }
51
56
  constructor(context, options) {
52
57
  this._context = context;
53
58
  this._options = options;
@@ -1 +1 @@
1
- {"version":3,"file":"engine-manager.js","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine-manager.js","sourceRoot":"","sources":["../../../src/creatio/engines/engine-manager.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,8 @@ export interface CreatioProviderContext {
9
9
  process: ProcessProvider;
10
10
  sysSettings: SysSettingsProvider;
11
11
  user: UserProvider;
12
+ /** Optional: proactively refresh the schema-freshness snapshot (implemented by
13
+ * {@link CreatioServiceContext}; absent on test fakes). */
14
+ warmSchemaCache?(): Promise<void>;
12
15
  }
13
16
  //# sourceMappingURL=provider-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-context.d.ts","sourceRoot":"","sources":["../../src/creatio/provider-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,sBAAsB;IACtC,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,EAAE,qBAAqB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,YAAY,CAAC;CACnB"}
1
+ {"version":3,"file":"provider-context.d.ts","sourceRoot":"","sources":["../../src/creatio/provider-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,sBAAsB;IACtC,YAAY,EAAE,oBAAoB,CAAC;IACnC,cAAc,EAAE,sBAAsB,CAAC;IACvC,aAAa,EAAE,qBAAqB,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,EAAE,YAAY,CAAC;IACnB;gEAC4D;IAC5D,eAAe,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC"}
@@ -0,0 +1,22 @@
1
+ import { CreatioHttpClient } from './http-client';
2
+ /** Parsed `/api/ClientCache/Hashes` response: the global cache version + a name→hash map. */
3
+ export interface ClientCacheHashes {
4
+ /** SysSetting `ClientCacheVersion` — a manual global bump that force-busts every client cache. */
5
+ cacheVersion: number;
6
+ /** Per-cache content hashes keyed by cache name (e.g. `runtime-entity-schema`). */
7
+ hashes: Record<string, string>;
8
+ }
9
+ /**
10
+ * Thin transport for Creatio's client-cache hash endpoint (`GET /0/api/ClientCache/Hashes`) — the
11
+ * same stamp the Freedom UI polls to learn when its cached schemas/settings went stale (see core
12
+ * `ClientCacheController` + `CacheHashBuilder`). Pure transport: it fetches and shapes the
13
+ * response and NEVER throws (returns `null` on any failure) so the freshness policy can degrade
14
+ * gracefully. It knows nothing about WHAT we cache or WHEN to invalidate — that is the gate's job.
15
+ */
16
+ export declare class ClientCacheHashClient {
17
+ private readonly _client;
18
+ constructor(client: CreatioHttpClient);
19
+ private _url;
20
+ getHashes(): Promise<ClientCacheHashes | null>;
21
+ }
22
+ //# sourceMappingURL=client-cache-hash-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-cache-hash-client.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/client-cache-hash-client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,6FAA6F;AAC7F,MAAM,WAAW,iBAAiB;IACjC,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,IAAI;IAKC,SAAS,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CA6B3D"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ClientCacheHashClient = void 0;
7
+ const log_1 = __importDefault(require("../../log"));
8
+ /**
9
+ * Thin transport for Creatio's client-cache hash endpoint (`GET /0/api/ClientCache/Hashes`) — the
10
+ * same stamp the Freedom UI polls to learn when its cached schemas/settings went stale (see core
11
+ * `ClientCacheController` + `CacheHashBuilder`). Pure transport: it fetches and shapes the
12
+ * response and NEVER throws (returns `null` on any failure) so the freshness policy can degrade
13
+ * gracefully. It knows nothing about WHAT we cache or WHEN to invalidate — that is the gate's job.
14
+ */
15
+ class ClientCacheHashClient {
16
+ _client;
17
+ constructor(client) {
18
+ this._client = client;
19
+ }
20
+ _url() {
21
+ // `/api/…` (not `/rest/…`), under the same `/0` workspace prefix the rest of our calls use.
22
+ return `${this._client.normalizedBaseUrl}/0/api/ClientCache/Hashes`;
23
+ }
24
+ async getHashes() {
25
+ const url = this._url();
26
+ try {
27
+ const headers = await this._client.getJsonHeaders();
28
+ const response = await this._client.fetchWithAuth(url, async () => ({ headers }));
29
+ if (!response.ok) {
30
+ log_1.default.warn('creatio.client_cache.hashes.not_ok', { url, status: response.status });
31
+ return null;
32
+ }
33
+ const body = await response.json().catch(() => null);
34
+ if (!body || !Array.isArray(body.hashes)) {
35
+ return null;
36
+ }
37
+ const hashes = {};
38
+ for (const entry of body.hashes) {
39
+ if (entry && typeof entry.name === 'string') {
40
+ hashes[entry.name] = String(entry.value ?? '');
41
+ }
42
+ }
43
+ const parsedVersion = Number(body.cacheVersion);
44
+ return {
45
+ cacheVersion: Number.isFinite(parsedVersion) ? parsedVersion : 0,
46
+ hashes,
47
+ };
48
+ }
49
+ catch (err) {
50
+ log_1.default.warn('creatio.client_cache.hashes.failed', { url, error: String(err) });
51
+ return null;
52
+ }
53
+ }
54
+ }
55
+ exports.ClientCacheHashClient = ClientCacheHashClient;
56
+ //# sourceMappingURL=client-cache-hash-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-cache-hash-client.js","sourceRoot":"","sources":["../../../src/creatio/services/client-cache-hash-client.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAY5B;;;;;;GAMG;AACH,MAAa,qBAAqB;IAChB,OAAO,CAAoB;IAE5C,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,IAAI;QACX,4FAA4F;QAC5F,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,2BAA2B,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAClB,aAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjF,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACb,CAAC;YACD,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBAChD,CAAC;YACF,CAAC;YACD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,OAAO;gBACN,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAChE,MAAM;aACN,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,aAAG,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;CACD;AAzCD,sDAyCC"}
@@ -6,6 +6,7 @@ export declare class CreatioServiceContext implements CreatioProviderContext {
6
6
  private readonly _config;
7
7
  private readonly _authManager;
8
8
  private readonly _httpClient;
9
+ private readonly _freshness;
9
10
  readonly kind = "creatio-services";
10
11
  readonly adminOperation: AdminOperationProvider;
11
12
  readonly configuration: ConfigurationProvider;
@@ -16,5 +17,9 @@ export declare class CreatioServiceContext implements CreatioProviderContext {
16
17
  readonly user: UserProvider;
17
18
  get authProvider(): ICreatioAuthProvider;
18
19
  constructor(config: CreatioClientConfig);
20
+ /** Proactively refresh the schema-freshness snapshot for the current base URL. Lets the
21
+ * single-session keep-alive tick double as a cache-freshness check, so its periodic ping isn't
22
+ * wasted. Best-effort: the gate already swallows endpoint failures. */
23
+ warmSchemaCache(): Promise<void>;
19
24
  }
20
25
  //# sourceMappingURL=creatio-service-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"creatio-service-context.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAY7D,qBAAa,qBAAsB,YAAW,sBAAsB;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,SAAgB,IAAI,sBAAsB;IAC1C,SAAgB,cAAc,EAAE,sBAAsB,CAAC;IACvD,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,WAAW,EAAE,mBAAmB,CAAC;IACjD,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC,IAAW,YAAY,IAAI,oBAAoB,CAE9C;gBAEW,MAAM,EAAE,mBAAmB;CAgBvC"}
1
+ {"version":3,"file":"creatio-service-context.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAc7D,qBAAa,qBAAsB,YAAW,sBAAsB;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,SAAgB,IAAI,sBAAsB;IAC1C,SAAgB,cAAc,EAAE,sBAAsB,CAAC;IACvD,SAAgB,aAAa,EAAE,qBAAqB,CAAC;IACrD,SAAgB,IAAI,EAAE,YAAY,CAAC;IACnC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,WAAW,EAAE,mBAAmB,CAAC;IACjD,SAAgB,IAAI,EAAE,YAAY,CAAC;IAEnC,IAAW,YAAY,IAAI,oBAAoB,CAE9C;gBAEW,MAAM,EAAE,mBAAmB;IAsBvC;;4EAEwE;IAC3D,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7C"}
@@ -3,18 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CreatioServiceContext = void 0;
4
4
  const auth_1 = require("../auth");
5
5
  const admin_operation_service_provider_1 = require("./admin-operation-service-provider");
6
+ const client_cache_hash_client_1 = require("./client-cache-hash-client");
6
7
  const configuration_service_provider_1 = require("./configuration-service-provider");
7
8
  const crud_provider_factory_1 = require("./crud-provider-factory");
8
9
  const feature_service_provider_1 = require("./feature-service-provider");
9
10
  const http_client_1 = require("./http-client");
10
11
  const metadata_store_1 = require("./odata/metadata-store");
11
12
  const process_service_provider_1 = require("./process-service-provider");
13
+ const schema_freshness_gate_1 = require("./schema-freshness-gate");
12
14
  const sys_settings_service_provider_1 = require("./sys-settings-service-provider");
13
15
  const user_info_provider_1 = require("./user-info-provider");
14
16
  class CreatioServiceContext {
15
17
  _config;
16
18
  _authManager;
17
19
  _httpClient;
20
+ _freshness;
18
21
  kind = 'creatio-services';
19
22
  adminOperation;
20
23
  configuration;
@@ -30,18 +33,29 @@ class CreatioServiceContext {
30
33
  this._config = config;
31
34
  this._authManager = new auth_1.CreatioAuthManager(this._config);
32
35
  this._httpClient = new http_client_1.CreatioHttpClient(this._config, this._authManager);
33
- const metadataStore = new metadata_store_1.ODataMetadataStore(this._httpClient);
36
+ // Content-validated schema freshness: polls Creatio's own client-cache hash stamp
37
+ // (`/api/ClientCache/Hashes`) so cached schemas/metadata invalidate when the data model
38
+ // changes — the same signal the Freedom UI uses. Shared by both CRUD backends.
39
+ this._freshness = new schema_freshness_gate_1.SchemaFreshnessGate(new client_cache_hash_client_1.ClientCacheHashClient(this._httpClient));
40
+ const metadataStore = new metadata_store_1.ODataMetadataStore(this._httpClient, this._freshness);
34
41
  this.adminOperation = new admin_operation_service_provider_1.AdminOperationServiceProvider(this._httpClient);
35
42
  this.configuration = new configuration_service_provider_1.ConfigurationServiceProvider(this._httpClient);
36
43
  this.crud = (0, crud_provider_factory_1.createCrudProvider)(config.crudBackend, {
37
44
  client: this._httpClient,
38
45
  metadataStore,
46
+ freshness: this._freshness,
39
47
  });
40
48
  this.feature = new feature_service_provider_1.FeatureServiceProvider(this._httpClient);
41
49
  this.process = new process_service_provider_1.ProcessServiceProvider(this._httpClient);
42
50
  this.sysSettings = new sys_settings_service_provider_1.SysSettingsServiceProvider(this._httpClient);
43
51
  this.user = new user_info_provider_1.UserInfoProvider(this._httpClient);
44
52
  }
53
+ /** Proactively refresh the schema-freshness snapshot for the current base URL. Lets the
54
+ * single-session keep-alive tick double as a cache-freshness check, so its periodic ping isn't
55
+ * wasted. Best-effort: the gate already swallows endpoint failures. */
56
+ async warmSchemaCache() {
57
+ await this._freshness.getSchemaVersion(this._httpClient.normalizedBaseUrl);
58
+ }
45
59
  }
46
60
  exports.CreatioServiceContext = CreatioServiceContext;
47
61
  //# sourceMappingURL=creatio-service-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"creatio-service-context.js","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":";;;AAAA,kCAAmE;AAanE,yFAAmF;AACnF,qFAAgF;AAChF,mEAA6D;AAC7D,yEAAoE;AACpE,+CAAkD;AAClD,2DAA4D;AAC5D,yEAAoE;AACpE,mFAA6E;AAC7E,6DAAwD;AAExD,MAAa,qBAAqB;IAChB,OAAO,CAAsB;IAC7B,YAAY,CAAqB;IACjC,WAAW,CAAoB;IAEhC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,cAAc,CAAyB;IACvC,aAAa,CAAwB;IACrC,IAAI,CAAe;IACnB,OAAO,CAAkB;IACzB,OAAO,CAAkB;IACzB,WAAW,CAAsB;IACjC,IAAI,CAAe;IAEnC,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,YAAY,MAA2B;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,IAAI,+BAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAG,IAAI,mCAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,gEAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,6DAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAA,0CAAkB,EAAC,MAAM,CAAC,WAAW,EAAE;YAClD,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,aAAa;SACb,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,0DAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;CACD;AAlCD,sDAkCC"}
1
+ {"version":3,"file":"creatio-service-context.js","sourceRoot":"","sources":["../../../src/creatio/services/creatio-service-context.ts"],"names":[],"mappings":";;;AAAA,kCAAmE;AAanE,yFAAmF;AACnF,yEAAmE;AACnE,qFAAgF;AAChF,mEAA6D;AAC7D,yEAAoE;AACpE,+CAAkD;AAClD,2DAA4D;AAC5D,yEAAoE;AACpE,mEAA8D;AAC9D,mFAA6E;AAC7E,6DAAwD;AAExD,MAAa,qBAAqB;IAChB,OAAO,CAAsB;IAC7B,YAAY,CAAqB;IACjC,WAAW,CAAoB;IAC/B,UAAU,CAAsB;IAEjC,IAAI,GAAG,kBAAkB,CAAC;IAC1B,cAAc,CAAyB;IACvC,aAAa,CAAwB;IACrC,IAAI,CAAe;IACnB,OAAO,CAAkB;IACzB,OAAO,CAAkB;IACzB,WAAW,CAAsB;IACjC,IAAI,CAAe;IAEnC,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,YAAY,MAA2B;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,yBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,IAAI,+BAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,kFAAkF;QAClF,wFAAwF;QACxF,+EAA+E;QAC/E,IAAI,CAAC,UAAU,GAAG,IAAI,2CAAmB,CAAC,IAAI,gDAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvF,MAAM,aAAa,GAAG,IAAI,mCAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC,cAAc,GAAG,IAAI,gEAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1E,IAAI,CAAC,aAAa,GAAG,IAAI,6DAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,IAAI,GAAG,IAAA,0CAAkB,EAAC,MAAM,CAAC,WAAW,EAAE;YAClD,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,aAAa;YACb,SAAS,EAAE,IAAI,CAAC,UAAU;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,IAAI,iDAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,GAAG,IAAI,0DAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,GAAG,IAAI,qCAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED;;4EAEwE;IACjE,KAAK,CAAC,eAAe;QAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5E,CAAC;CACD;AA/CD,sDA+CC"}
@@ -2,9 +2,13 @@ import { CrudBackend } from '../client-config';
2
2
  import { CrudProvider } from '../contracts';
3
3
  import { CreatioHttpClient } from './http-client';
4
4
  import { ODataMetadataStore } from './odata/metadata-store';
5
+ import { SchemaFreshnessGate } from './schema-freshness-gate';
5
6
  export interface CrudProviderDeps {
6
7
  client: CreatioHttpClient;
7
8
  metadataStore: ODataMetadataStore;
9
+ /** Shared schema-freshness gate (content-validated cache). Optional: omitted in tests, where
10
+ * schema caches stay purely TTL-driven. */
11
+ freshness?: SchemaFreshnessGate;
8
12
  }
9
13
  /**
10
14
  * Selects the CRUD provider for the configured backend — the same per-deployment,
@@ -1 +1 @@
1
- {"version":3,"file":"crud-provider-factory.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,kBAAkB,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,IAAI,EAAE,gBAAgB,GACpB,YAAY,CASd"}
1
+ {"version":3,"file":"crud-provider-factory.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,kBAAkB,CAAC;IAClC;gDAC4C;IAC5C,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,IAAI,EAAE,gBAAgB,GACpB,YAAY,CAYd"}
@@ -12,7 +12,7 @@ const odata_crud_provider_1 = require("./odata/odata-crud-provider");
12
12
  function createCrudProvider(backend, deps) {
13
13
  switch (backend ?? 'dataservice') {
14
14
  case 'dataservice':
15
- return new data_service_crud_provider_1.DataServiceCrudProvider(deps.client);
15
+ return new data_service_crud_provider_1.DataServiceCrudProvider(deps.client, deps.freshness ? { freshness: deps.freshness } : {});
16
16
  case 'odata':
17
17
  return new odata_crud_provider_1.ODataCrudProvider(deps.client, deps.metadataStore);
18
18
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"crud-provider-factory.js","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":";;AAmBA,gDAYC;AA5BD,yFAAmF;AAGnF,qEAAgE;AAOhE;;;;;GAKG;AACH,SAAgB,kBAAkB,CACjC,OAAgC,EAChC,IAAsB;IAEtB,QAAQ,OAAO,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,aAAa;YACjB,OAAO,IAAI,oDAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,KAAK,OAAO;YACX,OAAO,IAAI,uCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D;YACC,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"crud-provider-factory.js","sourceRoot":"","sources":["../../../src/creatio/services/crud-provider-factory.ts"],"names":[],"mappings":";;AAuBA,gDAeC;AAnCD,yFAAmF;AAGnF,qEAAgE;AAWhE;;;;;GAKG;AACH,SAAgB,kBAAkB,CACjC,OAAgC,EAChC,IAAsB;IAEtB,QAAQ,OAAO,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,aAAa;YACjB,OAAO,IAAI,oDAAuB,CACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CACnD,CAAC;QACH,KAAK,OAAO;YACX,OAAO,IAAI,uCAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D;YACC,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;AACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { CrudCapabilities, CrudDeleteParams, CrudProvider, CrudUpdateParams, CrudWriteParams, EntitySchemaDescription, ReadQuery, ReadResult } from '../../contracts';
2
2
  import { CreatioHttpClient } from '../http-client';
3
+ import { SchemaFreshnessGate } from '../schema-freshness-gate';
3
4
  import { DataServiceFilterTranslator } from './data-service-filter-translator';
4
5
  import { DataServiceQueryBuilder } from './data-service-query-builder';
5
6
  import { DataServiceSchemaProvider } from './data-service-schema';
@@ -28,6 +29,7 @@ export declare class DataServiceCrudProvider implements CrudProvider {
28
29
  queryBuilder?: DataServiceQueryBuilder;
29
30
  filters?: DataServiceFilterTranslator;
30
31
  schema?: DataServiceSchemaProvider;
32
+ freshness?: SchemaFreshnessGate;
31
33
  });
32
34
  private _rows;
33
35
  private _extractCount;
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-crud-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAsB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAEN,sBAAsB,EAEtB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,SAAgB,IAAI,yBAAyB;IAG7C,SAAgB,YAAY,EAAE,gBAAgB,CAAuC;gBAGpF,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE;QACL,SAAS,CAAC,EAAE,oBAAoB,CAAC;QACjC,YAAY,CAAC,EAAE,uBAAuB,CAAC;QACvC,OAAO,CAAC,EAAE,2BAA2B,CAAC;QACtC,MAAM,CAAC,EAAE,yBAAyB,CAAC;KAC9B;IAQP,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,aAAa;IAOrB,iGAAiG;IACjG,OAAO,CAAC,WAAW;YAaL,aAAa;IAgB3B;oEACgE;IAChE,OAAO,CAAC,QAAQ;IAehB,qEAAqE;IAC9D,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,sBAAsB;IAI1D,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAInE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA8B3C,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAWvD,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAgB5D,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;CAanE"}
1
+ {"version":3,"file":"data-service-crud-provider.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,SAAS,EACT,UAAU,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAsB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAEN,sBAAsB,EAEtB,MAAM,sBAAsB,CAAC;AAI9B;;;;;;;;;;GAUG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAEpD,SAAgB,IAAI,yBAAyB;IAG7C,SAAgB,YAAY,EAAE,gBAAgB,CAAuC;gBAGpF,MAAM,EAAE,iBAAiB,EACzB,IAAI,GAAE;QACL,SAAS,CAAC,EAAE,oBAAoB,CAAC;QACjC,YAAY,CAAC,EAAE,uBAAuB,CAAC;QACvC,OAAO,CAAC,EAAE,2BAA2B,CAAC;QACtC,MAAM,CAAC,EAAE,yBAAyB,CAAC;QACnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;KAC3B;IAUP,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,aAAa;IAOrB,iGAAiG;IACjG,OAAO,CAAC,WAAW;YAaL,aAAa;IAgB3B;oEACgE;IAChE,OAAO,CAAC,QAAQ;IAehB,qEAAqE;IAC9D,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,sBAAsB;IAI1D,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAInE,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA8B3C,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAWvD,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAgB5D,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;CAanE"}
@@ -37,7 +37,9 @@ class DataServiceCrudProvider {
37
37
  this._transport = deps.transport ?? new data_service_transport_1.DataServiceTransport(client);
38
38
  this._queryBuilder = deps.queryBuilder ?? new data_service_query_builder_1.DataServiceQueryBuilder();
39
39
  this._filters = deps.filters ?? new data_service_filter_translator_1.DataServiceFilterTranslator();
40
- this._schema = deps.schema ?? new data_service_schema_1.DataServiceSchemaProvider(this._transport);
40
+ this._schema =
41
+ deps.schema ??
42
+ new data_service_schema_1.DataServiceSchemaProvider(this._transport, undefined, undefined, deps.freshness);
41
43
  }
42
44
  _rows(body) {
43
45
  return Array.isArray(body?.rows) ? body.rows : [];
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-crud-provider.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-service-crud-provider.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-crud-provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { EntitySchemaDescription } from '../../contracts';
2
+ import { SchemaFreshnessGate } from '../schema-freshness-gate';
2
3
  import { DataServiceFilterTranslator } from './data-service-filter-translator';
3
4
  import { DataServiceQueryBuilder } from './data-service-query-builder';
4
5
  import { DataServiceTransport } from './data-service-transport';
@@ -17,8 +18,9 @@ export declare class DataServiceSchemaProvider {
17
18
  private readonly _transport;
18
19
  private readonly _queryBuilder;
19
20
  private readonly _filters;
21
+ private readonly _freshness;
20
22
  private readonly _schemaCache;
21
- constructor(transport: DataServiceTransport, queryBuilder?: DataServiceQueryBuilder, filters?: DataServiceFilterTranslator);
23
+ constructor(transport: DataServiceTransport, queryBuilder?: DataServiceQueryBuilder, filters?: DataServiceFilterTranslator, freshness?: SchemaFreshnessGate);
22
24
  private _getRuntimeSchema;
23
25
  private _columns;
24
26
  /** Build the entity-list SelectQuery (visible for tests). */
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-schema.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAoB7E;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA4D;gBAGxF,SAAS,EAAE,oBAAoB,EAC/B,YAAY,0BAAgC,EAC5C,OAAO,8BAAoC;YAO9B,iBAAiB;IAkB/B,OAAO,CAAC,QAAQ;IAIhB,6DAA6D;IACtD,cAAc,IAAI,sBAAsB;IAWlC,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAanC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBhF,4FAA4F;IAC/E,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAS7E"}
1
+ {"version":3,"file":"data-service-schema.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAoB7E;;;;;;;;;GASG;AACH,qBAAa,yBAAyB;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAK7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6E;gBAGzG,SAAS,EAAE,oBAAoB,EAC/B,YAAY,0BAAgC,EAC5C,OAAO,8BAAoC,EAC3C,SAAS,CAAC,EAAE,mBAAmB;YAQlB,iBAAiB;IAqB/B,OAAO,CAAC,QAAQ;IAIhB,6DAA6D;IACtD,cAAc,IAAI,sBAAsB;IAWlC,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAanC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAgBhF,4FAA4F;IAC/E,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CAS7E"}
@@ -21,15 +21,24 @@ class DataServiceSchemaProvider {
21
21
  _transport;
22
22
  _queryBuilder;
23
23
  _filters;
24
+ _freshness;
25
+ // Keyed by `${baseUrl}::${name}` so a multi-tenant gateway never serves tenant A's schema to B.
26
+ // Each entry is stamped with the freshness version at fetch time; a version mismatch (the data
27
+ // model changed) treats it as a miss. The TTL is a coarse backstop (and the sole freshness gate
28
+ // when no SchemaFreshnessGate is wired — then `version` is constant and behaviour is unchanged).
24
29
  _schemaCache = new Map();
25
- constructor(transport, queryBuilder = new data_service_query_builder_1.DataServiceQueryBuilder(), filters = new data_service_filter_translator_1.DataServiceFilterTranslator()) {
30
+ constructor(transport, queryBuilder = new data_service_query_builder_1.DataServiceQueryBuilder(), filters = new data_service_filter_translator_1.DataServiceFilterTranslator(), freshness) {
26
31
  this._transport = transport;
27
32
  this._queryBuilder = queryBuilder;
28
33
  this._filters = filters;
34
+ this._freshness = freshness;
29
35
  }
30
36
  async _getRuntimeSchema(name) {
31
- const cached = this._schemaCache.get(name);
32
- if (cached && Date.now() - cached.at < CACHE_TTL_MS) {
37
+ const baseUrl = this._transport.baseUrl;
38
+ const version = this._freshness ? await this._freshness.getSchemaVersion(baseUrl) : '';
39
+ const key = `${baseUrl}::${name}`;
40
+ const cached = this._schemaCache.get(key);
41
+ if (cached && cached.version === version && Date.now() - cached.at < CACHE_TTL_MS) {
33
42
  return cached.schema;
34
43
  }
35
44
  const body = await this._transport.post('RuntimeEntitySchemaRequest', { name }, { logContext: { entity: name }, checkSuccess: true });
@@ -37,7 +46,7 @@ class DataServiceSchemaProvider {
37
46
  if (!schema || !schema.name) {
38
47
  throw new Error(`entity_not_found:${name}`);
39
48
  }
40
- this._schemaCache.set(name, { schema, at: Date.now() });
49
+ this._schemaCache.set(key, { schema, version, at: Date.now() });
41
50
  return schema;
42
51
  }
43
52
  _columns(schema) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-schema.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-service-schema.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-schema.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ export declare class DataServiceTransport {
12
12
  private readonly _client;
13
13
  constructor(client: CreatioHttpClient);
14
14
  private _assertSuccess;
15
+ /** The Creatio instance base for the current request (honors the gateway per-request override).
16
+ * Used to key schema caches per tenant. */
17
+ get baseUrl(): string;
15
18
  endpoint(operation: string): string;
16
19
  post(operation: string, payload: unknown, opts?: {
17
20
  logContext?: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-transport.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,cAAc;IAaf,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI7B,IAAI,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACzE,OAAO,CAAC,GAAG,CAAC;CA0Bf"}
1
+ {"version":3,"file":"data-service-transport.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,cAAc;IAatB;gDAC4C;IAC5C,IAAW,OAAO,IAAI,MAAM,CAE3B;IAEM,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAI7B,IAAI,CAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAO,GACzE,OAAO,CAAC,GAAG,CAAC;CA0Bf"}
@@ -26,6 +26,11 @@ class DataServiceTransport {
26
26
  throw new Error(`creatio_dataservice_${operation}_error:${message}`);
27
27
  }
28
28
  }
29
+ /** The Creatio instance base for the current request (honors the gateway per-request override).
30
+ * Used to key schema caches per tenant. */
31
+ get baseUrl() {
32
+ return this._client.normalizedBaseUrl;
33
+ }
29
34
  endpoint(operation) {
30
35
  return `${this._client.normalizedBaseUrl}/0/DataService/json/SyncReply/${operation}`;
31
36
  }