@halix/action-sdk 1.0.29 → 1.0.31

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/lib/cjs/ai.js ADDED
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ // Halix SDK License v1.0
3
+ // Copyright (c) 2025 halix.io LLC.
4
+ //
5
+ // This source code is licensed for use **only** within applications
6
+ // running on the Halix platform, in accordance with Halix SDK guidelines.
7
+ //
8
+ // Unauthorized use outside the Halix platform is prohibited.
9
+ // Full license terms available in the LICENSE file.
10
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12
+ return new (P || (P = Promise))(function (resolve, reject) {
13
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
16
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
17
+ });
18
+ };
19
+ var __importDefault = (this && this.__importDefault) || function (mod) {
20
+ return (mod && mod.__esModule) ? mod : { "default": mod };
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.LLMProvider = void 0;
24
+ exports.sendAIMessage = sendAIMessage;
25
+ exports.sendAIMessageAsObservable = sendAIMessageAsObservable;
26
+ /**
27
+ * @module @halix/action-sdk/ai
28
+ * @description AI functions for the Halix Platform action SDK. This module provides
29
+ * functions for sending messages to LLM providers (Anthropic, OpenAI, Google, xAI)
30
+ * using API keys stored as organization preferences.
31
+ */
32
+ const axios_1 = __importDefault(require("axios"));
33
+ const rxjs_1 = require("rxjs");
34
+ const preferences_1 = require("./preferences");
35
+ // ================================================================================
36
+ // TYPES AND ENUMS
37
+ // ================================================================================
38
+ /**
39
+ * Supported LLM providers.
40
+ */
41
+ var LLMProvider;
42
+ (function (LLMProvider) {
43
+ LLMProvider["Anthropic"] = "anthropic";
44
+ LLMProvider["OpenAI"] = "openai";
45
+ LLMProvider["Google"] = "google";
46
+ LLMProvider["xAI"] = "xai";
47
+ })(LLMProvider || (exports.LLMProvider = LLMProvider = {}));
48
+ // ================================================================================
49
+ // INTERNAL HELPERS
50
+ // ================================================================================
51
+ /**
52
+ * Maps an LLM provider to the corresponding organization preference key.
53
+ */
54
+ const providerPreferenceKeys = {
55
+ [LLMProvider.Anthropic]: 'AnthropicAPIKey',
56
+ [LLMProvider.OpenAI]: 'OpenAIAPIKey',
57
+ [LLMProvider.Google]: 'GoogleAPIKey',
58
+ [LLMProvider.xAI]: 'xAIAPIKey'
59
+ };
60
+ /**
61
+ * Detects the LLM provider from a model name string.
62
+ *
63
+ * @param model - The model identifier (e.g. 'claude-3-sonnet', 'gpt-4o', 'gemini-2.0-flash', 'grok-3')
64
+ * @returns The detected LLMProvider
65
+ * @throws Error if the model name cannot be mapped to a known provider
66
+ */
67
+ function detectProvider(model) {
68
+ const lowerModel = model.toLowerCase();
69
+ if (lowerModel.startsWith('claude')) {
70
+ return LLMProvider.Anthropic;
71
+ }
72
+ if (lowerModel.startsWith('gpt') || lowerModel.startsWith('o1') || lowerModel.startsWith('o3') || lowerModel.startsWith('o4')) {
73
+ return LLMProvider.OpenAI;
74
+ }
75
+ if (lowerModel.startsWith('gemini')) {
76
+ return LLMProvider.Google;
77
+ }
78
+ if (lowerModel.startsWith('grok')) {
79
+ return LLMProvider.xAI;
80
+ }
81
+ throw new Error(`Unable to detect LLM provider for model "${model}". ` +
82
+ `Supported model prefixes: claude (Anthropic), gpt/o1/o3/o4 (OpenAI), gemini (Google), grok (xAI).`);
83
+ }
84
+ /**
85
+ * Fetches the API key for the given provider from organization preferences.
86
+ */
87
+ function getApiKey(provider) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const prefKey = providerPreferenceKeys[provider];
90
+ const apiKey = yield (0, preferences_1.getOrganizationPreference)(prefKey);
91
+ if (!apiKey) {
92
+ throw new Error(`API key not configured. Set the "${prefKey}" organization preference to use ${provider} models.`);
93
+ }
94
+ return apiKey;
95
+ });
96
+ }
97
+ /**
98
+ * Sends a message to the Anthropic Messages API and returns the response text.
99
+ */
100
+ function callAnthropic(model, message, apiKey, options) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ var _a;
103
+ const body = {
104
+ model,
105
+ max_tokens: (_a = options.maxTokens) !== null && _a !== void 0 ? _a : 1024,
106
+ messages: [{ role: 'user', content: message }]
107
+ };
108
+ if (options.systemPrompt) {
109
+ body.system = options.systemPrompt;
110
+ }
111
+ const response = yield axios_1.default.post('https://api.anthropic.com/v1/messages', body, {
112
+ headers: {
113
+ 'x-api-key': apiKey,
114
+ 'anthropic-version': '2023-06-01',
115
+ 'Content-Type': 'application/json'
116
+ }
117
+ });
118
+ return response.data.content[0].text;
119
+ });
120
+ }
121
+ /**
122
+ * Sends a message to an OpenAI-compatible chat completions API and returns the response text.
123
+ * Used for both OpenAI and xAI (which uses the same API format).
124
+ */
125
+ function callOpenAICompatible(baseUrl, model, message, apiKey, options) {
126
+ return __awaiter(this, void 0, void 0, function* () {
127
+ var _a;
128
+ const messages = [];
129
+ if (options.systemPrompt) {
130
+ messages.push({ role: 'system', content: options.systemPrompt });
131
+ }
132
+ messages.push({ role: 'user', content: message });
133
+ // GPT-5.x and newer models require max_completion_tokens instead of max_tokens
134
+ const lowerModel = model.toLowerCase();
135
+ const useMaxCompletionTokens = lowerModel.startsWith('gpt-5') || lowerModel.startsWith('gpt-6');
136
+ const tokenLimit = (_a = options.maxTokens) !== null && _a !== void 0 ? _a : 1024;
137
+ const body = Object.assign({ model,
138
+ messages }, (useMaxCompletionTokens
139
+ ? { max_completion_tokens: tokenLimit }
140
+ : { max_tokens: tokenLimit }));
141
+ const response = yield axios_1.default.post(`${baseUrl}/chat/completions`, body, {
142
+ headers: {
143
+ 'Authorization': `Bearer ${apiKey}`,
144
+ 'Content-Type': 'application/json'
145
+ }
146
+ });
147
+ return response.data.choices[0].message.content;
148
+ });
149
+ }
150
+ /**
151
+ * Sends a message to the Google Gemini API and returns the response text.
152
+ */
153
+ function callGoogle(model, message, apiKey, options) {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
+ var _a;
156
+ const contents = [];
157
+ if (options.systemPrompt) {
158
+ contents.push({ role: 'user', parts: [{ text: options.systemPrompt }] });
159
+ contents.push({ role: 'model', parts: [{ text: 'Understood.' }] });
160
+ }
161
+ contents.push({ role: 'user', parts: [{ text: message }] });
162
+ const body = {
163
+ contents,
164
+ generationConfig: {
165
+ maxOutputTokens: (_a = options.maxTokens) !== null && _a !== void 0 ? _a : 1024
166
+ }
167
+ };
168
+ const response = yield axios_1.default.post(`https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${apiKey}`, body, {
169
+ headers: { 'Content-Type': 'application/json' }
170
+ });
171
+ return response.data.candidates[0].content.parts[0].text;
172
+ });
173
+ }
174
+ // ================================================================================
175
+ // PUBLIC API
176
+ // ================================================================================
177
+ /**
178
+ * Sends a message to an LLM and returns its text response.
179
+ *
180
+ * The LLM provider is automatically detected from the model name. The corresponding
181
+ * API key is retrieved from organization preferences:
182
+ * - Anthropic (claude-*) → AnthropicAPIKey
183
+ * - OpenAI (gpt-*, o1-*, o3-*, o4-*) → OpenAIAPIKey
184
+ * - Google (gemini-*) → GoogleAPIKey
185
+ * - xAI (grok-*) → xAIAPIKey
186
+ *
187
+ * @param message - The user message to send to the model
188
+ * @param model - The model identifier (e.g. 'claude-3-sonnet-20240229', 'gpt-4o', 'gemini-2.0-flash', 'grok-3')
189
+ * @param options - Optional configuration (system prompt, max tokens)
190
+ * @returns Promise<string> - The model's text response
191
+ * @throws Error if SDK not initialized, organization context unavailable, API key not configured, or model not recognized
192
+ *
193
+ * @example
194
+ * // Simple usage
195
+ * const response = await sendAIMessage('What is the capital of France?', 'gpt-4o');
196
+ *
197
+ * @example
198
+ * // With options
199
+ * const response = await sendAIMessage(
200
+ * 'Summarize this document.',
201
+ * 'claude-3-sonnet-20240229',
202
+ * { systemPrompt: 'You are a helpful assistant.', maxTokens: 2048 }
203
+ * );
204
+ */
205
+ function sendAIMessage(message, model, options) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ const resolvedOptions = options !== null && options !== void 0 ? options : {};
208
+ const provider = detectProvider(model);
209
+ const apiKey = yield getApiKey(provider);
210
+ switch (provider) {
211
+ case LLMProvider.Anthropic:
212
+ return callAnthropic(model, message, apiKey, resolvedOptions);
213
+ case LLMProvider.OpenAI:
214
+ return callOpenAICompatible('https://api.openai.com/v1', model, message, apiKey, resolvedOptions);
215
+ case LLMProvider.Google:
216
+ return callGoogle(model, message, apiKey, resolvedOptions);
217
+ case LLMProvider.xAI:
218
+ return callOpenAICompatible('https://api.x.ai/v1', model, message, apiKey, resolvedOptions);
219
+ }
220
+ });
221
+ }
222
+ /**
223
+ * Observable version of sendAIMessage. See sendAIMessage for details.
224
+ */
225
+ function sendAIMessageAsObservable(message, model, options) {
226
+ return (0, rxjs_1.from)(sendAIMessage(message, model, options));
227
+ }
@@ -88,9 +88,9 @@ function getObjectAsObservable(dataElementId, key, fetchedRelationships) {
88
88
  * Retrieves all objects related to a parent through a schema relationship. Commonly used to get objects belonging to current user/org proxy.
89
89
  *
90
90
  * @param parentElementId - Parent element ID
91
- * @param parentKey - Parent object key
91
+ * @param parentKey - Parent object key; important: this establishes the scope of the query; use an appropriate scope key
92
92
  * @param elementId - Child element ID
93
- * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression.
93
+ * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression. Must be less than 200 characters.
94
94
  * @param fetchedRelationships - Optional relationships to include as nested objects
95
95
  * @returns Promise<any[]>
96
96
  */
@@ -134,9 +134,12 @@ function getRelatedObjectsAsObservable(parentElementId, parentKey, elementId, fi
134
134
  /**
135
135
  * Saves a related object and establishes relationship to parent. Returns saved object with any server-assigned values (objKey, calculated fields).
136
136
  *
137
+ * @param parentElementId - Parent element ID
138
+ * @param parentKey - Parent object key; important: this establishes the scope of the save operation; use an appropriate scope Key
139
+ * @param elementId - Child element ID for the object being saved
137
140
  * @param objectToSave - JSON string of object data
138
- * @param opts - Optional: bypassValidation
139
- * @returns Promise<any> - saved object with updates
141
+ * @param opts - Optional save options (e.g., bypassValidation)
142
+ * @returns Promise<any> - saved object with updates including server-assigned values (objKey, calculated fields)
140
143
  */
141
144
  function saveRelatedObject(parentElementId, parentKey, elementId, objectToSave, opts) {
142
145
  return __awaiter(this, void 0, void 0, function* () {
package/lib/cjs/index.js CHANGED
@@ -8,7 +8,8 @@
8
8
  // Unauthorized use outside the Halix platform is prohibited.
9
9
  // Full license terms available in the LICENSE file.
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.debounceFn = exports.getValueFromObject = exports.compareValues = exports.sortObjectArray = exports.getAggregateDataAsObservable = exports.getAggregateData = exports.AggregationResponse = exports.massDeleteAsObservable = exports.massDelete = exports.massEditAsObservable = exports.massEdit = exports.getListDataAsObservable = exports.getListData = exports.getPreferenceAsObservable = exports.getPreference = exports.sendMessageAsObservable = exports.sendMessage = exports.MessageMethod = exports.createOrUpdateResourceAsObservable = exports.createOrUpdateResource = exports.sendFileContentsAsObservable = exports.sendFileContents = exports.saveResourceAsObservable = exports.saveResource = exports.getOrCreateResourceAsObservable = exports.getOrCreateResource = exports.deleteRelatedObjectsAsObservable = exports.deleteRelatedObjects = exports.deleteRelatedObjectAsObservable = exports.deleteRelatedObject = exports.saveRelatedObjectAsObservable = exports.saveRelatedObject = exports.getRelatedObjectsAsObservable = exports.getRelatedObjects = exports.getObjectAsObservable = exports.getObject = exports.prepareErrorResponse = exports.prepareSuccessResponse = exports.initialize = exports.useBody = exports.params = exports.userContext = exports.actionSubject = exports.serviceAddress = exports.sandboxKey = exports.getAuthToken = void 0;
11
+ exports.getValueFromObject = exports.compareValues = exports.sortObjectArray = exports.sendAIMessageAsObservable = exports.sendAIMessage = exports.LLMProvider = exports.getAggregateDataAsObservable = exports.getAggregateData = exports.AggregationResponse = exports.massDeleteAsObservable = exports.massDelete = exports.massEditAsObservable = exports.massEdit = exports.getListDataAsObservable = exports.getListData = exports.getOrganizationPreferenceAsObservable = exports.getUserPreferenceAsObservable = exports.getOrganizationPreference = exports.getUserPreference = exports.sendMessageAsObservable = exports.sendMessage = exports.MessageMethod = exports.createOrUpdateResourceAsObservable = exports.createOrUpdateResource = exports.sendFileContentsAsObservable = exports.sendFileContents = exports.saveResourceAsObservable = exports.saveResource = exports.getOrCreateResourceAsObservable = exports.getOrCreateResource = exports.deleteRelatedObjectsAsObservable = exports.deleteRelatedObjects = exports.deleteRelatedObjectAsObservable = exports.deleteRelatedObject = exports.saveRelatedObjectAsObservable = exports.saveRelatedObject = exports.getRelatedObjectsAsObservable = exports.getRelatedObjects = exports.getObjectAsObservable = exports.getObject = exports.prepareErrorResponse = exports.prepareSuccessResponse = exports.initialize = exports.useBody = exports.params = exports.userContext = exports.actionSubject = exports.serviceAddress = exports.sandboxKey = exports.getAuthToken = void 0;
12
+ exports.debounceFn = void 0;
12
13
  /**
13
14
  * @module @halix/action-sdk
14
15
  * @description Halix Platform action SDK for developing NodeJS Lambda-based actions on the Halix
@@ -75,8 +76,10 @@ Object.defineProperty(exports, "sendMessageAsObservable", { enumerable: true, ge
75
76
  // ================================================================================
76
77
  var preferences_1 = require("./preferences");
77
78
  // Preference Functions
78
- Object.defineProperty(exports, "getPreference", { enumerable: true, get: function () { return preferences_1.getPreference; } });
79
- Object.defineProperty(exports, "getPreferenceAsObservable", { enumerable: true, get: function () { return preferences_1.getPreferenceAsObservable; } });
79
+ Object.defineProperty(exports, "getUserPreference", { enumerable: true, get: function () { return preferences_1.getUserPreference; } });
80
+ Object.defineProperty(exports, "getOrganizationPreference", { enumerable: true, get: function () { return preferences_1.getOrganizationPreference; } });
81
+ Object.defineProperty(exports, "getUserPreferenceAsObservable", { enumerable: true, get: function () { return preferences_1.getUserPreferenceAsObservable; } });
82
+ Object.defineProperty(exports, "getOrganizationPreferenceAsObservable", { enumerable: true, get: function () { return preferences_1.getOrganizationPreferenceAsObservable; } });
80
83
  // ================================================================================
81
84
  // LIST DATA FUNCTIONS
82
85
  // ================================================================================
@@ -98,6 +101,15 @@ Object.defineProperty(exports, "AggregationResponse", { enumerable: true, get: f
98
101
  Object.defineProperty(exports, "getAggregateData", { enumerable: true, get: function () { return data_aggregate_1.getAggregateData; } });
99
102
  Object.defineProperty(exports, "getAggregateDataAsObservable", { enumerable: true, get: function () { return data_aggregate_1.getAggregateDataAsObservable; } });
100
103
  // ================================================================================
104
+ // AI FUNCTIONS
105
+ // ================================================================================
106
+ var ai_1 = require("./ai");
107
+ // AI Enums
108
+ Object.defineProperty(exports, "LLMProvider", { enumerable: true, get: function () { return ai_1.LLMProvider; } });
109
+ // AI Functions
110
+ Object.defineProperty(exports, "sendAIMessage", { enumerable: true, get: function () { return ai_1.sendAIMessage; } });
111
+ Object.defineProperty(exports, "sendAIMessageAsObservable", { enumerable: true, get: function () { return ai_1.sendAIMessageAsObservable; } });
112
+ // ================================================================================
101
113
  // UTILITY FUNCTIONS
102
114
  // ================================================================================
103
115
  var utilities_1 = require("./utilities");
@@ -20,8 +20,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
20
20
  return (mod && mod.__esModule) ? mod : { "default": mod };
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.getPreference = getPreference;
24
- exports.getPreferenceAsObservable = getPreferenceAsObservable;
23
+ exports.getUserPreference = getUserPreference;
24
+ exports.getOrganizationPreference = getOrganizationPreference;
25
+ exports.getUserPreferenceAsObservable = getUserPreferenceAsObservable;
26
+ exports.getOrganizationPreferenceAsObservable = getOrganizationPreferenceAsObservable;
25
27
  /**
26
28
  * @module @halix/action-sdk/preferences
27
29
  * @description Preference management functions for the Halix Platform action SDK. This module
@@ -41,35 +43,65 @@ const sdk_general_1 = require("./sdk-general");
41
43
  * @throws Error if SDK not initialized or user context not available
42
44
  *
43
45
  * @example
44
- * const preferenceValue = await getPreference('myPreferenceId');
46
+ * const preferenceValue = await getUserPreference('myPreferenceId');
45
47
  */
46
- function getPreference(prefID) {
48
+ function getUserPreference(prefID) {
47
49
  return __awaiter(this, void 0, void 0, function* () {
48
50
  var _a;
49
- if (!sdk_general_1.getAuthToken) {
50
- const errorMessage = 'SDK not initialized.';
51
+ if (!((_a = sdk_general_1.userContext === null || sdk_general_1.userContext === void 0 ? void 0 : sdk_general_1.userContext.user) === null || _a === void 0 ? void 0 : _a.objKey)) {
52
+ const errorMessage = 'User context not available. Cannot retrieve user preference value.';
51
53
  console.error(errorMessage);
52
54
  throw new Error(errorMessage);
53
55
  }
54
- if (!((_a = sdk_general_1.userContext === null || sdk_general_1.userContext === void 0 ? void 0 : sdk_general_1.userContext.user) === null || _a === void 0 ? void 0 : _a.objKey)) {
55
- const errorMessage = 'User context not available. Cannot retrieve preference value.';
56
+ return getPreferenceInternal(prefID, 'user', sdk_general_1.userContext.user.objKey);
57
+ });
58
+ }
59
+ /**
60
+ * Retrieves a preference value for the current organization.
61
+ *
62
+ * @param prefID - The preference ID to retrieve
63
+ * @returns Promise<any> - the preference value
64
+ * @throws Error if SDK not initialized or organization context not available
65
+ *
66
+ * @example
67
+ * const preferenceValue = await getOrganizationPreference('myPreferenceId');
68
+ */
69
+ function getOrganizationPreference(prefID) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ if (!(sdk_general_1.userContext === null || sdk_general_1.userContext === void 0 ? void 0 : sdk_general_1.userContext.orgKey)) {
72
+ const errorMessage = 'Organization context not available. Cannot retrieve organization preference value.';
73
+ console.error(errorMessage);
74
+ throw new Error(errorMessage);
75
+ }
76
+ return getPreferenceInternal(prefID, 'organization', sdk_general_1.userContext.orgKey);
77
+ });
78
+ }
79
+ /**
80
+ * Observable version of getUserPreference. See getUserPreference for details.
81
+ */
82
+ function getUserPreferenceAsObservable(prefID) {
83
+ return (0, rxjs_1.from)(getUserPreference(prefID));
84
+ }
85
+ /**
86
+ * Observable version of getOrganizationPreference. See getOrganizationPreference for details.
87
+ */
88
+ function getOrganizationPreferenceAsObservable(prefID) {
89
+ return (0, rxjs_1.from)(getOrganizationPreference(prefID));
90
+ }
91
+ function getPreferenceInternal(prefID, ownerElementID, ownerKey) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ if (!sdk_general_1.getAuthToken) {
94
+ const errorMessage = 'SDK not initialized.';
56
95
  console.error(errorMessage);
57
96
  throw new Error(errorMessage);
58
97
  }
59
- const ownerElementID = 'user';
60
- const ownerKey = sdk_general_1.userContext.user.objKey;
61
98
  let url = `${sdk_general_1.serviceAddress}/sysapi/preference/${prefID}/${ownerElementID}/${ownerKey}`;
62
99
  let authToken = yield (0, rxjs_1.lastValueFrom)((0, sdk_general_1.getAuthToken)());
63
100
  console.log("Sending GET request to " + url + " with token " + authToken);
64
101
  let response = yield axios_1.default.get(url, {
65
102
  headers: { "Authorization": `Bearer ${authToken}` },
103
+ params: { sandboxKey: sdk_general_1.sandboxKey },
66
104
  });
67
105
  return response.data;
68
106
  });
69
107
  }
70
- /**
71
- * Observable version of getPreference. See getPreference for details.
72
- */
73
- function getPreferenceAsObservable(prefID) {
74
- return (0, rxjs_1.from)(getPreference(prefID));
75
- }
@@ -0,0 +1,53 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Supported LLM providers.
4
+ */
5
+ export declare enum LLMProvider {
6
+ Anthropic = "anthropic",
7
+ OpenAI = "openai",
8
+ Google = "google",
9
+ xAI = "xai"
10
+ }
11
+ /**
12
+ * Options for configuring an AI message request.
13
+ */
14
+ export interface AIRequestOptions {
15
+ /** Optional system prompt to guide the model's behavior */
16
+ systemPrompt?: string;
17
+ /** Maximum number of tokens in the response. Defaults to 1024 */
18
+ maxTokens?: number;
19
+ }
20
+ /**
21
+ * Sends a message to an LLM and returns its text response.
22
+ *
23
+ * The LLM provider is automatically detected from the model name. The corresponding
24
+ * API key is retrieved from organization preferences:
25
+ * - Anthropic (claude-*) → AnthropicAPIKey
26
+ * - OpenAI (gpt-*, o1-*, o3-*, o4-*) → OpenAIAPIKey
27
+ * - Google (gemini-*) → GoogleAPIKey
28
+ * - xAI (grok-*) → xAIAPIKey
29
+ *
30
+ * @param message - The user message to send to the model
31
+ * @param model - The model identifier (e.g. 'claude-3-sonnet-20240229', 'gpt-4o', 'gemini-2.0-flash', 'grok-3')
32
+ * @param options - Optional configuration (system prompt, max tokens)
33
+ * @returns Promise<string> - The model's text response
34
+ * @throws Error if SDK not initialized, organization context unavailable, API key not configured, or model not recognized
35
+ *
36
+ * @example
37
+ * // Simple usage
38
+ * const response = await sendAIMessage('What is the capital of France?', 'gpt-4o');
39
+ *
40
+ * @example
41
+ * // With options
42
+ * const response = await sendAIMessage(
43
+ * 'Summarize this document.',
44
+ * 'claude-3-sonnet-20240229',
45
+ * { systemPrompt: 'You are a helpful assistant.', maxTokens: 2048 }
46
+ * );
47
+ */
48
+ export declare function sendAIMessage(message: string, model: string, options?: AIRequestOptions): Promise<string>;
49
+ /**
50
+ * Observable version of sendAIMessage. See sendAIMessage for details.
51
+ */
52
+ export declare function sendAIMessageAsObservable(message: string, model: string, options?: AIRequestOptions): Observable<string>;
53
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/ai.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAQ,UAAU,EAAE,MAAM,MAAM,CAAC;AAOxC;;GAEG;AACH,oBAAY,WAAW;IACnB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,GAAG,QAAQ;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AA2JD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAe/G;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAExH"}
@@ -20,9 +20,9 @@ export declare function getObjectAsObservable(dataElementId: string, key: string
20
20
  * Retrieves all objects related to a parent through a schema relationship. Commonly used to get objects belonging to current user/org proxy.
21
21
  *
22
22
  * @param parentElementId - Parent element ID
23
- * @param parentKey - Parent object key
23
+ * @param parentKey - Parent object key; important: this establishes the scope of the query; use an appropriate scope key
24
24
  * @param elementId - Child element ID
25
- * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression.
25
+ * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression. Must be less than 200 characters.
26
26
  * @param fetchedRelationships - Optional relationships to include as nested objects
27
27
  * @returns Promise<any[]>
28
28
  */
@@ -34,9 +34,12 @@ export declare function getRelatedObjectsAsObservable(parentElementId: string, p
34
34
  /**
35
35
  * Saves a related object and establishes relationship to parent. Returns saved object with any server-assigned values (objKey, calculated fields).
36
36
  *
37
+ * @param parentElementId - Parent element ID
38
+ * @param parentKey - Parent object key; important: this establishes the scope of the save operation; use an appropriate scope Key
39
+ * @param elementId - Child element ID for the object being saved
37
40
  * @param objectToSave - JSON string of object data
38
- * @param opts - Optional: bypassValidation
39
- * @returns Promise<any> - saved object with updates
41
+ * @param opts - Optional save options (e.g., bypassValidation)
42
+ * @returns Promise<any> - saved object with updates including server-assigned values (objKey, calculated fields)
40
43
  */
41
44
  export declare function saveRelatedObject(parentElementId: string, parentKey: string, elementId: string, objectToSave: string, opts?: SaveOptions): Promise<any>;
42
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"data-crud.d.ts","sourceRoot":"","sources":["../../../src/data-crud.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAOvD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAMD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,gBA6BlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAE1H;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAgCvK;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAEhL;AAMD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAwB7J;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAEtK;AAMD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBhJ;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAEzJ;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBpJ;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAE7J"}
1
+ {"version":3,"file":"data-crud.d.ts","sourceRoot":"","sources":["../../../src/data-crud.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAOvD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAMD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,gBA6BlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAE1H;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAgCvK;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAEhL;AAMD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAwB7J;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAEtK;AAMD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBhJ;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAEzJ;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBpJ;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAE7J"}
@@ -7,8 +7,9 @@ export { getAuthToken, sandboxKey, serviceAddress, actionSubject, userContext, p
7
7
  export { type SaveOptions, getObject, getObjectAsObservable, getRelatedObjects, getRelatedObjectsAsObservable, saveRelatedObject, saveRelatedObjectAsObservable, deleteRelatedObject, deleteRelatedObjectAsObservable, deleteRelatedObjects, deleteRelatedObjectsAsObservable } from './data-crud';
8
8
  export { type ContentResource, getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable } from './content';
9
9
  export { MessageMethod, type MessageRequest, sendMessage, sendMessageAsObservable } from './messaging';
10
- export { getPreference, getPreferenceAsObservable } from './preferences';
10
+ export { getUserPreference, getOrganizationPreference, getUserPreferenceAsObservable, getOrganizationPreferenceAsObservable } from './preferences';
11
11
  export { type SortField, type DataSortField, type BaseListDataRequest, type PagedListDataRequest, type ListDataResponse, type ListDataOptions, type ListDataSearchOptions, type MassEditValueType, type MassEditRequest, type MassDeleteRequest, type MassChangeResponse, getListData, getListDataAsObservable, massEdit, massEditAsObservable, massDelete, massDeleteAsObservable } from './lists';
12
12
  export { AggregationResponse, type AggregationRequest, type AggregationRow, type AggregationGroup, type AggregationSort, type Aggregation, type AggregationGroupTransform, type TransformType, type AggregationType, getAggregateData, getAggregateDataAsObservable } from './data-aggregate';
13
+ export { LLMProvider, type AIRequestOptions, sendAIMessage, sendAIMessageAsObservable } from './ai';
13
14
  export { sortObjectArray, compareValues, getValueFromObject, debounceFn } from './utilities';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AASA;;;;GAIG;AAMH,OAAO,EAEH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO,EAGP,UAAU,EAGV,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAGtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAGlB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAEH,KAAK,WAAW,EAGhB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAG7B,iBAAiB,EACjB,6BAA6B,EAG7B,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEH,KAAK,eAAe,EAGpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EACrC,MAAM,WAAW,CAAC;AAMnB,OAAO,EAEH,aAAa,EAGb,KAAK,cAAc,EAGnB,WAAW,EACX,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEH,aAAa,EACb,yBAAyB,EAC5B,MAAM,eAAe,CAAC;AAMvB,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGvB,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAMjB,OAAO,EAEH,mBAAmB,EAGnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,eAAe,EAGpB,gBAAgB,EAChB,4BAA4B,EAC/B,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,UAAU,EACb,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AASA;;;;GAIG;AAMH,OAAO,EAEH,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO,EAGP,UAAU,EAGV,KAAK,WAAW,EAChB,KAAK,iBAAiB,EAGtB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAGlB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAEH,KAAK,WAAW,EAGhB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B,EAG7B,iBAAiB,EACjB,6BAA6B,EAG7B,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEH,KAAK,eAAe,EAGpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EACrC,MAAM,WAAW,CAAC;AAMnB,OAAO,EAEH,aAAa,EAGb,KAAK,cAAc,EAGnB,WAAW,EACX,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAMrB,OAAO,EAEH,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,qCAAqC,EACxC,MAAM,eAAe,CAAC;AAMvB,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGvB,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAMjB,OAAO,EAEH,mBAAmB,EAGnB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,eAAe,EAGpB,gBAAgB,EAChB,4BAA4B,EAC/B,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAEH,WAAW,EAGX,KAAK,gBAAgB,EAGrB,aAAa,EACb,yBAAyB,EAC5B,MAAM,MAAM,CAAC;AAMd,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,UAAU,EACb,MAAM,aAAa,CAAC"}
@@ -45,6 +45,8 @@ export interface BaseListDataRequest {
45
45
  /**
46
46
  * The key of an object that all records must be related to.
47
47
  * Works with parentDataElementId to scope results.
48
+ *
49
+ * Important: this establishes the scope of the query; use an appropriate scope key
48
50
  */
49
51
  parentKey?: string;
50
52
  /**
@@ -60,6 +62,7 @@ export interface BaseListDataRequest {
60
62
  /**
61
63
  * Filter expression to limit results. Evaluated within the parent key scope.
62
64
  * Call `dataexpr_agent` to generate the filter expression.
65
+ * Must be less than 200 characters.
63
66
  */
64
67
  filter?: string;
65
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/lists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/lists.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,26 @@ import { Observable } from 'rxjs';
7
7
  * @throws Error if SDK not initialized or user context not available
8
8
  *
9
9
  * @example
10
- * const preferenceValue = await getPreference('myPreferenceId');
10
+ * const preferenceValue = await getUserPreference('myPreferenceId');
11
11
  */
12
- export declare function getPreference(prefID: string): Promise<any>;
12
+ export declare function getUserPreference(prefID: string): Promise<any>;
13
13
  /**
14
- * Observable version of getPreference. See getPreference for details.
14
+ * Retrieves a preference value for the current organization.
15
+ *
16
+ * @param prefID - The preference ID to retrieve
17
+ * @returns Promise<any> - the preference value
18
+ * @throws Error if SDK not initialized or organization context not available
19
+ *
20
+ * @example
21
+ * const preferenceValue = await getOrganizationPreference('myPreferenceId');
22
+ */
23
+ export declare function getOrganizationPreference(prefID: string): Promise<any>;
24
+ /**
25
+ * Observable version of getUserPreference. See getUserPreference for details.
26
+ */
27
+ export declare function getUserPreferenceAsObservable(prefID: string): Observable<any>;
28
+ /**
29
+ * Observable version of getOrganizationPreference. See getOrganizationPreference for details.
15
30
  */
16
- export declare function getPreferenceAsObservable(prefID: string): Observable<any>;
31
+ export declare function getOrganizationPreferenceAsObservable(prefID: string): Observable<any>;
17
32
  //# sourceMappingURL=preferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAOvD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA2BhE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAEzE"}
1
+ {"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../../src/preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAQ,UAAU,EAAiB,MAAM,MAAM,CAAC;AAOvD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAQpE;AAED;;;;;;;;;GASG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAQ5E;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAErF"}
package/lib/esm/ai.js ADDED
@@ -0,0 +1,201 @@
1
+ // Halix SDK License v1.0
2
+ // Copyright (c) 2025 halix.io LLC.
3
+ //
4
+ // This source code is licensed for use **only** within applications
5
+ // running on the Halix platform, in accordance with Halix SDK guidelines.
6
+ //
7
+ // Unauthorized use outside the Halix platform is prohibited.
8
+ // Full license terms available in the LICENSE file.
9
+ /**
10
+ * @module @halix/action-sdk/ai
11
+ * @description AI functions for the Halix Platform action SDK. This module provides
12
+ * functions for sending messages to LLM providers (Anthropic, OpenAI, Google, xAI)
13
+ * using API keys stored as organization preferences.
14
+ */
15
+ import axios from 'axios';
16
+ import { from } from 'rxjs';
17
+ import { getOrganizationPreference } from './preferences';
18
+ // ================================================================================
19
+ // TYPES AND ENUMS
20
+ // ================================================================================
21
+ /**
22
+ * Supported LLM providers.
23
+ */
24
+ export var LLMProvider;
25
+ (function (LLMProvider) {
26
+ LLMProvider["Anthropic"] = "anthropic";
27
+ LLMProvider["OpenAI"] = "openai";
28
+ LLMProvider["Google"] = "google";
29
+ LLMProvider["xAI"] = "xai";
30
+ })(LLMProvider || (LLMProvider = {}));
31
+ // ================================================================================
32
+ // INTERNAL HELPERS
33
+ // ================================================================================
34
+ /**
35
+ * Maps an LLM provider to the corresponding organization preference key.
36
+ */
37
+ const providerPreferenceKeys = {
38
+ [LLMProvider.Anthropic]: 'AnthropicAPIKey',
39
+ [LLMProvider.OpenAI]: 'OpenAIAPIKey',
40
+ [LLMProvider.Google]: 'GoogleAPIKey',
41
+ [LLMProvider.xAI]: 'xAIAPIKey'
42
+ };
43
+ /**
44
+ * Detects the LLM provider from a model name string.
45
+ *
46
+ * @param model - The model identifier (e.g. 'claude-3-sonnet', 'gpt-4o', 'gemini-2.0-flash', 'grok-3')
47
+ * @returns The detected LLMProvider
48
+ * @throws Error if the model name cannot be mapped to a known provider
49
+ */
50
+ function detectProvider(model) {
51
+ const lowerModel = model.toLowerCase();
52
+ if (lowerModel.startsWith('claude')) {
53
+ return LLMProvider.Anthropic;
54
+ }
55
+ if (lowerModel.startsWith('gpt') || lowerModel.startsWith('o1') || lowerModel.startsWith('o3') || lowerModel.startsWith('o4')) {
56
+ return LLMProvider.OpenAI;
57
+ }
58
+ if (lowerModel.startsWith('gemini')) {
59
+ return LLMProvider.Google;
60
+ }
61
+ if (lowerModel.startsWith('grok')) {
62
+ return LLMProvider.xAI;
63
+ }
64
+ throw new Error(`Unable to detect LLM provider for model "${model}". ` +
65
+ `Supported model prefixes: claude (Anthropic), gpt/o1/o3/o4 (OpenAI), gemini (Google), grok (xAI).`);
66
+ }
67
+ /**
68
+ * Fetches the API key for the given provider from organization preferences.
69
+ */
70
+ async function getApiKey(provider) {
71
+ const prefKey = providerPreferenceKeys[provider];
72
+ const apiKey = await getOrganizationPreference(prefKey);
73
+ if (!apiKey) {
74
+ throw new Error(`API key not configured. Set the "${prefKey}" organization preference to use ${provider} models.`);
75
+ }
76
+ return apiKey;
77
+ }
78
+ /**
79
+ * Sends a message to the Anthropic Messages API and returns the response text.
80
+ */
81
+ async function callAnthropic(model, message, apiKey, options) {
82
+ const body = {
83
+ model,
84
+ max_tokens: options.maxTokens ?? 1024,
85
+ messages: [{ role: 'user', content: message }]
86
+ };
87
+ if (options.systemPrompt) {
88
+ body.system = options.systemPrompt;
89
+ }
90
+ const response = await axios.post('https://api.anthropic.com/v1/messages', body, {
91
+ headers: {
92
+ 'x-api-key': apiKey,
93
+ 'anthropic-version': '2023-06-01',
94
+ 'Content-Type': 'application/json'
95
+ }
96
+ });
97
+ return response.data.content[0].text;
98
+ }
99
+ /**
100
+ * Sends a message to an OpenAI-compatible chat completions API and returns the response text.
101
+ * Used for both OpenAI and xAI (which uses the same API format).
102
+ */
103
+ async function callOpenAICompatible(baseUrl, model, message, apiKey, options) {
104
+ const messages = [];
105
+ if (options.systemPrompt) {
106
+ messages.push({ role: 'system', content: options.systemPrompt });
107
+ }
108
+ messages.push({ role: 'user', content: message });
109
+ // GPT-5.x and newer models require max_completion_tokens instead of max_tokens
110
+ const lowerModel = model.toLowerCase();
111
+ const useMaxCompletionTokens = lowerModel.startsWith('gpt-5') || lowerModel.startsWith('gpt-6');
112
+ const tokenLimit = options.maxTokens ?? 1024;
113
+ const body = {
114
+ model,
115
+ messages,
116
+ ...(useMaxCompletionTokens
117
+ ? { max_completion_tokens: tokenLimit }
118
+ : { max_tokens: tokenLimit })
119
+ };
120
+ const response = await axios.post(`${baseUrl}/chat/completions`, body, {
121
+ headers: {
122
+ 'Authorization': `Bearer ${apiKey}`,
123
+ 'Content-Type': 'application/json'
124
+ }
125
+ });
126
+ return response.data.choices[0].message.content;
127
+ }
128
+ /**
129
+ * Sends a message to the Google Gemini API and returns the response text.
130
+ */
131
+ async function callGoogle(model, message, apiKey, options) {
132
+ const contents = [];
133
+ if (options.systemPrompt) {
134
+ contents.push({ role: 'user', parts: [{ text: options.systemPrompt }] });
135
+ contents.push({ role: 'model', parts: [{ text: 'Understood.' }] });
136
+ }
137
+ contents.push({ role: 'user', parts: [{ text: message }] });
138
+ const body = {
139
+ contents,
140
+ generationConfig: {
141
+ maxOutputTokens: options.maxTokens ?? 1024
142
+ }
143
+ };
144
+ const response = await axios.post(`https://generativelanguage.googleapis.com/v1beta/models/${model}:generateContent?key=${apiKey}`, body, {
145
+ headers: { 'Content-Type': 'application/json' }
146
+ });
147
+ return response.data.candidates[0].content.parts[0].text;
148
+ }
149
+ // ================================================================================
150
+ // PUBLIC API
151
+ // ================================================================================
152
+ /**
153
+ * Sends a message to an LLM and returns its text response.
154
+ *
155
+ * The LLM provider is automatically detected from the model name. The corresponding
156
+ * API key is retrieved from organization preferences:
157
+ * - Anthropic (claude-*) → AnthropicAPIKey
158
+ * - OpenAI (gpt-*, o1-*, o3-*, o4-*) → OpenAIAPIKey
159
+ * - Google (gemini-*) → GoogleAPIKey
160
+ * - xAI (grok-*) → xAIAPIKey
161
+ *
162
+ * @param message - The user message to send to the model
163
+ * @param model - The model identifier (e.g. 'claude-3-sonnet-20240229', 'gpt-4o', 'gemini-2.0-flash', 'grok-3')
164
+ * @param options - Optional configuration (system prompt, max tokens)
165
+ * @returns Promise<string> - The model's text response
166
+ * @throws Error if SDK not initialized, organization context unavailable, API key not configured, or model not recognized
167
+ *
168
+ * @example
169
+ * // Simple usage
170
+ * const response = await sendAIMessage('What is the capital of France?', 'gpt-4o');
171
+ *
172
+ * @example
173
+ * // With options
174
+ * const response = await sendAIMessage(
175
+ * 'Summarize this document.',
176
+ * 'claude-3-sonnet-20240229',
177
+ * { systemPrompt: 'You are a helpful assistant.', maxTokens: 2048 }
178
+ * );
179
+ */
180
+ export async function sendAIMessage(message, model, options) {
181
+ const resolvedOptions = options ?? {};
182
+ const provider = detectProvider(model);
183
+ const apiKey = await getApiKey(provider);
184
+ switch (provider) {
185
+ case LLMProvider.Anthropic:
186
+ return callAnthropic(model, message, apiKey, resolvedOptions);
187
+ case LLMProvider.OpenAI:
188
+ return callOpenAICompatible('https://api.openai.com/v1', model, message, apiKey, resolvedOptions);
189
+ case LLMProvider.Google:
190
+ return callGoogle(model, message, apiKey, resolvedOptions);
191
+ case LLMProvider.xAI:
192
+ return callOpenAICompatible('https://api.x.ai/v1', model, message, apiKey, resolvedOptions);
193
+ }
194
+ }
195
+ /**
196
+ * Observable version of sendAIMessage. See sendAIMessage for details.
197
+ */
198
+ export function sendAIMessageAsObservable(message, model, options) {
199
+ return from(sendAIMessage(message, model, options));
200
+ }
201
+ //# sourceMappingURL=ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/ai.ts"],"names":[],"mappings":"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"}
@@ -62,9 +62,9 @@ export function getObjectAsObservable(dataElementId, key, fetchedRelationships)
62
62
  * Retrieves all objects related to a parent through a schema relationship. Commonly used to get objects belonging to current user/org proxy.
63
63
  *
64
64
  * @param parentElementId - Parent element ID
65
- * @param parentKey - Parent object key
65
+ * @param parentKey - Parent object key; important: this establishes the scope of the query; use an appropriate scope key
66
66
  * @param elementId - Child element ID
67
- * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression.
67
+ * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression. Must be less than 200 characters.
68
68
  * @param fetchedRelationships - Optional relationships to include as nested objects
69
69
  * @returns Promise<any[]>
70
70
  */
@@ -106,9 +106,12 @@ export function getRelatedObjectsAsObservable(parentElementId, parentKey, elemen
106
106
  /**
107
107
  * Saves a related object and establishes relationship to parent. Returns saved object with any server-assigned values (objKey, calculated fields).
108
108
  *
109
+ * @param parentElementId - Parent element ID
110
+ * @param parentKey - Parent object key; important: this establishes the scope of the save operation; use an appropriate scope Key
111
+ * @param elementId - Child element ID for the object being saved
109
112
  * @param objectToSave - JSON string of object data
110
- * @param opts - Optional: bypassValidation
111
- * @returns Promise<any> - saved object with updates
113
+ * @param opts - Optional save options (e.g., bypassValidation)
114
+ * @returns Promise<any> - saved object with updates including server-assigned values (objKey, calculated fields)
112
115
  */
113
116
  export async function saveRelatedObject(parentElementId, parentKey, elementId, objectToSave, opts) {
114
117
  if (!getAuthToken) {
@@ -1 +1 @@
1
- {"version":3,"file":"data-crud.js","sourceRoot":"","sources":["../../src/data-crud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-crud.js","sourceRoot":"","sources":["../../src/data-crud.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,mFAAmF;AACnF,sDAAsD;AACtD,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO;AAEP,iBAAiB;AACjB,UAAU;AAkBV,mBAAmB;AACnB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAIH,iBAAiB;AACjB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B;AAE7B,YAAY;AACZ,iBAAiB,EACjB,6BAA6B;AAE7B,cAAc;AACd,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO;AAIH,oBAAoB;AACpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EACrC,MAAM,WAAW,CAAC;AAEnB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AACH,kBAAkB;AAClB,aAAa;AAKb,sBAAsB;AACtB,WAAW,EACX,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,uBAAuB;AACvB,mFAAmF;AAEnF,OAAO;AACH,uBAAuB;AACvB,aAAa,EACb,yBAAyB,EAC5B,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAcH,YAAY;AACZ,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAEjB,mFAAmF;AACnF,2BAA2B;AAC3B,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,mBAAmB;AAYnB,YAAY;AACZ,gBAAgB,EAChB,4BAA4B,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,UAAU,EACb,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,mFAAmF;AACnF,sDAAsD;AACtD,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,OAAO;AAEP,iBAAiB;AACjB,UAAU;AAkBV,mBAAmB;AACnB,sBAAsB,EACtB,oBAAoB,EACvB,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAIH,iBAAiB;AACjB,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,6BAA6B;AAE7B,YAAY;AACZ,iBAAiB,EACjB,6BAA6B;AAE7B,cAAc;AACd,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,gCAAgC,EACnC,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO;AAIH,oBAAoB;AACpB,mBAAmB,EACnB,+BAA+B,EAC/B,YAAY,EACZ,wBAAwB,EACxB,gBAAgB,EAChB,4BAA4B,EAC5B,sBAAsB,EACtB,kCAAkC,EACrC,MAAM,WAAW,CAAC;AAEnB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AACH,kBAAkB;AAClB,aAAa;AAKb,sBAAsB;AACtB,WAAW,EACX,uBAAuB,EAC1B,MAAM,aAAa,CAAC;AAErB,mFAAmF;AACnF,uBAAuB;AACvB,mFAAmF;AAEnF,OAAO;AACH,uBAAuB;AACvB,iBAAiB,EACjB,yBAAyB,EACzB,6BAA6B,EAC7B,qCAAqC,EACxC,MAAM,eAAe,CAAC;AAEvB,mFAAmF;AACnF,sBAAsB;AACtB,mFAAmF;AAEnF,OAAO;AAcH,YAAY;AACZ,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACzB,MAAM,SAAS,CAAC;AAEjB,mFAAmF;AACnF,2BAA2B;AAC3B,mFAAmF;AAEnF,OAAO;AACH,UAAU;AACV,mBAAmB;AAYnB,YAAY;AACZ,gBAAgB,EAChB,4BAA4B,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,mFAAmF;AACnF,eAAe;AACf,mFAAmF;AAEnF,OAAO;AACH,WAAW;AACX,WAAW;AAKX,eAAe;AACf,aAAa,EACb,yBAAyB,EAC5B,MAAM,MAAM,CAAC;AAEd,mFAAmF;AACnF,oBAAoB;AACpB,mFAAmF;AAEnF,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,UAAU,EACb,MAAM,aAAa,CAAC"}
package/lib/esm/index.mjs CHANGED
@@ -50,7 +50,7 @@ sendMessage, sendMessageAsObservable } from './messaging';
50
50
  // ================================================================================
51
51
  export {
52
52
  // Preference Functions
53
- getPreference, getPreferenceAsObservable } from './preferences';
53
+ getUserPreference, getOrganizationPreference, getUserPreferenceAsObservable, getOrganizationPreferenceAsObservable } from './preferences';
54
54
  // ================================================================================
55
55
  // LIST DATA FUNCTIONS
56
56
  // ================================================================================
@@ -66,6 +66,14 @@ AggregationResponse,
66
66
  // Functions
67
67
  getAggregateData, getAggregateDataAsObservable } from './data-aggregate';
68
68
  // ================================================================================
69
+ // AI FUNCTIONS
70
+ // ================================================================================
71
+ export {
72
+ // AI Enums
73
+ LLMProvider,
74
+ // AI Functions
75
+ sendAIMessage, sendAIMessageAsObservable } from './ai';
76
+ // ================================================================================
69
77
  // UTILITY FUNCTIONS
70
78
  // ================================================================================
71
79
  export { sortObjectArray, compareValues, getValueFromObject, debounceFn } from './utilities';
@@ -1 +1 @@
1
- {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/lists.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAqOzE,mFAAmF;AACnF,gCAAgC;AAChC,mFAAmF;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA6B,EAAE,OAAyB;IAEtF,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;IAC5C,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC;IAEpC,iFAAiF;IACjF,IAAI,GAAW,CAAC;IAChB,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;QACxB,GAAG,GAAG,GAAG,cAAc,mBAAmB,UAAU,wBAAwB,CAAC;IACjF,CAAC;SAAM,IAAI,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,GAAG,GAAG,GAAG,cAAc,mBAAmB,UAAU,iBAAiB,CAAC;IAC1E,CAAC;SAAM,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;QAChC,GAAG,GAAG,GAAG,cAAc,mBAAmB,UAAU,kBAAkB,CAAC;IAC3E,CAAC;SAAM,CAAC;QACJ,GAAG,GAAG,GAAG,cAAc,mBAAmB,UAAU,WAAW,CAAC;IACpE,CAAC;IAED,yBAAyB;IACzB,IAAI,MAAM,GAAQ,EAAE,CAAC;IAErB,yCAAyC;IACzC,IAAI,OAAO,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC7C,CAAC;IAED,6CAA6C;IAC7C,IAAI,SAAS,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QAC/B,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QAChD,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,mEAAmE;IACnE,IAAI,OAAO,GAAQ,EAAE,CAAC;IACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,sBAAsB,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,aAAa,GAAG,UAAU,SAAS,EAAE,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,GAAG,GAAG,oBAAoB,CAAC,CAAC;IACzE,CAAC;IAED,uBAAuB;IACvB,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE;QAC1C,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA6B,EAAE,OAAyB;IAC5F,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,mFAAmF;AACnF,iCAAiC;AACjC,mFAAmF;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAwB;IACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,cAAc,mBAAmB,UAAU,WAAW,CAAC;IAEtE,0CAA0C;IAC1C,IAAI,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,GAAQ;QACf,aAAa,EAAE,UAAU,SAAS,EAAE;KACvC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;IAE3E,uBAAuB;IACvB,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IACzD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAA0B;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,cAAc,mBAAmB,UAAU,aAAa,CAAC;IAExE,0CAA0C;IAC1C,IAAI,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;IACpD,IAAI,OAAO,GAAQ;QACf,aAAa,EAAE,UAAU,SAAS,EAAE;KACvC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;IAE3E,uBAAuB;IACvB,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3D,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA0B;IAC7D,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"lists.js","sourceRoot":"","sources":["../../src/lists.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import axios from 'axios';
15
15
  import { from, lastValueFrom } from 'rxjs';
16
- import { serviceAddress, getAuthToken, userContext } from './sdk-general';
16
+ import { serviceAddress, getAuthToken, userContext, sandboxKey } from './sdk-general';
17
17
  // ================================================================================
18
18
  // PREFERENCE RETRIEVAL FUNCTIONS
19
19
  // ================================================================================
@@ -25,33 +25,59 @@ import { serviceAddress, getAuthToken, userContext } from './sdk-general';
25
25
  * @throws Error if SDK not initialized or user context not available
26
26
  *
27
27
  * @example
28
- * const preferenceValue = await getPreference('myPreferenceId');
28
+ * const preferenceValue = await getUserPreference('myPreferenceId');
29
29
  */
30
- export async function getPreference(prefID) {
31
- if (!getAuthToken) {
32
- const errorMessage = 'SDK not initialized.';
30
+ export async function getUserPreference(prefID) {
31
+ if (!userContext?.user?.objKey) {
32
+ const errorMessage = 'User context not available. Cannot retrieve user preference value.';
33
33
  console.error(errorMessage);
34
34
  throw new Error(errorMessage);
35
35
  }
36
- if (!userContext?.user?.objKey) {
37
- const errorMessage = 'User context not available. Cannot retrieve preference value.';
36
+ return getPreferenceInternal(prefID, 'user', userContext.user.objKey);
37
+ }
38
+ /**
39
+ * Retrieves a preference value for the current organization.
40
+ *
41
+ * @param prefID - The preference ID to retrieve
42
+ * @returns Promise<any> - the preference value
43
+ * @throws Error if SDK not initialized or organization context not available
44
+ *
45
+ * @example
46
+ * const preferenceValue = await getOrganizationPreference('myPreferenceId');
47
+ */
48
+ export async function getOrganizationPreference(prefID) {
49
+ if (!userContext?.orgKey) {
50
+ const errorMessage = 'Organization context not available. Cannot retrieve organization preference value.';
51
+ console.error(errorMessage);
52
+ throw new Error(errorMessage);
53
+ }
54
+ return getPreferenceInternal(prefID, 'organization', userContext.orgKey);
55
+ }
56
+ /**
57
+ * Observable version of getUserPreference. See getUserPreference for details.
58
+ */
59
+ export function getUserPreferenceAsObservable(prefID) {
60
+ return from(getUserPreference(prefID));
61
+ }
62
+ /**
63
+ * Observable version of getOrganizationPreference. See getOrganizationPreference for details.
64
+ */
65
+ export function getOrganizationPreferenceAsObservable(prefID) {
66
+ return from(getOrganizationPreference(prefID));
67
+ }
68
+ async function getPreferenceInternal(prefID, ownerElementID, ownerKey) {
69
+ if (!getAuthToken) {
70
+ const errorMessage = 'SDK not initialized.';
38
71
  console.error(errorMessage);
39
72
  throw new Error(errorMessage);
40
73
  }
41
- const ownerElementID = 'user';
42
- const ownerKey = userContext.user.objKey;
43
74
  let url = `${serviceAddress}/sysapi/preference/${prefID}/${ownerElementID}/${ownerKey}`;
44
75
  let authToken = await lastValueFrom(getAuthToken());
45
76
  console.log("Sending GET request to " + url + " with token " + authToken);
46
77
  let response = await axios.get(url, {
47
78
  headers: { "Authorization": `Bearer ${authToken}` },
79
+ params: { sandboxKey },
48
80
  });
49
81
  return response.data;
50
82
  }
51
- /**
52
- * Observable version of getPreference. See getPreference for details.
53
- */
54
- export function getPreferenceAsObservable(prefID) {
55
- return from(getPreference(prefID));
56
- }
57
83
  //# sourceMappingURL=preferences.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/preferences.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE1E,mFAAmF;AACnF,iCAAiC;AACjC,mFAAmF;AAEnF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAc;IAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,+DAA+D,CAAC;QACrF,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;IAEzC,IAAI,GAAG,GAAG,GAAG,cAAc,sBAAsB,MAAM,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;IAExF,IAAI,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;IAE1E,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,SAAS,EAAE,EAAE;KACtD,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACpD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/preferences.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,0EAA0E;AAC1E,EAAE;AACF,6DAA6D;AAC7D,oDAAoD;AAEpD;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAc,aAAa,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEtF,mFAAmF;AACnF,iCAAiC;AACjC,mFAAmF;AAEnF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAc;IAClD,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,oEAAoE,CAAC;QAC1F,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAc;IAC1D,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,oFAAoF,CAAC;QAC1G,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAc;IACxD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qCAAqC,CAAC,MAAc;IAChE,OAAO,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAgB;IACzF,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,sBAAsB,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,GAAG,GAAG,GAAG,cAAc,sBAAsB,MAAM,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;IAExF,IAAI,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,GAAG,GAAG,cAAc,GAAG,SAAS,CAAC,CAAC;IAE1E,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,SAAS,EAAE,EAAE;QACnD,MAAM,EAAE,EAAE,UAAU,EAAE;KACzB,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;AACzB,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { Observable } from 'rxjs';
2
+ /**
3
+ * Supported LLM providers.
4
+ */
5
+ export declare enum LLMProvider {
6
+ Anthropic = "anthropic",
7
+ OpenAI = "openai",
8
+ Google = "google",
9
+ xAI = "xai"
10
+ }
11
+ /**
12
+ * Options for configuring an AI message request.
13
+ */
14
+ export interface AIRequestOptions {
15
+ /** Optional system prompt to guide the model's behavior */
16
+ systemPrompt?: string;
17
+ /** Maximum number of tokens in the response. Defaults to 1024 */
18
+ maxTokens?: number;
19
+ }
20
+ /**
21
+ * Sends a message to an LLM and returns its text response.
22
+ *
23
+ * The LLM provider is automatically detected from the model name. The corresponding
24
+ * API key is retrieved from organization preferences:
25
+ * - Anthropic (claude-*) → AnthropicAPIKey
26
+ * - OpenAI (gpt-*, o1-*, o3-*, o4-*) → OpenAIAPIKey
27
+ * - Google (gemini-*) → GoogleAPIKey
28
+ * - xAI (grok-*) → xAIAPIKey
29
+ *
30
+ * @param message - The user message to send to the model
31
+ * @param model - The model identifier (e.g. 'claude-3-sonnet-20240229', 'gpt-4o', 'gemini-2.0-flash', 'grok-3')
32
+ * @param options - Optional configuration (system prompt, max tokens)
33
+ * @returns Promise<string> - The model's text response
34
+ * @throws Error if SDK not initialized, organization context unavailable, API key not configured, or model not recognized
35
+ *
36
+ * @example
37
+ * // Simple usage
38
+ * const response = await sendAIMessage('What is the capital of France?', 'gpt-4o');
39
+ *
40
+ * @example
41
+ * // With options
42
+ * const response = await sendAIMessage(
43
+ * 'Summarize this document.',
44
+ * 'claude-3-sonnet-20240229',
45
+ * { systemPrompt: 'You are a helpful assistant.', maxTokens: 2048 }
46
+ * );
47
+ */
48
+ export declare function sendAIMessage(message: string, model: string, options?: AIRequestOptions): Promise<string>;
49
+ /**
50
+ * Observable version of sendAIMessage. See sendAIMessage for details.
51
+ */
52
+ export declare function sendAIMessageAsObservable(message: string, model: string, options?: AIRequestOptions): Observable<string>;
@@ -20,9 +20,9 @@ export declare function getObjectAsObservable(dataElementId: string, key: string
20
20
  * Retrieves all objects related to a parent through a schema relationship. Commonly used to get objects belonging to current user/org proxy.
21
21
  *
22
22
  * @param parentElementId - Parent element ID
23
- * @param parentKey - Parent object key
23
+ * @param parentKey - Parent object key; important: this establishes the scope of the query; use an appropriate scope key
24
24
  * @param elementId - Child element ID
25
- * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression.
25
+ * @param filter - Optional filter; call `dataexpr_agent` to generate the filter expression. Must be less than 200 characters.
26
26
  * @param fetchedRelationships - Optional relationships to include as nested objects
27
27
  * @returns Promise<any[]>
28
28
  */
@@ -34,9 +34,12 @@ export declare function getRelatedObjectsAsObservable(parentElementId: string, p
34
34
  /**
35
35
  * Saves a related object and establishes relationship to parent. Returns saved object with any server-assigned values (objKey, calculated fields).
36
36
  *
37
+ * @param parentElementId - Parent element ID
38
+ * @param parentKey - Parent object key; important: this establishes the scope of the save operation; use an appropriate scope Key
39
+ * @param elementId - Child element ID for the object being saved
37
40
  * @param objectToSave - JSON string of object data
38
- * @param opts - Optional: bypassValidation
39
- * @returns Promise<any> - saved object with updates
41
+ * @param opts - Optional save options (e.g., bypassValidation)
42
+ * @returns Promise<any> - saved object with updates including server-assigned values (objKey, calculated fields)
40
43
  */
41
44
  export declare function saveRelatedObject(parentElementId: string, parentKey: string, elementId: string, objectToSave: string, opts?: SaveOptions): Promise<any>;
42
45
  /**
@@ -7,7 +7,8 @@ export { getAuthToken, sandboxKey, serviceAddress, actionSubject, userContext, p
7
7
  export { type SaveOptions, getObject, getObjectAsObservable, getRelatedObjects, getRelatedObjectsAsObservable, saveRelatedObject, saveRelatedObjectAsObservable, deleteRelatedObject, deleteRelatedObjectAsObservable, deleteRelatedObjects, deleteRelatedObjectsAsObservable } from './data-crud';
8
8
  export { type ContentResource, getOrCreateResource, getOrCreateResourceAsObservable, saveResource, saveResourceAsObservable, sendFileContents, sendFileContentsAsObservable, createOrUpdateResource, createOrUpdateResourceAsObservable } from './content';
9
9
  export { MessageMethod, type MessageRequest, sendMessage, sendMessageAsObservable } from './messaging';
10
- export { getPreference, getPreferenceAsObservable } from './preferences';
10
+ export { getUserPreference, getOrganizationPreference, getUserPreferenceAsObservable, getOrganizationPreferenceAsObservable } from './preferences';
11
11
  export { type SortField, type DataSortField, type BaseListDataRequest, type PagedListDataRequest, type ListDataResponse, type ListDataOptions, type ListDataSearchOptions, type MassEditValueType, type MassEditRequest, type MassDeleteRequest, type MassChangeResponse, getListData, getListDataAsObservable, massEdit, massEditAsObservable, massDelete, massDeleteAsObservable } from './lists';
12
12
  export { AggregationResponse, type AggregationRequest, type AggregationRow, type AggregationGroup, type AggregationSort, type Aggregation, type AggregationGroupTransform, type TransformType, type AggregationType, getAggregateData, getAggregateDataAsObservable } from './data-aggregate';
13
+ export { LLMProvider, type AIRequestOptions, sendAIMessage, sendAIMessageAsObservable } from './ai';
13
14
  export { sortObjectArray, compareValues, getValueFromObject, debounceFn } from './utilities';
@@ -45,6 +45,8 @@ export interface BaseListDataRequest {
45
45
  /**
46
46
  * The key of an object that all records must be related to.
47
47
  * Works with parentDataElementId to scope results.
48
+ *
49
+ * Important: this establishes the scope of the query; use an appropriate scope key
48
50
  */
49
51
  parentKey?: string;
50
52
  /**
@@ -60,6 +62,7 @@ export interface BaseListDataRequest {
60
62
  /**
61
63
  * Filter expression to limit results. Evaluated within the parent key scope.
62
64
  * Call `dataexpr_agent` to generate the filter expression.
65
+ * Must be less than 200 characters.
63
66
  */
64
67
  filter?: string;
65
68
  /**
@@ -7,10 +7,25 @@ import { Observable } from 'rxjs';
7
7
  * @throws Error if SDK not initialized or user context not available
8
8
  *
9
9
  * @example
10
- * const preferenceValue = await getPreference('myPreferenceId');
10
+ * const preferenceValue = await getUserPreference('myPreferenceId');
11
11
  */
12
- export declare function getPreference(prefID: string): Promise<any>;
12
+ export declare function getUserPreference(prefID: string): Promise<any>;
13
13
  /**
14
- * Observable version of getPreference. See getPreference for details.
14
+ * Retrieves a preference value for the current organization.
15
+ *
16
+ * @param prefID - The preference ID to retrieve
17
+ * @returns Promise<any> - the preference value
18
+ * @throws Error if SDK not initialized or organization context not available
19
+ *
20
+ * @example
21
+ * const preferenceValue = await getOrganizationPreference('myPreferenceId');
22
+ */
23
+ export declare function getOrganizationPreference(prefID: string): Promise<any>;
24
+ /**
25
+ * Observable version of getUserPreference. See getUserPreference for details.
26
+ */
27
+ export declare function getUserPreferenceAsObservable(prefID: string): Observable<any>;
28
+ /**
29
+ * Observable version of getOrganizationPreference. See getOrganizationPreference for details.
15
30
  */
16
- export declare function getPreferenceAsObservable(prefID: string): Observable<any>;
31
+ export declare function getOrganizationPreferenceAsObservable(prefID: string): Observable<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@halix/action-sdk",
3
- "version": "1.0.29",
3
+ "version": "1.0.31",
4
4
  "description": "Halix Platform action SDK",
5
5
  "types": "./lib/cjs/types/index.d.ts",
6
6
  "main": "./lib/cjs/index.js",
@@ -26,6 +26,7 @@
26
26
  "prepack": "npm run build",
27
27
  "test": "vitest run",
28
28
  "test:watch": "vitest",
29
+ "test:integration": "vitest run --config vitest.integration.config.ts",
29
30
  "coverage": "vitest run --coverage"
30
31
  },
31
32
  "repository": {