@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.
- package/README.md +356 -14
- package/_bin/aarch64-apple-darwin/libsochdb_storage.dylib +0 -0
- package/_bin/aarch64-apple-darwin/sochdb-bulk +0 -0
- package/_bin/aarch64-apple-darwin/sochdb-grpc-server +0 -0
- package/_bin/aarch64-apple-darwin/sochdb-server +0 -0
- package/_bin/x86_64-pc-windows-msvc/sochdb-bulk.exe +0 -0
- package/_bin/x86_64-pc-windows-msvc/sochdb-grpc-server.exe +0 -0
- package/_bin/x86_64-pc-windows-msvc/sochdb_storage.dll +0 -0
- package/_bin/x86_64-unknown-linux-gnu/libsochdb_storage.so +0 -0
- package/_bin/x86_64-unknown-linux-gnu/sochdb-bulk +0 -0
- package/_bin/x86_64-unknown-linux-gnu/sochdb-grpc-server +0 -0
- package/_bin/x86_64-unknown-linux-gnu/sochdb-server +0 -0
- package/dist/cjs/embedded/database.js +98 -4
- package/dist/cjs/embedded/ffi/bindings.js +46 -8
- package/dist/cjs/index.js +28 -6
- package/dist/cjs/mcp/client.js +115 -0
- package/dist/cjs/mcp/index.js +28 -0
- package/dist/cjs/mcp/server.js +242 -0
- package/dist/cjs/mcp/types.js +32 -0
- package/dist/cjs/namespace.js +147 -19
- package/dist/cjs/policy/index.js +26 -0
- package/dist/cjs/policy/service.js +394 -0
- package/dist/cjs/policy/types.js +8 -0
- package/dist/esm/embedded/database.js +98 -4
- package/dist/esm/embedded/ffi/bindings.js +48 -8
- package/dist/esm/index.js +28 -6
- package/dist/esm/mcp/client.js +116 -0
- package/dist/esm/mcp/index.js +28 -0
- package/dist/esm/mcp/server.js +244 -0
- package/dist/esm/mcp/types.js +34 -0
- package/dist/esm/namespace.js +150 -19
- package/dist/esm/policy/index.js +26 -0
- package/dist/esm/policy/service.js +396 -0
- package/dist/esm/policy/types.js +8 -0
- package/dist/types/embedded/database.d.ts +66 -1
- package/dist/types/embedded/database.d.ts.map +1 -1
- package/dist/types/embedded/ffi/bindings.d.ts +7 -0
- package/dist/types/embedded/ffi/bindings.d.ts.map +1 -1
- package/dist/types/index.d.ts +23 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/mcp/client.d.ts +69 -0
- package/dist/types/mcp/client.d.ts.map +1 -0
- package/dist/types/mcp/index.d.ts +9 -0
- package/dist/types/mcp/index.d.ts.map +1 -0
- package/dist/types/mcp/server.d.ts +87 -0
- package/dist/types/mcp/server.d.ts.map +1 -0
- package/dist/types/mcp/types.d.ts +124 -0
- package/dist/types/mcp/types.d.ts.map +1 -0
- package/dist/types/namespace.d.ts +13 -0
- package/dist/types/namespace.d.ts.map +1 -1
- package/dist/types/policy/index.d.ts +8 -0
- package/dist/types/policy/index.d.ts.map +1 -0
- package/dist/types/policy/service.d.ts +115 -0
- package/dist/types/policy/service.d.ts.map +1 -0
- package/dist/types/policy/types.d.ts +102 -0
- package/dist/types/policy/types.d.ts.map +1 -0
- 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
|
-
|
|
41
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
80
|
+
const TxnHandle = defineStructType('TxnHandle', {
|
|
62
81
|
txn_id: 'uint64',
|
|
63
82
|
snapshot_ts: 'uint64'
|
|
64
83
|
});
|
|
65
|
-
const 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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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,
|
|
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==
|