chromadb 1.5.8 → 1.5.10
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/main/auth.d.ts +24 -0
- package/dist/main/auth.d.ts.map +1 -1
- package/dist/main/auth.js +73 -2
- package/dist/main/auth.js.map +1 -1
- package/dist/module/auth.d.ts +24 -0
- package/dist/module/auth.d.ts.map +1 -1
- package/dist/module/auth.js +70 -1
- package/dist/module/auth.js.map +1 -1
- package/package.json +19 -21
- package/src/auth.ts +95 -2
package/dist/main/auth.d.ts
CHANGED
|
@@ -58,6 +58,29 @@ export declare class BasicAuthCredentialsProvider implements ClientAuthCredentia
|
|
|
58
58
|
constructor(_creds: string | undefined);
|
|
59
59
|
getCredentials(): BasicAuthCredentials;
|
|
60
60
|
}
|
|
61
|
+
declare class TokenAuthCredentials implements AbstractCredentials<SecretStr> {
|
|
62
|
+
private readonly credentials;
|
|
63
|
+
constructor(_creds: string);
|
|
64
|
+
getCredentials(): SecretStr;
|
|
65
|
+
}
|
|
66
|
+
export declare class TokenCredentialsProvider implements ClientAuthCredentialsProvider<TokenAuthCredentials> {
|
|
67
|
+
private readonly credentials;
|
|
68
|
+
constructor(_creds: string | undefined);
|
|
69
|
+
getCredentials(): TokenAuthCredentials;
|
|
70
|
+
}
|
|
71
|
+
export declare class TokenClientAuthProvider implements ClientAuthProvider {
|
|
72
|
+
private readonly credentialsProvider;
|
|
73
|
+
private readonly providerOptions;
|
|
74
|
+
constructor(options: {
|
|
75
|
+
textCredentials: any;
|
|
76
|
+
credentialsProvider: ClientAuthCredentialsProvider<any> | undefined;
|
|
77
|
+
providerOptions?: {
|
|
78
|
+
headerType: TokenHeaderType;
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
authenticate(): ClientAuthResponse;
|
|
82
|
+
}
|
|
83
|
+
type TokenHeaderType = 'AUTHORIZATION' | 'X_CHROMA_TOKEN';
|
|
61
84
|
export declare class IsomorphicFetchClientAuthProtocolAdapter implements ClientAuthProtocolAdapter<RequestInit> {
|
|
62
85
|
private api;
|
|
63
86
|
authProvider: ClientAuthProvider | undefined;
|
|
@@ -78,6 +101,7 @@ export type AuthOptions = {
|
|
|
78
101
|
credentialsProvider?: ClientAuthCredentialsProvider<any> | undefined;
|
|
79
102
|
configProvider?: ClientAuthConfigurationProvider<any> | undefined;
|
|
80
103
|
credentials?: any | undefined;
|
|
104
|
+
providerOptions?: any | undefined;
|
|
81
105
|
};
|
|
82
106
|
export {};
|
|
83
107
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/main/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,YAAY,IAAI,kBAAkB,CAAC;CACtC;AAED,MAAM,WAAW,+BAA+B,CAAC,CAAC;IAC9C;;OAEG;IACH,SAAS,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;CACpC;AAED,aAAK,YAAY;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,QAAQ,aAAa;CAExB;AAED,MAAM,WAAW,kBAAkB;IAC/B,eAAe,IAAI,YAAY,CAAC;IAEhC,WAAW,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAGD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,cAAc,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC;IACxC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,CAAC;CACjB;AAGD,cAAM,SAAS;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAG3C,SAAS,IAAI,MAAM;CAGtB;AAMD,cAAM,oBAAqB,YAAW,mBAAmB,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;gBAE5B,MAAM,EAAE,MAAM;IAI1B,cAAc,IAAI,SAAS;CAI9B;AAgBD,qBAAa,4BAA6B,YAAW,6BAA6B,CAAC,oBAAoB,CAAC;IACpG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD;;;;OAIG;gBAES,MAAM,EAAE,MAAM,GAAG,SAAS;IAKtC,cAAc,IAAI,oBAAoB;CAGzC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/main/auth.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IsomorphicFetchClientAuthProtocolAdapter = exports.BasicAuthCredentialsProvider = void 0;
|
|
3
|
+
exports.IsomorphicFetchClientAuthProtocolAdapter = exports.TokenClientAuthProvider = exports.TokenCredentialsProvider = exports.BasicAuthCredentialsProvider = void 0;
|
|
4
4
|
var AuthInfoType;
|
|
5
5
|
(function (AuthInfoType) {
|
|
6
6
|
AuthInfoType["COOKIE"] = "cookie";
|
|
@@ -73,6 +73,67 @@ class BasicAuthClientAuthProvider {
|
|
|
73
73
|
return new BasicAuthClientAuthResponse(this.credentialsProvider.getCredentials());
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
+
class TokenAuthCredentials {
|
|
77
|
+
constructor(_creds) {
|
|
78
|
+
this.credentials = new SecretStr(_creds);
|
|
79
|
+
}
|
|
80
|
+
getCredentials() {
|
|
81
|
+
return this.credentials;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
class TokenCredentialsProvider {
|
|
85
|
+
constructor(_creds) {
|
|
86
|
+
if (_creds === undefined && !process.env.CHROMA_CLIENT_AUTH_CREDENTIALS)
|
|
87
|
+
throw new Error("Credentials must be supplied via environment variable (CHROMA_CLIENT_AUTH_CREDENTIALS) or passed in as configuration.");
|
|
88
|
+
this.credentials = new TokenAuthCredentials((_creds !== null && _creds !== void 0 ? _creds : process.env.CHROMA_CLIENT_AUTH_CREDENTIALS));
|
|
89
|
+
}
|
|
90
|
+
getCredentials() {
|
|
91
|
+
return this.credentials;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
exports.TokenCredentialsProvider = TokenCredentialsProvider;
|
|
95
|
+
class TokenClientAuthProvider {
|
|
96
|
+
constructor(options) {
|
|
97
|
+
if (!options.credentialsProvider && !options.textCredentials) {
|
|
98
|
+
throw new Error("Either credentials provider or text credentials must be supplied.");
|
|
99
|
+
}
|
|
100
|
+
if (options.providerOptions === undefined || !options.providerOptions.hasOwnProperty("headerType")) {
|
|
101
|
+
this.providerOptions = { headerType: "AUTHORIZATION" };
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.providerOptions = { headerType: options.providerOptions.headerType };
|
|
105
|
+
}
|
|
106
|
+
this.credentialsProvider = options.credentialsProvider || new TokenCredentialsProvider(options.textCredentials);
|
|
107
|
+
}
|
|
108
|
+
authenticate() {
|
|
109
|
+
return new TokenClientAuthResponse(this.credentialsProvider.getCredentials(), this.providerOptions.headerType);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.TokenClientAuthProvider = TokenClientAuthProvider;
|
|
113
|
+
const TokenHeader = {
|
|
114
|
+
AUTHORIZATION: (value) => ({ key: "Authorization", value: `Bearer ${value}` }),
|
|
115
|
+
X_CHROMA_TOKEN: (value) => ({ key: "X-Chroma-Token", value: value })
|
|
116
|
+
};
|
|
117
|
+
class TokenClientAuthResponse {
|
|
118
|
+
constructor(credentials, headerType = 'AUTHORIZATION') {
|
|
119
|
+
this.credentials = credentials;
|
|
120
|
+
this.headerType = headerType;
|
|
121
|
+
}
|
|
122
|
+
getAuthInfo() {
|
|
123
|
+
if (this.headerType === 'AUTHORIZATION') {
|
|
124
|
+
return TokenHeader.AUTHORIZATION(this.credentials.getCredentials().getSecret());
|
|
125
|
+
}
|
|
126
|
+
else if (this.headerType === 'X_CHROMA_TOKEN') {
|
|
127
|
+
return TokenHeader.X_CHROMA_TOKEN(this.credentials.getCredentials().getSecret());
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
throw new Error("Invalid header type: " + this.headerType + ". Valid types are: " + Object.keys(TokenHeader).join(", "));
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
getAuthInfoType() {
|
|
134
|
+
return AuthInfoType.HEADER;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
76
137
|
class IsomorphicFetchClientAuthProtocolAdapter {
|
|
77
138
|
/**
|
|
78
139
|
* Creates a new adapter of IsomorphicFetchClientAuthProtocolAdapter.
|
|
@@ -83,7 +144,17 @@ class IsomorphicFetchClientAuthProtocolAdapter {
|
|
|
83
144
|
this.api = api;
|
|
84
145
|
switch (authConfiguration.provider) {
|
|
85
146
|
case "basic":
|
|
86
|
-
this.authProvider = new BasicAuthClientAuthProvider({
|
|
147
|
+
this.authProvider = new BasicAuthClientAuthProvider({
|
|
148
|
+
textCredentials: authConfiguration.credentials,
|
|
149
|
+
credentialsProvider: authConfiguration.credentialsProvider
|
|
150
|
+
});
|
|
151
|
+
break;
|
|
152
|
+
case "token":
|
|
153
|
+
this.authProvider = new TokenClientAuthProvider({
|
|
154
|
+
textCredentials: authConfiguration.credentials,
|
|
155
|
+
credentialsProvider: authConfiguration.credentialsProvider,
|
|
156
|
+
providerOptions: authConfiguration.providerOptions
|
|
157
|
+
});
|
|
87
158
|
break;
|
|
88
159
|
default:
|
|
89
160
|
this.authProvider = undefined;
|
package/dist/main/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":";;;AAwBA,IAAK,YAMJ;AAND,WAAK,YAAY;IACb,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,2BAAW,CAAA;IACX,qCAAqB,CAAA;AAEzB,CAAC,EANI,YAAY,KAAZ,YAAY,QAMhB;AAoBD,MAAM,SAAS;IACX,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAC3C,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,oBAAoB;IAGtB,YAAY,MAAc;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,cAAc;QACV,eAAe;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AAGD,MAAM,2BAA2B;IAC7B,YAA6B,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAC9D,CAAC;IAED,WAAW;QACP,OAAO,EAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,EAAC,CAAC;IACnG,CAAC;IAED,eAAe;QACX,OAAO,YAAY,CAAC,MAAM,CAAC;IAC/B,CAAC;CACJ;AAED,MAAa,4BAA4B;IAGrC;;;;OAIG;IAEH,YAAY,MAA0B;QAClC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B;YAAE,MAAM,IAAI,KAAK,CAAC,uHAAuH,CAAC,CAAC;QAClN,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAW,CAAC,CAAC;IAClH,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AAjBD,oEAiBC;AAED,MAAM,2BAA2B;IAG7B;;;;;;OAMG;IAEH,YAAY,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/module/auth.d.ts
CHANGED
|
@@ -58,6 +58,29 @@ export declare class BasicAuthCredentialsProvider implements ClientAuthCredentia
|
|
|
58
58
|
constructor(_creds: string | undefined);
|
|
59
59
|
getCredentials(): BasicAuthCredentials;
|
|
60
60
|
}
|
|
61
|
+
declare class TokenAuthCredentials implements AbstractCredentials<SecretStr> {
|
|
62
|
+
private readonly credentials;
|
|
63
|
+
constructor(_creds: string);
|
|
64
|
+
getCredentials(): SecretStr;
|
|
65
|
+
}
|
|
66
|
+
export declare class TokenCredentialsProvider implements ClientAuthCredentialsProvider<TokenAuthCredentials> {
|
|
67
|
+
private readonly credentials;
|
|
68
|
+
constructor(_creds: string | undefined);
|
|
69
|
+
getCredentials(): TokenAuthCredentials;
|
|
70
|
+
}
|
|
71
|
+
export declare class TokenClientAuthProvider implements ClientAuthProvider {
|
|
72
|
+
private readonly credentialsProvider;
|
|
73
|
+
private readonly providerOptions;
|
|
74
|
+
constructor(options: {
|
|
75
|
+
textCredentials: any;
|
|
76
|
+
credentialsProvider: ClientAuthCredentialsProvider<any> | undefined;
|
|
77
|
+
providerOptions?: {
|
|
78
|
+
headerType: TokenHeaderType;
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
authenticate(): ClientAuthResponse;
|
|
82
|
+
}
|
|
83
|
+
type TokenHeaderType = 'AUTHORIZATION' | 'X_CHROMA_TOKEN';
|
|
61
84
|
export declare class IsomorphicFetchClientAuthProtocolAdapter implements ClientAuthProtocolAdapter<RequestInit> {
|
|
62
85
|
private api;
|
|
63
86
|
authProvider: ClientAuthProvider | undefined;
|
|
@@ -78,6 +101,7 @@ export type AuthOptions = {
|
|
|
78
101
|
credentialsProvider?: ClientAuthCredentialsProvider<any> | undefined;
|
|
79
102
|
configProvider?: ClientAuthConfigurationProvider<any> | undefined;
|
|
80
103
|
credentials?: any | undefined;
|
|
104
|
+
providerOptions?: any | undefined;
|
|
81
105
|
};
|
|
82
106
|
export {};
|
|
83
107
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,YAAY,IAAI,kBAAkB,CAAC;CACtC;AAED,MAAM,WAAW,+BAA+B,CAAC,CAAC;IAC9C;;OAEG;IACH,SAAS,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;CACpC;AAED,aAAK,YAAY;IACb,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,QAAQ,aAAa;CAExB;AAED,MAAM,WAAW,kBAAkB;IAC/B,eAAe,IAAI,YAAY,CAAC;IAEhC,WAAW,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAGD,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,cAAc,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB,CAAC,CAAC;IACxC,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;IAE1C,MAAM,IAAI,GAAG,CAAC;CACjB;AAGD,cAAM,SAAS;IACC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAG3C,SAAS,IAAI,MAAM;CAGtB;AAMD,cAAM,oBAAqB,YAAW,mBAAmB,CAAC,SAAS,CAAC;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAY;gBAE5B,MAAM,EAAE,MAAM;IAI1B,cAAc,IAAI,SAAS;CAI9B;AAgBD,qBAAa,4BAA6B,YAAW,6BAA6B,CAAC,oBAAoB,CAAC;IACpG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD;;;;OAIG;gBAES,MAAM,EAAE,MAAM,GAAG,SAAS;IAKtC,cAAc,IAAI,oBAAoB;CAGzC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/module/auth.js
CHANGED
|
@@ -69,6 +69,65 @@ class BasicAuthClientAuthProvider {
|
|
|
69
69
|
return new BasicAuthClientAuthResponse(this.credentialsProvider.getCredentials());
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
+
class TokenAuthCredentials {
|
|
73
|
+
constructor(_creds) {
|
|
74
|
+
this.credentials = new SecretStr(_creds);
|
|
75
|
+
}
|
|
76
|
+
getCredentials() {
|
|
77
|
+
return this.credentials;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export class TokenCredentialsProvider {
|
|
81
|
+
constructor(_creds) {
|
|
82
|
+
if (_creds === undefined && !process.env.CHROMA_CLIENT_AUTH_CREDENTIALS)
|
|
83
|
+
throw new Error("Credentials must be supplied via environment variable (CHROMA_CLIENT_AUTH_CREDENTIALS) or passed in as configuration.");
|
|
84
|
+
this.credentials = new TokenAuthCredentials((_creds !== null && _creds !== void 0 ? _creds : process.env.CHROMA_CLIENT_AUTH_CREDENTIALS));
|
|
85
|
+
}
|
|
86
|
+
getCredentials() {
|
|
87
|
+
return this.credentials;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export class TokenClientAuthProvider {
|
|
91
|
+
constructor(options) {
|
|
92
|
+
if (!options.credentialsProvider && !options.textCredentials) {
|
|
93
|
+
throw new Error("Either credentials provider or text credentials must be supplied.");
|
|
94
|
+
}
|
|
95
|
+
if (options.providerOptions === undefined || !options.providerOptions.hasOwnProperty("headerType")) {
|
|
96
|
+
this.providerOptions = { headerType: "AUTHORIZATION" };
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.providerOptions = { headerType: options.providerOptions.headerType };
|
|
100
|
+
}
|
|
101
|
+
this.credentialsProvider = options.credentialsProvider || new TokenCredentialsProvider(options.textCredentials);
|
|
102
|
+
}
|
|
103
|
+
authenticate() {
|
|
104
|
+
return new TokenClientAuthResponse(this.credentialsProvider.getCredentials(), this.providerOptions.headerType);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const TokenHeader = {
|
|
108
|
+
AUTHORIZATION: (value) => ({ key: "Authorization", value: `Bearer ${value}` }),
|
|
109
|
+
X_CHROMA_TOKEN: (value) => ({ key: "X-Chroma-Token", value: value })
|
|
110
|
+
};
|
|
111
|
+
class TokenClientAuthResponse {
|
|
112
|
+
constructor(credentials, headerType = 'AUTHORIZATION') {
|
|
113
|
+
this.credentials = credentials;
|
|
114
|
+
this.headerType = headerType;
|
|
115
|
+
}
|
|
116
|
+
getAuthInfo() {
|
|
117
|
+
if (this.headerType === 'AUTHORIZATION') {
|
|
118
|
+
return TokenHeader.AUTHORIZATION(this.credentials.getCredentials().getSecret());
|
|
119
|
+
}
|
|
120
|
+
else if (this.headerType === 'X_CHROMA_TOKEN') {
|
|
121
|
+
return TokenHeader.X_CHROMA_TOKEN(this.credentials.getCredentials().getSecret());
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
throw new Error("Invalid header type: " + this.headerType + ". Valid types are: " + Object.keys(TokenHeader).join(", "));
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
getAuthInfoType() {
|
|
128
|
+
return AuthInfoType.HEADER;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
72
131
|
export class IsomorphicFetchClientAuthProtocolAdapter {
|
|
73
132
|
/**
|
|
74
133
|
* Creates a new adapter of IsomorphicFetchClientAuthProtocolAdapter.
|
|
@@ -79,7 +138,17 @@ export class IsomorphicFetchClientAuthProtocolAdapter {
|
|
|
79
138
|
this.api = api;
|
|
80
139
|
switch (authConfiguration.provider) {
|
|
81
140
|
case "basic":
|
|
82
|
-
this.authProvider = new BasicAuthClientAuthProvider({
|
|
141
|
+
this.authProvider = new BasicAuthClientAuthProvider({
|
|
142
|
+
textCredentials: authConfiguration.credentials,
|
|
143
|
+
credentialsProvider: authConfiguration.credentialsProvider
|
|
144
|
+
});
|
|
145
|
+
break;
|
|
146
|
+
case "token":
|
|
147
|
+
this.authProvider = new TokenClientAuthProvider({
|
|
148
|
+
textCredentials: authConfiguration.credentials,
|
|
149
|
+
credentialsProvider: authConfiguration.credentialsProvider,
|
|
150
|
+
providerOptions: authConfiguration.providerOptions
|
|
151
|
+
});
|
|
83
152
|
break;
|
|
84
153
|
default:
|
|
85
154
|
this.authProvider = undefined;
|
package/dist/module/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAwBA,IAAK,YAMJ;AAND,WAAK,YAAY;IACb,iCAAiB,CAAA;IACjB,iCAAiB,CAAA;IACjB,2BAAW,CAAA;IACX,qCAAqB,CAAA;AAEzB,CAAC,EANI,YAAY,KAAZ,YAAY,QAMhB;AAoBD,MAAM,SAAS;IACX,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAC3C,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;CACJ;AAED,MAAM,YAAY,GAAG,CAAC,GAAW,EAAU,EAAE;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,oBAAoB;IAGtB,YAAY,MAAc;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,cAAc;QACV,eAAe;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AAGD,MAAM,2BAA2B;IAC7B,YAA6B,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAC9D,CAAC;IAED,WAAW;QACP,OAAO,EAAC,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,EAAC,CAAC;IACnG,CAAC;IAED,eAAe;QACX,OAAO,YAAY,CAAC,MAAM,CAAC;IAC/B,CAAC;CACJ;AAED,MAAM,OAAO,4BAA4B;IAGrC;;;;OAIG;IAEH,YAAY,MAA0B;QAClC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B;YAAE,MAAM,IAAI,KAAK,CAAC,uHAAuH,CAAC,CAAC;QAClN,IAAI,CAAC,WAAW,GAAG,IAAI,oBAAoB,CAAC,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAW,CAAC,CAAC;IAClH,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;CACJ;AAED,MAAM,2BAA2B;IAG7B;;;;;;OAMG;IAEH,YAAY,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chromadb",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.10",
|
|
4
4
|
"description": "A JavaScript interface for chroma",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "",
|
|
@@ -29,16 +29,26 @@
|
|
|
29
29
|
"dist"
|
|
30
30
|
],
|
|
31
31
|
"scripts": {
|
|
32
|
-
"test": "run-s db:clean db:run test:runfull db:clean db:run-auth test:runfull-authonly db:
|
|
32
|
+
"test": "run-s db:clean db:cleanauth db:run test:runfull db:clean db:run-auth test:runfull-authonly db:cleanauth",
|
|
33
|
+
"testnoauth": "run-s db:clean db:run test:runfull db:clean",
|
|
34
|
+
"testauth": "run-s db:cleanauth db:run-auth test:runfull-authonly db:cleanauth",
|
|
33
35
|
"test:set-port": "cross-env URL=localhost:8001",
|
|
34
|
-
"test:run": "jest --runInBand --testPathIgnorePatterns=test/auth
|
|
35
|
-
"test:run-auth": "jest --runInBand --testPathPattern=test/auth.basic.test.ts",
|
|
36
|
-
"test:
|
|
37
|
-
"test:
|
|
36
|
+
"test:run": "jest --runInBand --testPathIgnorePatterns=test/auth.*.test.ts",
|
|
37
|
+
"test:run-auth-basic": "jest --runInBand --testPathPattern=test/auth.basic.test.ts",
|
|
38
|
+
"test:run-auth-token": "jest --runInBand --testPathPattern=test/auth.token.test.ts",
|
|
39
|
+
"test:run-auth-xtoken": "XTOKEN_TEST=true jest --runInBand --testPathPattern=test/auth.token.test.ts",
|
|
40
|
+
"test:runfull": "PORT=8001 jest --runInBand --testPathIgnorePatterns=test/auth.*.test.ts",
|
|
41
|
+
"test:runfull-authonly": "run-s db:run-auth-basic test:runfull-authonly-basic db:clean db:run-auth-token test:runfull-authonly-token db:clean db:run-auth-xtoken test:runfull-authonly-xtoken db:clean",
|
|
42
|
+
"test:runfull-authonly-basic": "PORT=8001 jest --runInBand --testPathPattern=test/auth.basic.test.ts",
|
|
43
|
+
"test:runfull-authonly-token": "PORT=8001 jest --runInBand --testPathPattern=test/auth.token.test.ts",
|
|
44
|
+
"test:runfull-authonly-xtoken": "PORT=8001 XTOKEN_TEST=true jest --runInBand --testPathPattern=test/auth.token.test.ts",
|
|
38
45
|
"test:update": "run-s db:clean db:run && jest --runInBand --updateSnapshot && run-s db:clean",
|
|
39
46
|
"db:clean": "cd ../.. && CHROMA_PORT=8001 docker-compose -f docker-compose.test.yml down --volumes",
|
|
47
|
+
"db:cleanauth": "cd ../.. && CHROMA_PORT=8001 docker-compose -f docker-compose.test-auth.yml down --volumes",
|
|
40
48
|
"db:run": "cd ../.. && CHROMA_PORT=8001 docker-compose -f docker-compose.test.yml up --detach && sleep 5",
|
|
41
|
-
"db:run-auth": "cd ../.. &&
|
|
49
|
+
"db:run-auth-basic": "cd ../.. && docker run --rm --entrypoint htpasswd httpd:2 -Bbn admin admin > server.htpasswd && echo \"CHROMA_SERVER_AUTH_CREDENTIALS_FILE=/chroma/server.htpasswd\\nCHROMA_SERVER_AUTH_CREDENTIALS_PROVIDER=chromadb.auth.providers.HtpasswdFileServerAuthCredentialsProvider\\nCHROMA_SERVER_AUTH_PROVIDER=chromadb.auth.basic.BasicAuthServerProvider\\nCHROMA_PORT=8001\" > .chroma_env && docker-compose -f docker-compose.test-auth.yml --env-file ./.chroma_env up --detach && sleep 5",
|
|
50
|
+
"db:run-auth-token": "cd ../.. && echo \"CHROMA_SERVER_AUTH_CREDENTIALS=test-token\nCHROMA_SERVER_AUTH_CREDENTIALS_PROVIDER=chromadb.auth.token.TokenConfigServerAuthCredentialsProvider\nCHROMA_SERVER_AUTH_PROVIDER=chromadb.auth.token.TokenAuthServerProvider\\nCHROMA_PORT=8001\" > .chroma_env && docker-compose -f docker-compose.test-auth.yml --env-file ./.chroma_env up --detach && sleep 5",
|
|
51
|
+
"db:run-auth-xtoken": "cd ../.. && echo \"CHROMA_SERVER_AUTH_TOKEN_TRANSPORT_HEADER=X_CHROMA_TOKEN\nCHROMA_SERVER_AUTH_CREDENTIALS=test-token\nCHROMA_SERVER_AUTH_CREDENTIALS_PROVIDER=chromadb.auth.token.TokenConfigServerAuthCredentialsProvider\nCHROMA_SERVER_AUTH_PROVIDER=chromadb.auth.token.TokenAuthServerProvider\\nCHROMA_PORT=8001\" > .chroma_env && docker-compose -f docker-compose.test-auth.yml --env-file ./.chroma_env up --detach && sleep 5",
|
|
42
52
|
"clean": "rimraf dist",
|
|
43
53
|
"build": "run-s clean build:*",
|
|
44
54
|
"build:main": "tsc -p tsconfig.json",
|
|
@@ -55,22 +65,10 @@
|
|
|
55
65
|
"isomorphic-fetch": "^3.0.0"
|
|
56
66
|
},
|
|
57
67
|
"peerDependencies": {
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"@xenova/transformers": "^2.0.0",
|
|
61
|
-
"cohere-ai": "^6.0.0",
|
|
62
|
-
"openai": "^3.0.0 | ^4.0.0"
|
|
68
|
+
"cohere-ai": "^5.1.0",
|
|
69
|
+
"openai": "^3.0.0 || ^4.0.0"
|
|
63
70
|
},
|
|
64
71
|
"peerDependenciesMeta": {
|
|
65
|
-
"@visheratin/web-ai": {
|
|
66
|
-
"optional": true
|
|
67
|
-
},
|
|
68
|
-
"@visheratin/web-ai-node": {
|
|
69
|
-
"optional": true
|
|
70
|
-
},
|
|
71
|
-
"@xenova/transformers": {
|
|
72
|
-
"optional": true
|
|
73
|
-
},
|
|
74
72
|
"cohere-ai": {
|
|
75
73
|
"optional": true
|
|
76
74
|
},
|
package/src/auth.ts
CHANGED
|
@@ -118,7 +118,10 @@ class BasicAuthClientAuthProvider implements ClientAuthProvider {
|
|
|
118
118
|
* @throws {Error} If neither credentials provider or text credentials are supplied.
|
|
119
119
|
*/
|
|
120
120
|
|
|
121
|
-
constructor(options: {
|
|
121
|
+
constructor(options: {
|
|
122
|
+
textCredentials: any;
|
|
123
|
+
credentialsProvider: ClientAuthCredentialsProvider<any> | undefined
|
|
124
|
+
}) {
|
|
122
125
|
if (!options.credentialsProvider && !options.textCredentials) {
|
|
123
126
|
throw new Error("Either credentials provider or text credentials must be supplied.");
|
|
124
127
|
}
|
|
@@ -130,6 +133,85 @@ class BasicAuthClientAuthProvider implements ClientAuthProvider {
|
|
|
130
133
|
}
|
|
131
134
|
}
|
|
132
135
|
|
|
136
|
+
class TokenAuthCredentials implements AbstractCredentials<SecretStr> {
|
|
137
|
+
private readonly credentials: SecretStr;
|
|
138
|
+
|
|
139
|
+
constructor(_creds: string) {
|
|
140
|
+
this.credentials = new SecretStr(_creds)
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
getCredentials(): SecretStr {
|
|
144
|
+
return this.credentials;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
export class TokenCredentialsProvider implements ClientAuthCredentialsProvider<TokenAuthCredentials> {
|
|
149
|
+
private readonly credentials: TokenAuthCredentials;
|
|
150
|
+
|
|
151
|
+
constructor(_creds: string | undefined) {
|
|
152
|
+
if (_creds === undefined && !process.env.CHROMA_CLIENT_AUTH_CREDENTIALS) throw new Error("Credentials must be supplied via environment variable (CHROMA_CLIENT_AUTH_CREDENTIALS) or passed in as configuration.");
|
|
153
|
+
this.credentials = new TokenAuthCredentials((_creds ?? process.env.CHROMA_CLIENT_AUTH_CREDENTIALS) as string);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
getCredentials(): TokenAuthCredentials {
|
|
157
|
+
return this.credentials;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export class TokenClientAuthProvider implements ClientAuthProvider {
|
|
162
|
+
private readonly credentialsProvider: ClientAuthCredentialsProvider<any>;
|
|
163
|
+
private readonly providerOptions: { headerType: TokenHeaderType };
|
|
164
|
+
|
|
165
|
+
constructor(options: {
|
|
166
|
+
textCredentials: any;
|
|
167
|
+
credentialsProvider: ClientAuthCredentialsProvider<any> | undefined,
|
|
168
|
+
providerOptions?: { headerType: TokenHeaderType }
|
|
169
|
+
}) {
|
|
170
|
+
if (!options.credentialsProvider && !options.textCredentials) {
|
|
171
|
+
throw new Error("Either credentials provider or text credentials must be supplied.");
|
|
172
|
+
}
|
|
173
|
+
if (options.providerOptions === undefined || !options.providerOptions.hasOwnProperty("headerType")) {
|
|
174
|
+
this.providerOptions = {headerType: "AUTHORIZATION"};
|
|
175
|
+
} else {
|
|
176
|
+
this.providerOptions = {headerType: options.providerOptions.headerType};
|
|
177
|
+
}
|
|
178
|
+
this.credentialsProvider = options.credentialsProvider || new TokenCredentialsProvider(options.textCredentials);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
authenticate(): ClientAuthResponse {
|
|
182
|
+
return new TokenClientAuthResponse(this.credentialsProvider.getCredentials(), this.providerOptions.headerType);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
type TokenHeaderType = 'AUTHORIZATION' | 'X_CHROMA_TOKEN';
|
|
189
|
+
|
|
190
|
+
const TokenHeader: Record<TokenHeaderType, (value: string) => { key: string; value: string; }> = {
|
|
191
|
+
AUTHORIZATION: (value: string) => ({key: "Authorization", value: `Bearer ${value}`}),
|
|
192
|
+
X_CHROMA_TOKEN: (value: string) => ({key: "X-Chroma-Token", value: value})
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
class TokenClientAuthResponse implements ClientAuthResponse {
|
|
196
|
+
constructor(private readonly credentials: TokenAuthCredentials, private readonly headerType: TokenHeaderType = 'AUTHORIZATION') {
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
getAuthInfo(): { key: string; value: string } {
|
|
200
|
+
if (this.headerType === 'AUTHORIZATION') {
|
|
201
|
+
return TokenHeader.AUTHORIZATION(this.credentials.getCredentials().getSecret());
|
|
202
|
+
} else if (this.headerType === 'X_CHROMA_TOKEN') {
|
|
203
|
+
return TokenHeader.X_CHROMA_TOKEN(this.credentials.getCredentials().getSecret());
|
|
204
|
+
} else {
|
|
205
|
+
throw new Error("Invalid header type: " + this.headerType + ". Valid types are: " + Object.keys(TokenHeader).join(", "));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
getAuthInfoType(): AuthInfoType {
|
|
210
|
+
return AuthInfoType.HEADER;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
|
|
133
215
|
export class IsomorphicFetchClientAuthProtocolAdapter implements ClientAuthProtocolAdapter<RequestInit> {
|
|
134
216
|
authProvider: ClientAuthProvider | undefined;
|
|
135
217
|
wrapperApi: DefaultApi | undefined;
|
|
@@ -144,7 +226,17 @@ export class IsomorphicFetchClientAuthProtocolAdapter implements ClientAuthProto
|
|
|
144
226
|
|
|
145
227
|
switch (authConfiguration.provider) {
|
|
146
228
|
case "basic":
|
|
147
|
-
this.authProvider = new BasicAuthClientAuthProvider({
|
|
229
|
+
this.authProvider = new BasicAuthClientAuthProvider({
|
|
230
|
+
textCredentials: authConfiguration.credentials,
|
|
231
|
+
credentialsProvider: authConfiguration.credentialsProvider
|
|
232
|
+
});
|
|
233
|
+
break;
|
|
234
|
+
case "token":
|
|
235
|
+
this.authProvider = new TokenClientAuthProvider({
|
|
236
|
+
textCredentials: authConfiguration.credentials,
|
|
237
|
+
credentialsProvider: authConfiguration.credentialsProvider,
|
|
238
|
+
providerOptions: authConfiguration.providerOptions
|
|
239
|
+
});
|
|
148
240
|
break;
|
|
149
241
|
default:
|
|
150
242
|
this.authProvider = undefined;
|
|
@@ -225,4 +317,5 @@ export type AuthOptions = {
|
|
|
225
317
|
credentialsProvider?: ClientAuthCredentialsProvider<any> | undefined,
|
|
226
318
|
configProvider?: ClientAuthConfigurationProvider<any> | undefined,
|
|
227
319
|
credentials?: any | undefined,
|
|
320
|
+
providerOptions?: any | undefined
|
|
228
321
|
}
|