@sprucelabs/chroma-data-store 0.0.3 → 0.0.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 (66) hide show
  1. package/build/.spruce/errors/chromaDataStore/featureNotSupported.schema.js +0 -1
  2. package/build/.spruce/errors/errors.types.js +0 -1
  3. package/build/.spruce/errors/options.types.js +0 -1
  4. package/build/.spruce/schemas/fields/fieldClassMap.js +0 -1
  5. package/build/.spruce/schemas/fields/fields.types.js +0 -1
  6. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js +0 -1
  7. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js +0 -1
  8. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js +0 -1
  9. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js +0 -1
  10. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js +0 -1
  11. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js +0 -1
  12. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js +0 -1
  13. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js +0 -1
  14. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js +0 -1
  15. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js +0 -1
  16. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js +0 -1
  17. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js +0 -1
  18. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js +0 -1
  19. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js +0 -1
  20. package/build/ChromaDatabase.js +0 -1
  21. package/build/chroma.types.js +0 -1
  22. package/build/errors/SpruceError.js +0 -1
  23. package/build/errors/featureNotSupported.builder.js +0 -1
  24. package/build/esm/.spruce/errors/errors.types.d.ts +21 -0
  25. package/build/esm/.spruce/errors/errors.types.js +1 -0
  26. package/build/esm/.spruce/errors/options.types.d.ts +7 -0
  27. package/build/esm/.spruce/errors/options.types.js +1 -0
  28. package/build/esm/ChromaDatabase.d.ts +46 -0
  29. package/build/esm/ChromaDatabase.js +445 -0
  30. package/build/esm/chroma.types.d.ts +177 -0
  31. package/build/esm/chroma.types.js +1 -0
  32. package/build/esm/errors/SpruceError.d.ts +6 -0
  33. package/build/esm/errors/SpruceError.js +19 -0
  34. package/build/esm/errors/featureNotSupported.builder.d.ts +11 -0
  35. package/build/esm/errors/featureNotSupported.builder.js +11 -0
  36. package/build/esm/index.d.ts +2 -0
  37. package/build/esm/index.js +5 -0
  38. package/build/index.js +0 -1
  39. package/package.json +1 -1
  40. package/build/.spruce/errors/chromaDataStore/featureNotSupported.schema.js.map +0 -1
  41. package/build/.spruce/errors/errors.types.js.map +0 -1
  42. package/build/.spruce/errors/options.types.js.map +0 -1
  43. package/build/.spruce/schemas/fields/fieldClassMap.js.map +0 -1
  44. package/build/.spruce/schemas/fields/fields.types.js.map +0 -1
  45. package/build/.spruce/schemas/spruce/v2020_07_22/choice.schema.js.map +0 -1
  46. package/build/.spruce/schemas/spruce/v2020_07_22/link.schema.js.map +0 -1
  47. package/build/.spruce/schemas/spruce/v2020_07_22/location.schema.js.map +0 -1
  48. package/build/.spruce/schemas/spruce/v2020_07_22/message.schema.js.map +0 -1
  49. package/build/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.js.map +0 -1
  50. package/build/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.js.map +0 -1
  51. package/build/.spruce/schemas/spruce/v2020_07_22/organization.schema.js.map +0 -1
  52. package/build/.spruce/schemas/spruce/v2020_07_22/person.schema.js.map +0 -1
  53. package/build/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.js.map +0 -1
  54. package/build/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.js.map +0 -1
  55. package/build/.spruce/schemas/spruce/v2020_07_22/role.schema.js.map +0 -1
  56. package/build/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.js.map +0 -1
  57. package/build/.spruce/schemas/spruce/v2020_07_22/skill.schema.js.map +0 -1
  58. package/build/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.js.map +0 -1
  59. package/build/ChromaDatabase.js.map +0 -1
  60. package/build/__tests__/behavioral/ChromaDatabase.test.d.ts +0 -39
  61. package/build/__tests__/behavioral/ChromaDatabase.test.js +0 -351
  62. package/build/__tests__/behavioral/ChromaDatabase.test.js.map +0 -1
  63. package/build/chroma.types.js.map +0 -1
  64. package/build/errors/SpruceError.js.map +0 -1
  65. package/build/errors/featureNotSupported.builder.js.map +0 -1
  66. package/build/index.js.map +0 -1
@@ -0,0 +1,177 @@
1
+ import { AddRecordsParams, UpsertRecordsParams, GetResponse, UpdateRecordsParams, QueryRecordsParams, QueryResponse, CollectionMetadata, CollectionParams, PeekParams, DeleteParams, ID, IDs, Where, IncludeEnum, WhereDocument } from 'chromadb';
2
+ export interface Collection {
3
+ add(params: AddRecordsParams): Promise<void>;
4
+ /**
5
+ * Upsert items to the collection
6
+ * @param {Object} params - The parameters for the query.
7
+ * @param {ID | IDs} [params.ids] - IDs of the items to add.
8
+ * @param {Embedding | Embeddings} [params.embeddings] - Optional embeddings of the items to add.
9
+ * @param {Metadata | Metadatas} [params.metadatas] - Optional metadata of the items to add.
10
+ * @param {Document | Documents} [params.documents] - Optional documents of the items to add.
11
+ * @returns {Promise<void>}
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const response = await collection.upsert({
16
+ * ids: ["id1", "id2"],
17
+ * embeddings: [[1, 2, 3], [4, 5, 6]],
18
+ * metadatas: [{ "key": "value" }, { "key": "value" }],
19
+ * documents: ["document1", "document2"],
20
+ * });
21
+ * ```
22
+ */
23
+ upsert(params: UpsertRecordsParams): Promise<void>;
24
+ /**
25
+ * Count the number of items in the collection
26
+ * @returns {Promise<number>} - The number of items in the collection.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const count = await collection.count();
31
+ * ```
32
+ */
33
+ count(): Promise<number>;
34
+ /**
35
+ * Get items from the collection
36
+ * @param {Object} params - The parameters for the query.
37
+ * @param {ID | IDs} [params.ids] - Optional IDs of the items to get.
38
+ * @param {Where} [params.where] - Optional where clause to filter items by.
39
+ * @param {PositiveInteger} [params.limit] - Optional limit on the number of items to get.
40
+ * @param {PositiveInteger} [params.offset] - Optional offset on the items to get.
41
+ * @param {IncludeEnum[]} [params.include] - Optional list of items to include in the response.
42
+ * @param {WhereDocument} [params.whereDocument] - Optional where clause to filter items by.
43
+ * @returns {Promise<GetResponse>} - The response from the server.
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const response = await collection.get({
48
+ * ids: ["id1", "id2"],
49
+ * where: { "key": "value" },
50
+ * limit: 10,
51
+ * offset: 0,
52
+ * include: ["embeddings", "metadatas", "documents"],
53
+ * whereDocument: { $contains: "value" },
54
+ * });
55
+ * ```
56
+ */
57
+ get(options?: BaseGetParams): Promise<GetResponse>;
58
+ /**
59
+ * Update items in the collection
60
+ * @param {Object} params - The parameters for the query.
61
+ * @param {ID | IDs} [params.ids] - IDs of the items to add.
62
+ * @param {Embedding | Embeddings} [params.embeddings] - Optional embeddings of the items to add.
63
+ * @param {Metadata | Metadatas} [params.metadatas] - Optional metadata of the items to add.
64
+ * @param {Document | Documents} [params.documents] - Optional documents of the items to add.
65
+ * @returns {Promise<void>}
66
+ *
67
+ * @example
68
+ * ```typescript
69
+ * const response = await collection.update({
70
+ * ids: ["id1", "id2"],
71
+ * embeddings: [[1, 2, 3], [4, 5, 6]],
72
+ * metadatas: [{ "key": "value" }, { "key": "value" }],
73
+ * documents: ["document1", "document2"],
74
+ * });
75
+ * ```
76
+ */
77
+ update(params: UpdateRecordsParams): Promise<void>;
78
+ /**
79
+ * Performs a query on the collection using the specified parameters.
80
+ *
81
+ * @param {Object} params - The parameters for the query.
82
+ * @param {Embedding | Embeddings} [params.queryEmbeddings] - Optional query embeddings to use for the search.
83
+ * @param {PositiveInteger} [params.nResults] - Optional number of results to return (default is 10).
84
+ * @param {Where} [params.where] - Optional query condition to filter results based on metadata values.
85
+ * @param {string | string[]} [params.queryTexts] - Optional query text(s) to search for in the collection.
86
+ * @param {WhereDocument} [params.whereDocument] - Optional query condition to filter results based on document content.
87
+ * @param {IncludeEnum[]} [params.include] - Optional array of fields to include in the result, such as "metadata" and "document".
88
+ *
89
+ * @returns {Promise<QueryResponse>} A promise that resolves to the query results.
90
+ * @throws {Error} If there is an issue executing the query.
91
+ * @example
92
+ * // Query the collection using embeddings
93
+ * const results = await collection.query({
94
+ * queryEmbeddings: [[0.1, 0.2, ...], ...],
95
+ * nResults: 10,
96
+ * where: {"name": {"$eq": "John Doe"}},
97
+ * include: ["metadata", "document"]
98
+ * });
99
+ * @example
100
+ * ```js
101
+ * // Query the collection using query text
102
+ * const results = await collection.query({
103
+ * queryTexts: "some text",
104
+ * nResults: 10,
105
+ * where: {"name": {"$eq": "John Doe"}},
106
+ * include: ["metadata", "document"]
107
+ * });
108
+ * ```
109
+ *
110
+ */
111
+ query({ nResults, where, whereDocument, include, queryTexts, queryEmbeddings, }: QueryRecordsParams): Promise<QueryResponse>;
112
+ /**
113
+ * Modify the collection name or metadata
114
+ * @param {Object} params - The parameters for the query.
115
+ * @param {string} [params.name] - Optional new name for the collection.
116
+ * @param {CollectionMetadata} [params.metadata] - Optional new metadata for the collection.
117
+ * @returns {Promise<void>} - The response from the API.
118
+ *
119
+ * @example
120
+ * ```typescript
121
+ * const response = await client.updateCollection({
122
+ * name: "new name",
123
+ * metadata: { "key": "value" },
124
+ * });
125
+ * ```
126
+ */
127
+ modify({ name, metadata, }: {
128
+ name?: string;
129
+ metadata?: CollectionMetadata;
130
+ }): Promise<CollectionParams>;
131
+ /**
132
+ * Peek inside the collection
133
+ * @param {Object} params - The parameters for the query.
134
+ * @param {PositiveInteger} [params.limit] - Optional number of results to return (default is 10).
135
+ * @returns {Promise<GetResponse>} A promise that resolves to the query results.
136
+ * @throws {Error} If there is an issue executing the query.
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * const results = await collection.peek({
141
+ * limit: 10
142
+ * });
143
+ * ```
144
+ */
145
+ peek(options?: PeekParams): Promise<GetResponse>;
146
+ /**
147
+ * Deletes items from the collection.
148
+ * @param {Object} params - The parameters for deleting items from the collection.
149
+ * @param {ID | IDs} [params.ids] - Optional ID or array of IDs of items to delete.
150
+ * @param {Where} [params.where] - Optional query condition to filter items to delete based on metadata values.
151
+ * @param {WhereDocument} [params.whereDocument] - Optional query condition to filter items to delete based on document content.
152
+ * @returns {Promise<string[]>} A promise that resolves to the IDs of the deleted items.
153
+ * @throws {Error} If there is an issue deleting items from the collection.
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * const results = await collection.delete({
158
+ * ids: "some_id",
159
+ * where: {"name": {"$eq": "John Doe"}},
160
+ * whereDocument: {"$contains":"search_string"}
161
+ * });
162
+ * ```
163
+ */
164
+ delete(options?: DeleteParams): Promise<void>;
165
+ }
166
+ interface BaseGetParams {
167
+ ids?: ID | IDs;
168
+ where?: Where;
169
+ limit?: number;
170
+ offset?: number;
171
+ include?: IncludeEnum[];
172
+ whereDocument?: WhereDocument;
173
+ }
174
+ export type WhereWithPrompt = Where & {
175
+ $prompt?: string;
176
+ };
177
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import BaseSpruceError from '@sprucelabs/error';
2
+ import ErrorOptions from './../.spruce/errors/options.types';
3
+ export default class SpruceError extends BaseSpruceError<ErrorOptions> {
4
+ /** an easy to understand version of the errors */
5
+ friendlyMessage(): string;
6
+ }
@@ -0,0 +1,19 @@
1
+ import BaseSpruceError from '@sprucelabs/error';
2
+ export default class SpruceError extends BaseSpruceError {
3
+ /** an easy to understand version of the errors */
4
+ friendlyMessage() {
5
+ const { options } = this;
6
+ let message;
7
+ switch (options === null || options === void 0 ? void 0 : options.code) {
8
+ case 'FEATURE_NOT_SUPPORTED':
9
+ message = `I'm sorry, but you can't run ${options.operation} operation on the Chromadb`;
10
+ break;
11
+ default:
12
+ message = super.friendlyMessage();
13
+ }
14
+ const fullMessage = options.friendlyMessage
15
+ ? options.friendlyMessage
16
+ : message;
17
+ return fullMessage;
18
+ }
19
+ }
@@ -0,0 +1,11 @@
1
+ declare const _default: {
2
+ id: string;
3
+ name: string;
4
+ fields: {
5
+ operation: {
6
+ type: "text";
7
+ isRequired: true;
8
+ };
9
+ };
10
+ };
11
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { buildErrorSchema } from '@sprucelabs/schema';
2
+ export default buildErrorSchema({
3
+ id: 'featureNotSupported',
4
+ name: 'Feature not supported',
5
+ fields: {
6
+ operation: {
7
+ type: 'text',
8
+ isRequired: true,
9
+ },
10
+ },
11
+ });
@@ -0,0 +1,2 @@
1
+ export { default as ChromaDatabase } from './ChromaDatabase';
2
+ export * from './ChromaDatabase';
@@ -0,0 +1,5 @@
1
+ export { default as ChromaDatabase } from './ChromaDatabase.js';
2
+ import { DatabaseFactory } from '@sprucelabs/data-stores';
3
+ import ChromaDatabase from './ChromaDatabase.js';
4
+ export * from './ChromaDatabase.js';
5
+ DatabaseFactory.addAdapter('chroma://', ChromaDatabase);
package/build/index.js CHANGED
@@ -24,4 +24,3 @@ const data_stores_1 = require("@sprucelabs/data-stores");
24
24
  const ChromaDatabase_2 = __importDefault(require("./ChromaDatabase"));
25
25
  __exportStar(require("./ChromaDatabase"), exports);
26
26
  data_stores_1.DatabaseFactory.addAdapter('chroma://', ChromaDatabase_2.default);
27
- //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "sprucebot",
14
14
  "sprucelabs"
15
15
  ],
16
- "version": "0.0.3",
16
+ "version": "0.0.4",
17
17
  "scripts": {
18
18
  "build.ci": "yarn run build.tsc && yarn run build.resolve-paths && yarn run lint",
19
19
  "build.copy-files": "mkdir -p build && rsync -avzq --exclude='*.ts' ./src/ ./build/",
@@ -1 +0,0 @@
1
- {"version":3,"file":"featureNotSupported.schema.js","sourceRoot":"","sources":["../../../../src/.spruce/errors/chromaDataStore/featureNotSupported.schema.ts"],"names":[],"mappings":";;AAAA,+CAAmD;AAKnD,MAAM,yBAAyB,GAA4D;IAC1F,EAAE,EAAE,qBAAqB;IACzB,SAAS,EAAE,iBAAiB;IAC5B,IAAI,EAAE,uBAAuB;IACzB,MAAM,EAAE;QACA,QAAQ;QACR,WAAW,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,SAAS;SACrB;KACR;CACL,CAAA;AAED,uBAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAA;AAEnE,kBAAe,yBAAyB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.types.js","sourceRoot":"","sources":["../../../src/.spruce/errors/errors.types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.types.js","sourceRoot":"","sources":["../../../src/.spruce/errors/options.types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fieldClassMap.js","sourceRoot":"","sources":["../../../../src/.spruce/schemas/fields/fieldClassMap.ts"],"names":[],"mappings":";;AAAA,+CAAkD;AAKlD,kBAAe,sBAAa,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.types.js","sourceRoot":"","sources":["../../../../src/.spruce/schemas/fields/fields.types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"choice.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/choice.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAyE;AAAhE,8GAAA,YAAY,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/link.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AAA9D,8GAAA,UAAU,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"location.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/location.schema.ts"],"names":[],"mappings":";;;AAAA,uEAA2E;AAAlE,8GAAA,cAAc,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/message.schema.ts"],"names":[],"mappings":";;;AAAA,uEAA0E;AAAjE,8GAAA,aAAa,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageSource.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/messageSource.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAgF;AAAvE,8GAAA,mBAAmB,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageTarget.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/messageTarget.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAgF;AAAvE,8GAAA,mBAAmB,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"organization.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/organization.schema.ts"],"names":[],"mappings":";;;AAAA,uEAA+E;AAAtE,8GAAA,kBAAkB,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"person.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/person.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAyE;AAAhE,8GAAA,YAAY,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"personLocation.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/personLocation.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAiF;AAAxE,8GAAA,oBAAoB,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"personOrganization.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/personOrganization.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAqF;AAA5E,8GAAA,wBAAwB,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"role.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/role.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AAA9D,8GAAA,UAAU,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sendMessage.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/sendMessage.schema.ts"],"names":[],"mappings":";;;AAAA,uEAA8E;AAArE,8GAAA,iBAAiB,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skill.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/skill.schema.ts"],"names":[],"mappings":";;;AAAA,uEAAwE;AAA/D,8GAAA,WAAW,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"skillCreator.schema.js","sourceRoot":"","sources":["../../../../../src/.spruce/schemas/spruce/v2020_07_22/skillCreator.schema.ts"],"names":[],"mappings":";;;AAAA,uEAA+E;AAAtE,8GAAA,kBAAkB,OAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChromaDatabase.js","sourceRoot":"","sources":["../src/ChromaDatabase.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import AbstractSpruceTest from '@sprucelabs/test-utils';
2
- export default class ChromaDatabaseTest extends AbstractSpruceTest {
3
- private static embedding;
4
- private static db;
5
- private static collectionName;
6
- private static chroma;
7
- private static collection;
8
- protected static beforeEach(): Promise<void>;
9
- protected static afterEach(): Promise<void>;
10
- protected static throwsWithMissing(): Promise<void>;
11
- protected static defaultsToOllamaEmbedding(): Promise<void>;
12
- protected static embedsTheWholeDocumentByDefault(): Promise<void>;
13
- protected static canGenerateEmbedsForNestedValues(): Promise<void>;
14
- protected static canDoMultipleKeyValuePairsForEmbeddings(): Promise<void>;
15
- protected static canDoMultipleNestedKeyValuePairsForEmbeddings(): Promise<void>;
16
- protected static throwsExpectedErrorForUnsupportedFeatures(): Promise<void>;
17
- protected static runsSuiteOfDatabaseTests(): Promise<void>;
18
- protected static canSetSingleEmbeddingField(): Promise<void>;
19
- protected static canSetDifferentSingleEmbeddingField(): Promise<void>;
20
- protected static canSetMultipleFieldsOnEmbedding(): Promise<void>;
21
- protected static embeddingFieldsHonorsCollection(): Promise<void>;
22
- protected static dropDatabaseDeletesAllCollections(): Promise<void>;
23
- protected static doesTextSearchWith$promptKey(): Promise<void>;
24
- protected static canFindUsingDifferent$promptKey(): Promise<void>;
25
- protected static canFindUsingDifferentLimit(): Promise<void>;
26
- protected static canSearchByPromptAndDocumentFields(): Promise<void>;
27
- protected static canSearchSamePromptAndDifferentDocumentFields(): Promise<void>;
28
- private static findByPrompt;
29
- private static createSearchableDocuments;
30
- private static getOrCreateCollection;
31
- private static setEmbedFieldsAndAssertEmbeddingsEqual;
32
- private static assertEmbeddingsEqual;
33
- private static setEmbeddingFields;
34
- private static assertOperationThrowsNotSupported;
35
- private static createOneAndAssertExpectedEmbeddings;
36
- private static getById;
37
- private static generateEmbeddings;
38
- private static createOne;
39
- }