@fluxbase/sdk 2026.1.1-rc.9 → 2026.1.3-rc.1

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.js CHANGED
@@ -5032,6 +5032,148 @@ var SettingsClient = class {
5032
5032
  `/api/v1/settings/secret/${encodeURIComponent(key)}`
5033
5033
  );
5034
5034
  }
5035
+ // ============================================================================
5036
+ // User Settings (non-encrypted, with system fallback support)
5037
+ // These methods mirror the edge function secrets helper pattern for regular settings
5038
+ // ============================================================================
5039
+ /**
5040
+ * Get a setting with user -> system fallback
5041
+ *
5042
+ * First checks for a user-specific setting, then falls back to system default.
5043
+ * Returns both the value and the source ("user" or "system").
5044
+ *
5045
+ * @param key - Setting key (e.g., 'theme', 'notifications.email')
5046
+ * @returns Promise resolving to UserSettingWithSource with value and source
5047
+ * @throws Error if setting doesn't exist in either user or system
5048
+ *
5049
+ * @example
5050
+ * ```typescript
5051
+ * // Get theme with fallback to system default
5052
+ * const { value, source } = await client.settings.getSetting('theme')
5053
+ * console.log(value) // { mode: 'dark' }
5054
+ * console.log(source) // 'system' (from system default)
5055
+ *
5056
+ * // After user sets their own theme
5057
+ * const { value, source } = await client.settings.getSetting('theme')
5058
+ * console.log(source) // 'user' (user's own setting)
5059
+ * ```
5060
+ */
5061
+ async getSetting(key) {
5062
+ return await this.fetch.get(
5063
+ `/api/v1/settings/user/${encodeURIComponent(key)}`
5064
+ );
5065
+ }
5066
+ /**
5067
+ * Get only the user's own setting (no fallback to system)
5068
+ *
5069
+ * Returns the user's own setting for this key, or throws if not found.
5070
+ * Use this when you specifically want to check if the user has set a value.
5071
+ *
5072
+ * @param key - Setting key
5073
+ * @returns Promise resolving to UserSetting
5074
+ * @throws Error if user has no setting with this key
5075
+ *
5076
+ * @example
5077
+ * ```typescript
5078
+ * // Check if user has set their own theme
5079
+ * try {
5080
+ * const setting = await client.settings.getUserSetting('theme')
5081
+ * console.log('User theme:', setting.value)
5082
+ * } catch (e) {
5083
+ * console.log('User has not set a theme')
5084
+ * }
5085
+ * ```
5086
+ */
5087
+ async getUserSetting(key) {
5088
+ return await this.fetch.get(
5089
+ `/api/v1/settings/user/own/${encodeURIComponent(key)}`
5090
+ );
5091
+ }
5092
+ /**
5093
+ * Get a system-level setting (no user override)
5094
+ *
5095
+ * Returns the system default for this key, ignoring any user-specific value.
5096
+ * Useful for reading default configurations.
5097
+ *
5098
+ * @param key - Setting key
5099
+ * @returns Promise resolving to the setting value
5100
+ * @throws Error if system setting doesn't exist
5101
+ *
5102
+ * @example
5103
+ * ```typescript
5104
+ * // Get system default theme
5105
+ * const { value } = await client.settings.getSystemSetting('theme')
5106
+ * console.log('System default theme:', value)
5107
+ * ```
5108
+ */
5109
+ async getSystemSetting(key) {
5110
+ return await this.fetch.get(`/api/v1/settings/user/system/${encodeURIComponent(key)}`);
5111
+ }
5112
+ /**
5113
+ * Set a user setting (create or update)
5114
+ *
5115
+ * Creates or updates a non-encrypted user setting.
5116
+ * This value will override any system default when using getSetting().
5117
+ *
5118
+ * @param key - Setting key
5119
+ * @param value - Setting value (any JSON-serializable object)
5120
+ * @param options - Optional description
5121
+ * @returns Promise resolving to UserSetting
5122
+ *
5123
+ * @example
5124
+ * ```typescript
5125
+ * // Set user's theme preference
5126
+ * await client.settings.setSetting('theme', { mode: 'dark', accent: 'blue' })
5127
+ *
5128
+ * // Set with description
5129
+ * await client.settings.setSetting('notifications', { email: true, push: false }, {
5130
+ * description: 'User notification preferences'
5131
+ * })
5132
+ * ```
5133
+ */
5134
+ async setSetting(key, value, options) {
5135
+ return await this.fetch.put(
5136
+ `/api/v1/settings/user/${encodeURIComponent(key)}`,
5137
+ {
5138
+ value,
5139
+ description: options?.description
5140
+ }
5141
+ );
5142
+ }
5143
+ /**
5144
+ * List all user's own settings
5145
+ *
5146
+ * Returns all non-encrypted settings the current user has set.
5147
+ * Does not include system defaults.
5148
+ *
5149
+ * @returns Promise resolving to array of UserSetting
5150
+ *
5151
+ * @example
5152
+ * ```typescript
5153
+ * const settings = await client.settings.listSettings()
5154
+ * settings.forEach(s => console.log(s.key, s.value))
5155
+ * ```
5156
+ */
5157
+ async listSettings() {
5158
+ return await this.fetch.get("/api/v1/settings/user/list");
5159
+ }
5160
+ /**
5161
+ * Delete a user setting
5162
+ *
5163
+ * Removes the user's own setting, reverting to system default (if any).
5164
+ *
5165
+ * @param key - Setting key to delete
5166
+ * @returns Promise<void>
5167
+ *
5168
+ * @example
5169
+ * ```typescript
5170
+ * // Remove user's theme preference, revert to system default
5171
+ * await client.settings.deleteSetting('theme')
5172
+ * ```
5173
+ */
5174
+ async deleteSetting(key) {
5175
+ await this.fetch.delete(`/api/v1/settings/user/${encodeURIComponent(key)}`);
5176
+ }
5035
5177
  };
5036
5178
 
5037
5179
  // src/ddl.ts
@@ -7757,6 +7899,46 @@ var FluxbaseAdminAI = class {
7757
7899
  return { data: null, error };
7758
7900
  }
7759
7901
  }
7902
+ /**
7903
+ * Set a provider as the embedding provider
7904
+ *
7905
+ * @param id - Provider ID
7906
+ * @returns Promise resolving to { data, error } tuple
7907
+ *
7908
+ * @example
7909
+ * ```typescript
7910
+ * const { data, error } = await client.admin.ai.setEmbeddingProvider('uuid')
7911
+ * ```
7912
+ */
7913
+ async setEmbeddingProvider(id) {
7914
+ try {
7915
+ const data = await this.fetch.put(`/api/v1/admin/ai/providers/${id}/embedding`, {});
7916
+ return { data, error: null };
7917
+ } catch (error) {
7918
+ return { data: null, error };
7919
+ }
7920
+ }
7921
+ /**
7922
+ * Clear explicit embedding provider preference (revert to default)
7923
+ *
7924
+ * @param id - Provider ID to clear
7925
+ * @returns Promise resolving to { data, error } tuple
7926
+ *
7927
+ * @example
7928
+ * ```typescript
7929
+ * const { data, error } = await client.admin.ai.clearEmbeddingProvider('uuid')
7930
+ * ```
7931
+ */
7932
+ async clearEmbeddingProvider(id) {
7933
+ try {
7934
+ const data = await this.fetch.delete(
7935
+ `/api/v1/admin/ai/providers/${id}/embedding`
7936
+ );
7937
+ return { data, error: null };
7938
+ } catch (error) {
7939
+ return { data: null, error };
7940
+ }
7941
+ }
7760
7942
  // ============================================================================
7761
7943
  // KNOWLEDGE BASE MANAGEMENT (RAG)
7762
7944
  // ============================================================================