@sochdb/sochdb 0.4.2 → 0.4.4

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 (57) hide show
  1. package/README.md +356 -14
  2. package/_bin/aarch64-apple-darwin/libsochdb_storage.dylib +0 -0
  3. package/_bin/aarch64-apple-darwin/sochdb-bulk +0 -0
  4. package/_bin/aarch64-apple-darwin/sochdb-grpc-server +0 -0
  5. package/_bin/aarch64-apple-darwin/sochdb-server +0 -0
  6. package/_bin/x86_64-pc-windows-msvc/sochdb-bulk.exe +0 -0
  7. package/_bin/x86_64-pc-windows-msvc/sochdb-grpc-server.exe +0 -0
  8. package/_bin/x86_64-pc-windows-msvc/sochdb_storage.dll +0 -0
  9. package/_bin/x86_64-unknown-linux-gnu/libsochdb_storage.so +0 -0
  10. package/_bin/x86_64-unknown-linux-gnu/sochdb-bulk +0 -0
  11. package/_bin/x86_64-unknown-linux-gnu/sochdb-grpc-server +0 -0
  12. package/_bin/x86_64-unknown-linux-gnu/sochdb-server +0 -0
  13. package/dist/cjs/embedded/database.js +98 -4
  14. package/dist/cjs/embedded/ffi/bindings.js +46 -8
  15. package/dist/cjs/index.js +28 -6
  16. package/dist/cjs/mcp/client.js +115 -0
  17. package/dist/cjs/mcp/index.js +28 -0
  18. package/dist/cjs/mcp/server.js +242 -0
  19. package/dist/cjs/mcp/types.js +32 -0
  20. package/dist/cjs/namespace.js +147 -19
  21. package/dist/cjs/policy/index.js +26 -0
  22. package/dist/cjs/policy/service.js +394 -0
  23. package/dist/cjs/policy/types.js +8 -0
  24. package/dist/esm/embedded/database.js +98 -4
  25. package/dist/esm/embedded/ffi/bindings.js +48 -8
  26. package/dist/esm/index.js +28 -6
  27. package/dist/esm/mcp/client.js +116 -0
  28. package/dist/esm/mcp/index.js +28 -0
  29. package/dist/esm/mcp/server.js +244 -0
  30. package/dist/esm/mcp/types.js +34 -0
  31. package/dist/esm/namespace.js +150 -19
  32. package/dist/esm/policy/index.js +26 -0
  33. package/dist/esm/policy/service.js +396 -0
  34. package/dist/esm/policy/types.js +8 -0
  35. package/dist/types/embedded/database.d.ts +66 -1
  36. package/dist/types/embedded/database.d.ts.map +1 -1
  37. package/dist/types/embedded/ffi/bindings.d.ts +7 -0
  38. package/dist/types/embedded/ffi/bindings.d.ts.map +1 -1
  39. package/dist/types/index.d.ts +23 -5
  40. package/dist/types/index.d.ts.map +1 -1
  41. package/dist/types/mcp/client.d.ts +69 -0
  42. package/dist/types/mcp/client.d.ts.map +1 -0
  43. package/dist/types/mcp/index.d.ts +9 -0
  44. package/dist/types/mcp/index.d.ts.map +1 -0
  45. package/dist/types/mcp/server.d.ts +87 -0
  46. package/dist/types/mcp/server.d.ts.map +1 -0
  47. package/dist/types/mcp/types.d.ts +124 -0
  48. package/dist/types/mcp/types.d.ts.map +1 -0
  49. package/dist/types/namespace.d.ts +13 -0
  50. package/dist/types/namespace.d.ts.map +1 -1
  51. package/dist/types/policy/index.d.ts +8 -0
  52. package/dist/types/policy/index.d.ts.map +1 -0
  53. package/dist/types/policy/service.d.ts +115 -0
  54. package/dist/types/policy/service.d.ts.map +1 -0
  55. package/dist/types/policy/types.d.ts +102 -0
  56. package/dist/types/policy/types.d.ts.map +1 -0
  57. package/package.json +2 -2
@@ -36,18 +36,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.NativeBindings = void 0;
37
37
  const koffi = __importStar(require("koffi"));
38
38
  const library_finder_1 = require("./library-finder");
39
- // Opaque pointer types
40
- const DatabaseHandle = koffi.pointer('DatabaseHandle', koffi.opaque());
41
- const IteratorHandle = koffi.pointer('IteratorHandle', koffi.opaque());
39
+ // Opaque pointer types - wrap in function to handle duplicates
40
+ function definePointerType(name) {
41
+ try {
42
+ return koffi.pointer(name, koffi.opaque());
43
+ }
44
+ catch (e) {
45
+ // Type already defined in test environment, return undefined
46
+ // koffi will still recognize the type name in function signatures
47
+ return undefined;
48
+ }
49
+ }
50
+ function defineStructType(name, fields) {
51
+ try {
52
+ return koffi.struct(name, fields);
53
+ }
54
+ catch (e) {
55
+ // Type already defined in test environment, return undefined
56
+ return undefined;
57
+ }
58
+ }
59
+ const DatabaseHandle = definePointerType('DatabaseHandle');
60
+ const IteratorHandle = definePointerType('IteratorHandle');
42
61
  // Structs
43
- const Stats = koffi.struct('Stats', {
62
+ const Stats = defineStructType('Stats', {
44
63
  memtable_size_bytes: 'size_t',
45
64
  wal_size_bytes: 'size_t',
46
65
  active_transactions: 'uint32',
47
66
  min_active_snapshot: 'uint64',
48
67
  last_checkpoint_lsn: 'uint64'
49
68
  });
50
- const DatabaseConfig = koffi.struct('DatabaseConfig', {
69
+ const DatabaseConfig = defineStructType('DatabaseConfig', {
51
70
  wal_enabled: 'bool',
52
71
  wal_enabled_set: 'bool',
53
72
  sync_mode: 'uint8',
@@ -58,16 +77,17 @@ const DatabaseConfig = koffi.struct('DatabaseConfig', {
58
77
  default_index_policy: 'uint8',
59
78
  default_index_policy_set: 'bool'
60
79
  });
61
- const TxnHandle = koffi.struct('TxnHandle', {
80
+ const TxnHandle = defineStructType('TxnHandle', {
62
81
  txn_id: 'uint64',
63
82
  snapshot_ts: 'uint64'
64
83
  });
65
- const CommitResult = koffi.struct('CommitResult', {
84
+ const CommitResult = defineStructType('CommitResult', {
66
85
  commit_ts: 'uint64',
67
86
  error_code: 'int32'
68
87
  });
69
88
  class NativeBindings {
70
89
  constructor() {
90
+ this._concurrentModeAvailable = false;
71
91
  const libPath = (0, library_finder_1.findLibrary)();
72
92
  try {
73
93
  this.lib = koffi.load(libPath);
@@ -80,6 +100,18 @@ class NativeBindings {
80
100
  // DB Management
81
101
  this.sochdb_open = this.lib.func('sochdb_open', DatabaseHandle, ['string']);
82
102
  this.sochdb_open_with_config = this.lib.func('sochdb_open_with_config', DatabaseHandle, ['string', DatabaseConfig]);
103
+ // Concurrent mode (v0.4.8+)
104
+ try {
105
+ this.sochdb_open_concurrent = this.lib.func('sochdb_open_concurrent', DatabaseHandle, ['string']);
106
+ this.sochdb_is_concurrent = this.lib.func('sochdb_is_concurrent', 'int', [DatabaseHandle]);
107
+ this._concurrentModeAvailable = true;
108
+ }
109
+ catch (error) {
110
+ // Older library versions don't have concurrent mode
111
+ this.sochdb_open_concurrent = null;
112
+ this.sochdb_is_concurrent = null;
113
+ this._concurrentModeAvailable = false;
114
+ }
83
115
  this.sochdb_close = this.lib.func('sochdb_close', 'void', [DatabaseHandle]);
84
116
  // Transactions
85
117
  this.sochdb_begin_txn = this.lib.func('sochdb_begin_txn', TxnHandle, [DatabaseHandle]);
@@ -108,6 +140,12 @@ class NativeBindings {
108
140
  }
109
141
  return NativeBindings.instance;
110
142
  }
143
+ /**
144
+ * Check if concurrent mode is available in the native library
145
+ */
146
+ isConcurrentModeAvailable() {
147
+ return this._concurrentModeAvailable;
148
+ }
111
149
  }
112
150
  exports.NativeBindings = NativeBindings;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW1iZWRkZWQvZmZpL2JpbmRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQUMvQixxREFBK0M7QUFFL0MsdUJBQXVCO0FBQ3ZCLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDdkUsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUV2RSxVQUFVO0FBQ1YsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7SUFDaEMsbUJBQW1CLEVBQUUsUUFBUTtJQUM3QixjQUFjLEVBQUUsUUFBUTtJQUN4QixtQkFBbUIsRUFBRSxRQUFRO0lBQzdCLG1CQUFtQixFQUFFLFFBQVE7SUFDN0IsbUJBQW1CLEVBQUUsUUFBUTtDQUNoQyxDQUFDLENBQUM7QUFFSCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFO0lBQ2xELFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLG1CQUFtQixFQUFFLFFBQVE7SUFDN0IsWUFBWSxFQUFFLE1BQU07SUFDcEIsZ0JBQWdCLEVBQUUsTUFBTTtJQUN4QixvQkFBb0IsRUFBRSxPQUFPO0lBQzdCLHdCQUF3QixFQUFFLE1BQU07Q0FDbkMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7SUFDeEMsTUFBTSxFQUFFLFFBQVE7SUFDaEIs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YyxFQUFFLEtBQUssRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFFckYsb0JBQW9CO1FBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVc7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQixjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUF2RkQsd0NBdUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMga29mZmkgZnJvbSAna29mZmknO1xuaW1wb3J0IHsgZmluZExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnktZmluZGVyJztcblxuLy8gT3BhcXVlIHBvaW50ZXIgdHlwZXNcbmNvbnN0IERhdGFiYXNlSGFuZGxlID0ga29mZmkucG9pbnRlcignRGF0YWJhc2VIYW5kbGUnLCBrb2ZmaS5vcGFxdWUoKSk7XG5jb25zdCBJdGVyYXRvckhhbmRsZSA9IGtvZmZpLnBvaW50ZXIoJ0l0ZXJhdG9ySGFuZGxlJywga29mZmkub3BhcXVlKCkpO1xuXG4vLyBTdHJ1Y3RzXG5jb25zdCBTdGF0cyA9IGtvZmZpLnN0cnVjdCgnU3RhdHMnLCB7XG4gICAgbWVtdGFibGVfc2l6ZV9ieXRlczogJ3NpemVfdCcsXG4gICAgd2FsX3NpemVfYnl0ZXM6ICdzaXplX3QnLFxuICAgIGFjdGl2ZV90cmFuc2FjdGlvbnM6ICd1aW50MzInLFxuICAgIG1pbl9hY3RpdmVfc25hcHNob3Q6ICd1aW50NjQnLFxuICAgIGxhc3RfY2hlY2twb2ludF9sc246ICd1aW50NjQnXG59KTtcblxuY29uc3QgRGF0YWJhc2VDb25maWcgPSBrb2ZmaS5zdHJ1Y3QoJ0RhdGFiYXNlQ29uZmlnJywge1xuICAgIHdhbF9lbmFibGVkOiAnYm9vbCcsXG4gICAgd2FsX2VuYWJsZWRfc2V0OiAnYm9vbCcsXG4gICAgc3luY19tb2RlOiAndWludDgnLFxuICAgIHN5bmNfbW9kZV9zZXQ6ICdib29sJyxcbiAgICBtZW10YWJsZV9zaXplX2J5dGVzOiAndWludDY0JyxcbiAgICBncm91cF9jb21taXQ6ICdib29sJyxcbiAgICBncm91cF9jb21taXRfc2V0OiAnYm9vbCcsXG4gICAgZGVmYXVsdF9pbmRleF9wb2xpY3k6ICd1aW50OCcsXG4gICAgZGVmYXVsdF9pbmRleF9wb2xpY3lfc2V0OiAnYm9vbCdcbn0pO1xuXG5jb25zdCBUeG5IYW5kbGUgPSBrb2ZmaS5zdHJ1Y3QoJ1R4bkhhbmRsZScsIHtcbiAgICB0eG5faWQ6ICd1aW50NjQnLFxuICAgIHNuYXBzaG90X3RzOiAndWludDY0J1xufSk7XG5cbmNvbnN0IENvbW1pdFJlc3VsdCA9IGtvZmZpLnN0cnVjdCgnQ29tbWl0UmVzdWx0Jywge1xuICAgIGNvbW1pdF90czogJ3VpbnQ2NCcsXG4gICAgZXJyb3JfY29kZTogJ2ludDMyJ1xufSk7XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVCaW5kaW5ncyB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2U6IE5hdGl2ZUJpbmRpbmdzO1xuICAgIHByaXZhdGUgbGliOiBhbnk7XG5cbiAgICAvLyBGRklzXG4gICAgcHVibGljIHNvY2hkYl9vcGVuOiBhbnk7XG4gICAgcHVibGljIHNvY2hkYl9vcGVuX3dpdGhfY29uZmlnOiBhbnk7XG4gICAgcHVibGljIHNvY2hkYl9jbG9zZTogYW55O1xuXG4gICAgLy8gVHJhbnNhY3Rpb25hbCBPcGVyYXRpb25zIChtYXBwZWQgdG8gYmFzZSBmdW5jdGlvbnMpXG4gICAgcHVibGljIHNvY2hkYl9iZWdpbl90eG46IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX2NvbW1pdDogYW55O1xuICAgIHB1YmxpYyBzb2NoZGJfYWJvcnQ6IGFueTtcblxuICAgIC8vIEtWIE9wZXJhdGlvbnMgKEFsbCB0YWtlIERhdGFiYXNlSGFuZGxlIEFORCBUeG5IYW5kbGUpXG4gICAgLy8gcHV0OiAoZGIsIHR4biwga2V5LCBrbGVuLCB2YWwsIHZsZW4pIC0+IGludFxuICAgIHB1YmxpYyBzb2NoZGJfcHV0OiBhbnk7XG4gICAgLy8gZ2V0OiAoZGIsIHR4biwga2V5LCBrbGVuLCB2YWxfb3V0KiwgbGVuX291dCopIC0+IGludFxuICAgIHB1YmxpYyBzb2NoZGJfZ2V0OiBhbnk7XG4gICAgLy8gZGVsZXRlOiAoZGIsIHR4biwga2V5LCBrbGVuKSAtPiBpbnRcbiAgICBwdWJsaWMgc29jaGRiX2RlbGV0ZTogYW55O1xuXG4gICAgLy8gUGF0aCBPcGVyYXRpb25zXG4gICAgcHVibGljIHNvY2hkYl9wdXRfcGF0aDogYW55O1xuICAgIHB1YmxpYyBzb2NoZGJfZ2V0X3BhdGg6IGFueTtcblxuICAgIC8vIFNjYW5uaW5nXG4gICAgcHVibGljIHNvY2hkYl9zY2FuX3ByZWZpeDogYW55O1xuICAgIHB1YmxpYyBzb2NoZGJfaXRlcmF0b3JfbmV4dDogYW55O1xuICAgIHB1YmxpYyBzb2NoZGJfaXRlcmF0b3JfY2xvc2U6IGFueTtcblxuICAgIC8vIFN0YXRzXG4gICAgcHVibGljIHNvY2hkYl9zdGF0czogYW55O1xuICAgIHB1YmxpYyBzb2NoZGJfY2hlY2twb2ludDogYW55O1xuXG4gICAgLy8gTWVtb3J5XG4gICAgcHVibGljIHNvY2hkYl9mcmVlX2J5dGVzOiBhbnk7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBjb25zdCBsaWJQYXRoID0gZmluZExpYnJhcnkoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubGliID0ga29mZmkubG9hZChsaWJQYXRoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGxvYWQgU29jaERCIGxpYnJhcnkgZnJvbSAke2xpYlBhdGh9OmAsIGVycm9yKTtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBiaW5kaW5nc1xuXG4gICAgICAgIC8vIERCIE1hbmFnZW1lbnRcbiAgICAgICAgdGhpcy5zb2NoZGJfb3BlbiA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9vcGVuJywgRGF0YWJhc2VIYW5kbGUsIFsnc3RyaW5nJ10pO1xuICAgICAgICB0aGlzLnNvY2hkYl9vcGVuX3dpdGhfY29uZmlnID0gdGhpcy5saWIuZnVuYygnc29jaGRiX29wZW5fd2l0aF9jb25maWcnLCBEYXRhYmFzZUhhbmRsZSwgWydzdHJpbmcnLCBEYXRhYmFzZUNvbmZpZ10pO1xuICAgICAgICB0aGlzLnNvY2hkYl9jbG9zZSA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9jbG9zZScsICd2b2lkJywgW0RhdGFiYXNlSGFuZGxlXSk7XG5cbiAgICAgICAgLy8gVHJhbnNhY3Rpb25zXG4gICAgICAgIHRoaXMuc29jaGRiX2JlZ2luX3R4biA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9iZWdpbl90eG4nLCBUeG5IYW5kbGUsIFtEYXRhYmFzZUhhbmRsZV0pO1xuICAgICAgICB0aGlzLnNvY2hkYl9jb21taXQgPSB0aGlzLmxpYi5mdW5jKCdzb2NoZGJfY29tbWl0JywgQ29tbWl0UmVzdWx0LCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZV0pO1xuICAgICAgICB0aGlzLnNvY2hkYl9hYm9ydCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9hYm9ydCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZV0pO1xuXG4gICAgICAgIC8vIEtWIE9wZXJhdGlvbnNcbiAgICAgICAgdGhpcy5zb2NoZGJfcHV0ID0gdGhpcy5saWIuZnVuYygnc29jaGRiX3B1dCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3VpbnQ4KicsICdzaXplX3QnLCAndWludDgqJywgJ3NpemVfdCddKTtcbiAgICAgICAgdGhpcy5zb2NoZGJfZ2V0ID0gdGhpcy5saWIuZnVuYygnc29jaGRiX2dldCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3VpbnQ4KicsICdzaXplX3QnLCBrb2ZmaS5vdXQoa29mZmkucG9pbnRlcigndWludDgqJykpLCBrb2ZmaS5vdXQoa29mZmkucG9pbnRlcignc2l6ZV90JykpXSk7XG4gICAgICAgIHRoaXMuc29jaGRiX2RlbGV0ZSA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9kZWxldGUnLCAnaW50JywgW0RhdGFiYXNlSGFuZGxlLCBUeG5IYW5kbGUsICd1aW50OConLCAnc2l6ZV90J10pO1xuXG4gICAgICAgIC8vIFBhdGggT3BlcmF0aW9uc1xuICAgICAgICB0aGlzLnNvY2hkYl9wdXRfcGF0aCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9wdXRfcGF0aCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3N0cmluZycsICd1aW50OConLCAnc2l6ZV90J10pO1xuICAgICAgICB0aGlzLnNvY2hkYl9nZXRfcGF0aCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9nZXRfcGF0aCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3N0cmluZycsIGtvZmZpLm91dChrb2ZmaS5wb2ludGVyKCd1aW50OConKSksIGtvZmZpLm91dChrb2ZmaS5wb2ludGVyKCdzaXplX3QnKSldKTtcblxuICAgICAgICAvLyBTY2FubmluZ1xuICAgICAgICB0aGlzLnNvY2hkYl9zY2FuX3ByZWZpeCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9zY2FuX3ByZWZpeCcsIEl0ZXJhdG9ySGFuZGxlLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3VpbnQ4KicsICdzaXplX3QnXSk7XG4gICAgICAgIHRoaXMuc29jaGRiX2l0ZXJhdG9yX25leHQgPSB0aGlzLmxpYi5mdW5jKCdzb2NoZGJfc2Nhbl9uZXh0JywgJ2ludCcsIFtJdGVyYXRvckhhbmRsZSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3VpbnQ4KicpKSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3NpemVfdCcpKSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3VpbnQ4KicpKSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3NpemVfdCcpKV0pO1xuICAgICAgICB0aGlzLnNvY2hkYl9pdGVyYXRvcl9jbG9zZSA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9zY2FuX2ZyZWUnLCAndm9pZCcsIFtJdGVyYXRvckhhbmRsZV0pO1xuXG4gICAgICAgIC8vIFN0YXRzICYgQ2hlY2twb2ludFxuICAgICAgICB0aGlzLnNvY2hkYl9zdGF0cyA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9zdGF0cycsIFN0YXRzLCBbRGF0YWJhc2VIYW5kbGVdKTtcbiAgICAgICAgdGhpcy5zb2NoZGJfY2hlY2twb2ludCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9jaGVja3BvaW50JywgJ2ludCcsIFtEYXRhYmFzZUhhbmRsZV0pO1xuXG4gICAgICAgIC8vIE1lbW9yeSBNYW5hZ2VtZW50XG4gICAgICAgIHRoaXMuc29jaGRiX2ZyZWVfYnl0ZXMgPSB0aGlzLmxpYi5mdW5jKCdzb2NoZGJfZnJlZV9ieXRlcycsICd2b2lkJywgWyd1aW50OConLCAnc2l6ZV90J10pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zdGFuY2UoKTogTmF0aXZlQmluZGluZ3Mge1xuICAgICAgICBpZiAoIU5hdGl2ZUJpbmRpbmdzLmluc3RhbmNlKSB7XG4gICAgICAgICAgICBOYXRpdmVCaW5kaW5ncy5pbnN0YW5jZSA9IG5ldyBOYXRpdmVCaW5kaW5ncygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBOYXRpdmVCaW5kaW5ncy5pbnN0YW5jZTtcbiAgICB9XG59XG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZW1iZWRkZWQvZmZpL2JpbmRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDZDQUErQjtBQUMvQixxREFBK0M7QUFFL0MsK0RBQStEO0FBQy9ELFNBQVMsaUJBQWlCLENBQUMsSUFBWTtJQUNyQyxJQUFJLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsNkRBQTZEO1FBQzdELGtFQUFrRTtRQUNsRSxPQUFPLFNBQWdCLENBQUM7SUFDMUIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLElBQVksRUFBRSxNQUFXO0lBQ2pELElBQUksQ0FBQztRQUNILE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCw2REFBNkQ7UUFDN0QsT0FBTyxTQUFnQixDQUFDO0lBQzFCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUMzRCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRTNELFVBQVU7QUFDVixNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7SUFDcEMsbUJBQW1CLEVBQUUsUUFBUTtJQUM3QixjQUFjLEVBQUUsUUFBUTtJQUN4QixtQkFBbUIsRUFBRSxRQUFRO0lBQzdCLG1CQUFtQixFQUFFLFFBQVE7SUFDN0IsbUJBQW1CLEVBQUUsUUFBUTtDQUNoQyxDQUFDLENBQUM7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bUIsRUFBRSxLQUFLLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBRXJGLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0kseUJBQXlCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDO0lBQ3pDLENBQUM7Q0FDSjtBQTlHRCx3Q0E4R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBrb2ZmaSBmcm9tICdrb2ZmaSc7XG5pbXBvcnQgeyBmaW5kTGlicmFyeSB9IGZyb20gJy4vbGlicmFyeS1maW5kZXInO1xuXG4vLyBPcGFxdWUgcG9pbnRlciB0eXBlcyAtIHdyYXAgaW4gZnVuY3Rpb24gdG8gaGFuZGxlIGR1cGxpY2F0ZXNcbmZ1bmN0aW9uIGRlZmluZVBvaW50ZXJUeXBlKG5hbWU6IHN0cmluZykge1xuICB0cnkge1xuICAgIHJldHVybiBrb2ZmaS5wb2ludGVyKG5hbWUsIGtvZmZpLm9wYXF1ZSgpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIFR5cGUgYWxyZWFkeSBkZWZpbmVkIGluIHRlc3QgZW52aXJvbm1lbnQsIHJldHVybiB1bmRlZmluZWRcbiAgICAvLyBrb2ZmaSB3aWxsIHN0aWxsIHJlY29nbml6ZSB0aGUgdHlwZSBuYW1lIGluIGZ1bmN0aW9uIHNpZ25hdHVyZXNcbiAgICByZXR1cm4gdW5kZWZpbmVkIGFzIGFueTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWZpbmVTdHJ1Y3RUeXBlKG5hbWU6IHN0cmluZywgZmllbGRzOiBhbnkpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4ga29mZmkuc3RydWN0KG5hbWUsIGZpZWxkcyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUeXBlIGFscmVhZHkgZGVmaW5lZCBpbiB0ZXN0IGVudmlyb25tZW50LCByZXR1cm4gdW5kZWZpbmVkXG4gICAgcmV0dXJuIHVuZGVmaW5lZCBhcyBhbnk7XG4gIH1cbn1cblxuY29uc3QgRGF0YWJhc2VIYW5kbGUgPSBkZWZpbmVQb2ludGVyVHlwZSgnRGF0YWJhc2VIYW5kbGUnKTtcbmNvbnN0IEl0ZXJhdG9ySGFuZGxlID0gZGVmaW5lUG9pbnRlclR5cGUoJ0l0ZXJhdG9ySGFuZGxlJyk7XG5cbi8vIFN0cnVjdHNcbmNvbnN0IFN0YXRzID0gZGVmaW5lU3RydWN0VHlwZSgnU3RhdHMnLCB7XG4gICAgbWVtdGFibGVfc2l6ZV9ieXRlczogJ3NpemVfdCcsXG4gICAgd2FsX3NpemVfYnl0ZXM6ICdzaXplX3QnLFxuICAgIGFjdGl2ZV90cmFuc2FjdGlvbnM6ICd1aW50MzInLFxuICAgIG1pbl9hY3RpdmVfc25hcHNob3Q6ICd1aW50NjQnLFxuICAgIGxhc3RfY2hlY2twb2ludF9sc246ICd1aW50NjQnXG59KTtcblxuY29uc3QgRGF0YWJhc2VDb25maWcgPSBkZWZpbmVTdHJ1Y3RUeXBlKCdEYXRhYmFzZUNvbmZpZycsIHtcbiAgICB3YWxfZW5hYmxlZDogJ2Jvb2wnLFxuICAgIHdhbF9lbmFibGVkX3NldDogJ2Jvb2wnLFxuICAgIHN5bmNfbW9kZTogJ3VpbnQ4JyxcbiAgICBzeW5jX21vZGVfc2V0OiAnYm9vbCcsXG4gICAgbWVtdGFibGVfc2l6ZV9ieXRlczogJ3VpbnQ2NCcsXG4gICAgZ3JvdXBfY29tbWl0OiAnYm9vbCcsXG4gICAgZ3JvdXBfY29tbWl0X3NldDogJ2Jvb2wnLFxuICAgIGRlZmF1bHRfaW5kZXhfcG9saWN5OiAndWludDgnLFxuICAgIGRlZmF1bHRfaW5kZXhfcG9saWN5X3NldDogJ2Jvb2wnXG59KTtcblxuY29uc3QgVHhuSGFuZGxlID0gZGVmaW5lU3RydWN0VHlwZSgnVHhuSGFuZGxlJywge1xuICAgIHR4bl9pZDogJ3VpbnQ2NCcsXG4gICAgc25hcHNob3RfdHM6ICd1aW50NjQnXG59KTtcblxuY29uc3QgQ29tbWl0UmVzdWx0ID0gZGVmaW5lU3RydWN0VHlwZSgnQ29tbWl0UmVzdWx0Jywge1xuICAgIGNvbW1pdF90czogJ3VpbnQ2NCcsXG4gICAgZXJyb3JfY29kZTogJ2ludDMyJ1xufSk7XG5cbmV4cG9ydCBjbGFzcyBOYXRpdmVCaW5kaW5ncyB7XG4gICAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2U6IE5hdGl2ZUJpbmRpbmdzO1xuICAgIHByaXZhdGUgbGliOiBhbnk7XG4gICAgcHJpdmF0ZSBfY29uY3VycmVudE1vZGVBdmFpbGFibGUgPSBmYWxzZTtcblxuICAgIC8vIEZGSXNcbiAgICBwdWJsaWMgc29jaGRiX29wZW46IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX29wZW5fd2l0aF9jb25maWc6IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX29wZW5fY29uY3VycmVudDogYW55O1xuICAgIHB1YmxpYyBzb2NoZGJfaXNfY29uY3VycmVudDogYW55O1xuICAgIHB1YmxpYyBzb2NoZGJfY2xvc2U6IGFueTtcblxuICAgIC8vIFRyYW5zYWN0aW9uYWwgT3BlcmF0aW9ucyAobWFwcGVkIHRvIGJhc2UgZnVuY3Rpb25zKVxuICAgIHB1YmxpYyBzb2NoZGJfYmVnaW5fdHhuOiBhbnk7XG4gICAgcHVibGljIHNvY2hkYl9jb21taXQ6IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX2Fib3J0OiBhbnk7XG5cbiAgICAvLyBLViBPcGVyYXRpb25zIChBbGwgdGFrZSBEYXRhYmFzZUhhbmRsZSBBTkQgVHhuSGFuZGxlKVxuICAgIC8vIHB1dDogKGRiLCB0eG4sIGtleSwga2xlbiwgdmFsLCB2bGVuKSAtPiBpbnRcbiAgICBwdWJsaWMgc29jaGRiX3B1dDogYW55O1xuICAgIC8vIGdldDogKGRiLCB0eG4sIGtleSwga2xlbiwgdmFsX291dCosIGxlbl9vdXQqKSAtPiBpbnRcbiAgICBwdWJsaWMgc29jaGRiX2dldDogYW55O1xuICAgIC8vIGRlbGV0ZTogKGRiLCB0eG4sIGtleSwga2xlbikgLT4gaW50XG4gICAgcHVibGljIHNvY2hkYl9kZWxldGU6IGFueTtcblxuICAgIC8vIFBhdGggT3BlcmF0aW9uc1xuICAgIHB1YmxpYyBzb2NoZGJfcHV0X3BhdGg6IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX2dldF9wYXRoOiBhbnk7XG5cbiAgICAvLyBTY2FubmluZ1xuICAgIHB1YmxpYyBzb2NoZGJfc2Nhbl9wcmVmaXg6IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX2l0ZXJhdG9yX25leHQ6IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX2l0ZXJhdG9yX2Nsb3NlOiBhbnk7XG5cbiAgICAvLyBTdGF0c1xuICAgIHB1YmxpYyBzb2NoZGJfc3RhdHM6IGFueTtcbiAgICBwdWJsaWMgc29jaGRiX2NoZWNrcG9pbnQ6IGFueTtcblxuICAgIC8vIE1lbW9yeVxuICAgIHB1YmxpYyBzb2NoZGJfZnJlZV9ieXRlczogYW55O1xuXG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgY29uc3QgbGliUGF0aCA9IGZpbmRMaWJyYXJ5KCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLmxpYiA9IGtvZmZpLmxvYWQobGliUGF0aCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIFNvY2hEQiBsaWJyYXJ5IGZyb20gJHtsaWJQYXRofTpgLCBlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluaXRpYWxpemUgYmluZGluZ3NcblxuICAgICAgICAvLyBEQiBNYW5hZ2VtZW50XG4gICAgICAgIHRoaXMuc29jaGRiX29wZW4gPSB0aGlzLmxpYi5mdW5jKCdzb2NoZGJfb3BlbicsIERhdGFiYXNlSGFuZGxlLCBbJ3N0cmluZyddKTtcbiAgICAgICAgdGhpcy5zb2NoZGJfb3Blbl93aXRoX2NvbmZpZyA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9vcGVuX3dpdGhfY29uZmlnJywgRGF0YWJhc2VIYW5kbGUsIFsnc3RyaW5nJywgRGF0YWJhc2VDb25maWddKTtcbiAgICAgICAgXG4gICAgICAgIC8vIENvbmN1cnJlbnQgbW9kZSAodjAuNC44KylcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMuc29jaGRiX29wZW5fY29uY3VycmVudCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9vcGVuX2NvbmN1cnJlbnQnLCBEYXRhYmFzZUhhbmRsZSwgWydzdHJpbmcnXSk7XG4gICAgICAgICAgICB0aGlzLnNvY2hkYl9pc19jb25jdXJyZW50ID0gdGhpcy5saWIuZnVuYygnc29jaGRiX2lzX2NvbmN1cnJlbnQnLCAnaW50JywgW0RhdGFiYXNlSGFuZGxlXSk7XG4gICAgICAgICAgICB0aGlzLl9jb25jdXJyZW50TW9kZUF2YWlsYWJsZSA9IHRydWU7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAvLyBPbGRlciBsaWJyYXJ5IHZlcnNpb25zIGRvbid0IGhhdmUgY29uY3VycmVudCBtb2RlXG4gICAgICAgICAgICB0aGlzLnNvY2hkYl9vcGVuX2NvbmN1cnJlbnQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5zb2NoZGJfaXNfY29uY3VycmVudCA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9jb25jdXJyZW50TW9kZUF2YWlsYWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB0aGlzLnNvY2hkYl9jbG9zZSA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9jbG9zZScsICd2b2lkJywgW0RhdGFiYXNlSGFuZGxlXSk7XG5cbiAgICAgICAgLy8gVHJhbnNhY3Rpb25zXG4gICAgICAgIHRoaXMuc29jaGRiX2JlZ2luX3R4biA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9iZWdpbl90eG4nLCBUeG5IYW5kbGUsIFtEYXRhYmFzZUhhbmRsZV0pO1xuICAgICAgICB0aGlzLnNvY2hkYl9jb21taXQgPSB0aGlzLmxpYi5mdW5jKCdzb2NoZGJfY29tbWl0JywgQ29tbWl0UmVzdWx0LCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZV0pO1xuICAgICAgICB0aGlzLnNvY2hkYl9hYm9ydCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9hYm9ydCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZV0pO1xuXG4gICAgICAgIC8vIEtWIE9wZXJhdGlvbnNcbiAgICAgICAgdGhpcy5zb2NoZGJfcHV0ID0gdGhpcy5saWIuZnVuYygnc29jaGRiX3B1dCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3VpbnQ4KicsICdzaXplX3QnLCAndWludDgqJywgJ3NpemVfdCddKTtcbiAgICAgICAgdGhpcy5zb2NoZGJfZ2V0ID0gdGhpcy5saWIuZnVuYygnc29jaGRiX2dldCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3VpbnQ4KicsICdzaXplX3QnLCBrb2ZmaS5vdXQoa29mZmkucG9pbnRlcigndWludDgqJykpLCBrb2ZmaS5vdXQoa29mZmkucG9pbnRlcignc2l6ZV90JykpXSk7XG4gICAgICAgIHRoaXMuc29jaGRiX2RlbGV0ZSA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9kZWxldGUnLCAnaW50JywgW0RhdGFiYXNlSGFuZGxlLCBUeG5IYW5kbGUsICd1aW50OConLCAnc2l6ZV90J10pO1xuXG4gICAgICAgIC8vIFBhdGggT3BlcmF0aW9uc1xuICAgICAgICB0aGlzLnNvY2hkYl9wdXRfcGF0aCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9wdXRfcGF0aCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3N0cmluZycsICd1aW50OConLCAnc2l6ZV90J10pO1xuICAgICAgICB0aGlzLnNvY2hkYl9nZXRfcGF0aCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9nZXRfcGF0aCcsICdpbnQnLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3N0cmluZycsIGtvZmZpLm91dChrb2ZmaS5wb2ludGVyKCd1aW50OConKSksIGtvZmZpLm91dChrb2ZmaS5wb2ludGVyKCdzaXplX3QnKSldKTtcblxuICAgICAgICAvLyBTY2FubmluZ1xuICAgICAgICB0aGlzLnNvY2hkYl9zY2FuX3ByZWZpeCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9zY2FuX3ByZWZpeCcsIEl0ZXJhdG9ySGFuZGxlLCBbRGF0YWJhc2VIYW5kbGUsIFR4bkhhbmRsZSwgJ3VpbnQ4KicsICdzaXplX3QnXSk7XG4gICAgICAgIHRoaXMuc29jaGRiX2l0ZXJhdG9yX25leHQgPSB0aGlzLmxpYi5mdW5jKCdzb2NoZGJfc2Nhbl9uZXh0JywgJ2ludCcsIFtJdGVyYXRvckhhbmRsZSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3VpbnQ4KicpKSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3NpemVfdCcpKSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3VpbnQ4KicpKSwga29mZmkub3V0KGtvZmZpLnBvaW50ZXIoJ3NpemVfdCcpKV0pO1xuICAgICAgICB0aGlzLnNvY2hkYl9pdGVyYXRvcl9jbG9zZSA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9zY2FuX2ZyZWUnLCAndm9pZCcsIFtJdGVyYXRvckhhbmRsZV0pO1xuXG4gICAgICAgIC8vIFN0YXRzICYgQ2hlY2twb2ludFxuICAgICAgICB0aGlzLnNvY2hkYl9zdGF0cyA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9zdGF0cycsIFN0YXRzLCBbRGF0YWJhc2VIYW5kbGVdKTtcbiAgICAgICAgdGhpcy5zb2NoZGJfY2hlY2twb2ludCA9IHRoaXMubGliLmZ1bmMoJ3NvY2hkYl9jaGVja3BvaW50JywgJ2ludCcsIFtEYXRhYmFzZUhhbmRsZV0pO1xuXG4gICAgICAgIC8vIE1lbW9yeSBNYW5hZ2VtZW50XG4gICAgICAgIHRoaXMuc29jaGRiX2ZyZWVfYnl0ZXMgPSB0aGlzLmxpYi5mdW5jKCdzb2NoZGJfZnJlZV9ieXRlcycsICd2b2lkJywgWyd1aW50OConLCAnc2l6ZV90J10pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0SW5zdGFuY2UoKTogTmF0aXZlQmluZGluZ3Mge1xuICAgICAgICBpZiAoIU5hdGl2ZUJpbmRpbmdzLmluc3RhbmNlKSB7XG4gICAgICAgICAgICBOYXRpdmVCaW5kaW5ncy5pbnN0YW5jZSA9IG5ldyBOYXRpdmVCaW5kaW5ncygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBOYXRpdmVCaW5kaW5ncy5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBjb25jdXJyZW50IG1vZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBuYXRpdmUgbGlicmFyeVxuICAgICAqL1xuICAgIHB1YmxpYyBpc0NvbmN1cnJlbnRNb2RlQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uY3VycmVudE1vZGVBdmFpbGFibGU7XG4gICAgfVxufVxuIl19
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * SochDB Node.js SDK v0.4.2
3
+ * SochDB Node.js SDK v0.4.4
4
4
  *
5
5
  * Dual-mode architecture: Embedded (FFI) + Server (gRPC/IPC)
6
6
  *
@@ -13,7 +13,12 @@
13
13
  * - No server required - just npm install and run
14
14
  * - Best for: Local development, simple apps
15
15
  *
16
- * 2. Server Mode (gRPC/IPC) - For distributed systems:
16
+ * 2. Concurrent Mode (FFI) - For multi-process apps:
17
+ * - Same FFI bindings with MVCC for concurrent access
18
+ * - Multiple Node.js processes can access same database
19
+ * - Best for: PM2 cluster, Express workers
20
+ *
21
+ * 3. Server Mode (gRPC/IPC) - For distributed systems:
17
22
  * - Thin client connecting to sochdb-grpc server
18
23
  * - Best for: Production, multi-language, scalability
19
24
  *
@@ -27,6 +32,15 @@
27
32
  * await db.close();
28
33
  * ```
29
34
  *
35
+ * @example Concurrent Mode
36
+ * ```typescript
37
+ * import { Database } from '@sochdb/sochdb';
38
+ *
39
+ * // Multiple processes can access simultaneously
40
+ * const db = Database.openConcurrent('./mydb');
41
+ * console.log(`Concurrent: ${db.isConcurrent}`);
42
+ * ```
43
+ *
30
44
  * @example Server Mode
31
45
  * ```typescript
32
46
  * import { SochDBClient } from '@sochdb/sochdb';
@@ -37,9 +51,9 @@
37
51
  * ```
38
52
  */
39
53
  Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.GrpcClient = exports.SplitBrainError = exports.EpochMismatchError = exports.LockTimeoutError = exports.DatabaseLockedError = exports.LockError = exports.ErrorCode = exports.DatabaseError = exports.ProtocolError = exports.TransactionError = exports.ConnectionError = exports.SochDBError = exports.Query = exports.FormatConversionError = exports.FormatCapabilities = exports.CanonicalFormat = exports.ContextFormat = exports.WireFormat = exports.IpcClient = exports.SochDBClient = exports.NamespacePolicy = exports.AllowedSet = exports.HybridRetriever = exports.Consolidator = exports.ExtractionPipeline = exports.createContextBuilder = exports.TruncationStrategy = exports.ContextOutputFormat = exports.ContextQueryBuilder = exports.SemanticCache = exports.createQueue = exports.TaskState = exports.PriorityQueue = exports.CollectionExistsError = exports.CollectionNotFoundError = exports.NamespaceExistsError = exports.NamespaceNotFoundError = exports.DistanceMetric = exports.Collection = exports.Namespace = exports.Database = exports.HnswBindings = exports.HnswIndex = exports.EmbeddedTransaction = exports.EmbeddedDatabase = exports.VERSION = void 0;
54
+ exports.GrpcClient = exports.SplitBrainError = exports.EpochMismatchError = exports.LockTimeoutError = exports.DatabaseLockedError = exports.LockError = exports.ErrorCode = exports.DatabaseError = exports.ProtocolError = exports.TransactionError = exports.ConnectionError = exports.SochDBError = exports.Query = exports.FormatConversionError = exports.FormatCapabilities = exports.CanonicalFormat = exports.ContextFormat = exports.WireFormat = exports.IpcClient = exports.SochDBClient = exports.PolicyService = exports.MCP_ERROR_CODES = exports.McpError = exports.McpClient = exports.McpServer = exports.AllowedSet = exports.HybridRetriever = exports.Consolidator = exports.ExtractionPipeline = exports.createContextBuilder = exports.TruncationStrategy = exports.ContextOutputFormat = exports.ContextQueryBuilder = exports.SemanticCache = exports.createQueue = exports.TaskState = exports.PriorityQueue = exports.CollectionExistsError = exports.CollectionNotFoundError = exports.NamespaceExistsError = exports.NamespaceNotFoundError = exports.DistanceMetric = exports.Collection = exports.Namespace = exports.Database = exports.HnswBindings = exports.HnswIndex = exports.EmbeddedTransaction = exports.EmbeddedDatabase = exports.VERSION = void 0;
41
55
  // Version
42
- exports.VERSION = '0.4.2';
56
+ exports.VERSION = '0.4.4';
43
57
  // Embedded mode (FFI) - NEW
44
58
  var embedded_1 = require("./embedded");
45
59
  Object.defineProperty(exports, "EmbeddedDatabase", { enumerable: true, get: function () { return embedded_1.EmbeddedDatabase; } });
@@ -80,7 +94,15 @@ Object.defineProperty(exports, "ExtractionPipeline", { enumerable: true, get: fu
80
94
  Object.defineProperty(exports, "Consolidator", { enumerable: true, get: function () { return memory_1.Consolidator; } });
81
95
  Object.defineProperty(exports, "HybridRetriever", { enumerable: true, get: function () { return memory_1.HybridRetriever; } });
82
96
  Object.defineProperty(exports, "AllowedSet", { enumerable: true, get: function () { return memory_1.AllowedSet; } });
83
- Object.defineProperty(exports, "NamespacePolicy", { enumerable: true, get: function () { return memory_1.NamespacePolicy; } });
97
+ // MCP - Model Context Protocol (v0.4.3)
98
+ var mcp_1 = require("./mcp");
99
+ Object.defineProperty(exports, "McpServer", { enumerable: true, get: function () { return mcp_1.McpServer; } });
100
+ Object.defineProperty(exports, "McpClient", { enumerable: true, get: function () { return mcp_1.McpClient; } });
101
+ Object.defineProperty(exports, "McpError", { enumerable: true, get: function () { return mcp_1.McpError; } });
102
+ Object.defineProperty(exports, "MCP_ERROR_CODES", { enumerable: true, get: function () { return mcp_1.MCP_ERROR_CODES; } });
103
+ // Policy Service (v0.4.3)
104
+ var policy_1 = require("./policy");
105
+ Object.defineProperty(exports, "PolicyService", { enumerable: true, get: function () { return policy_1.PolicyService; } });
84
106
  // Server mode (gRPC/IPC)
85
107
  var grpc_client_1 = require("./grpc-client");
86
108
  Object.defineProperty(exports, "SochDBClient", { enumerable: true, get: function () { return grpc_client_1.SochDBClient; } });
@@ -112,4 +134,4 @@ Object.defineProperty(exports, "SplitBrainError", { enumerable: true, get: funct
112
134
  // Convenience alias
113
135
  var grpc_client_2 = require("./grpc-client");
114
136
  Object.defineProperty(exports, "GrpcClient", { enumerable: true, get: function () { return grpc_client_2.SochDBClient; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7OztBQUVILFVBQVU7QUFDRyxRQUFBLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFFL0IsNEJBQTRCO0FBQzVCLHVDQUFzRTtBQUE3RCw0R0FBQSxnQkFBZ0IsT0FBQTtBQUN6Qix1Q0FBaUQ7QUFBeEMsK0dBQUEsbUJBQW1CLE9BQUE7QUFDNUIsdUNBQWlFO0FBQXhELHFHQUFBLFNBQVMsT0FBQTtBQUFjLHdHQUFBLFlBQVksT0FBQTtBQUc1QywwQ0FBMEM7QUFDMUMsdUNBQTBEO0FBQWpELG9HQUFBLGdCQUFnQixPQUFZO0FBRXJDLHlCQUF5QjtBQUN6Qix5Q0FRcUI7QUFQbkIsc0dBQUEsU0FBUyxPQUFBO0FBQ1QsdUdBQUEsVUFBVSxPQUFBO0FBQ1YsMkdBQUEsY0FBYyxPQUFBO0FBQ2QsbUhBQUEsc0JBQXNCLE9BQUE7QUFDdEIsaUhBQUEsb0JBQW9CLE9BQUE7QUFDcEIsb0hBQUEsdUJBQXVCLE9BQUE7QUFDdkIsa0hBQUEscUJBQXFCLE9BQUE7QUFTdkIscUJBQXFCO0FBQ3JCLGlDQUlpQjtBQUhmLHNHQUFBLGFBQWEsT0FBQTtBQUNiLGtHQUFBLFNBQVMsT0FBQTtBQUNULG9HQUFBLFdBQVcsT0FBQTtBQVNiLDBCQUEwQjtBQUMxQixtREFFMEI7QUFEeEIsK0dBQUEsYUFBYSxPQUFBO0FBUWYsMkJBQTJCO0FBQzNCLHFEQUsyQjtBQUp6QixzSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixzSEFBQSxtQkFBbUIsT0FBQTtBQUNuQixxSEFBQSxrQkFBa0IsT0FBQTtBQUNsQix1SEFBQSxvQkFBb0IsT0FBQTtBQU10Qix5QkFBeUI7QUFDekIsbUNBTWtCO0FBTGhCLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHNHQUFBLFlBQVksT0FBQTtBQUNaLHlHQUFBLGVBQWUsT0FBQTtBQUNmLG9HQUFBLFVBQVUsT0FBQTtBQUNWLHlHQUFBLGVBQWUsT0FBQTtBQWlCakIseUJBQXlCO0FBQ3pCLDZDQUE2QztBQUFwQywyR0FBQSxZQUFZLE9BQUE7QUFRckIsMkNBQXlDO0FBQWhDLHVHQUFBLFNBQVMsT0FBQTtBQUVsQixtQkFBbUI7QUFDbkIsbUNBTWtCO0FBTGhCLG9HQUFBLFVBQVUsT0FBQTtBQUNWLHVHQUFBLGFBQWEsT0FBQTtBQUNiLHlHQUFBLGVBQWUsT0FBQTtBQUNmLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLCtHQUFBLHFCQUFxQixPQUFBO0FBR3ZCLG1CQUFtQjtBQUNuQixpQ0FBZ0M7QUFBdkIsOEZBQUEsS0FBSyxPQUFBO0FBR2QsbUNBYWtCO0FBWmhCLHFHQUFBLFdBQVcsT0FBQTtBQUNYLHlHQUFBLGVBQWUsT0FBQTtBQUNmLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLHVHQUFBLGFBQWEsT0FBQTtBQUNiLHVHQUFBLGFBQWEsT0FBQTtBQUNiLHVCQUF1QjtBQUN2QixtR0FBQSxTQUFTLE9BQUE7QUFDVCxtR0FBQSxTQUFTLE9BQUE7QUFDVCw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQix5R0FBQSxlQUFlLE9BQUE7QUFHakIsb0JBQW9CO0FBQ3BCLDZDQUEyRDtBQUFsRCx5R0FBQSxZQUFZLE9BQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNvY2hEQiBOb2RlLmpzIFNESyB2MC40LjJcbiAqIFxuICogRHVhbC1tb2RlIGFyY2hpdGVjdHVyZTogRW1iZWRkZWQgKEZGSSkgKyBTZXJ2ZXIgKGdSUEMvSVBDKVxuICogXG4gKiBBcmNoaXRlY3R1cmU6IEZsZXhpYmxlIERlcGxveW1lbnRcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgU0RLIHN1cHBvcnRzIEJPVEggbW9kZXM6XG4gKiBcbiAqIDEuIEVtYmVkZGVkIE1vZGUgKEZGSSkgLSBGb3Igc2luZ2xlLXByb2Nlc3MgYXBwczpcbiAqICAgIC0gRGlyZWN0IEZGSSBiaW5kaW5ncyB0byBSdXN0IGxpYnJhcmllc1xuICogICAgLSBObyBzZXJ2ZXIgcmVxdWlyZWQgLSBqdXN0IG5wbSBpbnN0YWxsIGFuZCBydW5cbiAqICAgIC0gQmVzdCBmb3I6IExvY2FsIGRldmVsb3BtZW50LCBzaW1wbGUgYXBwc1xuICogXG4gKiAyLiBTZXJ2ZXIgTW9kZSAoZ1JQQy9JUEMpIC0gRm9yIGRpc3RyaWJ1dGVkIHN5c3RlbXM6XG4gKiAgICAtIFRoaW4gY2xpZW50IGNvbm5lY3RpbmcgdG8gc29jaGRiLWdycGMgc2VydmVyXG4gKiAgICAtIEJlc3QgZm9yOiBQcm9kdWN0aW9uLCBtdWx0aS1sYW5ndWFnZSwgc2NhbGFiaWxpdHlcbiAqIFxuICogQGV4YW1wbGUgRW1iZWRkZWQgTW9kZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgRGF0YWJhc2UgfSBmcm9tICdAc29jaGRiL3NvY2hkYic7XG4gKiBcbiAqIC8vIERpcmVjdCBGRkkgLSBubyBzZXJ2ZXIgbmVlZGVkXG4gKiBjb25zdCBkYiA9IGF3YWl0IERhdGFiYXNlLm9wZW4oJy4vbXlkYicpO1xuICogYXdhaXQgZGIucHV0KEJ1ZmZlci5mcm9tKCdrZXknKSwgQnVmZmVyLmZyb20oJ3ZhbHVlJykpO1xuICogYXdhaXQgZGIuY2xvc2UoKTtcbiAqIGBgYFxuICogXG4gKiBAZXhhbXBsZSBTZXJ2ZXIgTW9kZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgU29jaERCQ2xpZW50IH0gZnJvbSAnQHNvY2hkYi9zb2NoZGInO1xuICogXG4gKiAvLyBDb25uZWN0IHRvIHNlcnZlclxuICogY29uc3QgY2xpZW50ID0gbmV3IFNvY2hEQkNsaWVudCh7IGFkZHJlc3M6ICdsb2NhbGhvc3Q6NTAwNTEnIH0pO1xuICogYXdhaXQgY2xpZW50LnB1dEt2KCdrZXknLCBCdWZmZXIuZnJvbSgndmFsdWUnKSk7XG4gKiBgYGBcbiAqL1xuXG4vLyBWZXJzaW9uXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9ICcwLjQuMic7XG5cbi8vIEVtYmVkZGVkIG1vZGUgKEZGSSkgLSBORVdcbmV4cG9ydCB7IEVtYmVkZGVkRGF0YWJhc2UsIEVtYmVkZGVkRGF0YWJhc2VDb25maWcgfSBmcm9tICcuL2VtYmVkZGVkJztcbmV4cG9ydCB7IEVtYmVkZGVkVHJhbnNhY3Rpb24gfSBmcm9tICcuL2VtYmVkZGVkJztcbmV4cG9ydCB7IEhuc3dJbmRleCwgSG5zd0NvbmZpZywgSG5zd0JpbmRpbmdzIH0gZnJvbSAnLi9lbWJlZGRlZCc7XG5leHBvcnQgeyBTZWFyY2hSZXN1bHQgYXMgSG5zd1NlYXJjaFJlc3VsdCB9IGZyb20gJy4vZW1iZWRkZWQnO1xuXG4vLyBFbWJlZGRlZCBtb2RlIChGRkkpIC0gQ29udmVuaWVuY2UgYWxpYXNcbmV4cG9ydCB7IEVtYmVkZGVkRGF0YWJhc2UgYXMgRGF0YWJhc2UgfSBmcm9tICcuL2VtYmVkZGVkJztcblxuLy8gTmFtZXNwYWNlIEFQSSAodjAuNC4xKVxuZXhwb3J0IHtcbiAgTmFtZXNwYWNlLFxuICBDb2xsZWN0aW9uLFxuICBEaXN0YW5jZU1ldHJpYyxcbiAgTmFtZXNwYWNlTm90Rm91bmRFcnJvcixcbiAgTmFtZXNwYWNlRXhpc3RzRXJyb3IsXG4gIENvbGxlY3Rpb25Ob3RGb3VuZEVycm9yLFxuICBDb2xsZWN0aW9uRXhpc3RzRXJyb3IsXG59IGZyb20gJy4vbmFtZXNwYWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTmFtZXNwYWNlQ29uZmlnLFxuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTZWFyY2hSZXF1ZXN0LFxuICBTZWFyY2hSZXN1bHQgYXMgTmFtZXNwYWNlU2VhcmNoUmVzdWx0LFxufSBmcm9tICcuL25hbWVzcGFjZSc7XG5cbi8vIFF1ZXVlIEFQSSAodjAuNC4xKVxuZXhwb3J0IHtcbiAgUHJpb3JpdHlRdWV1ZSxcbiAgVGFza1N0YXRlLFxuICBjcmVhdGVRdWV1ZSxcbn0gZnJvbSAnLi9xdWV1ZSc7XG5leHBvcnQgdHlwZSB7XG4gIFF1ZXVlQ29uZmlnLFxuICBRdWV1ZUtleSxcbiAgVGFzayxcbiAgUXVldWVTdGF0cyxcbn0gZnJvbSAnLi9xdWV1ZSc7XG5cbi8vIFNlbWFudGljIENhY2hlICh2MC40LjEpXG5leHBvcnQge1xuICBTZW1hbnRpY0NhY2hlLFxufSBmcm9tICcuL3NlbWFudGljLWNhY2hlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2FjaGVFbnRyeSxcbiAgQ2FjaGVIaXQsXG4gIENhY2hlU3RhdHMsXG59IGZyb20gJy4vc2VtYW50aWMtY2FjaGUnO1xuXG4vLyBDb250ZXh0IEJ1aWxkZXIgKHYwLjQuMSlcbmV4cG9ydCB7XG4gIENvbnRleHRRdWVyeUJ1aWxkZXIsXG4gIENvbnRleHRPdXRwdXRGb3JtYXQsXG4gIFRydW5jYXRpb25TdHJhdGVneSxcbiAgY3JlYXRlQ29udGV4dEJ1aWxkZXIsXG59IGZyb20gJy4vY29udGV4dC1idWlsZGVyJztcbmV4cG9ydCB0eXBlIHtcbiAgQ29udGV4dFJlc3VsdCxcbn0gZnJvbSAnLi9jb250ZXh0LWJ1aWxkZXInO1xuXG4vLyBNZW1vcnkgU3lzdGVtICh2MC40LjIpXG5leHBvcnQge1xuICBFeHRyYWN0aW9uUGlwZWxpbmUsXG4gIENvbnNvbGlkYXRvcixcbiAgSHlicmlkUmV0cmlldmVyLFxuICBBbGxvd2VkU2V0LFxuICBOYW1lc3BhY2VQb2xpY3ksXG59IGZyb20gJy4vbWVtb3J5JztcbmV4cG9ydCB0eXBlIHtcbiAgRW50aXR5LFxuICBSZWxhdGlvbixcbiAgQXNzZXJ0aW9uLFxuICBSYXdBc3NlcnRpb24sXG4gIENhbm9uaWNhbEZhY3QsXG4gIEV4dHJhY3Rpb25SZXN1bHQsXG4gIEV4dHJhY3Rpb25TY2hlbWEsXG4gIENvbnNvbGlkYXRpb25Db25maWcsXG4gIFJldHJpZXZhbENvbmZpZyxcbiAgUmV0cmlldmFsUmVzdWx0LFxuICBSZXRyaWV2YWxSZXNwb25zZSxcbiAgTmFtZXNwYWNlR3JhbnQsXG59IGZyb20gJy4vbWVtb3J5JztcblxuLy8gU2VydmVyIG1vZGUgKGdSUEMvSVBDKVxuZXhwb3J0IHsgU29jaERCQ2xpZW50IH0gZnJvbSAnLi9ncnBjLWNsaWVudCc7XG5leHBvcnQgdHlwZSB7XG4gIFNlYXJjaFJlc3VsdCxcbiAgRG9jdW1lbnQsXG4gIEdyYXBoTm9kZSxcbiAgR3JhcGhFZGdlLFxufSBmcm9tICcuL2dycGMtY2xpZW50JztcblxuZXhwb3J0IHsgSXBjQ2xpZW50IH0gZnJvbSAnLi9pcGMtY2xpZW50JztcblxuLy8gRm9ybWF0IHV0aWxpdGllc1xuZXhwb3J0IHtcbiAgV2lyZUZvcm1hdCxcbiAgQ29udGV4dEZvcm1hdCxcbiAgQ2Fub25pY2FsRm9ybWF0LFxuICBGb3JtYXRDYXBhYmlsaXRpZXMsXG4gIEZvcm1hdENvbnZlcnNpb25FcnJvcixcbn0gZnJvbSAnLi9mb3JtYXQnO1xuXG4vLyBUeXBlIGRlZmluaXRpb25zXG5leHBvcnQgeyBRdWVyeSB9IGZyb20gJy4vcXVlcnknO1xuZXhwb3J0IHR5cGUgeyBRdWVyeVJlc3VsdCB9IGZyb20gJy4vcXVlcnknO1xuXG5leHBvcnQge1xuICBTb2NoREJFcnJvcixcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvbkVycm9yLFxuICBQcm90b2NvbEVycm9yLFxuICBEYXRhYmFzZUVycm9yLFxuICAvLyBMb2NrIGVycm9ycyAodjAuNC4xKVxuICBFcnJvckNvZGUsXG4gIExvY2tFcnJvcixcbiAgRGF0YWJhc2VMb2NrZWRFcnJvcixcbiAgTG9ja1RpbWVvdXRFcnJvcixcbiAgRXBvY2hNaXNtYXRjaEVycm9yLFxuICBTcGxpdEJyYWluRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuLy8gQ29udmVuaWVuY2UgYWxpYXNcbmV4cG9ydCB7IFNvY2hEQkNsaWVudCBhcyBHcnBjQ2xpZW50IH0gZnJvbSAnLi9ncnBjLWNsaWVudCc7XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtERzs7O0FBRUgsVUFBVTtBQUNHLFFBQUEsT0FBTyxHQUFHLE9BQU8sQ0FBQztBQUUvQiw0QkFBNEI7QUFDNUIsdUNBQXNFO0FBQTdELDRHQUFBLGdCQUFnQixPQUFBO0FBQ3pCLHVDQUFpRDtBQUF4QywrR0FBQSxtQkFBbUIsT0FBQTtBQUM1Qix1Q0FBaUU7QUFBeEQscUdBQUEsU0FBUyxPQUFBO0FBQWMsd0dBQUEsWUFBWSxPQUFBO0FBRzVDLDBDQUEwQztBQUMxQyx1Q0FBMEQ7QUFBakQsb0dBQUEsZ0JBQWdCLE9BQVk7QUFFckMseUJBQXlCO0FBQ3pCLHlDQVFxQjtBQVBuQixzR0FBQSxTQUFTLE9BQUE7QUFDVCx1R0FBQSxVQUFVLE9BQUE7QUFDViwyR0FBQSxjQUFjLE9BQUE7QUFDZCxtSEFBQSxzQkFBc0IsT0FBQTtBQUN0QixpSEFBQSxvQkFBb0IsT0FBQTtBQUNwQixvSEFBQSx1QkFBdUIsT0FBQTtBQUN2QixrSEFBQSxxQkFBcUIsT0FBQTtBQVN2QixxQkFBcUI7QUFDckIsaUNBSWlCO0FBSGYsc0dBQUEsYUFBYSxPQUFBO0FBQ2Isa0dBQUEsU0FBUyxPQUFBO0FBQ1Qsb0dBQUEsV0FBVyxPQUFBO0FBU2IsMEJBQTBCO0FBQzFCLG1EQUUwQjtBQUR4QiwrR0FBQSxhQUFhLE9BQUE7QUFRZiwyQkFBMkI7QUFDM0IscURBSzJCO0FBSnpCLHNIQUFBLG1CQUFtQixPQUFBO0FBQ25CLHNIQUFBLG1CQUFtQixPQUFBO0FBQ25CLHFIQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHVIQUFBLG9CQUFvQixPQUFBO0FBTXRCLHlCQUF5QjtBQUN6QixtQ0FLa0I7QUFKaEIsNEdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsc0dBQUEsWUFBWSxPQUFBO0FBQ1oseUdBQUEsZUFBZSxPQUFBO0FBQ2Ysb0dBQUEsVUFBVSxPQUFBO0FBZ0JaLHdDQUF3QztBQUN4Qyw2QkFLZTtBQUpiLGdHQUFBLFNBQVMsT0FBQTtBQUNULGdHQUFBLFNBQVMsT0FBQTtBQUNULCtGQUFBLFFBQVEsT0FBQTtBQUNSLHNHQUFBLGVBQWUsT0FBQTtBQWlCakIsMEJBQTBCO0FBQzFCLG1DQUVrQjtBQURoQix1R0FBQSxhQUFhLE9BQUE7QUFlZix5QkFBeUI7QUFDekIsNkNBQTZDO0FBQXBDLDJHQUFBLFlBQVksT0FBQTtBQVFyQiwyQ0FBeUM7QUFBaEMsdUdBQUEsU0FBUyxPQUFBO0FBRWxCLG1CQUFtQjtBQUNuQixtQ0FNa0I7QUFMaEIsb0dBQUEsVUFBVSxPQUFBO0FBQ1YsdUdBQUEsYUFBYSxPQUFBO0FBQ2IseUdBQUEsZUFBZSxPQUFBO0FBQ2YsNEdBQUEsa0JBQWtCLE9BQUE7QUFDbEIsK0dBQUEscUJBQXFCLE9BQUE7QUFHdkIsbUJBQW1CO0FBQ25CLGlDQUFnQztBQUF2Qiw4RkFBQSxLQUFLLE9BQUE7QUFHZCxtQ0Fha0I7QUFaaEIscUdBQUEsV0FBVyxPQUFBO0FBQ1gseUdBQUEsZUFBZSxPQUFBO0FBQ2YsMEdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsdUdBQUEsYUFBYSxPQUFBO0FBQ2IsdUdBQUEsYUFBYSxPQUFBO0FBQ2IsdUJBQXVCO0FBQ3ZCLG1HQUFBLFNBQVMsT0FBQTtBQUNULG1HQUFBLFNBQVMsT0FBQTtBQUNULDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHlHQUFBLGVBQWUsT0FBQTtBQUdqQixvQkFBb0I7QUFDcEIsNkNBQTJEO0FBQWxELHlHQUFBLFlBQVksT0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU29jaERCIE5vZGUuanMgU0RLIHYwLjQuNFxuICogXG4gKiBEdWFsLW1vZGUgYXJjaGl0ZWN0dXJlOiBFbWJlZGRlZCAoRkZJKSArIFNlcnZlciAoZ1JQQy9JUEMpXG4gKiBcbiAqIEFyY2hpdGVjdHVyZTogRmxleGlibGUgRGVwbG95bWVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGhpcyBTREsgc3VwcG9ydHMgQk9USCBtb2RlczpcbiAqIFxuICogMS4gRW1iZWRkZWQgTW9kZSAoRkZJKSAtIEZvciBzaW5nbGUtcHJvY2VzcyBhcHBzOlxuICogICAgLSBEaXJlY3QgRkZJIGJpbmRpbmdzIHRvIFJ1c3QgbGlicmFyaWVzXG4gKiAgICAtIE5vIHNlcnZlciByZXF1aXJlZCAtIGp1c3QgbnBtIGluc3RhbGwgYW5kIHJ1blxuICogICAgLSBCZXN0IGZvcjogTG9jYWwgZGV2ZWxvcG1lbnQsIHNpbXBsZSBhcHBzXG4gKiBcbiAqIDIuIENvbmN1cnJlbnQgTW9kZSAoRkZJKSAtIEZvciBtdWx0aS1wcm9jZXNzIGFwcHM6XG4gKiAgICAtIFNhbWUgRkZJIGJpbmRpbmdzIHdpdGggTVZDQyBmb3IgY29uY3VycmVudCBhY2Nlc3NcbiAqICAgIC0gTXVsdGlwbGUgTm9kZS5qcyBwcm9jZXNzZXMgY2FuIGFjY2VzcyBzYW1lIGRhdGFiYXNlXG4gKiAgICAtIEJlc3QgZm9yOiBQTTIgY2x1c3RlciwgRXhwcmVzcyB3b3JrZXJzXG4gKiBcbiAqIDMuIFNlcnZlciBNb2RlIChnUlBDL0lQQykgLSBGb3IgZGlzdHJpYnV0ZWQgc3lzdGVtczpcbiAqICAgIC0gVGhpbiBjbGllbnQgY29ubmVjdGluZyB0byBzb2NoZGItZ3JwYyBzZXJ2ZXJcbiAqICAgIC0gQmVzdCBmb3I6IFByb2R1Y3Rpb24sIG11bHRpLWxhbmd1YWdlLCBzY2FsYWJpbGl0eVxuICogXG4gKiBAZXhhbXBsZSBFbWJlZGRlZCBNb2RlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBpbXBvcnQgeyBEYXRhYmFzZSB9IGZyb20gJ0Bzb2NoZGIvc29jaGRiJztcbiAqIFxuICogLy8gRGlyZWN0IEZGSSAtIG5vIHNlcnZlciBuZWVkZWRcbiAqIGNvbnN0IGRiID0gYXdhaXQgRGF0YWJhc2Uub3BlbignLi9teWRiJyk7XG4gKiBhd2FpdCBkYi5wdXQoQnVmZmVyLmZyb20oJ2tleScpLCBCdWZmZXIuZnJvbSgndmFsdWUnKSk7XG4gKiBhd2FpdCBkYi5jbG9zZSgpO1xuICogYGBgXG4gKiBcbiAqIEBleGFtcGxlIENvbmN1cnJlbnQgTW9kZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgRGF0YWJhc2UgfSBmcm9tICdAc29jaGRiL3NvY2hkYic7XG4gKiBcbiAqIC8vIE11bHRpcGxlIHByb2Nlc3NlcyBjYW4gYWNjZXNzIHNpbXVsdGFuZW91c2x5XG4gKiBjb25zdCBkYiA9IERhdGFiYXNlLm9wZW5Db25jdXJyZW50KCcuL215ZGInKTtcbiAqIGNvbnNvbGUubG9nKGBDb25jdXJyZW50OiAke2RiLmlzQ29uY3VycmVudH1gKTtcbiAqIGBgYFxuICogXG4gKiBAZXhhbXBsZSBTZXJ2ZXIgTW9kZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgU29jaERCQ2xpZW50IH0gZnJvbSAnQHNvY2hkYi9zb2NoZGInO1xuICogXG4gKiAvLyBDb25uZWN0IHRvIHNlcnZlclxuICogY29uc3QgY2xpZW50ID0gbmV3IFNvY2hEQkNsaWVudCh7IGFkZHJlc3M6ICdsb2NhbGhvc3Q6NTAwNTEnIH0pO1xuICogYXdhaXQgY2xpZW50LnB1dEt2KCdrZXknLCBCdWZmZXIuZnJvbSgndmFsdWUnKSk7XG4gKiBgYGBcbiAqL1xuXG4vLyBWZXJzaW9uXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9ICcwLjQuNCc7XG5cbi8vIEVtYmVkZGVkIG1vZGUgKEZGSSkgLSBORVdcbmV4cG9ydCB7IEVtYmVkZGVkRGF0YWJhc2UsIEVtYmVkZGVkRGF0YWJhc2VDb25maWcgfSBmcm9tICcuL2VtYmVkZGVkJztcbmV4cG9ydCB7IEVtYmVkZGVkVHJhbnNhY3Rpb24gfSBmcm9tICcuL2VtYmVkZGVkJztcbmV4cG9ydCB7IEhuc3dJbmRleCwgSG5zd0NvbmZpZywgSG5zd0JpbmRpbmdzIH0gZnJvbSAnLi9lbWJlZGRlZCc7XG5leHBvcnQgeyBTZWFyY2hSZXN1bHQgYXMgSG5zd1NlYXJjaFJlc3VsdCB9IGZyb20gJy4vZW1iZWRkZWQnO1xuXG4vLyBFbWJlZGRlZCBtb2RlIChGRkkpIC0gQ29udmVuaWVuY2UgYWxpYXNcbmV4cG9ydCB7IEVtYmVkZGVkRGF0YWJhc2UgYXMgRGF0YWJhc2UgfSBmcm9tICcuL2VtYmVkZGVkJztcblxuLy8gTmFtZXNwYWNlIEFQSSAodjAuNC4xKVxuZXhwb3J0IHtcbiAgTmFtZXNwYWNlLFxuICBDb2xsZWN0aW9uLFxuICBEaXN0YW5jZU1ldHJpYyxcbiAgTmFtZXNwYWNlTm90Rm91bmRFcnJvcixcbiAgTmFtZXNwYWNlRXhpc3RzRXJyb3IsXG4gIENvbGxlY3Rpb25Ob3RGb3VuZEVycm9yLFxuICBDb2xsZWN0aW9uRXhpc3RzRXJyb3IsXG59IGZyb20gJy4vbmFtZXNwYWNlJztcbmV4cG9ydCB0eXBlIHtcbiAgTmFtZXNwYWNlQ29uZmlnLFxuICBDb2xsZWN0aW9uQ29uZmlnLFxuICBTZWFyY2hSZXF1ZXN0LFxuICBTZWFyY2hSZXN1bHQgYXMgTmFtZXNwYWNlU2VhcmNoUmVzdWx0LFxufSBmcm9tICcuL25hbWVzcGFjZSc7XG5cbi8vIFF1ZXVlIEFQSSAodjAuNC4xKVxuZXhwb3J0IHtcbiAgUHJpb3JpdHlRdWV1ZSxcbiAgVGFza1N0YXRlLFxuICBjcmVhdGVRdWV1ZSxcbn0gZnJvbSAnLi9xdWV1ZSc7XG5leHBvcnQgdHlwZSB7XG4gIFF1ZXVlQ29uZmlnLFxuICBRdWV1ZUtleSxcbiAgVGFzayxcbiAgUXVldWVTdGF0cyxcbn0gZnJvbSAnLi9xdWV1ZSc7XG5cbi8vIFNlbWFudGljIENhY2hlICh2MC40LjEpXG5leHBvcnQge1xuICBTZW1hbnRpY0NhY2hlLFxufSBmcm9tICcuL3NlbWFudGljLWNhY2hlJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2FjaGVFbnRyeSxcbiAgQ2FjaGVIaXQsXG4gIENhY2hlU3RhdHMsXG59IGZyb20gJy4vc2VtYW50aWMtY2FjaGUnO1xuXG4vLyBDb250ZXh0IEJ1aWxkZXIgKHYwLjQuMSlcbmV4cG9ydCB7XG4gIENvbnRleHRRdWVyeUJ1aWxkZXIsXG4gIENvbnRleHRPdXRwdXRGb3JtYXQsXG4gIFRydW5jYXRpb25TdHJhdGVneSxcbiAgY3JlYXRlQ29udGV4dEJ1aWxkZXIsXG59IGZyb20gJy4vY29udGV4dC1idWlsZGVyJztcbmV4cG9ydCB0eXBlIHtcbiAgQ29udGV4dFJlc3VsdCxcbn0gZnJvbSAnLi9jb250ZXh0LWJ1aWxkZXInO1xuXG4vLyBNZW1vcnkgU3lzdGVtICh2MC40LjIpXG5leHBvcnQge1xuICBFeHRyYWN0aW9uUGlwZWxpbmUsXG4gIENvbnNvbGlkYXRvcixcbiAgSHlicmlkUmV0cmlldmVyLFxuICBBbGxvd2VkU2V0LFxufSBmcm9tICcuL21lbW9yeSc7XG5leHBvcnQgdHlwZSB7XG4gIEVudGl0eSxcbiAgUmVsYXRpb24sXG4gIEFzc2VydGlvbixcbiAgUmF3QXNzZXJ0aW9uLFxuICBDYW5vbmljYWxGYWN0LFxuICBFeHRyYWN0aW9uUmVzdWx0LFxuICBFeHRyYWN0aW9uU2NoZW1hLFxuICBDb25zb2xpZGF0aW9uQ29uZmlnLFxuICBSZXRyaWV2YWxDb25maWcsXG4gIFJldHJpZXZhbFJlc3VsdCxcbiAgUmV0cmlldmFsUmVzcG9uc2UsXG59IGZyb20gJy4vbWVtb3J5JztcblxuLy8gTUNQIC0gTW9kZWwgQ29udGV4dCBQcm90b2NvbCAodjAuNC4zKVxuZXhwb3J0IHtcbiAgTWNwU2VydmVyLFxuICBNY3BDbGllbnQsXG4gIE1jcEVycm9yLFxuICBNQ1BfRVJST1JfQ09ERVMsXG59IGZyb20gJy4vbWNwJztcbmV4cG9ydCB0eXBlIHtcbiAgTWNwVG9vbCxcbiAgTWNwVG9vbENhbGwsXG4gIE1jcFRvb2xSZXN1bHQsXG4gIE1jcFJlc291cmNlLFxuICBNY3BSZXNvdXJjZUNvbnRlbnQsXG4gIE1jcFByb21wdCxcbiAgTWNwUHJvbXB0QXJndW1lbnQsXG4gIE1jcFByb21wdE1lc3NhZ2UsXG4gIE1jcFNlcnZlckNhcGFiaWxpdGllcyxcbiAgTWNwU2VydmVyQ29uZmlnLFxuICBNY3BDbGllbnRDb25maWcsXG4gIE1jcFRyYW5zcG9ydCxcbn0gZnJvbSAnLi9tY3AnO1xuXG4vLyBQb2xpY3kgU2VydmljZSAodjAuNC4zKVxuZXhwb3J0IHtcbiAgUG9saWN5U2VydmljZSxcbn0gZnJvbSAnLi9wb2xpY3knO1xuZXhwb3J0IHR5cGUge1xuICBQb2xpY3lSdWxlLFxuICBQb2xpY3lDb25kaXRpb24sXG4gIFBvbGljeUV2YWx1YXRpb24sXG4gIE5hbWVzcGFjZVBvbGljeSxcbiAgTmFtZXNwYWNlR3JhbnQsXG4gIE5hbWVzcGFjZVBlcm1pc3Npb24sXG4gIFBvbGljeUFjdGlvbixcbiAgUG9saWN5UmVxdWVzdCxcbiAgUG9saWN5U2V0LFxuICBQb2xpY3lBdWRpdEVudHJ5LFxufSBmcm9tICcuL3BvbGljeSc7XG5cbi8vIFNlcnZlciBtb2RlIChnUlBDL0lQQylcbmV4cG9ydCB7IFNvY2hEQkNsaWVudCB9IGZyb20gJy4vZ3JwYy1jbGllbnQnO1xuZXhwb3J0IHR5cGUge1xuICBTZWFyY2hSZXN1bHQsXG4gIERvY3VtZW50LFxuICBHcmFwaE5vZGUsXG4gIEdyYXBoRWRnZSxcbn0gZnJvbSAnLi9ncnBjLWNsaWVudCc7XG5cbmV4cG9ydCB7IElwY0NsaWVudCB9IGZyb20gJy4vaXBjLWNsaWVudCc7XG5cbi8vIEZvcm1hdCB1dGlsaXRpZXNcbmV4cG9ydCB7XG4gIFdpcmVGb3JtYXQsXG4gIENvbnRleHRGb3JtYXQsXG4gIENhbm9uaWNhbEZvcm1hdCxcbiAgRm9ybWF0Q2FwYWJpbGl0aWVzLFxuICBGb3JtYXRDb252ZXJzaW9uRXJyb3IsXG59IGZyb20gJy4vZm9ybWF0JztcblxuLy8gVHlwZSBkZWZpbml0aW9uc1xuZXhwb3J0IHsgUXVlcnkgfSBmcm9tICcuL3F1ZXJ5JztcbmV4cG9ydCB0eXBlIHsgUXVlcnlSZXN1bHQgfSBmcm9tICcuL3F1ZXJ5JztcblxuZXhwb3J0IHtcbiAgU29jaERCRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgVHJhbnNhY3Rpb25FcnJvcixcbiAgUHJvdG9jb2xFcnJvcixcbiAgRGF0YWJhc2VFcnJvcixcbiAgLy8gTG9jayBlcnJvcnMgKHYwLjQuMSlcbiAgRXJyb3JDb2RlLFxuICBMb2NrRXJyb3IsXG4gIERhdGFiYXNlTG9ja2VkRXJyb3IsXG4gIExvY2tUaW1lb3V0RXJyb3IsXG4gIEVwb2NoTWlzbWF0Y2hFcnJvcixcbiAgU3BsaXRCcmFpbkVycm9yLFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbi8vIENvbnZlbmllbmNlIGFsaWFzXG5leHBvcnQgeyBTb2NoREJDbGllbnQgYXMgR3JwY0NsaWVudCB9IGZyb20gJy4vZ3JwYy1jbGllbnQnO1xuIl19
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ /**
3
+ * MCP Client Implementation
4
+ *
5
+ * Client for connecting to MCP servers.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.McpClient = void 0;
9
+ const types_1 = require("./types");
10
+ /**
11
+ * MCP Client for connecting to MCP servers
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { McpClient } from '@sochdb/sochdb';
16
+ *
17
+ * const client = new McpClient({
18
+ * serverUri: 'stdio://./mcp-server',
19
+ * transport: 'stdio'
20
+ * });
21
+ *
22
+ * // List available tools
23
+ * const tools = await client.listTools();
24
+ *
25
+ * // Call a tool
26
+ * const result = await client.callTool('db_get', { key: 'user:123' });
27
+ * ```
28
+ */
29
+ class McpClient {
30
+ constructor(config) {
31
+ this.connected = false;
32
+ this.requestId = 0;
33
+ this.config = {
34
+ transport: 'stdio',
35
+ timeout: 30000,
36
+ ...config,
37
+ };
38
+ }
39
+ /**
40
+ * Connect to the MCP server
41
+ */
42
+ async connect() {
43
+ // In a full implementation, this would establish the transport connection
44
+ this.connected = true;
45
+ }
46
+ /**
47
+ * Disconnect from the MCP server
48
+ */
49
+ async disconnect() {
50
+ this.connected = false;
51
+ }
52
+ /**
53
+ * Check if connected
54
+ */
55
+ isConnected() {
56
+ return this.connected;
57
+ }
58
+ /**
59
+ * List available tools
60
+ */
61
+ async listTools() {
62
+ this.ensureConnected();
63
+ // In a full implementation, this would send a tools/list request
64
+ return [];
65
+ }
66
+ /**
67
+ * Call a tool
68
+ */
69
+ async callTool(name, args) {
70
+ this.ensureConnected();
71
+ const callId = `call_${++this.requestId}`;
72
+ // In a full implementation, this would send a tools/call request
73
+ return {
74
+ id: callId,
75
+ content: null,
76
+ isError: true,
77
+ errorMessage: 'Not implemented - use McpServer directly for embedded mode',
78
+ };
79
+ }
80
+ /**
81
+ * List available resources
82
+ */
83
+ async listResources() {
84
+ this.ensureConnected();
85
+ return [];
86
+ }
87
+ /**
88
+ * Read a resource
89
+ */
90
+ async readResource(uri) {
91
+ this.ensureConnected();
92
+ return null;
93
+ }
94
+ /**
95
+ * List available prompts
96
+ */
97
+ async listPrompts() {
98
+ this.ensureConnected();
99
+ return [];
100
+ }
101
+ /**
102
+ * Get prompt messages
103
+ */
104
+ async getPrompt(name, args) {
105
+ this.ensureConnected();
106
+ return null;
107
+ }
108
+ ensureConnected() {
109
+ if (!this.connected) {
110
+ throw new types_1.McpError('Not connected to MCP server', types_1.MCP_ERROR_CODES.INTERNAL_ERROR);
111
+ }
112
+ }
113
+ }
114
+ exports.McpClient = McpClient;
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21jcC9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7O0dBSUc7OztBQUVILG1DQVdpQjtBQUVqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBYSxTQUFTO0lBS3BCLFlBQVksTUFBdUI7UUFIM0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR3BCLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixTQUFTLEVBQUUsT0FBTztZQUNsQixPQUFPLEVBQUUsS0FBSztZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsT0FBTztRQUNYLDBFQUEwRTtRQUMxRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsaUVBQWlFO1FBQ2pFLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBeUI7UUFDcEQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZCLE1BQU0sTUFBTSxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFMUMsaUVBQWlFO1FBQ2pFLE9BQU87WUFDTCxFQUFFLEVBQUUsTUFBTTtZQUNWLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUk7WUFDYixZQUFZLEVBQUUsNERBQTREO1NBQzNFLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsYUFBYTtRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFdBQVc7UUFDZixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQVksRUFBRSxJQUEwQjtRQUN0RCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxnQkFBUSxDQUFDLDZCQUE2QixFQUFFLHVCQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEYsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWxHRCw4QkFrR0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1DUCBDbGllbnQgSW1wbGVtZW50YXRpb25cbiAqIFxuICogQ2xpZW50IGZvciBjb25uZWN0aW5nIHRvIE1DUCBzZXJ2ZXJzLlxuICovXG5cbmltcG9ydCB7XG4gIE1jcFRvb2wsXG4gIE1jcFRvb2xDYWxsLFxuICBNY3BUb29sUmVzdWx0LFxuICBNY3BSZXNvdXJjZSxcbiAgTWNwUmVzb3VyY2VDb250ZW50LFxuICBNY3BQcm9tcHQsXG4gIE1jcFByb21wdE1lc3NhZ2UsXG4gIE1jcENsaWVudENvbmZpZyxcbiAgTWNwRXJyb3IsXG4gIE1DUF9FUlJPUl9DT0RFUyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogTUNQIENsaWVudCBmb3IgY29ubmVjdGluZyB0byBNQ1Agc2VydmVyc1xuICogXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgTWNwQ2xpZW50IH0gZnJvbSAnQHNvY2hkYi9zb2NoZGInO1xuICogXG4gKiBjb25zdCBjbGllbnQgPSBuZXcgTWNwQ2xpZW50KHtcbiAqICAgc2VydmVyVXJpOiAnc3RkaW86Ly8uL21jcC1zZXJ2ZXInLFxuICogICB0cmFuc3BvcnQ6ICdzdGRpbydcbiAqIH0pO1xuICogXG4gKiAvLyBMaXN0IGF2YWlsYWJsZSB0b29sc1xuICogY29uc3QgdG9vbHMgPSBhd2FpdCBjbGllbnQubGlzdFRvb2xzKCk7XG4gKiBcbiAqIC8vIENhbGwgYSB0b29sXG4gKiBjb25zdCByZXN1bHQgPSBhd2FpdCBjbGllbnQuY2FsbFRvb2woJ2RiX2dldCcsIHsga2V5OiAndXNlcjoxMjMnIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBNY3BDbGllbnQge1xuICBwcml2YXRlIGNvbmZpZzogTWNwQ2xpZW50Q29uZmlnO1xuICBwcml2YXRlIGNvbm5lY3RlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlcXVlc3RJZCA9IDA7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBNY3BDbGllbnRDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIHRyYW5zcG9ydDogJ3N0ZGlvJyxcbiAgICAgIHRpbWVvdXQ6IDMwMDAwLFxuICAgICAgLi4uY29uZmlnLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29ubmVjdCB0byB0aGUgTUNQIHNlcnZlclxuICAgKi9cbiAgYXN5bmMgY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBJbiBhIGZ1bGwgaW1wbGVtZW50YXRpb24sIHRoaXMgd291bGQgZXN0YWJsaXNoIHRoZSB0cmFuc3BvcnQgY29ubmVjdGlvblxuICAgIHRoaXMuY29ubmVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNjb25uZWN0IGZyb20gdGhlIE1DUCBzZXJ2ZXJcbiAgICovXG4gIGFzeW5jIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBjb25uZWN0ZWRcbiAgICovXG4gIGlzQ29ubmVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbm5lY3RlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0IGF2YWlsYWJsZSB0b29sc1xuICAgKi9cbiAgYXN5bmMgbGlzdFRvb2xzKCk6IFByb21pc2U8TWNwVG9vbFtdPiB7XG4gICAgdGhpcy5lbnN1cmVDb25uZWN0ZWQoKTtcbiAgICAvLyBJbiBhIGZ1bGwgaW1wbGVtZW50YXRpb24sIHRoaXMgd291bGQgc2VuZCBhIHRvb2xzL2xpc3QgcmVxdWVzdFxuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsIGEgdG9vbFxuICAgKi9cbiAgYXN5bmMgY2FsbFRvb2wobmFtZTogc3RyaW5nLCBhcmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxNY3BUb29sUmVzdWx0PiB7XG4gICAgdGhpcy5lbnN1cmVDb25uZWN0ZWQoKTtcbiAgICBcbiAgICBjb25zdCBjYWxsSWQgPSBgY2FsbF8keysrdGhpcy5yZXF1ZXN0SWR9YDtcbiAgICBcbiAgICAvLyBJbiBhIGZ1bGwgaW1wbGVtZW50YXRpb24sIHRoaXMgd291bGQgc2VuZCBhIHRvb2xzL2NhbGwgcmVxdWVzdFxuICAgIHJldHVybiB7XG4gICAgICBpZDogY2FsbElkLFxuICAgICAgY29udGVudDogbnVsbCxcbiAgICAgIGlzRXJyb3I6IHRydWUsXG4gICAgICBlcnJvck1lc3NhZ2U6ICdOb3QgaW1wbGVtZW50ZWQgLSB1c2UgTWNwU2VydmVyIGRpcmVjdGx5IGZvciBlbWJlZGRlZCBtb2RlJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3QgYXZhaWxhYmxlIHJlc291cmNlc1xuICAgKi9cbiAgYXN5bmMgbGlzdFJlc291cmNlcygpOiBQcm9taXNlPE1jcFJlc291cmNlW10+IHtcbiAgICB0aGlzLmVuc3VyZUNvbm5lY3RlZCgpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkIGEgcmVzb3VyY2VcbiAgICovXG4gIGFzeW5jIHJlYWRSZXNvdXJjZSh1cmk6IHN0cmluZyk6IFByb21pc2U8TWNwUmVzb3VyY2VDb250ZW50IHwgbnVsbD4ge1xuICAgIHRoaXMuZW5zdXJlQ29ubmVjdGVkKCk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhdmFpbGFibGUgcHJvbXB0c1xuICAgKi9cbiAgYXN5bmMgbGlzdFByb21wdHMoKTogUHJvbWlzZTxNY3BQcm9tcHRbXT4ge1xuICAgIHRoaXMuZW5zdXJlQ29ubmVjdGVkKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcm9tcHQgbWVzc2FnZXNcbiAgICovXG4gIGFzeW5jIGdldFByb21wdChuYW1lOiBzdHJpbmcsIGFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogUHJvbWlzZTxNY3BQcm9tcHRNZXNzYWdlW10gfCBudWxsPiB7XG4gICAgdGhpcy5lbnN1cmVDb25uZWN0ZWQoKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZW5zdXJlQ29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25uZWN0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBNY3BFcnJvcignTm90IGNvbm5lY3RlZCB0byBNQ1Agc2VydmVyJywgTUNQX0VSUk9SX0NPREVTLklOVEVSTkFMX0VSUk9SKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * MCP (Model Context Protocol) Module
4
+ *
5
+ * Provides MCP server and client implementations for LLM agent integration.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.McpClient = exports.McpServer = void 0;
23
+ __exportStar(require("./types"), exports);
24
+ var server_1 = require("./server");
25
+ Object.defineProperty(exports, "McpServer", { enumerable: true, get: function () { return server_1.McpServer; } });
26
+ var client_1 = require("./client");
27
+ Object.defineProperty(exports, "McpClient", { enumerable: true, get: function () { return client_1.McpClient; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWNwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7OztHQUlHOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QjtBQUN4QixtQ0FBcUM7QUFBNUIsbUdBQUEsU0FBUyxPQUFBO0FBQ2xCLG1DQUFxQztBQUE1QixtR0FBQSxTQUFTLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1DUCAoTW9kZWwgQ29udGV4dCBQcm90b2NvbCkgTW9kdWxlXG4gKiBcbiAqIFByb3ZpZGVzIE1DUCBzZXJ2ZXIgYW5kIGNsaWVudCBpbXBsZW1lbnRhdGlvbnMgZm9yIExMTSBhZ2VudCBpbnRlZ3JhdGlvbi5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCB7IE1jcFNlcnZlciB9IGZyb20gJy4vc2VydmVyJztcbmV4cG9ydCB7IE1jcENsaWVudCB9IGZyb20gJy4vY2xpZW50JztcbiJdfQ==