couchbase
Version:
The official Couchbase Node.js Client Library.
321 lines (320 loc) • 10.9 kB
TypeScript
import { HiResTime } from './binding';
import { Meter } from './metrics';
import { RequestTracer } from './tracing';
/**
* Represents the possible types of values that can be used as span attributes.
*
* Supports primitive types (string, number, boolean) and arrays of these types (allowing null/undefined elements).
*/
export type AttributeValue = string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>;
/**
* Represents the possible input types for timestamps in the observability system.
*
* - `HiResTime`: High-resolution time.
* - `number`: Unix timestamp in milliseconds.
* - `Date`: JavaScript Date object.
*/
export type TimeInput = HiResTime | number | Date;
/**
* @internal
*/
export type OpType = KeyValueOp | DatastructureOp | StreamingOp | AnalyticsMgmtOp | BucketMgmtOp | CollectionMgmtOp | EventingFunctionMgmtOp | QueryIndexMgmtOp | SearchIndexMgmtOp | UserMgmtOp | ViewIndexMgmtOp;
/**
* @internal
*/
export type HttpOpType = StreamingOp | AnalyticsMgmtOp | BucketMgmtOp | CollectionMgmtOp | EventingFunctionMgmtOp | QueryIndexMgmtOp | SearchIndexMgmtOp | UserMgmtOp | ViewIndexMgmtOp;
/**
* @internal
*/
export declare enum KeyValueOp {
Append = "append",
Decrement = "decrement",
Exists = "exists",
Get = "get",
GetAllReplicas = "get_all_replicas",
GetAndLock = "get_and_lock",
GetAndTouch = "get_and_touch",
GetAnyReplica = "get_any_replica",
GetReplica = "get_replica",// this is only for the C++ core replica ops
Increment = "increment",
Insert = "insert",
LookupIn = "lookup_in",
LookupInAllReplicas = "lookup_in_all_replicas",
LookupInAnyReplica = "lookup_in_any_replica",
LookupInReplica = "lookup_in_replica",// this is only for the C++ core replica ops
MutateIn = "mutate_in",
Prepend = "prepend",
RangeScanCancel = "range_scan_cancel",
RangeScanContinue = "range_scan_continue",
RangeScanCreate = "range_scan_create",
Remove = "remove",
Replace = "replace",
Touch = "touch",
Unlock = "unlock",
Upsert = "upsert"
}
/**
* @internal
*/
export declare enum DatastructureOp {
ListGetAll = "list_get_all",
ListGetAt = "list_get_at",
ListIndexOf = "list_index_of",
ListPush = "list_push",
ListRemoveAt = "list_remove_at",
ListSize = "list_size",
ListUnshift = "list_unshift",
MapExists = "map_exists",
MapGet = "map_get",
MapGetAll = "map_get_all",
MapKeys = "map_keys",
MapRemove = "map_remove",
MapSet = "map_set",
MapSize = "map_size",
MapValues = "map_values",
QueuePop = "queue_pop",
QueuePush = "queue_push",
QueueSize = "queue_size",
SetAdd = "set_add",
SetContains = "set_contains",
SetRemove = "set_remove",
SetSize = "set_size",
SetValues = "set_values"
}
/**
* @internal
*/
export declare enum StreamingOp {
Analytics = "analytics_query",
Query = "query",
Search = "search_query",
View = "view_query"
}
/**
* @internal
*/
export declare enum AnalyticsMgmtOp {
AnalyticsDatasetCreate = "manager_analytics_create_dataset",
AnalyticsDatasetDrop = "manager_analytics_drop_dataset",
AnalyticsDatasetGetAll = "manager_analytics_get_all_datasets",
AnalyticsDataverseCreate = "manager_analytics_create_dataverse",
AnalyticsDataverseDrop = "manager_analytics_drop_dataverse",
AnalyticsGetPendingMutations = "manager_analytics_get_pending_mutations",
AnalyticsIndexCreate = "manager_analytics_create_index",
AnalyticsIndexDrop = "manager_analytics_drop_index",
AnalyticsIndexGetAll = "manager_analytics_get_all_indexes",
AnalyticsLinkConnect = "manager_analytics_connectlink",
AnalyticsLinkCreate = "manager_analytics_create_link",
AnalyticsLinkDisconnect = "manager_analytics_disconnect_link",
AnalyticsLinkDrop = "manager_analytics_drop_link",
AnalyticsLinkGetAll = "manager_analytics_get_all_links",
AnalyticsLinkReplace = "manager_analytics_replace_link"
}
/**
* @internal
*/
export declare enum BucketMgmtOp {
BucketCreate = "manager_buckets_create_bucket",
BucketDescribe = "manager_buckets_describe_bucket",
BucketDrop = "manager_buckets_drop_bucket",
BucketFlush = "manager_buckets_flush_bucket",
BucketGet = "manager_buckets_get_bucket",
BucketGetAll = "manager_buckets_get_all_buckets",
BucketUpdate = "manager_buckets_update_bucket"
}
/**
* @internal
*/
export declare enum CollectionMgmtOp {
CollectionCreate = "manager_collections_create_collection",
CollectionsManifestGet = "manager_collections_get_collections_manifest",
CollectionDrop = "manager_collections_drop_collection",
CollectionUpdate = "manager_collections_update_collection",
ScopeCreate = "manager_collections_create_scope",
ScopeDrop = "manager_collections_drop_scope",
ScopeGetAll = "manager_collections_get_all_scopes"
}
/**
* @internal
*/
export declare enum EventingFunctionMgmtOp {
EventingDeployFunction = "manager_eventing_deploy_function",
EventingDropFunction = "manager_eventing_drop_function",
EventingGetAllFunctions = "manager_eventing_get_all_functions",
EventingGetFunction = "manager_eventing_get_function",
EventingGetStatus = "manager_eventing_functions_status",
EventingPauseFunction = "manager_eventing_pause_function",
EventingResumeFunction = "manager_eventing_resume_function",
EventingUndeployFunction = "manager_eventing_undeploy_function",
EventingUpsertFunction = "manager_eventing_upsert_function"
}
/**
* @internal
*/
export declare enum QueryIndexMgmtOp {
QueryIndexBuild = "manager_query_build_indexes",
QueryIndexBuildDeferred = "manager_query_build_deferred_indexes",
QueryIndexCreate = "manager_query_create_index",
QueryIndexDrop = "manager_query_drop_index",
QueryIndexGetAll = "manager_query_get_all_indexes",
QueryIndexGetAllDeferred = "manager_query_get_all_deferred_indexes",
QueryIndexWatchIndexes = "manager_query_watch_indexes"
}
/**
* @internal
*/
export declare enum SearchIndexMgmtOp {
SearchGetStats = "manager_search_get_stats",
SearchIndexAllowQuerying = "manager_search_allow_querying",
SearchIndexAnalyzeDocument = "manager_search_analyze_document",
SearchIndexDisallowQuerying = "manager_search_disallow_querying",
SearchIndexDrop = "manager_search_drop_index",
SearchIndexFreezePlan = "manager_search_freeze_plan",
SearchIndexGet = "manager_search_get_index",
SearchIndexGetAll = "manager_search_get_all_indexes",
SearchIndexGetDocumentsCount = "manager_search_get_indexed_documents_count",
SearchIndexGetStats = "manager_search_get_index_stats",
SearchIndexPauseIngest = "manager_search_pause_ingest",
SearchIndexResumeIngest = "manager_search_resume_ingest",
SearchIndexUnfreezePlan = "manager_search_unfreeze_plan",
SearchIndexUpsert = "manager_search_upsert_index"
}
/**
* @internal
*/
export declare enum UserMgmtOp {
ChangePassword = "manager_users_change_password",
GroupDrop = "manager_users_drop_group",
GroupGet = "manager_users_get_group",
GroupGetAll = "manager_users_get_all_groups",
GroupUpsert = "manager_users_upsert_group",
RoleGetAll = "manager_users_get_all_roles",
UserDrop = "manager_users_drop_user",
UserGet = "manager_users_get_user",
UserGetAll = "manager_users_get_all_users",
UserUpsert = "manager_users_upsert_user"
}
/**
* @internal
*/
export declare enum ViewIndexMgmtOp {
ViewIndexDrop = "manager_views_drop_design_document",
ViewIndexGet = "manager_views_get_design_document",
ViewIndexGetAll = "manager_views_get_all_design_documents",
ViewIndexPublish = "manager_views_publish_design_document",
ViewIndexUpsert = "manager_views_upsert_design_document"
}
/**
* @internal
*/
export declare enum CppOpAttributeName {
ClusterName = "cluster_name",
ClusterUUID = "cluster_uuid",
RetryCount = "retries"
}
/**
* @internal
*/
export declare enum OpAttributeName {
BucketName = "db.namespace",
ClusterName = "couchbase.cluster.name",
ClusterUUID = "couchbase.cluster.uuid",
CollectionName = "couchbase.collection.name",
DispatchSpanName = "dispatch_to_server",
DurabilityLevel = "couchbase.durability",
EncodingSpanName = "request_encoding",
ErrorType = "error.type",
MeterNameOpDuration = "db.client.operation.duration",
OperationName = "db.operation.name",
QueryStatement = "db.query.text",
ReservedUnit = "__unit",
ReservedUnitSeconds = "s",
RetryCount = "couchbase.retries",
ScopeName = "couchbase.scope.name",
Service = "couchbase.service",
SystemName = "db.system.name"
}
export declare const CppOpAttributeNameToOpAttributeNameMap: Record<CppOpAttributeName, OpAttributeName>;
export declare const isCppAttribute: (attr: any) => attr is CppOpAttributeName;
/**
* @internal
*/
export declare enum DispatchAttributeName {
LocalId = "couchbase.local_id",
NetworkTransport = "network.transport",
OperationId = "couchbase.operation_id",
PeerAddress = "network.peer.address",
PeerPort = "network.peer.port",
ServerAddress = "server.address",
ServerDuration = "couchbase.server_duration",
ServerPort = "server.port"
}
/**
* @internal
*/
export declare enum ServiceName {
Analytics = "analytics",
Eventing = "eventing",
KeyValue = "kv",
Management = "management",
Query = "query",
Search = "search",
Transactions = "transactions",
Views = "views"
}
/**
* @internal
*/
export declare function serviceNameFromOpType(opType: OpType): ServiceName;
/**
* Represents the status of a span in distributed tracing.
*/
export interface SpanStatus {
/**
* The status code indicating the outcome of the span.
*/
code: SpanStatusCode;
/**
* An optional developer-facing error message providing additional context.
*/
message?: string;
}
/**
* An enumeration of status codes.
*/
export declare enum SpanStatusCode {
/**
* The default status.
*/
UNSET = 0,
/**
* The operation has been validated by an Application developer or
* Operator to have completed successfully.
*/
OK = 1,
/**
* The operation contains an error.
*/
ERROR = 2
}
/**
* @internal
*/
export declare class ObservabilityInstruments {
private readonly _tracer;
private readonly _meter;
private readonly _getClusterLabelsFn;
constructor(tracer: RequestTracer, meter: any, getClusterLabelsFn?: () => Record<string, string | undefined>);
/**
* @internal
*/
get tracer(): RequestTracer;
/**
* @internal
*/
get meter(): Meter;
/**
* @internal
*/
get clusterLabelsFn(): (() => Record<string, string | undefined>) | undefined;
}