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
@@ -1 +1 @@
1
- {"version":3,"file":"data-service-transport.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;GAQG;AACH,MAAa,oBAAoB;IACf,OAAO,CAAoB;IAE5C,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,SAAiB,EAAE,IAAS;QAClD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YACrC,MAAM,OAAO,GACZ,EAAE,CAAC,OAAO;gBACV,EAAE,CAAC,OAAO;gBACV,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,eAAe,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,UAAU,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAEM,QAAQ,CAAC,SAAiB;QAChC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,iCAAiC,SAAS,EAAE,CAAC;IACtF,CAAC;IAEM,KAAK,CAAC,IAAI,CAChB,SAAiB,EACjB,OAAgB,EAChB,OAAyE,EAAE;QAE3E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAC1B,eAAe,SAAS,EAAE,EAC1B,GAAG,EACH,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,EACD,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,CACtB,eAAe,SAAS,EAAE,EAC1B,QAAQ,CAAC,MAAM,EACf,QAAQ,EACR,UAAU,CACV,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC,EACD,EAAE,WAAW,EAAE,uBAAuB,SAAS,SAAS,EAAE,UAAU,EAAE,CACtE,CAAC;IACH,CAAC;CACD;AAtDD,oDAsDC"}
1
+ {"version":3,"file":"data-service-transport.js","sourceRoot":"","sources":["../../../../src/creatio/services/dataservice/data-service-transport.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;GAQG;AACH,MAAa,oBAAoB;IACf,OAAO,CAAoB;IAE5C,YAAY,MAAyB;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,SAAiB,EAAE,IAAS;QAClD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YACrC,MAAM,OAAO,GACZ,EAAE,CAAC,OAAO;gBACV,EAAE,CAAC,OAAO;gBACV,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,IAAI,CAAC,SAAS,EAAE,OAAO;gBACvB,eAAe,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,UAAU,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAED;gDAC4C;IAC5C,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACvC,CAAC;IAEM,QAAQ,CAAC,SAAiB;QAChC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,iCAAiC,SAAS,EAAE,CAAC;IACtF,CAAC;IAEM,KAAK,CAAC,IAAI,CAChB,SAAiB,EACjB,OAAgB,EAChB,OAAyE,EAAE;QAE3E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAC1B,eAAe,SAAS,EAAE,EAC1B,GAAG,EACH,KAAK,IAAI,EAAE;YACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,EACD,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,UAAU,CACtB,eAAe,SAAS,EAAE,EAC1B,QAAQ,CAAC,MAAM,EACf,QAAQ,EACR,UAAU,CACV,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC,EACD,EAAE,WAAW,EAAE,uBAAuB,SAAS,SAAS,EAAE,UAAU,EAAE,CACtE,CAAC;IACH,CAAC;CACD;AA5DD,oDA4DC"}
@@ -1,7 +1,9 @@
1
1
  export * from './admin-operation-service-provider';
2
+ export * from './client-cache-hash-client';
2
3
  export * from './configuration-service-provider';
3
4
  export * from './creatio-service-context';
4
5
  export * from './crud-provider-factory';
6
+ export * from './schema-freshness-gate';
5
7
  export * from './entity-name';
6
8
  export * from './lookup-path';
7
9
  export * from './dataservice/data-service-types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAC7D,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
@@ -15,9 +15,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./admin-operation-service-provider"), exports);
18
+ __exportStar(require("./client-cache-hash-client"), exports);
18
19
  __exportStar(require("./configuration-service-provider"), exports);
19
20
  __exportStar(require("./creatio-service-context"), exports);
20
21
  __exportStar(require("./crud-provider-factory"), exports);
22
+ __exportStar(require("./schema-freshness-gate"), exports);
21
23
  __exportStar(require("./entity-name"), exports);
22
24
  __exportStar(require("./lookup-path"), exports);
23
25
  __exportStar(require("./dataservice/data-service-types"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/creatio/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,mEAAiD;AACjD,4DAA0C;AAC1C,0DAAwC;AACxC,gDAA8B;AAC9B,gDAA8B;AAC9B,mEAAiD;AACjD,wEAAsD;AACtD,2EAAyD;AACzD,+EAA6D;AAC7D,2EAAyD;AACzD,uEAAqD;AACrD,oEAAkD;AAClD,2EAAyD;AACzD,6DAA2C;AAC3C,gDAA8B;AAC9B,yDAAuC;AACvC,8DAA4C;AAC5C,iEAA+C;AAC/C,6DAA2C;AAC3C,kEAAgD;AAChD,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/creatio/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qEAAmD;AACnD,6DAA2C;AAC3C,mEAAiD;AACjD,4DAA0C;AAC1C,0DAAwC;AACxC,0DAAwC;AACxC,gDAA8B;AAC9B,gDAA8B;AAC9B,mEAAiD;AACjD,wEAAsD;AACtD,2EAAyD;AACzD,+EAA6D;AAC7D,2EAAyD;AACzD,uEAAqD;AACrD,oEAAkD;AAClD,2EAAyD;AACzD,6DAA2C;AAC3C,gDAA8B;AAC9B,yDAAuC;AACvC,8DAA4C;AAC5C,iEAA+C;AAC/C,6DAA2C;AAC3C,kEAAgD;AAChD,uDAAqC"}
@@ -1,17 +1,26 @@
1
1
  import { EntitySchemaDescription } from '../../contracts';
2
2
  import { CreatioHttpClient } from '../http-client';
3
+ import { SchemaFreshnessGate } from '../schema-freshness-gate';
3
4
  export declare class ODataMetadataStore {
4
5
  private static readonly METADATA_TTL_MS;
5
6
  private readonly _client;
7
+ private readonly _freshness;
6
8
  private _metadataXml?;
7
9
  private _metadataParsed?;
8
10
  private _metadataFetchedAt;
9
11
  private _entitySetsCache?;
10
12
  private _entitySetsFetchedAt;
13
+ private _metadataBaseUrl?;
14
+ private _metadataVersion?;
15
+ private _entitySetsBaseUrl?;
16
+ private _entitySetsVersion?;
11
17
  private _entityTypeBySet;
12
18
  private _typeNodeByName;
13
- constructor(client: CreatioHttpClient);
19
+ constructor(client: CreatioHttpClient, freshness?: SchemaFreshnessGate);
14
20
  private _isFresh;
21
+ /** Freshness version for the current request's base URL (empty when no gate is wired, which
22
+ * keeps the cache purely TTL-driven — the prior behaviour). */
23
+ private _version;
15
24
  private _arrayify;
16
25
  private _getMetadataXml;
17
26
  private _getParsedMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/odata/metadata-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAInD,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAkB;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAM;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,oBAAoB,CAAK;IAGjC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAA+B;gBAE1C,MAAM,EAAE,iBAAiB;IAIrC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,SAAS;YAOH,eAAe;YAef,kBAAkB;IAahC,OAAO,CAAC,eAAe;YAKT,4BAA4B;IA4B1C;;wEAEoE;YACtD,cAAc;YA4Bd,0BAA0B;IAKxC,OAAO,CAAC,sBAAsB;IA2BjB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWnC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAkBhF"}
1
+ {"version":3,"file":"metadata-store.d.ts","sourceRoot":"","sources":["../../../../src/creatio/services/odata/metadata-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAI/D,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAkB;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAC7D,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAM;IAC9B,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAW;IACpC,OAAO,CAAC,oBAAoB,CAAK;IAKjC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAClC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IAGpC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,eAAe,CAA+B;gBAE1C,MAAM,EAAE,iBAAiB,EAAE,SAAS,CAAC,EAAE,mBAAmB;IAKtE,OAAO,CAAC,QAAQ;IAIhB;oEACgE;YAClD,QAAQ;IAMtB,OAAO,CAAC,SAAS;YAOH,eAAe;YAwBf,kBAAkB;IAahC,OAAO,CAAC,eAAe;YAKT,4BAA4B;IA4B1C;;wEAEoE;YACtD,cAAc;YA4Bd,0BAA0B;IAKxC,OAAO,CAAC,sBAAsB;IA2BjB,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAoBnC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAkBhF"}
@@ -10,21 +10,38 @@ const odata_routes_1 = require("./odata-routes");
10
10
  class ODataMetadataStore {
11
11
  static METADATA_TTL_MS = 30 * 60 * 1000;
12
12
  _client;
13
+ _freshness;
13
14
  _metadataXml;
14
15
  _metadataParsed;
15
16
  _metadataFetchedAt = 0;
16
17
  _entitySetsCache;
17
18
  _entitySetsFetchedAt = 0;
19
+ // The base URL + freshness version the cached document/list were fetched under. A change in
20
+ // either (a different tenant via the gateway override, or a data-model change) invalidates the
21
+ // single-slot cache. Single-slot is intentional: per-tenant pooling is the multitenancy epic;
22
+ // here correctness (never serve another tenant's / a stale model's metadata) is what matters.
23
+ _metadataBaseUrl;
24
+ _metadataVersion;
25
+ _entitySetsBaseUrl;
26
+ _entitySetsVersion;
18
27
  // Built once per parsed-metadata document so describeEntity is O(1) instead of two O(N) scans
19
28
  // over the entire (hundreds-to-thousands of types) Creatio EDMX on every call.
20
29
  _entityTypeBySet;
21
30
  _typeNodeByName;
22
- constructor(client) {
31
+ constructor(client, freshness) {
23
32
  this._client = client;
33
+ this._freshness = freshness;
24
34
  }
25
35
  _isFresh(fetchedAt) {
26
36
  return Date.now() - fetchedAt < ODataMetadataStore.METADATA_TTL_MS;
27
37
  }
38
+ /** Freshness version for the current request's base URL (empty when no gate is wired, which
39
+ * keeps the cache purely TTL-driven — the prior behaviour). */
40
+ async _version() {
41
+ return this._freshness
42
+ ? this._freshness.getSchemaVersion(this._client.normalizedBaseUrl)
43
+ : '';
44
+ }
28
45
  _arrayify(value) {
29
46
  if (value == null) {
30
47
  return [];
@@ -32,16 +49,23 @@ class ODataMetadataStore {
32
49
  return Array.isArray(value) ? value : [value];
33
50
  }
34
51
  async _getMetadataXml() {
35
- if (this._metadataXml && this._isFresh(this._metadataFetchedAt)) {
52
+ const baseUrl = this._client.normalizedBaseUrl;
53
+ const version = await this._version();
54
+ if (this._metadataXml &&
55
+ this._metadataBaseUrl === baseUrl &&
56
+ this._metadataVersion === version &&
57
+ this._isFresh(this._metadataFetchedAt)) {
36
58
  return this._metadataXml;
37
59
  }
38
60
  const headers = await this._client.getXmlHeaders();
39
- const metadataUrl = `${(0, odata_routes_1.odataRoot)(this._client.normalizedBaseUrl)}/$metadata`;
61
+ const metadataUrl = `${(0, odata_routes_1.odataRoot)(baseUrl)}/$metadata`;
40
62
  const xmlContent = await this._client.fetchText(metadataUrl, async () => ({ headers }));
41
63
  this._metadataXml = xmlContent;
42
64
  this._metadataParsed = undefined; // force re-parse against the refreshed document
43
65
  this._entityTypeBySet = undefined; // and rebuild the lookup indexes
44
66
  this._typeNodeByName = undefined;
67
+ this._metadataBaseUrl = baseUrl;
68
+ this._metadataVersion = version;
45
69
  this._metadataFetchedAt = Date.now();
46
70
  return this._metadataXml;
47
71
  }
@@ -139,12 +163,19 @@ class ODataMetadataStore {
139
163
  return { key, properties };
140
164
  }
141
165
  async listEntitySets() {
142
- if (this._entitySetsCache && this._isFresh(this._entitySetsFetchedAt)) {
166
+ const baseUrl = this._client.normalizedBaseUrl;
167
+ const version = await this._version();
168
+ if (this._entitySetsCache &&
169
+ this._entitySetsBaseUrl === baseUrl &&
170
+ this._entitySetsVersion === version &&
171
+ this._isFresh(this._entitySetsFetchedAt)) {
143
172
  return this._entitySetsCache;
144
173
  }
145
174
  const serviceSets = await this._tryGetEntitySetsFromService();
146
175
  const result = serviceSets ?? (await this._getEntitySetsFromMetadata());
147
176
  this._entitySetsCache = result;
177
+ this._entitySetsBaseUrl = baseUrl;
178
+ this._entitySetsVersion = version;
148
179
  this._entitySetsFetchedAt = Date.now();
149
180
  return result;
150
181
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../../src/creatio/services/odata/metadata-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-store.js","sourceRoot":"","sources":["../../../../src/creatio/services/odata/metadata-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { ClientCacheHashClient } from './client-cache-hash-client';
2
+ /**
3
+ * Freshness policy ("thermostat") for the schema/metadata caches. It turns Creatio's client-cache
4
+ * hashes into a per-base-url VERSION TOKEN: a schema-cache entry stamped with an older token is
5
+ * treated as stale and refetched. This mirrors how the Freedom UI keeps its caches fresh.
6
+ *
7
+ * - Caches the hash snapshot per base URL for a short TTL, so we poll the endpoint at most once per
8
+ * ~TTL no matter how many schema reads happen.
9
+ * - Degrades gracefully: if the endpoint is unavailable, returns a coarse time-bucketed token so
10
+ * caches refresh on a fallback cadence rather than going stale forever.
11
+ * - Keyed by base URL so a multi-tenant gateway deployment never reuses tenant A's version for B.
12
+ */
13
+ export declare class SchemaFreshnessGate {
14
+ private readonly _client;
15
+ private readonly _ttlMs;
16
+ private readonly _snapshots;
17
+ constructor(client: ClientCacheHashClient, ttlMs?: number);
18
+ /**
19
+ * Current schema-version token for `baseUrl`. Stable while the data model is unchanged; changes
20
+ * when Creatio's `runtime-entity-schema` hash or the global `cacheVersion` changes. Callers stamp
21
+ * cached schemas with this and treat a mismatch as a miss.
22
+ */
23
+ getSchemaVersion(baseUrl: string): Promise<string>;
24
+ private _fetchToken;
25
+ }
26
+ //# sourceMappingURL=schema-freshness-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-freshness-gate.d.ts","sourceRoot":"","sources":["../../../src/creatio/services/schema-freshness-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAenE;;;;;;;;;;GAUG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoD;gBAEnE,MAAM,EAAE,qBAAqB,EAAE,KAAK,GAAE,MAAgC;IAKlF;;;;OAIG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAWjD,WAAW;CAQzB"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SchemaFreshnessGate = void 0;
4
+ /** The ClientCache bucket that flips when the entity data model changes (add/alter/remove an
5
+ * entity or column). Its value = configuration hash + user culture. Watching this + `cacheVersion`
6
+ * is exactly what the Freedom UI does to invalidate its own runtime-entity-schema cache. */
7
+ const ENTITY_SCHEMA_HASH_NAME = 'runtime-entity-schema';
8
+ /** How long a fetched hash snapshot is trusted before we re-poll. Bounds endpoint load AND the
9
+ * worst-case staleness window after a data-model change. */
10
+ const DEFAULT_SNAPSHOT_TTL_MS = 60 * 1000;
11
+ /** When the endpoint is unavailable, fall back to a coarse time-bucketed token so schema caches
12
+ * still refresh on a fixed cadence instead of being trusted indefinitely. */
13
+ const FALLBACK_BUCKET_MS = 5 * 60 * 1000;
14
+ /**
15
+ * Freshness policy ("thermostat") for the schema/metadata caches. It turns Creatio's client-cache
16
+ * hashes into a per-base-url VERSION TOKEN: a schema-cache entry stamped with an older token is
17
+ * treated as stale and refetched. This mirrors how the Freedom UI keeps its caches fresh.
18
+ *
19
+ * - Caches the hash snapshot per base URL for a short TTL, so we poll the endpoint at most once per
20
+ * ~TTL no matter how many schema reads happen.
21
+ * - Degrades gracefully: if the endpoint is unavailable, returns a coarse time-bucketed token so
22
+ * caches refresh on a fallback cadence rather than going stale forever.
23
+ * - Keyed by base URL so a multi-tenant gateway deployment never reuses tenant A's version for B.
24
+ */
25
+ class SchemaFreshnessGate {
26
+ _client;
27
+ _ttlMs;
28
+ _snapshots = new Map();
29
+ constructor(client, ttlMs = DEFAULT_SNAPSHOT_TTL_MS) {
30
+ this._client = client;
31
+ this._ttlMs = ttlMs;
32
+ }
33
+ /**
34
+ * Current schema-version token for `baseUrl`. Stable while the data model is unchanged; changes
35
+ * when Creatio's `runtime-entity-schema` hash or the global `cacheVersion` changes. Callers stamp
36
+ * cached schemas with this and treat a mismatch as a miss.
37
+ */
38
+ async getSchemaVersion(baseUrl) {
39
+ const now = Date.now();
40
+ const cached = this._snapshots.get(baseUrl);
41
+ if (cached && now - cached.at < this._ttlMs) {
42
+ return cached.token;
43
+ }
44
+ const token = await this._fetchToken(now);
45
+ this._snapshots.set(baseUrl, { token, at: now });
46
+ return token;
47
+ }
48
+ async _fetchToken(now) {
49
+ const hashes = await this._client.getHashes();
50
+ if (!hashes) {
51
+ return `fallback:${Math.floor(now / FALLBACK_BUCKET_MS)}`;
52
+ }
53
+ const entitySchema = hashes.hashes[ENTITY_SCHEMA_HASH_NAME] ?? '';
54
+ return `v${hashes.cacheVersion}:${entitySchema}`;
55
+ }
56
+ }
57
+ exports.SchemaFreshnessGate = SchemaFreshnessGate;
58
+ //# sourceMappingURL=schema-freshness-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-freshness-gate.js","sourceRoot":"","sources":["../../../src/creatio/services/schema-freshness-gate.ts"],"names":[],"mappings":";;;AAEA;;6FAE6F;AAC7F,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AAExD;6DAC6D;AAC7D,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1C;8EAC8E;AAC9E,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEzC;;;;;;;;;;GAUG;AACH,MAAa,mBAAmB;IACd,OAAO,CAAwB;IAC/B,MAAM,CAAS;IACf,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;IAE/E,YAAY,MAA6B,EAAE,QAAgB,uBAAuB;QACjF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,MAAM,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,GAAW;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;QAClE,OAAO,IAAI,MAAM,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;IAClD,CAAC;CACD;AAlCD,kDAkCC"}
package/dist/index.js CHANGED
@@ -45,7 +45,12 @@ async function main() {
45
45
  _httpInstance = http;
46
46
  await http.start(consts_1.HTTP_MCP_PORT);
47
47
  if (isSingleSessionMode(cfg.auth.kind)) {
48
- _keepAlive = new server_1.SessionKeepAlive((0, server_1.keepAliveIntervalMs)(), () => engines.user.getCurrentUserInfo());
48
+ _keepAlive = new server_1.SessionKeepAlive((0, server_1.keepAliveIntervalMs)(), async () => {
49
+ await engines.user.getCurrentUserInfo();
50
+ // Reuse the periodic ping to also refresh the schema-freshness snapshot (not a wasted
51
+ // round-trip): the next schema read starts from a warm, validated cache.
52
+ await engines.warmSchemaCache();
53
+ });
49
54
  _keepAlive.start();
50
55
  }
51
56
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/log.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
package/dist/log.js CHANGED
@@ -24,6 +24,7 @@ exports.httpError = httpError;
24
24
  exports.logOperation = logOperation;
25
25
  exports.audit = audit;
26
26
  const env_1 = require("./utils/env");
27
+ const redact_1 = require("./utils/redact");
27
28
  let _correlationId;
28
29
  let _stderrOnly = false;
29
30
  function resolveLogVerbosity() {
@@ -75,7 +76,9 @@ function output(level, msg, meta) {
75
76
  if (meta && Object.keys(meta).length) {
76
77
  entry.meta = meta;
77
78
  }
78
- const line = JSON.stringify(entry);
79
+ // Final outward choke point: scrub any credential-looking substrings (tokens, secrets, auth
80
+ // headers) that may have slipped into msg/meta before they reach stdout/stderr or a log sink.
81
+ const line = (0, redact_1.redactSecrets)(JSON.stringify(entry));
79
82
  if (_stderrOnly) {
80
83
  process.stderr.write(line + '\n');
81
84
  return;
package/dist/log.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM;IAIb,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA4DzD,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB7E"}
1
+ {"version":3,"file":"mcp-handlers.d.ts","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM;IAIb,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DzD,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB7E"}
@@ -19,6 +19,9 @@ class McpHandlers {
19
19
  async handleMcpPost(req, res) {
20
20
  const sessionId = (0, utils_1.getSessionIdFromRequest)(req);
21
21
  const bearerUserKey = req.userKey;
22
+ // Gateway multi-tenant routing key — selects which tenant the session server and capability
23
+ // probe bind to (absent in single-tenant modes ⇒ the default tenant).
24
+ const baseUrlOverride = req.baseUrlOverride;
22
25
  let transport;
23
26
  const remoteIp = (0, utils_1.getClientIp)(req);
24
27
  if (sessionId && this._sessionContext.hasSession(sessionId)) {
@@ -42,9 +45,9 @@ class McpHandlers {
42
45
  },
43
46
  });
44
47
  // Each session gets its own McpServer (a single McpServer connects to one transport
45
- // only). Release it when the transport closes so we don't leak servers or register
46
- // late-probed tools into dead sessions.
47
- const mcp = this._server.createSessionServer();
48
+ // only), bound to the request's tenant. Release it when the transport closes so we
49
+ // don't leak servers or register late-probed tools into dead sessions.
50
+ const mcp = this._server.createSessionServer(baseUrlOverride);
48
51
  transport.onclose = () => {
49
52
  this._server.releaseSessionServer(mcp);
50
53
  if (transport?.sessionId) {
@@ -65,11 +68,10 @@ class McpHandlers {
65
68
  const session = this._sessionContext.getSession(sessionId);
66
69
  const userKey = bearerUserKey || session?.userKey;
67
70
  const bearerToken = req.bearerToken;
68
- const baseUrlOverride = req.baseUrlOverride;
69
71
  await (0, utils_1.runWithContext)({ userKey, sessionId, bearerToken, baseUrlOverride }, async () => {
70
- // Kick the one-time capability probe from inside the request context so its Creatio
72
+ // Kick the per-tenant capability probe from inside the request context so its Creatio
71
73
  // calls carry this caller's identity (broker mode has no user otherwise). Non-blocking.
72
- this._server.ensureCapabilitiesProbed();
74
+ this._server.ensureCapabilitiesProbed(baseUrlOverride);
73
75
  return transport.handleRequest(req, res, req.body);
74
76
  });
75
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../../../src/server/http/mcp-handlers.ts"],"names":[],"mappings":"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"}
@@ -13,39 +13,46 @@ export declare class Server {
13
13
  private readonly _engines;
14
14
  private readonly _descriptors;
15
15
  private readonly _handlers;
16
- private readonly _sessionServers;
17
- private _probeComplete;
18
- private _probeInFlight;
19
- private _readonly;
20
- private _serverName;
21
- private _serverVersion;
16
+ private readonly _registry;
22
17
  private readonly _dataForge;
23
18
  private readonly _dataForgePreparer;
24
19
  private readonly _globalSearchPreparer;
25
20
  private readonly _publishedToolsPreparer;
26
21
  private readonly _preparers;
27
- private readonly _capabilities;
28
- private readonly _probeCooldownUntil;
22
+ private _readonly;
23
+ private _serverName;
24
+ private _serverVersion;
29
25
  get authProvider(): ICreatioAuthProvider;
30
26
  constructor(engines: CreatioEngineManager, config: ServerConfig);
27
+ /** Register the static, tenant-agnostic surface (core/mutating tools + prompts) into a session. */
31
28
  private _registerAllInto;
32
- private _registerHandlerWithDescriptor;
29
+ /** Record a static tool in the shared maps. Registered into each session by {@link
30
+ * _registerAllInto}; called only at construction, before any session exists. */
31
+ private _registerStaticTool;
33
32
  private _normalizeToToolHandler;
34
33
  private _registerAsTool;
35
34
  private _registerPrompts;
36
- /** Adapter exposing handler registration to {@link ToolPreparer}s. */
35
+ /** The tenant bucket key for a request's base-URL override: the normalized override (gateway
36
+ * multi-tenant) or {@link DEFAULT_TENANT_KEY} for every single-tenant mode. Mirrors how the
37
+ * HTTP client resolves the effective base URL, so tools and caches key on the same tenant. */
38
+ private _tenantKey;
39
+ /** The current request's tenant state (resolved from the per-request base-URL override). Falls
40
+ * back to the default tenant when there is no active request context (e.g. stdio, tests). */
41
+ private _currentTenantState;
42
+ /** Adapter exposing handler registration to {@link ToolPreparer}s — scoped to ONE tenant: a
43
+ * discovered tool is recorded in that tenant's state and pushed into its live sessions only. */
37
44
  private _toolRegistrar;
38
45
  /**
39
- * Probe each optional-capability preparer that has no verdict yet and let it register its tools
40
- * when available. A preparer that returns cleanly (true/false) gets a recorded verdict and is
41
- * never re-probed; one that THROWS (e.g. the caller's identity isn't usable yet) records nothing
42
- * so a later authenticated connect can retry it — which also makes registration idempotent (an
43
- * already-enabled preparer is skipped, so its tools are never registered twice). Invoked from
44
- * {@link ensureCapabilitiesProbed} within a request context so probe calls carry the caller's
45
- * identity. Returns whether EVERY preparer now has a verdict (the probe is complete).
46
+ * Probe each optional-capability preparer that has no verdict yet FOR THIS TENANT and let it
47
+ * register its tools when available. A preparer that returns cleanly (true/false) gets a recorded
48
+ * verdict and is never re-probed; one that THROWS (e.g. the caller's identity isn't usable yet)
49
+ * records nothing so a later authenticated connect can retry it — which also makes registration
50
+ * idempotent (an already-enabled preparer is skipped, so its tools are never registered twice).
51
+ * Invoked from {@link ensureCapabilitiesProbed} within a request context so probe calls carry the
52
+ * caller's identity. Returns whether EVERY preparer now has a verdict (the probe is complete).
46
53
  */
47
54
  private _prepareTools;
48
- /** Whether DataForge was probed as enabled at startup. */
55
+ /** Whether DataForge was probed as enabled for the given tenant (defaults to the current one). */
49
56
  private _isDataForgeReady;
50
57
  /** Compile the `read` tool args into a neutral {@link ReadQuery}: structured `filters`
51
58
  * become a {@link FilterNode}; a raw `$filter` string and `expand` are carried as
@@ -65,26 +72,28 @@ export declare class Server {
65
72
  private _clientToolDefs;
66
73
  private _registerClientTools;
67
74
  /**
68
- * Build a fresh {@link McpServer} for one transport/session, with the full known tool +
69
- * prompt surface registered, and track it so the capability probe can later push
70
- * late-discovered tools into it. Each session MUST get its own server (a single McpServer
71
- * connects to only one transport).
75
+ * Build a fresh {@link McpServer} for one transport/session, registering the static surface plus
76
+ * the calling tenant's already-discovered dynamic tools, and track it under that tenant so the
77
+ * capability probe can later push late-discovered tools into it. Each session MUST get its own
78
+ * server (a single McpServer connects to only one transport). `baseUrlOverride` (gateway
79
+ * `X-Creatio-Base-Url`) selects the tenant; absent ⇒ the single default tenant.
72
80
  */
73
- createSessionServer(): McpServer;
81
+ createSessionServer(baseUrlOverride?: string): McpServer;
74
82
  /**
75
- * Probe optional capabilities once per process, WITHOUT blocking the MCP handshake. These do
83
+ * Probe optional capabilities once per tenant, WITHOUT blocking the MCP handshake. These do
76
84
  * network I/O (DataForge/Global Search probes, and the publishing app's tools/list, which can
77
85
  * be slow) — awaiting would delay connect past the client's init timeout. Discovered tools
78
- * register into every live session server as they resolve (the SDK emits
79
- * notifications/tools/list_changed) and into the maps for future sessions.
86
+ * register into the tenant's live session servers as they resolve (the SDK emits
87
+ * notifications/tools/list_changed) and into the tenant state for its future sessions.
80
88
  *
81
89
  * MUST be called from within the per-request context ({@link runWithContext}) so the probe's
82
90
  * Creatio calls carry the caller's identity/token — otherwise broker mode resolves no user.
91
+ * `baseUrlOverride` selects the tenant; absent ⇒ the single default tenant.
83
92
  */
84
- ensureCapabilitiesProbed(): void;
93
+ ensureCapabilitiesProbed(baseUrlOverride?: string): void;
85
94
  /** Untrack and close one session's server (call when its transport closes). */
86
95
  releaseSessionServer(mcp: McpServer): void;
87
- /** Close every live session server (process shutdown). */
96
+ /** Close every live session server across all tenants (process shutdown). */
88
97
  stopAll(): Promise<void>;
89
98
  }
90
99
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EAGpB,MAAM,eAAe,CAAC;AA0DvB,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;0FACsF;IACtF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAWD,qBAAa,MAAM;IAGlB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAEzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAK5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAwB;IAMxD,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAW;IAIjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;IACjE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA+B;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE,IAAW,YAAY,IAAI,oBAAoB,CAE9C;gBAEW,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAsB/D,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,gBAAgB;IAmBxB,sEAAsE;IACtE,OAAO,CAAC,cAAc;IAOtB;;;;;;;;OAQG;YACW,aAAa;IA2B3B,0DAA0D;IAC1D,OAAO,CAAC,iBAAiB;IAIzB;;;+FAG2F;YAC7E,KAAK;IAyBnB;;iFAE6E;YAC/D,eAAe;IAY7B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA8IvB,OAAO,CAAC,oBAAoB;IAY5B;;;;;OAKG;IACI,mBAAmB,IAAI,SAAS;IAWvC;;;;;;;;;OASG;IACI,wBAAwB,IAAI,IAAI;IAevC,+EAA+E;IACxE,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IASjD,0DAA0D;IAC7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAWrC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EAGpB,MAAM,eAAe,CAAC;AAiEvB,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;0FACsF;IACtF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAWD,qBAAa,MAAM;IAGlB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAU;IAEzD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAKhD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAM5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAI/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;IACjE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA+B;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAW;IAEjC,IAAW,YAAY,IAAI,oBAAoB,CAE9C;gBAEW,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAuB/D,mGAAmG;IACnG,OAAO,CAAC,gBAAgB;IAOxB;qFACiF;IACjF,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,uBAAuB;IAqC/B,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,gBAAgB;IAmBxB;;mGAE+F;IAC/F,OAAO,CAAC,UAAU;IAKlB;kGAC8F;IAC9F,OAAO,CAAC,mBAAmB;IAI3B;qGACiG;IACjG,OAAO,CAAC,cAAc;IActB;;;;;;;;OAQG;YACW,aAAa;IAwB3B,kGAAkG;IAClG,OAAO,CAAC,iBAAiB;IAIzB;;;+FAG2F;YAC7E,KAAK;IAyBnB;;iFAE6E;YAC/D,eAAe;IAY7B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA8IvB,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;OAMG;IACI,mBAAmB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS;IAe/D;;;;;;;;;;OAUG;IACI,wBAAwB,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAgB/D,+EAA+E;IACxE,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IASjD,6EAA6E;IAChE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAWrC"}