@fluxbase/sdk 0.0.1-rc.97 → 0.0.1-rc.98
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.cjs +190 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +136 -0
- package/dist/index.d.ts +136 -0
- package/dist/index.js +190 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -961,6 +961,20 @@ interface CustomSetting {
|
|
|
961
961
|
created_at: string;
|
|
962
962
|
updated_at: string;
|
|
963
963
|
}
|
|
964
|
+
/**
|
|
965
|
+
* Metadata for a secret setting (value is never exposed via API)
|
|
966
|
+
* Secret values can only be accessed server-side (in edge functions, jobs, handlers)
|
|
967
|
+
*/
|
|
968
|
+
interface SecretSettingMetadata {
|
|
969
|
+
id: string;
|
|
970
|
+
key: string;
|
|
971
|
+
description?: string;
|
|
972
|
+
user_id?: string;
|
|
973
|
+
created_by?: string;
|
|
974
|
+
updated_by?: string;
|
|
975
|
+
created_at: string;
|
|
976
|
+
updated_at: string;
|
|
977
|
+
}
|
|
964
978
|
/**
|
|
965
979
|
* Authentication settings for the application
|
|
966
980
|
*/
|
|
@@ -4983,6 +4997,66 @@ declare class AppSettingsManager {
|
|
|
4983
4997
|
* ```
|
|
4984
4998
|
*/
|
|
4985
4999
|
deleteSetting(key: string): Promise<void>;
|
|
5000
|
+
/**
|
|
5001
|
+
* Set a system-level secret setting (encrypted)
|
|
5002
|
+
*
|
|
5003
|
+
* Creates or updates an encrypted system secret. The value is encrypted server-side
|
|
5004
|
+
* and can only be accessed by edge functions, background jobs, or custom handlers.
|
|
5005
|
+
* The SDK never returns the decrypted value.
|
|
5006
|
+
*
|
|
5007
|
+
* @param key - Secret key
|
|
5008
|
+
* @param value - Secret value (will be encrypted server-side)
|
|
5009
|
+
* @param options - Optional description
|
|
5010
|
+
* @returns Promise resolving to SecretSettingMetadata (never includes the value)
|
|
5011
|
+
*
|
|
5012
|
+
* @example
|
|
5013
|
+
* ```typescript
|
|
5014
|
+
* await client.admin.settings.app.setSecretSetting('stripe_api_key', 'sk-live-xxx', {
|
|
5015
|
+
* description: 'Stripe API key for payment processing'
|
|
5016
|
+
* })
|
|
5017
|
+
* ```
|
|
5018
|
+
*/
|
|
5019
|
+
setSecretSetting(key: string, value: string, options?: {
|
|
5020
|
+
description?: string;
|
|
5021
|
+
}): Promise<SecretSettingMetadata>;
|
|
5022
|
+
/**
|
|
5023
|
+
* Get metadata for a system secret setting (never returns the value)
|
|
5024
|
+
*
|
|
5025
|
+
* @param key - Secret key
|
|
5026
|
+
* @returns Promise resolving to SecretSettingMetadata
|
|
5027
|
+
*
|
|
5028
|
+
* @example
|
|
5029
|
+
* ```typescript
|
|
5030
|
+
* const metadata = await client.admin.settings.app.getSecretSetting('stripe_api_key')
|
|
5031
|
+
* console.log(metadata.key, metadata.updated_at)
|
|
5032
|
+
* // Note: metadata.value is never included
|
|
5033
|
+
* ```
|
|
5034
|
+
*/
|
|
5035
|
+
getSecretSetting(key: string): Promise<SecretSettingMetadata>;
|
|
5036
|
+
/**
|
|
5037
|
+
* List all system secret settings (metadata only, never includes values)
|
|
5038
|
+
*
|
|
5039
|
+
* @returns Promise resolving to array of SecretSettingMetadata
|
|
5040
|
+
*
|
|
5041
|
+
* @example
|
|
5042
|
+
* ```typescript
|
|
5043
|
+
* const secrets = await client.admin.settings.app.listSecretSettings()
|
|
5044
|
+
* secrets.forEach(s => console.log(s.key, s.description))
|
|
5045
|
+
* ```
|
|
5046
|
+
*/
|
|
5047
|
+
listSecretSettings(): Promise<SecretSettingMetadata[]>;
|
|
5048
|
+
/**
|
|
5049
|
+
* Delete a system secret setting
|
|
5050
|
+
*
|
|
5051
|
+
* @param key - Secret key to delete
|
|
5052
|
+
* @returns Promise<void>
|
|
5053
|
+
*
|
|
5054
|
+
* @example
|
|
5055
|
+
* ```typescript
|
|
5056
|
+
* await client.admin.settings.app.deleteSecretSetting('stripe_api_key')
|
|
5057
|
+
* ```
|
|
5058
|
+
*/
|
|
5059
|
+
deleteSecretSetting(key: string): Promise<void>;
|
|
4986
5060
|
}
|
|
4987
5061
|
/**
|
|
4988
5062
|
* Email Template Manager
|
|
@@ -5371,6 +5445,68 @@ declare class SettingsClient {
|
|
|
5371
5445
|
* ```
|
|
5372
5446
|
*/
|
|
5373
5447
|
getMany(keys: string[]): Promise<Record<string, any>>;
|
|
5448
|
+
/**
|
|
5449
|
+
* Set a user secret setting (encrypted)
|
|
5450
|
+
*
|
|
5451
|
+
* Creates or updates an encrypted secret that belongs to the current user.
|
|
5452
|
+
* The value is encrypted server-side with a user-specific key and can only be
|
|
5453
|
+
* accessed by edge functions, background jobs, or custom handlers running on
|
|
5454
|
+
* behalf of this user. Even admins cannot see the decrypted value.
|
|
5455
|
+
*
|
|
5456
|
+
* @param key - Secret key
|
|
5457
|
+
* @param value - Secret value (will be encrypted server-side)
|
|
5458
|
+
* @param options - Optional description
|
|
5459
|
+
* @returns Promise resolving to SecretSettingMetadata (never includes the value)
|
|
5460
|
+
*
|
|
5461
|
+
* @example
|
|
5462
|
+
* ```typescript
|
|
5463
|
+
* // Store user's API key for a third-party service
|
|
5464
|
+
* await client.settings.setSecret('openai_api_key', 'sk-abc123', {
|
|
5465
|
+
* description: 'My OpenAI API key'
|
|
5466
|
+
* })
|
|
5467
|
+
* ```
|
|
5468
|
+
*/
|
|
5469
|
+
setSecret(key: string, value: string, options?: {
|
|
5470
|
+
description?: string;
|
|
5471
|
+
}): Promise<SecretSettingMetadata>;
|
|
5472
|
+
/**
|
|
5473
|
+
* Get metadata for a user secret setting (never returns the value)
|
|
5474
|
+
*
|
|
5475
|
+
* @param key - Secret key
|
|
5476
|
+
* @returns Promise resolving to SecretSettingMetadata
|
|
5477
|
+
*
|
|
5478
|
+
* @example
|
|
5479
|
+
* ```typescript
|
|
5480
|
+
* const metadata = await client.settings.getSecret('openai_api_key')
|
|
5481
|
+
* console.log(metadata.key, metadata.updated_at)
|
|
5482
|
+
* // Note: The actual secret value is never returned
|
|
5483
|
+
* ```
|
|
5484
|
+
*/
|
|
5485
|
+
getSecret(key: string): Promise<SecretSettingMetadata>;
|
|
5486
|
+
/**
|
|
5487
|
+
* List all user's secret settings (metadata only, never includes values)
|
|
5488
|
+
*
|
|
5489
|
+
* @returns Promise resolving to array of SecretSettingMetadata
|
|
5490
|
+
*
|
|
5491
|
+
* @example
|
|
5492
|
+
* ```typescript
|
|
5493
|
+
* const secrets = await client.settings.listSecrets()
|
|
5494
|
+
* secrets.forEach(s => console.log(s.key, s.description))
|
|
5495
|
+
* ```
|
|
5496
|
+
*/
|
|
5497
|
+
listSecrets(): Promise<SecretSettingMetadata[]>;
|
|
5498
|
+
/**
|
|
5499
|
+
* Delete a user secret setting
|
|
5500
|
+
*
|
|
5501
|
+
* @param key - Secret key to delete
|
|
5502
|
+
* @returns Promise<void>
|
|
5503
|
+
*
|
|
5504
|
+
* @example
|
|
5505
|
+
* ```typescript
|
|
5506
|
+
* await client.settings.deleteSecret('openai_api_key')
|
|
5507
|
+
* ```
|
|
5508
|
+
*/
|
|
5509
|
+
deleteSecret(key: string): Promise<void>;
|
|
5374
5510
|
}
|
|
5375
5511
|
|
|
5376
5512
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -961,6 +961,20 @@ interface CustomSetting {
|
|
|
961
961
|
created_at: string;
|
|
962
962
|
updated_at: string;
|
|
963
963
|
}
|
|
964
|
+
/**
|
|
965
|
+
* Metadata for a secret setting (value is never exposed via API)
|
|
966
|
+
* Secret values can only be accessed server-side (in edge functions, jobs, handlers)
|
|
967
|
+
*/
|
|
968
|
+
interface SecretSettingMetadata {
|
|
969
|
+
id: string;
|
|
970
|
+
key: string;
|
|
971
|
+
description?: string;
|
|
972
|
+
user_id?: string;
|
|
973
|
+
created_by?: string;
|
|
974
|
+
updated_by?: string;
|
|
975
|
+
created_at: string;
|
|
976
|
+
updated_at: string;
|
|
977
|
+
}
|
|
964
978
|
/**
|
|
965
979
|
* Authentication settings for the application
|
|
966
980
|
*/
|
|
@@ -4983,6 +4997,66 @@ declare class AppSettingsManager {
|
|
|
4983
4997
|
* ```
|
|
4984
4998
|
*/
|
|
4985
4999
|
deleteSetting(key: string): Promise<void>;
|
|
5000
|
+
/**
|
|
5001
|
+
* Set a system-level secret setting (encrypted)
|
|
5002
|
+
*
|
|
5003
|
+
* Creates or updates an encrypted system secret. The value is encrypted server-side
|
|
5004
|
+
* and can only be accessed by edge functions, background jobs, or custom handlers.
|
|
5005
|
+
* The SDK never returns the decrypted value.
|
|
5006
|
+
*
|
|
5007
|
+
* @param key - Secret key
|
|
5008
|
+
* @param value - Secret value (will be encrypted server-side)
|
|
5009
|
+
* @param options - Optional description
|
|
5010
|
+
* @returns Promise resolving to SecretSettingMetadata (never includes the value)
|
|
5011
|
+
*
|
|
5012
|
+
* @example
|
|
5013
|
+
* ```typescript
|
|
5014
|
+
* await client.admin.settings.app.setSecretSetting('stripe_api_key', 'sk-live-xxx', {
|
|
5015
|
+
* description: 'Stripe API key for payment processing'
|
|
5016
|
+
* })
|
|
5017
|
+
* ```
|
|
5018
|
+
*/
|
|
5019
|
+
setSecretSetting(key: string, value: string, options?: {
|
|
5020
|
+
description?: string;
|
|
5021
|
+
}): Promise<SecretSettingMetadata>;
|
|
5022
|
+
/**
|
|
5023
|
+
* Get metadata for a system secret setting (never returns the value)
|
|
5024
|
+
*
|
|
5025
|
+
* @param key - Secret key
|
|
5026
|
+
* @returns Promise resolving to SecretSettingMetadata
|
|
5027
|
+
*
|
|
5028
|
+
* @example
|
|
5029
|
+
* ```typescript
|
|
5030
|
+
* const metadata = await client.admin.settings.app.getSecretSetting('stripe_api_key')
|
|
5031
|
+
* console.log(metadata.key, metadata.updated_at)
|
|
5032
|
+
* // Note: metadata.value is never included
|
|
5033
|
+
* ```
|
|
5034
|
+
*/
|
|
5035
|
+
getSecretSetting(key: string): Promise<SecretSettingMetadata>;
|
|
5036
|
+
/**
|
|
5037
|
+
* List all system secret settings (metadata only, never includes values)
|
|
5038
|
+
*
|
|
5039
|
+
* @returns Promise resolving to array of SecretSettingMetadata
|
|
5040
|
+
*
|
|
5041
|
+
* @example
|
|
5042
|
+
* ```typescript
|
|
5043
|
+
* const secrets = await client.admin.settings.app.listSecretSettings()
|
|
5044
|
+
* secrets.forEach(s => console.log(s.key, s.description))
|
|
5045
|
+
* ```
|
|
5046
|
+
*/
|
|
5047
|
+
listSecretSettings(): Promise<SecretSettingMetadata[]>;
|
|
5048
|
+
/**
|
|
5049
|
+
* Delete a system secret setting
|
|
5050
|
+
*
|
|
5051
|
+
* @param key - Secret key to delete
|
|
5052
|
+
* @returns Promise<void>
|
|
5053
|
+
*
|
|
5054
|
+
* @example
|
|
5055
|
+
* ```typescript
|
|
5056
|
+
* await client.admin.settings.app.deleteSecretSetting('stripe_api_key')
|
|
5057
|
+
* ```
|
|
5058
|
+
*/
|
|
5059
|
+
deleteSecretSetting(key: string): Promise<void>;
|
|
4986
5060
|
}
|
|
4987
5061
|
/**
|
|
4988
5062
|
* Email Template Manager
|
|
@@ -5371,6 +5445,68 @@ declare class SettingsClient {
|
|
|
5371
5445
|
* ```
|
|
5372
5446
|
*/
|
|
5373
5447
|
getMany(keys: string[]): Promise<Record<string, any>>;
|
|
5448
|
+
/**
|
|
5449
|
+
* Set a user secret setting (encrypted)
|
|
5450
|
+
*
|
|
5451
|
+
* Creates or updates an encrypted secret that belongs to the current user.
|
|
5452
|
+
* The value is encrypted server-side with a user-specific key and can only be
|
|
5453
|
+
* accessed by edge functions, background jobs, or custom handlers running on
|
|
5454
|
+
* behalf of this user. Even admins cannot see the decrypted value.
|
|
5455
|
+
*
|
|
5456
|
+
* @param key - Secret key
|
|
5457
|
+
* @param value - Secret value (will be encrypted server-side)
|
|
5458
|
+
* @param options - Optional description
|
|
5459
|
+
* @returns Promise resolving to SecretSettingMetadata (never includes the value)
|
|
5460
|
+
*
|
|
5461
|
+
* @example
|
|
5462
|
+
* ```typescript
|
|
5463
|
+
* // Store user's API key for a third-party service
|
|
5464
|
+
* await client.settings.setSecret('openai_api_key', 'sk-abc123', {
|
|
5465
|
+
* description: 'My OpenAI API key'
|
|
5466
|
+
* })
|
|
5467
|
+
* ```
|
|
5468
|
+
*/
|
|
5469
|
+
setSecret(key: string, value: string, options?: {
|
|
5470
|
+
description?: string;
|
|
5471
|
+
}): Promise<SecretSettingMetadata>;
|
|
5472
|
+
/**
|
|
5473
|
+
* Get metadata for a user secret setting (never returns the value)
|
|
5474
|
+
*
|
|
5475
|
+
* @param key - Secret key
|
|
5476
|
+
* @returns Promise resolving to SecretSettingMetadata
|
|
5477
|
+
*
|
|
5478
|
+
* @example
|
|
5479
|
+
* ```typescript
|
|
5480
|
+
* const metadata = await client.settings.getSecret('openai_api_key')
|
|
5481
|
+
* console.log(metadata.key, metadata.updated_at)
|
|
5482
|
+
* // Note: The actual secret value is never returned
|
|
5483
|
+
* ```
|
|
5484
|
+
*/
|
|
5485
|
+
getSecret(key: string): Promise<SecretSettingMetadata>;
|
|
5486
|
+
/**
|
|
5487
|
+
* List all user's secret settings (metadata only, never includes values)
|
|
5488
|
+
*
|
|
5489
|
+
* @returns Promise resolving to array of SecretSettingMetadata
|
|
5490
|
+
*
|
|
5491
|
+
* @example
|
|
5492
|
+
* ```typescript
|
|
5493
|
+
* const secrets = await client.settings.listSecrets()
|
|
5494
|
+
* secrets.forEach(s => console.log(s.key, s.description))
|
|
5495
|
+
* ```
|
|
5496
|
+
*/
|
|
5497
|
+
listSecrets(): Promise<SecretSettingMetadata[]>;
|
|
5498
|
+
/**
|
|
5499
|
+
* Delete a user secret setting
|
|
5500
|
+
*
|
|
5501
|
+
* @param key - Secret key to delete
|
|
5502
|
+
* @returns Promise<void>
|
|
5503
|
+
*
|
|
5504
|
+
* @example
|
|
5505
|
+
* ```typescript
|
|
5506
|
+
* await client.settings.deleteSecret('openai_api_key')
|
|
5507
|
+
* ```
|
|
5508
|
+
*/
|
|
5509
|
+
deleteSecret(key: string): Promise<void>;
|
|
5374
5510
|
}
|
|
5375
5511
|
|
|
5376
5512
|
/**
|
package/dist/index.js
CHANGED
|
@@ -4111,6 +4111,99 @@ var AppSettingsManager = class {
|
|
|
4111
4111
|
async deleteSetting(key) {
|
|
4112
4112
|
await this.fetch.delete(`/api/v1/admin/settings/custom/${key}`);
|
|
4113
4113
|
}
|
|
4114
|
+
// ============================================================================
|
|
4115
|
+
// System Secret Settings (encrypted, server-side access only)
|
|
4116
|
+
// ============================================================================
|
|
4117
|
+
/**
|
|
4118
|
+
* Set a system-level secret setting (encrypted)
|
|
4119
|
+
*
|
|
4120
|
+
* Creates or updates an encrypted system secret. The value is encrypted server-side
|
|
4121
|
+
* and can only be accessed by edge functions, background jobs, or custom handlers.
|
|
4122
|
+
* The SDK never returns the decrypted value.
|
|
4123
|
+
*
|
|
4124
|
+
* @param key - Secret key
|
|
4125
|
+
* @param value - Secret value (will be encrypted server-side)
|
|
4126
|
+
* @param options - Optional description
|
|
4127
|
+
* @returns Promise resolving to SecretSettingMetadata (never includes the value)
|
|
4128
|
+
*
|
|
4129
|
+
* @example
|
|
4130
|
+
* ```typescript
|
|
4131
|
+
* await client.admin.settings.app.setSecretSetting('stripe_api_key', 'sk-live-xxx', {
|
|
4132
|
+
* description: 'Stripe API key for payment processing'
|
|
4133
|
+
* })
|
|
4134
|
+
* ```
|
|
4135
|
+
*/
|
|
4136
|
+
async setSecretSetting(key, value, options) {
|
|
4137
|
+
try {
|
|
4138
|
+
return await this.fetch.put(
|
|
4139
|
+
`/api/v1/admin/settings/custom/secret/${key}`,
|
|
4140
|
+
{
|
|
4141
|
+
value,
|
|
4142
|
+
description: options?.description
|
|
4143
|
+
}
|
|
4144
|
+
);
|
|
4145
|
+
} catch (error) {
|
|
4146
|
+
if (error.status === 404 || error.message?.includes("not found")) {
|
|
4147
|
+
return await this.fetch.post(
|
|
4148
|
+
"/api/v1/admin/settings/custom/secret",
|
|
4149
|
+
{
|
|
4150
|
+
key,
|
|
4151
|
+
value,
|
|
4152
|
+
description: options?.description
|
|
4153
|
+
}
|
|
4154
|
+
);
|
|
4155
|
+
}
|
|
4156
|
+
throw error;
|
|
4157
|
+
}
|
|
4158
|
+
}
|
|
4159
|
+
/**
|
|
4160
|
+
* Get metadata for a system secret setting (never returns the value)
|
|
4161
|
+
*
|
|
4162
|
+
* @param key - Secret key
|
|
4163
|
+
* @returns Promise resolving to SecretSettingMetadata
|
|
4164
|
+
*
|
|
4165
|
+
* @example
|
|
4166
|
+
* ```typescript
|
|
4167
|
+
* const metadata = await client.admin.settings.app.getSecretSetting('stripe_api_key')
|
|
4168
|
+
* console.log(metadata.key, metadata.updated_at)
|
|
4169
|
+
* // Note: metadata.value is never included
|
|
4170
|
+
* ```
|
|
4171
|
+
*/
|
|
4172
|
+
async getSecretSetting(key) {
|
|
4173
|
+
return await this.fetch.get(
|
|
4174
|
+
`/api/v1/admin/settings/custom/secret/${key}`
|
|
4175
|
+
);
|
|
4176
|
+
}
|
|
4177
|
+
/**
|
|
4178
|
+
* List all system secret settings (metadata only, never includes values)
|
|
4179
|
+
*
|
|
4180
|
+
* @returns Promise resolving to array of SecretSettingMetadata
|
|
4181
|
+
*
|
|
4182
|
+
* @example
|
|
4183
|
+
* ```typescript
|
|
4184
|
+
* const secrets = await client.admin.settings.app.listSecretSettings()
|
|
4185
|
+
* secrets.forEach(s => console.log(s.key, s.description))
|
|
4186
|
+
* ```
|
|
4187
|
+
*/
|
|
4188
|
+
async listSecretSettings() {
|
|
4189
|
+
return await this.fetch.get(
|
|
4190
|
+
"/api/v1/admin/settings/custom/secrets"
|
|
4191
|
+
);
|
|
4192
|
+
}
|
|
4193
|
+
/**
|
|
4194
|
+
* Delete a system secret setting
|
|
4195
|
+
*
|
|
4196
|
+
* @param key - Secret key to delete
|
|
4197
|
+
* @returns Promise<void>
|
|
4198
|
+
*
|
|
4199
|
+
* @example
|
|
4200
|
+
* ```typescript
|
|
4201
|
+
* await client.admin.settings.app.deleteSecretSetting('stripe_api_key')
|
|
4202
|
+
* ```
|
|
4203
|
+
*/
|
|
4204
|
+
async deleteSecretSetting(key) {
|
|
4205
|
+
await this.fetch.delete(`/api/v1/admin/settings/custom/secret/${key}`);
|
|
4206
|
+
}
|
|
4114
4207
|
};
|
|
4115
4208
|
var EmailTemplateManager = class {
|
|
4116
4209
|
constructor(fetch2) {
|
|
@@ -4445,6 +4538,103 @@ var SettingsClient = class {
|
|
|
4445
4538
|
{}
|
|
4446
4539
|
);
|
|
4447
4540
|
}
|
|
4541
|
+
// ============================================================================
|
|
4542
|
+
// User Secret Settings (encrypted, user-specific, server-side access only)
|
|
4543
|
+
// ============================================================================
|
|
4544
|
+
/**
|
|
4545
|
+
* Set a user secret setting (encrypted)
|
|
4546
|
+
*
|
|
4547
|
+
* Creates or updates an encrypted secret that belongs to the current user.
|
|
4548
|
+
* The value is encrypted server-side with a user-specific key and can only be
|
|
4549
|
+
* accessed by edge functions, background jobs, or custom handlers running on
|
|
4550
|
+
* behalf of this user. Even admins cannot see the decrypted value.
|
|
4551
|
+
*
|
|
4552
|
+
* @param key - Secret key
|
|
4553
|
+
* @param value - Secret value (will be encrypted server-side)
|
|
4554
|
+
* @param options - Optional description
|
|
4555
|
+
* @returns Promise resolving to SecretSettingMetadata (never includes the value)
|
|
4556
|
+
*
|
|
4557
|
+
* @example
|
|
4558
|
+
* ```typescript
|
|
4559
|
+
* // Store user's API key for a third-party service
|
|
4560
|
+
* await client.settings.setSecret('openai_api_key', 'sk-abc123', {
|
|
4561
|
+
* description: 'My OpenAI API key'
|
|
4562
|
+
* })
|
|
4563
|
+
* ```
|
|
4564
|
+
*/
|
|
4565
|
+
async setSecret(key, value, options) {
|
|
4566
|
+
try {
|
|
4567
|
+
return await this.fetch.put(
|
|
4568
|
+
`/api/v1/settings/secret/${encodeURIComponent(key)}`,
|
|
4569
|
+
{
|
|
4570
|
+
value,
|
|
4571
|
+
description: options?.description
|
|
4572
|
+
}
|
|
4573
|
+
);
|
|
4574
|
+
} catch (error) {
|
|
4575
|
+
if (error.status === 404 || error.message?.includes("not found")) {
|
|
4576
|
+
return await this.fetch.post(
|
|
4577
|
+
"/api/v1/settings/secret/",
|
|
4578
|
+
{
|
|
4579
|
+
key,
|
|
4580
|
+
value,
|
|
4581
|
+
description: options?.description
|
|
4582
|
+
}
|
|
4583
|
+
);
|
|
4584
|
+
}
|
|
4585
|
+
throw error;
|
|
4586
|
+
}
|
|
4587
|
+
}
|
|
4588
|
+
/**
|
|
4589
|
+
* Get metadata for a user secret setting (never returns the value)
|
|
4590
|
+
*
|
|
4591
|
+
* @param key - Secret key
|
|
4592
|
+
* @returns Promise resolving to SecretSettingMetadata
|
|
4593
|
+
*
|
|
4594
|
+
* @example
|
|
4595
|
+
* ```typescript
|
|
4596
|
+
* const metadata = await client.settings.getSecret('openai_api_key')
|
|
4597
|
+
* console.log(metadata.key, metadata.updated_at)
|
|
4598
|
+
* // Note: The actual secret value is never returned
|
|
4599
|
+
* ```
|
|
4600
|
+
*/
|
|
4601
|
+
async getSecret(key) {
|
|
4602
|
+
return await this.fetch.get(
|
|
4603
|
+
`/api/v1/settings/secret/${encodeURIComponent(key)}`
|
|
4604
|
+
);
|
|
4605
|
+
}
|
|
4606
|
+
/**
|
|
4607
|
+
* List all user's secret settings (metadata only, never includes values)
|
|
4608
|
+
*
|
|
4609
|
+
* @returns Promise resolving to array of SecretSettingMetadata
|
|
4610
|
+
*
|
|
4611
|
+
* @example
|
|
4612
|
+
* ```typescript
|
|
4613
|
+
* const secrets = await client.settings.listSecrets()
|
|
4614
|
+
* secrets.forEach(s => console.log(s.key, s.description))
|
|
4615
|
+
* ```
|
|
4616
|
+
*/
|
|
4617
|
+
async listSecrets() {
|
|
4618
|
+
return await this.fetch.get(
|
|
4619
|
+
"/api/v1/settings/secret/"
|
|
4620
|
+
);
|
|
4621
|
+
}
|
|
4622
|
+
/**
|
|
4623
|
+
* Delete a user secret setting
|
|
4624
|
+
*
|
|
4625
|
+
* @param key - Secret key to delete
|
|
4626
|
+
* @returns Promise<void>
|
|
4627
|
+
*
|
|
4628
|
+
* @example
|
|
4629
|
+
* ```typescript
|
|
4630
|
+
* await client.settings.deleteSecret('openai_api_key')
|
|
4631
|
+
* ```
|
|
4632
|
+
*/
|
|
4633
|
+
async deleteSecret(key) {
|
|
4634
|
+
await this.fetch.delete(
|
|
4635
|
+
`/api/v1/settings/secret/${encodeURIComponent(key)}`
|
|
4636
|
+
);
|
|
4637
|
+
}
|
|
4448
4638
|
};
|
|
4449
4639
|
|
|
4450
4640
|
// src/ddl.ts
|