@base44-preview/sdk 0.8.19-pr.129.4c7e3bb → 0.8.19-pr.131.ff1af44

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.d.ts CHANGED
@@ -6,7 +6,7 @@ export type { Base44Client, CreateClientConfig, CreateClientOptions, Base44Error
6
6
  export * from "./types.js";
7
7
  export type { DeleteManyResult, DeleteResult, EntitiesModule, EntityHandler, EntityRecord, EntityTypeRegistry, ImportResult, RealtimeEventType, RealtimeEvent, RealtimeCallback, SortField, } from "./modules/entities.types.js";
8
8
  export type { AuthModule, LoginResponse, RegisterParams, VerifyOtpParams, ChangePasswordParams, ResetPasswordParams, User, } from "./modules/auth.types.js";
9
- export type { IntegrationsModule, IntegrationPackage, IntegrationEndpointFunction, CoreIntegrations, InvokeLLMParams, GenerateImageParams, GenerateImageResult, UploadFileParams, UploadFileResult, SendEmailParams, SendEmailResult, ExtractDataFromUploadedFileParams, ExtractDataFromUploadedFileResult, UploadPrivateFileParams, UploadPrivateFileResult, CreateFileSignedUrlParams, CreateFileSignedUrlResult, } from "./modules/integrations.types.js";
9
+ export type { IntegrationsModule, IntegrationEndpointFunction, CoreIntegrations, InvokeLLMParams, GenerateImageParams, GenerateImageResult, UploadFileParams, UploadFileResult, SendEmailParams, SendEmailResult, ExtractDataFromUploadedFileParams, ExtractDataFromUploadedFileResult, UploadPrivateFileParams, UploadPrivateFileResult, CreateFileSignedUrlParams, CreateFileSignedUrlResult, } from "./modules/integrations.types.js";
10
10
  export type { FunctionsModule, FunctionName, FunctionNameRegistry, } from "./modules/functions.types.js";
11
11
  export type { AgentsModule, AgentName, AgentNameRegistry, AgentConversation, AgentMessage, AgentMessageReasoning, AgentMessageToolCall, AgentMessageUsage, AgentMessageCustomContext, AgentMessageMetadata, CreateConversationParams, } from "./modules/agents.types.js";
12
12
  export type { AppLogsModule } from "./modules/app-logs.types.js";
@@ -170,6 +170,8 @@ export interface AgentsModuleConfig {
170
170
  * send messages, and subscribe to realtime updates. Conversations can be used
171
171
  * for chat interfaces, support systems, or any interactive AI app.
172
172
  *
173
+ * ## Key Features
174
+ *
173
175
  * The agents module enables you to:
174
176
  *
175
177
  * - **Create conversations** with agents defined in the app.
@@ -179,12 +181,16 @@ export interface AgentsModuleConfig {
179
181
  * - **Attach metadata** to conversations for tracking context, categories, priorities, or linking to external systems.
180
182
  * - **Generate WhatsApp connection URLs** for users to interact with agents through WhatsApp.
181
183
  *
184
+ * ## Conversation Structure
185
+ *
182
186
  * The agents module operates with a two-level hierarchy:
183
187
  *
184
188
  * 1. **Conversations**: Top-level containers that represent a dialogue with a specific agent. Each conversation has a unique ID, is associated with an agent by name, and belongs to the user who created it. Conversations can include optional metadata for tracking app-specific context like ticket IDs, categories, or custom fields.
185
189
  *
186
190
  * 2. **Messages**: Individual exchanges within a conversation. Each message has a role, content, and optional metadata like token usage, tool calls, file attachments, and reasoning information. Messages are stored as an array within their parent conversation.
187
191
  *
192
+ * ## Authentication Modes
193
+ *
188
194
  * This module is available to use with a client in all authentication modes:
189
195
  *
190
196
  * - **Anonymous or User authentication** (`base44.agents`): Access is scoped to the current user's permissions. Users must be authenticated to create and access conversations.
@@ -74,11 +74,15 @@ export type AnalyticsModuleOptions = {
74
74
  *
75
75
  * <Note> Analytics events tracked with this module appear as custom event cards in the [Analytics dashboard](/documentation/performance-and-seo/app-analytics).</Note>
76
76
  *
77
+ * ## Best Practices
78
+ *
77
79
  * When tracking events:
78
80
  *
79
81
  * - Choose clear, descriptive event names in snake_case like `signup_button_click` or `purchase_completed` rather than generic names like `click`.
80
82
  * - Include relevant context in your properties such as identifiers like `product_id`, measurements like `price`, and flags like `is_first_purchase`.
81
83
  *
84
+ * ## Authentication Modes
85
+ *
82
86
  * This module is only available in user authentication mode (`base44.analytics`).
83
87
  */
84
88
  export interface AnalyticsModule {
@@ -3,6 +3,8 @@
3
3
  *
4
4
  * This module provides a method to log user activity. The logs are reflected in the Analytics page in the app dashboard.
5
5
  *
6
+ * ## Authentication Modes
7
+ *
6
8
  * This module is available to use with a client in all authentication modes.
7
9
  */
8
10
  export interface AppLogsModule {
@@ -96,6 +96,8 @@ export interface AuthModuleOptions {
96
96
  /**
97
97
  * Authentication module for managing user authentication and authorization. The module automatically stores tokens in local storage when available and manages authorization headers for API requests.
98
98
  *
99
+ * ## Features
100
+ *
99
101
  * This module provides comprehensive authentication functionality including:
100
102
  * - Email/password login and registration
101
103
  * - Token management
@@ -104,6 +106,8 @@ export interface AuthModuleOptions {
104
106
  * - OTP verification
105
107
  * - User invitations
106
108
  *
109
+ * ## Authentication Modes
110
+ *
107
111
  * The auth module is only available in user authentication mode (`base44.auth`).
108
112
  */
109
113
  export interface AuthModule {
@@ -30,6 +30,8 @@ export interface ConnectorAccessTokenResponse {
30
30
  * the API calls you make. This is useful when you need custom API interactions that aren't
31
31
  * covered by Base44's pre-built integrations.
32
32
  *
33
+ * ## Authentication Modes
34
+ *
33
35
  * This module is only available to use with a client in service role authentication mode, which means it can only be used in backend environments.
34
36
  *
35
37
  * ## Dynamic Types
@@ -425,6 +425,14 @@ type DynamicEntitiesModule = {
425
425
  * - **Anonymous or User authentication** (`base44.entities`): Access is scoped to the current user's permissions. Anonymous users can only access public entities, while authenticated users can access entities they have permission to view or modify.
426
426
  * - **Service role authentication** (`base44.asServiceRole.entities`): Operations have elevated admin-level permissions. Can access all entities that the app's admin role has access to.
427
427
  *
428
+ * ## Entity Handlers
429
+ *
430
+ * An entity handler is the object you get when you access an entity through `base44.entities.EntityName`. Every entity in your app automatically gets a handler with CRUD methods for managing records.
431
+ *
432
+ * For example, `base44.entities.Task` is an entity handler for Task records, and `base44.entities.User` is an entity handler for User records. Each handler provides methods like `list()`, `create()`, `update()`, and `delete()`.
433
+ *
434
+ * You don't need to instantiate or import entity handlers. They're automatically available for every entity you create in your app.
435
+ *
428
436
  * ## Built-in User Entity
429
437
  *
430
438
  * Every app includes a built-in `User` entity that stores user account information. This entity has special security rules that can't be changed.
@@ -19,6 +19,8 @@ export type FunctionName = keyof FunctionNameRegistry extends never ? string : k
19
19
  *
20
20
  * This module allows you to invoke the custom backend functions defined in the app.
21
21
  *
22
+ * ## Authentication Modes
23
+ *
22
24
  * This module is available to use with a client in all authentication modes:
23
25
  *
24
26
  * - **Anonymous or User authentication** (`base44.functions`): Functions are invoked with the current user's permissions. Anonymous users invoke functions without authentication, while authenticated users invoke functions with their authentication context.
@@ -12,18 +12,25 @@ export type IntegrationEndpointFunction = (data: Record<string, any>) => Promise
12
12
  /**
13
13
  * A package containing integration endpoints.
14
14
  *
15
- * Provides dynamic access to integration endpoints within a package.
16
- * Each endpoint is accessed as a property that returns a function to invoke it.
15
+ * An integration package is a collection of endpoint functions indexed by endpoint name.
16
+ * Both `Core` and `custom` are integration packages that implement this structure.
17
17
  *
18
- * @example
18
+ * @example **Core package**
19
19
  * ```typescript
20
- * // Access endpoints dynamically
21
- * const result = await integrations.Core.SendEmail({
22
- * to: 'user@example.com',
23
- * subject: 'Hello',
24
- * body: 'Message'
20
+ * await base44.integrations.Core.InvokeLLM({
21
+ * prompt: 'Explain quantum computing',
22
+ * model: 'gpt-4'
25
23
  * });
26
24
  * ```
25
+ *
26
+ * @example **custom package**
27
+ * ```typescript
28
+ * await base44.integrations.custom.call(
29
+ * 'github',
30
+ * 'get:/repos/{owner}/{repo}',
31
+ * { pathParams: { owner: 'myorg', repo: 'myrepo' } }
32
+ * );
33
+ * ```
27
34
  */
28
35
  export type IntegrationPackage = {
29
36
  [endpointName: string]: IntegrationEndpointFunction;
@@ -324,6 +331,8 @@ export interface CoreIntegrations {
324
331
  *
325
332
  * This module provides access to integration methods for interacting with external services. Unlike the connectors module that gives you raw OAuth tokens, integrations provide pre-built functions that Base44 executes on your behalf.
326
333
  *
334
+ * ## Integration Types
335
+ *
327
336
  * There are two types of integrations:
328
337
  *
329
338
  * - **Built-in integrations** (`Core`): Pre-built functions provided by Base44 for common tasks such as AI-powered text generation, image creation, file uploads, and email. Access core integration methods using:
@@ -331,12 +340,14 @@ export interface CoreIntegrations {
331
340
  * base44.integrations.Core.FunctionName(params)
332
341
  * ```
333
342
  *
334
- * - **Custom integrations** (`custom`): Pre-configured external APIs. Custom integration calls are proxied through Base44's backend, so credentials are never exposed to the frontend. Access custom integration methods using:
343
+ * - **Custom workspace integrations** (`custom`): Pre-configured external APIs set up by workspace administrators. Workspace integration calls are proxied through Base44's backend, so credentials are never exposed to the frontend. Access custom workspace integration methods using:
335
344
  * ```
336
345
  * base44.integrations.custom.call(slug, operationId, params)
337
346
  * ```
338
347
  *
339
- * <Info>To call a custom integration, it must be pre-configured by a workspace administrator who imports an OpenAPI specification.</Info>
348
+ * <Info>To call a custom workspace integration, it must be pre-configured by a workspace administrator who imports an OpenAPI specification. Learn more about [custom workspace integrations](/documentation/integrations/managing-workspace-integrations).</Info>
349
+ *
350
+ * ## Authentication Modes
340
351
  *
341
352
  * This module is available to use with a client in all authentication modes:
342
353
  *
@@ -346,18 +357,52 @@ export interface CoreIntegrations {
346
357
  export type IntegrationsModule = {
347
358
  /**
348
359
  * Core package containing built-in Base44 integration functions.
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * const response = await base44.integrations.Core.InvokeLLM({
364
+ * prompt: 'Explain quantum computing',
365
+ * model: 'gpt-4'
366
+ * });
367
+ * ```
349
368
  */
350
369
  Core: CoreIntegrations;
351
370
  /**
352
- * Custom integrations module for calling pre-configured external APIs.
371
+ * Workspace integrations module for calling pre-configured external APIs.
372
+ *
373
+ * @example
374
+ * ```typescript
375
+ * const result = await base44.integrations.custom.call(
376
+ * 'github',
377
+ * 'get:/repos/{owner}/{repo}',
378
+ * { pathParams: { owner: 'myorg', repo: 'myrepo' } }
379
+ * );
380
+ * ```
353
381
  */
354
382
  custom: CustomIntegrationsModule;
355
383
  } & {
356
384
  /**
357
385
  * Access to additional integration packages.
358
386
  *
359
- * Additional integration packages may be added in the future and will be
360
- * accessible using the same pattern as Core.
387
+ * Allows accessing integration packages as properties. This enables both `Core` and `custom` packages,
388
+ * as well as any future integration packages that may be added.
389
+ *
390
+ * @example **Use Core integrations**
391
+ * ```typescript
392
+ * const response = await base44.integrations.Core.InvokeLLM({
393
+ * prompt: 'Explain quantum computing',
394
+ * model: 'gpt-4'
395
+ * });
396
+ * ```
397
+ *
398
+ * @example **Use custom integrations**
399
+ * ```typescript
400
+ * const result = await base44.integrations.custom.call(
401
+ * 'github',
402
+ * 'get:/repos/{owner}/{repo}',
403
+ * { pathParams: { owner: 'myorg', repo: 'myrepo' } }
404
+ * );
405
+ * ```
361
406
  */
362
407
  [packageName: string]: IntegrationPackage;
363
408
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base44-preview/sdk",
3
- "version": "0.8.19-pr.129.4c7e3bb",
3
+ "version": "0.8.19-pr.131.ff1af44",
4
4
  "description": "JavaScript SDK for Base44 API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",