@ultipa-graph/ultipa-driver 6.2.1 → 6.2.3

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/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * GQLDB Node.js Driver - A gRPC-based client for GQLDB graph database.
3
3
  */
4
- export { GqldbClient, QueryConfig, InsertConfig, HealthWatcher } from './client';
4
+ export { GqldbClient, QueryConfig, InsertConfig, DeleteConfig, HealthWatcher } from './client';
5
5
  export { GqldbConfig, ConfigBuilder, createConfig, validateConfig, DEFAULT_CONFIG } from './config';
6
6
  export { PropertyType, GraphType, HealthStatus, CacheType, InsertType, TypedValue, createTypedValue, typedValueToJS, Parameter, createParameter, Point, Point3D, NodeData, EdgeData, GraphInfo, TransactionInfo, ASTCacheStats, PlanCacheStats, CacheStats, Statistics, SystemMetrics, CpuMetrics, MemoryMetrics, DiskIOMetrics, StorageMetrics, NetworkMetrics, ExportedNode, ExportedEdge, BulkCreateNodesOptions, BulkCreateEdgesOptions, BulkImportOptions, BulkImportSession, CheckpointResult, EndBulkImportResult, AbortBulkImportResult, BulkImportStatus, Schema, PropertyDef, Header, Table, Attr, } from './types';
7
- export { Response, Row, InsertNodesResult, InsertEdgesResult, DeleteResult, ExportNodesResult, ExportEdgesResult, Node, Edge, Path, NodeResult, EdgeResult, } from './response';
7
+ export { Response, Row, InsertNodesResult, InsertEdgesResult, ExportNodesResult, ExportEdgesResult, Node, Edge, Path, NodeResult, EdgeResult, } from './response';
8
8
  export { printNodes, printNodesWithoutSchema, printEdges, printEdgesWithoutSchema, printPaths, printTable, printAny, } from './printers';
9
9
  export { Session, SessionManager } from './session';
10
10
  export { Transaction, TransactionManager } from './transaction';
package/dist/index.js CHANGED
@@ -88,4 +88,4 @@ Object.defineProperty(exports, "TypeConversionError", { enumerable: true, get: f
88
88
  Object.defineProperty(exports, "UnsupportedTypeError", { enumerable: true, get: function () { return errors_1.UnsupportedTypeError; } });
89
89
  // Version
90
90
  exports.VERSION = '0.1.0';
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7O0FBRUgsY0FBYztBQUNkLG1DQUFpRjtBQUF4RSxxR0FBQSxXQUFXLE9BQUE7QUFFcEIsZ0JBQWdCO0FBQ2hCLG1DQUFvRztBQUE5RSx1R0FBQSxhQUFhLE9BQUE7QUFBRSxzR0FBQSxZQUFZLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFFakYsUUFBUTtBQUNSLGlDQTBDaUI7QUF6Q2YscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBQ1QscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBQ1QsbUdBQUEsVUFBVSxPQUFBO0FBRVYseUdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsdUdBQUEsY0FBYyxPQUFBO0FBRWQsd0dBQUEsZUFBZSxPQUFBO0FBQ2YsOEZBQUEsS0FBSyxPQUFBO0FBQ0wsZ0dBQUEsT0FBTyxPQUFBO0FBZ0NULFdBQVc7QUFDWCx1Q0Fhb0I7QUFabEIsb0dBQUEsUUFBUSxPQUFBO0FBQ1IsK0ZBQUEsR0FBRyxPQUFBO0FBYUwsV0FBVztBQUNYLHVDQVFvQjtBQVBsQixzR0FBQSxVQUFVLE9BQUE7QUFDVixtSEFBQSx1QkFBdUIsT0FBQTtBQUN2QixzR0FBQSxVQUFVLE9BQUE7QUFDVixtSEFBQSx1QkFBdUIsT0FBQTtBQUN2QixzR0FBQSxVQUFVLE9BQUE7QUFDVixzR0FBQSxVQUFVLE9BQUE7QUFDVixvR0FBQSxRQUFRLE9BQUE7QUFHVixVQUFVO0FBQ1YscUNBQW9EO0FBQWxDLHlHQUFBLGNBQWMsT0FBQTtBQUVoQyxjQUFjO0FBQ2QsNkNBQWdFO0FBQTFDLGlIQUFBLGtCQUFrQixPQUFBO0FBRXhDLGFBQWE7QUFDYiwyQ0FBOEM7QUFBckMsNEdBQUEsY0FBYyxPQUFBO0FBRXZCLFdBQVc7QUFDWCx1Q0FBNEc7QUFBbkcsZ0hBQUEsb0JBQW9CLE9BQUE7QUFBa0IseUdBQUEsYUFBYSxPQUFBO0FBQUUscUhBQUEseUJBQXlCLE9BQUE7QUFFdkYsU0FBUztBQUNULG1DQWdDa0I7QUEvQmhCLG9HQUFBLFVBQVUsT0FBQTtBQUNWLHNHQUFBLFlBQVksT0FBQTtBQUNaLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLCtHQUFBLHFCQUFxQixPQUFBO0FBQ3JCLCtHQUFBLHFCQUFxQixPQUFBO0FBQ3JCLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLGdIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGdIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLGtIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHFIQUFBLDJCQUEyQixPQUFBO0FBQzNCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLHlHQUFBLGVBQWUsT0FBQTtBQUNmLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLGdIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDhHQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDhHQUFBLG9CQUFvQixPQUFBO0FBR3RCLFVBQVU7QUFDRyxRQUFBLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdRTERCIE5vZGUuanMgRHJpdmVyIC0gQSBnUlBDLWJhc2VkIGNsaWVudCBmb3IgR1FMREIgZ3JhcGggZGF0YWJhc2UuXG4gKi9cblxuLy8gTWFpbiBjbGllbnRcbmV4cG9ydCB7IEdxbGRiQ2xpZW50LCBRdWVyeUNvbmZpZywgSW5zZXJ0Q29uZmlnLCBIZWFsdGhXYXRjaGVyIH0gZnJvbSAnLi9jbGllbnQnO1xuXG4vLyBDb25maWd1cmF0aW9uXG5leHBvcnQgeyBHcWxkYkNvbmZpZywgQ29uZmlnQnVpbGRlciwgY3JlYXRlQ29uZmlnLCB2YWxpZGF0ZUNvbmZpZywgREVGQVVMVF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XG5cbi8vIFR5cGVzXG5leHBvcnQge1xuICBQcm9wZXJ0eVR5cGUsXG4gIEdyYXBoVHlwZSxcbiAgSGVhbHRoU3RhdHVzLFxuICBDYWNoZVR5cGUsXG4gIEluc2VydFR5cGUsXG4gIFR5cGVkVmFsdWUsXG4gIGNyZWF0ZVR5cGVkVmFsdWUsXG4gIHR5cGVkVmFsdWVUb0pTLFxuICBQYXJhbWV0ZXIsXG4gIGNyZWF0ZVBhcmFtZXRlcixcbiAgUG9pbnQsXG4gIFBvaW50M0QsXG4gIE5vZGVEYXRhLFxuICBFZGdlRGF0YSxcbiAgR3JhcGhJbmZvLFxuICBUcmFuc2FjdGlvbkluZm8sXG4gIEFTVENhY2hlU3RhdHMsXG4gIFBsYW5DYWNoZVN0YXRzLFxuICBDYWNoZVN0YXRzLFxuICBTdGF0aXN0aWNzLFxuICBTeXN0ZW1NZXRyaWNzLFxuICBDcHVNZXRyaWNzLFxuICBNZW1vcnlNZXRyaWNzLFxuICBEaXNrSU9NZXRyaWNzLFxuICBTdG9yYWdlTWV0cmljcyxcbiAgTmV0d29ya01ldHJpY3MsXG4gIEV4cG9ydGVkTm9kZSxcbiAgRXhwb3J0ZWRFZGdlLFxuICBCdWxrQ3JlYXRlTm9kZXNPcHRpb25zLFxuICBCdWxrQ3JlYXRlRWRnZXNPcHRpb25zLFxuICBCdWxrSW1wb3J0T3B0aW9ucyxcbiAgQnVsa0ltcG9ydFNlc3Npb24sXG4gIENoZWNrcG9pbnRSZXN1bHQsXG4gIEVuZEJ1bGtJbXBvcnRSZXN1bHQsXG4gIEFib3J0QnVsa0ltcG9ydFJlc3VsdCxcbiAgQnVsa0ltcG9ydFN0YXR1cyxcbiAgU2NoZW1hLFxuICBQcm9wZXJ0eURlZixcbiAgSGVhZGVyLFxuICBUYWJsZSxcbiAgQXR0cixcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFJlc3BvbnNlXG5leHBvcnQge1xuICBSZXNwb25zZSxcbiAgUm93LFxuICBJbnNlcnROb2Rlc1Jlc3VsdCxcbiAgSW5zZXJ0RWRnZXNSZXN1bHQsXG4gIERlbGV0ZVJlc3VsdCxcbiAgRXhwb3J0Tm9kZXNSZXN1bHQsXG4gIEV4cG9ydEVkZ2VzUmVzdWx0LFxuICBOb2RlLFxuICBFZGdlLFxuICBQYXRoLFxuICBOb2RlUmVzdWx0LFxuICBFZGdlUmVzdWx0LFxufSBmcm9tICcuL3Jlc3BvbnNlJztcblxuLy8gUHJpbnRlcnNcbmV4cG9ydCB7XG4gIHByaW50Tm9kZXMsXG4gIHByaW50Tm9kZXNXaXRob3V0U2NoZW1hLFxuICBwcmludEVkZ2VzLFxuICBwcmludEVkZ2VzV2l0aG91dFNjaGVtYSxcbiAgcHJpbnRQYXRocyxcbiAgcHJpbnRUYWJsZSxcbiAgcHJpbnRBbnksXG59IGZyb20gJy4vcHJpbnRlcnMnO1xuXG4vLyBTZXNzaW9uXG5leHBvcnQgeyBTZXNzaW9uLCBTZXNzaW9uTWFuYWdlciB9IGZyb20gJy4vc2Vzc2lvbic7XG5cbi8vIFRyYW5zYWN0aW9uXG5leHBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbi8vIENvbm5lY3Rpb25cbmV4cG9ydCB7IENvbm5lY3Rpb25Qb29sIH0gZnJvbSAnLi9jb25uZWN0aW9uJztcblxuLy8gU2VydmljZXNcbmV4cG9ydCB7IGNyZWF0ZVNlcnZpY2VDbGllbnRzLCBTZXJ2aWNlQ2xpZW50cywgcHJvbWlzaWZ5Q2FsbCwgcHJvbWlzaWZ5Q2FsbFdpdGhEZWFkbGluZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vLyBFcnJvcnNcbmV4cG9ydCB7XG4gIEdxbGRiRXJyb3IsXG4gIE5vSG9zdHNFcnJvcixcbiAgSW52YWxpZFRpbWVvdXRFcnJvcixcbiAgTm9Db25uZWN0aW9uRXJyb3IsXG4gIENvbm5lY3Rpb25DbG9zZWRFcnJvcixcbiAgQ29ubmVjdGlvbkZhaWxlZEVycm9yLFxuICBBbGxIb3N0c0ZhaWxlZEVycm9yLFxuICBIZWFsdGhDaGVja0ZhaWxlZEVycm9yLFxuICBOb3RMb2dnZWRJbkVycm9yLFxuICBMb2dpbkZhaWxlZEVycm9yLFxuICBMb2dvdXRGYWlsZWRFcnJvcixcbiAgU2Vzc2lvbkV4cGlyZWRFcnJvcixcbiAgSW52YWxpZFNlc3Npb25FcnJvcixcbiAgTm9UcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvbkZhaWxlZEVycm9yLFxuICBUcmFuc2FjdGlvbk5vdEZvdW5kRXJyb3IsXG4gIFRyYW5zYWN0aW9uQWxyZWFkeU9wZW5FcnJvcixcbiAgUXVlcnlGYWlsZWRFcnJvcixcbiAgUXVlcnlUaW1lb3V0RXJyb3IsXG4gIEludmFsaWRRdWVyeUVycm9yLFxuICBFbXB0eVF1ZXJ5RXJyb3IsXG4gIEdyYXBoTm90Rm91bmRFcnJvcixcbiAgR3JhcGhFeGlzdHNFcnJvcixcbiAgQ3JlYXRlR3JhcGhGYWlsZWRFcnJvcixcbiAgRHJvcEdyYXBoRmFpbGVkRXJyb3IsXG4gIEluc2VydEZhaWxlZEVycm9yLFxuICBEZWxldGVGYWlsZWRFcnJvcixcbiAgRXhwb3J0RmFpbGVkRXJyb3IsXG4gIEludmFsaWRUeXBlRXJyb3IsXG4gIFR5cGVDb252ZXJzaW9uRXJyb3IsXG4gIFVuc3VwcG9ydGVkVHlwZUVycm9yLFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbi8vIFZlcnNpb25cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzAuMS4wJztcbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7O0FBRUgsY0FBYztBQUNkLG1DQUErRjtBQUF0RixxR0FBQSxXQUFXLE9BQUE7QUFFcEIsZ0JBQWdCO0FBQ2hCLG1DQUFvRztBQUE5RSx1R0FBQSxhQUFhLE9BQUE7QUFBRSxzR0FBQSxZQUFZLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFFakYsUUFBUTtBQUNSLGlDQTBDaUI7QUF6Q2YscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBQ1QscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBQ1QsbUdBQUEsVUFBVSxPQUFBO0FBRVYseUdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsdUdBQUEsY0FBYyxPQUFBO0FBRWQsd0dBQUEsZUFBZSxPQUFBO0FBQ2YsOEZBQUEsS0FBSyxPQUFBO0FBQ0wsZ0dBQUEsT0FBTyxPQUFBO0FBZ0NULFdBQVc7QUFDWCx1Q0FZb0I7QUFYbEIsb0dBQUEsUUFBUSxPQUFBO0FBQ1IsK0ZBQUEsR0FBRyxPQUFBO0FBWUwsV0FBVztBQUNYLHVDQVFvQjtBQVBsQixzR0FBQSxVQUFVLE9BQUE7QUFDVixtSEFBQSx1QkFBdUIsT0FBQTtBQUN2QixzR0FBQSxVQUFVLE9BQUE7QUFDVixtSEFBQSx1QkFBdUIsT0FBQTtBQUN2QixzR0FBQSxVQUFVLE9BQUE7QUFDVixzR0FBQSxVQUFVLE9BQUE7QUFDVixvR0FBQSxRQUFRLE9BQUE7QUFHVixVQUFVO0FBQ1YscUNBQW9EO0FBQWxDLHlHQUFBLGNBQWMsT0FBQTtBQUVoQyxjQUFjO0FBQ2QsNkNBQWdFO0FBQTFDLGlIQUFBLGtCQUFrQixPQUFBO0FBRXhDLGFBQWE7QUFDYiwyQ0FBOEM7QUFBckMsNEdBQUEsY0FBYyxPQUFBO0FBRXZCLFdBQVc7QUFDWCx1Q0FBNEc7QUFBbkcsZ0hBQUEsb0JBQW9CLE9BQUE7QUFBa0IseUdBQUEsYUFBYSxPQUFBO0FBQUUscUhBQUEseUJBQXlCLE9BQUE7QUFFdkYsU0FBUztBQUNULG1DQWdDa0I7QUEvQmhCLG9HQUFBLFVBQVUsT0FBQTtBQUNWLHNHQUFBLFlBQVksT0FBQTtBQUNaLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLCtHQUFBLHFCQUFxQixPQUFBO0FBQ3JCLCtHQUFBLHFCQUFxQixPQUFBO0FBQ3JCLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLGdIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGdIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLGtIQUFBLHdCQUF3QixPQUFBO0FBQ3hCLHFIQUFBLDJCQUEyQixPQUFBO0FBQzNCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLHlHQUFBLGVBQWUsT0FBQTtBQUNmLDRHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLGdIQUFBLHNCQUFzQixPQUFBO0FBQ3RCLDhHQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDJHQUFBLGlCQUFpQixPQUFBO0FBQ2pCLDBHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDZHQUFBLG1CQUFtQixPQUFBO0FBQ25CLDhHQUFBLG9CQUFvQixPQUFBO0FBR3RCLFVBQVU7QUFDRyxRQUFBLE9BQU8sR0FBRyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdRTERCIE5vZGUuanMgRHJpdmVyIC0gQSBnUlBDLWJhc2VkIGNsaWVudCBmb3IgR1FMREIgZ3JhcGggZGF0YWJhc2UuXG4gKi9cblxuLy8gTWFpbiBjbGllbnRcbmV4cG9ydCB7IEdxbGRiQ2xpZW50LCBRdWVyeUNvbmZpZywgSW5zZXJ0Q29uZmlnLCBEZWxldGVDb25maWcsIEhlYWx0aFdhdGNoZXIgfSBmcm9tICcuL2NsaWVudCc7XG5cbi8vIENvbmZpZ3VyYXRpb25cbmV4cG9ydCB7IEdxbGRiQ29uZmlnLCBDb25maWdCdWlsZGVyLCBjcmVhdGVDb25maWcsIHZhbGlkYXRlQ29uZmlnLCBERUZBVUxUX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcblxuLy8gVHlwZXNcbmV4cG9ydCB7XG4gIFByb3BlcnR5VHlwZSxcbiAgR3JhcGhUeXBlLFxuICBIZWFsdGhTdGF0dXMsXG4gIENhY2hlVHlwZSxcbiAgSW5zZXJ0VHlwZSxcbiAgVHlwZWRWYWx1ZSxcbiAgY3JlYXRlVHlwZWRWYWx1ZSxcbiAgdHlwZWRWYWx1ZVRvSlMsXG4gIFBhcmFtZXRlcixcbiAgY3JlYXRlUGFyYW1ldGVyLFxuICBQb2ludCxcbiAgUG9pbnQzRCxcbiAgTm9kZURhdGEsXG4gIEVkZ2VEYXRhLFxuICBHcmFwaEluZm8sXG4gIFRyYW5zYWN0aW9uSW5mbyxcbiAgQVNUQ2FjaGVTdGF0cyxcbiAgUGxhbkNhY2hlU3RhdHMsXG4gIENhY2hlU3RhdHMsXG4gIFN0YXRpc3RpY3MsXG4gIFN5c3RlbU1ldHJpY3MsXG4gIENwdU1ldHJpY3MsXG4gIE1lbW9yeU1ldHJpY3MsXG4gIERpc2tJT01ldHJpY3MsXG4gIFN0b3JhZ2VNZXRyaWNzLFxuICBOZXR3b3JrTWV0cmljcyxcbiAgRXhwb3J0ZWROb2RlLFxuICBFeHBvcnRlZEVkZ2UsXG4gIEJ1bGtDcmVhdGVOb2Rlc09wdGlvbnMsXG4gIEJ1bGtDcmVhdGVFZGdlc09wdGlvbnMsXG4gIEJ1bGtJbXBvcnRPcHRpb25zLFxuICBCdWxrSW1wb3J0U2Vzc2lvbixcbiAgQ2hlY2twb2ludFJlc3VsdCxcbiAgRW5kQnVsa0ltcG9ydFJlc3VsdCxcbiAgQWJvcnRCdWxrSW1wb3J0UmVzdWx0LFxuICBCdWxrSW1wb3J0U3RhdHVzLFxuICBTY2hlbWEsXG4gIFByb3BlcnR5RGVmLFxuICBIZWFkZXIsXG4gIFRhYmxlLFxuICBBdHRyLFxufSBmcm9tICcuL3R5cGVzJztcblxuLy8gUmVzcG9uc2VcbmV4cG9ydCB7XG4gIFJlc3BvbnNlLFxuICBSb3csXG4gIEluc2VydE5vZGVzUmVzdWx0LFxuICBJbnNlcnRFZGdlc1Jlc3VsdCxcbiAgRXhwb3J0Tm9kZXNSZXN1bHQsXG4gIEV4cG9ydEVkZ2VzUmVzdWx0LFxuICBOb2RlLFxuICBFZGdlLFxuICBQYXRoLFxuICBOb2RlUmVzdWx0LFxuICBFZGdlUmVzdWx0LFxufSBmcm9tICcuL3Jlc3BvbnNlJztcblxuLy8gUHJpbnRlcnNcbmV4cG9ydCB7XG4gIHByaW50Tm9kZXMsXG4gIHByaW50Tm9kZXNXaXRob3V0U2NoZW1hLFxuICBwcmludEVkZ2VzLFxuICBwcmludEVkZ2VzV2l0aG91dFNjaGVtYSxcbiAgcHJpbnRQYXRocyxcbiAgcHJpbnRUYWJsZSxcbiAgcHJpbnRBbnksXG59IGZyb20gJy4vcHJpbnRlcnMnO1xuXG4vLyBTZXNzaW9uXG5leHBvcnQgeyBTZXNzaW9uLCBTZXNzaW9uTWFuYWdlciB9IGZyb20gJy4vc2Vzc2lvbic7XG5cbi8vIFRyYW5zYWN0aW9uXG5leHBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbi8vIENvbm5lY3Rpb25cbmV4cG9ydCB7IENvbm5lY3Rpb25Qb29sIH0gZnJvbSAnLi9jb25uZWN0aW9uJztcblxuLy8gU2VydmljZXNcbmV4cG9ydCB7IGNyZWF0ZVNlcnZpY2VDbGllbnRzLCBTZXJ2aWNlQ2xpZW50cywgcHJvbWlzaWZ5Q2FsbCwgcHJvbWlzaWZ5Q2FsbFdpdGhEZWFkbGluZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG4vLyBFcnJvcnNcbmV4cG9ydCB7XG4gIEdxbGRiRXJyb3IsXG4gIE5vSG9zdHNFcnJvcixcbiAgSW52YWxpZFRpbWVvdXRFcnJvcixcbiAgTm9Db25uZWN0aW9uRXJyb3IsXG4gIENvbm5lY3Rpb25DbG9zZWRFcnJvcixcbiAgQ29ubmVjdGlvbkZhaWxlZEVycm9yLFxuICBBbGxIb3N0c0ZhaWxlZEVycm9yLFxuICBIZWFsdGhDaGVja0ZhaWxlZEVycm9yLFxuICBOb3RMb2dnZWRJbkVycm9yLFxuICBMb2dpbkZhaWxlZEVycm9yLFxuICBMb2dvdXRGYWlsZWRFcnJvcixcbiAgU2Vzc2lvbkV4cGlyZWRFcnJvcixcbiAgSW52YWxpZFNlc3Npb25FcnJvcixcbiAgTm9UcmFuc2FjdGlvbkVycm9yLFxuICBUcmFuc2FjdGlvbkZhaWxlZEVycm9yLFxuICBUcmFuc2FjdGlvbk5vdEZvdW5kRXJyb3IsXG4gIFRyYW5zYWN0aW9uQWxyZWFkeU9wZW5FcnJvcixcbiAgUXVlcnlGYWlsZWRFcnJvcixcbiAgUXVlcnlUaW1lb3V0RXJyb3IsXG4gIEludmFsaWRRdWVyeUVycm9yLFxuICBFbXB0eVF1ZXJ5RXJyb3IsXG4gIEdyYXBoTm90Rm91bmRFcnJvcixcbiAgR3JhcGhFeGlzdHNFcnJvcixcbiAgQ3JlYXRlR3JhcGhGYWlsZWRFcnJvcixcbiAgRHJvcEdyYXBoRmFpbGVkRXJyb3IsXG4gIEluc2VydEZhaWxlZEVycm9yLFxuICBEZWxldGVGYWlsZWRFcnJvcixcbiAgRXhwb3J0RmFpbGVkRXJyb3IsXG4gIEludmFsaWRUeXBlRXJyb3IsXG4gIFR5cGVDb252ZXJzaW9uRXJyb3IsXG4gIFVuc3VwcG9ydGVkVHlwZUVycm9yLFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbi8vIFZlcnNpb25cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzAuMS4wJztcbiJdfQ==
@@ -3,6 +3,7 @@ syntax = "proto3";
3
3
  package gqldb;
4
4
 
5
5
  option go_package = "github.com/zhangjsff/gqldb-grpc/proto";
6
+ option csharp_namespace = "Gqldb.Proto";
6
7
 
7
8
  // =============================================================================
8
9
  // Enums
@@ -110,6 +111,17 @@ message LoginResponse {
110
111
  bool is_cluster = 10;
111
112
  string cluster_id = 11;
112
113
  int32 partition_count = 12;
114
+ // Capability tokens advertising supported features. Drivers test for
115
+ // membership instead of parsing server_version. Tokens are stable
116
+ // snake_case identifiers; older servers omit this field, drivers must
117
+ // treat the empty case as "no capabilities advertised". See
118
+ // server_bugs_open20.md #6.
119
+ repeated string capabilities = 20;
120
+ // Session's current graph immediately after Login. Equals
121
+ // req.default_graph when supplied (and validated), otherwise empty.
122
+ // Lets new drivers seed their local "current graph" cache without a
123
+ // follow-up USE GRAPH round-trip. Old servers leave this empty.
124
+ string current_graph = 21;
113
125
  }
114
126
 
115
127
  message LogoutRequest {
@@ -161,6 +173,48 @@ message GqlResponse {
161
173
  bool has_more = 4;
162
174
  repeated string warnings = 5;
163
175
  int64 rows_affected = 6; // For DML operations (INSERT/UPDATE/DELETE)
176
+ // Session's current graph after this query has executed. Always
177
+ // populated on success; reflects the engine's view (covers
178
+ // single/compound USE GRAPH at any position, last-write-wins).
179
+ // Empty means "no graph selected" (e.g. fresh session, or
180
+ // current graph was DROPPed). Drivers update their local cache
181
+ // unconditionally on every successful Gql RPC. Old servers leave
182
+ // this empty; drivers fall back to text parsing in that case.
183
+ // Streaming GqlStream populates only on the final batch
184
+ // (has_more=false); intermediate batches leave it empty.
185
+ string current_graph = 7;
186
+
187
+ // Server-side timing of the underlying query, in nanoseconds. Values
188
+ // are read from the source DB's ResultSet (TimeCost/DiskCost/
189
+ // ComputeCost). Network and client-side time are NOT included —
190
+ // these measure only what the engine spent inside QueryContext.
191
+ //
192
+ // - time_cost_ns: total wall-clock for parse + plan + execute.
193
+ // - disk_cost_ns: subset of time_cost_ns spent in the storage /
194
+ // LSM layer (cursors, point lookups, index
195
+ // reads).
196
+ // - compute_cost_ns: subset of time_cost_ns spent in the in-memory
197
+ // compute engine (k-hop, shortest path, algo.*
198
+ // procedures via the topology accelerator).
199
+ // Zero when the graph has compute DISABLED or
200
+ // the query path did not invoke the accelerator.
201
+ //
202
+ // The three are not mutually exclusive of all of time_cost_ns —
203
+ // (time_cost_ns - disk_cost_ns - compute_cost_ns) is the "other"
204
+ // bucket (parser, planner, RBAC, result marshaling).
205
+ //
206
+ // Streaming: populated only on the final batch (has_more=false),
207
+ // matching the current_graph / rows_affected pattern. Intermediate
208
+ // batches leave them zero — TimeCost is only valid after iteration
209
+ // has completed. Drivers should read the values from the final
210
+ // frame.
211
+ //
212
+ // Proto3 additive: pre-change drivers ignore these fields. Old
213
+ // servers omit them, so new drivers must treat zero as "not
214
+ // reported" and not "query took zero time".
215
+ int64 time_cost_ns = 8;
216
+ int64 disk_cost_ns = 9;
217
+ int64 compute_cost_ns = 10;
164
218
  }
165
219
 
166
220
  message ExplainResponse {
@@ -180,10 +234,6 @@ service DataService {
180
234
  rpc InsertNodes(InsertNodesRequest) returns (InsertNodesResponse);
181
235
  // InsertEdges inserts multiple edges into a graph.
182
236
  rpc InsertEdges(InsertEdgesRequest) returns (InsertEdgesResponse);
183
- // DeleteNodes deletes nodes from a graph.
184
- rpc DeleteNodes(DeleteNodesRequest) returns (DeleteNodesResponse);
185
- // DeleteEdges deletes edges from a graph.
186
- rpc DeleteEdges(DeleteEdgesRequest) returns (DeleteEdgesResponse);
187
237
  // Export streams graph data in JSON Lines format (nodes and/or edges).
188
238
  rpc Export(ExportRequest) returns (stream ExportResponse);
189
239
  }
@@ -199,16 +249,41 @@ message EdgeData {
199
249
  string from_node_id = 2;
200
250
  string to_node_id = 3;
201
251
  map<string, TypedValue> properties = 4;
252
+ string id = 5; // Optional custom edge ID; requires EDGE_ID enabled on the target graph (if empty, auto-generated; rejected if EDGE_ID is disabled)
253
+ }
254
+
255
+ // InsertMode selects duplicate-`_id` semantics for INSERT/UPSERT
256
+ // operations.
257
+ //
258
+ // - INSERT_MODE_NORMAL: error if `_id` already exists.
259
+ // - INSERT_MODE_OVERWRITE: REPLACE existing entity wholesale on
260
+ // duplicate `_id`. Existing fields not in the write are LOST.
261
+ // - INSERT_MODE_UPSERT: MERGE new properties into existing entity
262
+ // on duplicate `_id`. Existing fields not in the write are
263
+ // PRESERVED; properties in the write OVERWRITE existing values.
264
+ //
265
+ // REPLACE and MERGE are different semantics; the single enum makes
266
+ // the mutually-exclusive choice explicit (replaces the previous pair
267
+ // of `overwrite`/`upsert` boolean flags).
268
+ enum InsertMode {
269
+ INSERT_MODE_NORMAL = 0;
270
+ INSERT_MODE_OVERWRITE = 1;
271
+ INSERT_MODE_UPSERT = 2;
202
272
  }
203
273
 
204
274
  // BulkCreateNodesOptions configures bulk node creation behavior.
205
275
  message BulkCreateNodesOptions {
206
- bool overwrite = 1; // Skip existence check and overwrite if node ID already exists
276
+ // mode selects duplicate-`_id` semantics. Defaults to
277
+ // INSERT_MODE_NORMAL (zero value).
278
+ InsertMode mode = 1;
207
279
  }
208
280
 
209
281
  // BulkCreateEdgesOptions configures bulk edge creation behavior.
282
+ // Edge INSERT_MODE_OVERWRITE and INSERT_MODE_UPSERT require EDGE_ID
283
+ // enabled on the target graph.
210
284
  message BulkCreateEdgesOptions {
211
285
  bool skip_invalid_nodes = 1; // Skip edges where source/target node doesn't exist
286
+ InsertMode mode = 2; // duplicate-`_id` semantics; defaults to NORMAL
212
287
  }
213
288
 
214
289
  message InsertNodesRequest {
@@ -240,32 +315,6 @@ message InsertEdgesResponse {
240
315
  int64 skipped_count = 5; // Number of edges skipped due to invalid nodes
241
316
  }
242
317
 
243
- message DeleteNodesRequest {
244
- string graph_name = 1;
245
- repeated string node_ids = 2;
246
- repeated string labels = 3;
247
- string where = 4; // Optional WHERE clause
248
- }
249
-
250
- message DeleteNodesResponse {
251
- bool success = 1;
252
- int64 deleted_count = 2;
253
- string message = 3;
254
- }
255
-
256
- message DeleteEdgesRequest {
257
- string graph_name = 1;
258
- repeated string edge_ids = 2;
259
- string label = 3;
260
- string where = 4; // Optional WHERE clause
261
- }
262
-
263
- message DeleteEdgesResponse {
264
- bool success = 1;
265
- int64 deleted_count = 2;
266
- string message = 3;
267
- }
268
-
269
318
  // ExportRequest configures the streaming export.
270
319
  message ExportRequest {
271
320
  string graph_name = 1; // Required: graph to export
@@ -659,8 +708,10 @@ message MemoryMetrics {
659
708
  uint64 heap_alloc = 2; // Heap bytes allocated and in use
660
709
  uint64 heap_sys = 3; // Heap bytes obtained from OS
661
710
  uint64 stack_in_use = 4; // Stack bytes in use
711
+ uint64 total_alloc = 5; // Cumulative bytes allocated (monotonic)
712
+ uint32 num_gc = 6; // Number of completed GC cycles
662
713
  // System memory
663
- uint64 system_total = 5; // Total system memory in bytes
714
+ uint64 system_total = 7; // Total physical memory in bytes
664
715
  uint64 system_available = 8; // Available memory in bytes
665
716
  uint64 system_used = 9; // Used memory in bytes
666
717
  double system_used_percent = 10; // System memory usage percent
@@ -124,6 +124,22 @@ export declare class Response {
124
124
  * internally to keep the local default-graph cache in sync.
125
125
  */
126
126
  readonly currentGraph: string;
127
+ /**
128
+ * Server-side timing (nanoseconds), read from the engine's ResultSet.
129
+ * Network / client-side time is NOT included.
130
+ * - timeCostNs: total wall-clock parse + plan + execute
131
+ * - diskCostNs: subset spent in storage / LSM layer
132
+ * - computeCostNs: subset spent in the in-memory compute engine
133
+ * (k-hop, shortest path, algo.* via topology
134
+ * accelerator); 0 when compute is disabled or
135
+ * the query path did not invoke the accelerator.
136
+ * Old servers omit these proto3 fields → treat 0 as "not reported",
137
+ * not "took zero time". Streaming queries populate only on the
138
+ * final batch (hasMore=false), matching currentGraph / rowsAffected.
139
+ */
140
+ readonly timeCostNs: number;
141
+ readonly diskCostNs: number;
142
+ readonly computeCostNs: number;
127
143
  constructor(columns: string[], rows: Row[], rowCount: number, hasMore: boolean, warnings: string[], rowsAffected?: number,
128
144
  /**
129
145
  * Session's current graph after this RPC executed, as authoritatively
@@ -133,7 +149,21 @@ export declare class Response {
133
149
  * which case the driver falls back to its USE GRAPH text-parsing path
134
150
  * internally to keep the local default-graph cache in sync.
135
151
  */
136
- currentGraph?: string);
152
+ currentGraph?: string,
153
+ /**
154
+ * Server-side timing (nanoseconds), read from the engine's ResultSet.
155
+ * Network / client-side time is NOT included.
156
+ * - timeCostNs: total wall-clock parse + plan + execute
157
+ * - diskCostNs: subset spent in storage / LSM layer
158
+ * - computeCostNs: subset spent in the in-memory compute engine
159
+ * (k-hop, shortest path, algo.* via topology
160
+ * accelerator); 0 when compute is disabled or
161
+ * the query path did not invoke the accelerator.
162
+ * Old servers omit these proto3 fields → treat 0 as "not reported",
163
+ * not "took zero time". Streaming queries populate only on the
164
+ * final batch (hasMore=false), matching currentGraph / rowsAffected.
165
+ */
166
+ timeCostNs?: number, diskCostNs?: number, computeCostNs?: number);
137
167
  /** Check if the response has no rows */
138
168
  isEmpty(): boolean;
139
169
  /** Get the first row */
@@ -220,12 +250,6 @@ export interface InsertEdgesResult {
220
250
  message: string;
221
251
  skippedCount: number;
222
252
  }
223
- /** Result of a delete operation */
224
- export interface DeleteResult {
225
- success: boolean;
226
- deletedCount: number;
227
- message: string;
228
- }
229
253
  /** Configuration for the unified Export operation */
230
254
  export interface ExportConfig {
231
255
  graphName: string;