@lowdefy/docs-content 0.0.0-experimental-20260928120643 → 6.1.0
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/README.md +0 -1
- package/content/actions/link.md +0 -17
- package/content/actions/login.md +5 -23
- package/content/actions/logout.md +5 -5
- package/content/actions/pdfmake.md +2 -2
- package/content/actions/setdarkmode.md +2 -2
- package/content/agents/agent-properties.md +2 -4
- package/content/agents/agentchat.md +6 -21
- package/content/agents/agentconversations.md +2 -2
- package/content/concepts/ai-agent-docs.md +101 -313
- package/content/concepts/cli.md +3 -34
- package/content/concepts/connections-and-requests.md +0 -402
- package/content/concepts/custom-html.md +0 -40
- package/content/concepts/custom-styling.md +5 -50
- package/content/concepts/events-and-actions.md +2 -64
- package/content/concepts/i18n.md +2 -7
- package/content/concepts/keyboard-shortcuts.md +2 -2
- package/content/concepts/layout-overview.md +1 -1
- package/content/concepts/logger.md +0 -81
- package/content/concepts/lowdefy-schema.md +1 -4
- package/content/concepts/menus.md +7 -7
- package/content/concepts/module-authoring.md +2 -2
- package/content/connections/anthropic.md +2 -162
- package/content/connections/awss3.md +0 -54
- package/content/connections/google.md +2 -162
- package/content/connections/mongodb.md +3 -121
- package/content/connections/openai-connection.md +2 -162
- package/content/container-blocks/affix.md +7 -47
- package/content/container-blocks/alert.md +24 -76
- package/content/container-blocks/badge.md +24 -100
- package/content/container-blocks/box.md +9 -9
- package/content/container-blocks/card.md +25 -80
- package/content/container-blocks/carousel.md +7 -60
- package/content/container-blocks/collapse.md +9 -87
- package/content/container-blocks/configprovider.md +13 -35
- package/content/container-blocks/confirmmodal.md +23 -69
- package/content/container-blocks/content.md +98 -62
- package/content/container-blocks/descriptions.md +4 -45
- package/content/container-blocks/drawer.md +28 -92
- package/content/container-blocks/dropdownmenu.md +31 -119
- package/content/container-blocks/flex.md +62 -40
- package/content/container-blocks/footer.md +11 -15
- package/content/container-blocks/googlemapsheatmap.md +1 -1
- package/content/container-blocks/googlemapsscript.md +2 -2
- package/content/container-blocks/header.md +36 -71
- package/content/container-blocks/label.md +7 -34
- package/content/container-blocks/layout.md +34 -52
- package/content/container-blocks/masonry.md +71 -17
- package/content/container-blocks/mobilemenu.md +88 -131
- package/content/container-blocks/modal.md +26 -114
- package/content/container-blocks/pageheadermenu.md +31 -81
- package/content/container-blocks/pagesidebarlayout.md +26 -169
- package/content/container-blocks/pagesidermenu.md +42 -95
- package/content/container-blocks/popover.md +31 -34
- package/content/container-blocks/result.md +21 -32
- package/content/container-blocks/sider.md +122 -85
- package/content/container-blocks/span.md +7 -7
- package/content/container-blocks/spinner.md +3 -3
- package/content/container-blocks/splitter.md +68 -150
- package/content/container-blocks/tabs.md +12 -64
- package/content/container-blocks/tooltip.md +46 -22
- package/content/container-blocks/watermark.md +4 -22
- package/content/controls/reject.md +2 -4
- package/content/controls/throw.md +0 -1
- package/content/controls/try.md +2 -3
- package/content/deployment/deployment-environments.md +6 -8
- package/content/deployment/docker.md +7 -22
- package/content/deployment/node-server.md +0 -4
- package/content/deployment/vercel.md +6 -13
- package/content/display-blocks/aggrid.md +11 -26
- package/content/display-blocks/anchor.md +15 -15
- package/content/display-blocks/avatar.md +37 -57
- package/content/display-blocks/breadcrumb.md +21 -70
- package/content/display-blocks/button.md +18 -92
- package/content/display-blocks/calendar.md +0 -12
- package/content/display-blocks/dangeroushtml.md +1 -1
- package/content/display-blocks/difflist.md +1 -1
- package/content/display-blocks/difftimeline.md +1 -1
- package/content/display-blocks/divider.md +3 -64
- package/content/display-blocks/dropdownbutton.md +28 -79
- package/content/display-blocks/echart.md +1 -35
- package/content/display-blocks/floatbutton.md +42 -129
- package/content/display-blocks/html.md +1 -61
- package/content/display-blocks/icon.md +67 -250
- package/content/display-blocks/menu.md +73 -145
- package/content/display-blocks/message.md +124 -38
- package/content/display-blocks/notification.md +222 -94
- package/content/display-blocks/paragraph.md +9 -59
- package/content/display-blocks/progress.md +17 -96
- package/content/display-blocks/qrcode.md +4 -19
- package/content/display-blocks/s3download.md +1 -1
- package/content/display-blocks/search.md +7 -17
- package/content/display-blocks/skeletonbutton.md +0 -1
- package/content/display-blocks/skeletoninput.md +0 -1
- package/content/display-blocks/statistic.md +17 -75
- package/content/display-blocks/steps.md +25 -58
- package/content/display-blocks/tag.md +17 -102
- package/content/display-blocks/title.md +11 -50
- package/content/display-blocks/tour.md +23 -33
- package/content/input-blocks/autocomplete.md +9 -81
- package/content/input-blocks/buttonselector.md +8 -45
- package/content/input-blocks/checkboxselector.md +7 -97
- package/content/input-blocks/checkboxswitch.md +3 -33
- package/content/input-blocks/colorselector.md +14 -63
- package/content/input-blocks/daterangeselector.md +45 -165
- package/content/input-blocks/dateselector.md +41 -139
- package/content/input-blocks/datetimeselector.md +49 -158
- package/content/input-blocks/inputgallery.md +3 -3
- package/content/input-blocks/monthselector.md +52 -120
- package/content/input-blocks/multipleselector.md +39 -150
- package/content/input-blocks/numberinput.md +12 -98
- package/content/input-blocks/pagination.md +14 -70
- package/content/input-blocks/paragraphinput.md +37 -51
- package/content/input-blocks/passwordinput.md +6 -60
- package/content/input-blocks/phonenumberinput.md +26 -59
- package/content/input-blocks/radioselector.md +7 -83
- package/content/input-blocks/ratingslider.md +26 -57
- package/content/input-blocks/s3uploadbutton.md +24 -24
- package/content/input-blocks/s3uploaddragger.md +3 -3
- package/content/input-blocks/s3uploadphoto.md +5 -5
- package/content/input-blocks/segmentedselector.md +32 -72
- package/content/input-blocks/selector.md +21 -109
- package/content/input-blocks/switch.md +17 -65
- package/content/input-blocks/textarea.md +3 -32
- package/content/input-blocks/textinput.md +28 -69
- package/content/input-blocks/tiptapmentioninput.md +1 -1
- package/content/input-blocks/titleinput.md +12 -39
- package/content/input-blocks/treeinput.md +25 -49
- package/content/input-blocks/treemultipleselector.md +10 -127
- package/content/input-blocks/treeselector.md +9 -97
- package/content/input-blocks/upload.md +15 -64
- package/content/input-blocks/uploaddragger.md +1 -17
- package/content/input-blocks/uploadphoto.md +1 -18
- package/content/input-blocks/weekselector.md +55 -120
- package/content/list-blocks/controlledlist.md +15 -24
- package/content/list-blocks/list.md +11 -11
- package/content/list-blocks/masonrylist.md +34 -7
- package/content/migration/upgrade-guide.md +0 -1
- package/content/operators/_app.md +1 -2
- package/content/operators/_error.md +1 -23
- package/content/operators/_get.md +6 -6
- package/content/operators/_operator.md +3 -17
- package/content/operators/_ref.md +0 -258
- package/content/operators/_type.md +3 -14
- package/content/operators/_user.md +3 -3
- package/content/other/introduction.md +1 -1
- package/content/plugins/plugins-dev.md +0 -66
- package/content/plugins/plugins-introduction.md +1 -27
- package/content/testing/e2e-configuration.md +1 -8
- package/content/testing/e2e-getting-started.md +1 -1
- package/content/testing/e2e-introduction.md +1 -1
- package/content/tutorial/tutorial-actions-operators.md +2 -2
- package/content/tutorial/tutorial-add-blocks.md +2 -2
- package/content/tutorial/tutorial-create-page.md +2 -48
- package/content/tutorial/tutorial-display-data-page.md +3 -3
- package/content/tutorial/tutorial-requests-sql.md +0 -153
- package/content/tutorial/tutorial-start.md +1 -66
- package/content/user-authentication/login-and-logout.md +8 -158
- package/content/user-authentication/users-introduction.md +0 -8
- package/index.json +2 -6065
- package/package.json +1 -7
- package/scripts/extractAgentDocs.js +4 -36
- package/content/actions/emailotpsend.md +0 -58
- package/content/actions/emailotpverify.md +0 -77
- package/content/actions/getlocalstorage.md +0 -41
- package/content/actions/magiclinkverify.md +0 -113
- package/content/actions/posthogalias.md +0 -29
- package/content/actions/posthogcapture.md +0 -49
- package/content/actions/posthogcapturepageleave.md +0 -38
- package/content/actions/posthogfeatureflag.md +0 -50
- package/content/actions/posthoggroup.md +0 -37
- package/content/actions/posthogidentify.md +0 -54
- package/content/actions/posthoginit.md +0 -66
- package/content/actions/posthogoptin.md +0 -29
- package/content/actions/posthogoptout.md +0 -29
- package/content/actions/posthogpageview.md +0 -37
- package/content/actions/posthogreloadfeatureflags.md +0 -47
- package/content/actions/posthogreset.md +0 -28
- package/content/actions/posthogsetpersonproperties.md +0 -36
- package/content/actions/removelocalstorage.md +0 -26
- package/content/actions/setlocalstorage.md +0 -32
- package/content/adapter-reference/mongodbauthadapter.md +0 -46
- package/content/agents/agents-introduction.md +0 -107
- package/content/callback-reference/auth0logoutcallback.md +0 -54
- package/content/concepts/blocks.md +0 -150
- package/content/concepts/dynamic-page-content.md +0 -304
- package/content/concepts/html-attributes.md +0 -285
- package/content/concepts/lowdefy-api.md +0 -1110
- package/content/concepts/notifications.md +0 -155
- package/content/concepts/page-and-app-state.md +0 -244
- package/content/concepts/theming.md +0 -582
- package/content/connections/aigateway.md +0 -368
- package/content/connections/axioshttp.md +0 -181
- package/content/controls/while.md +0 -46
- package/content/display-blocks/clickablehtml.md +0 -239
- package/content/display-blocks/eventlog.md +0 -363
- package/content/display-blocks/pollingtimer.md +0 -263
- package/content/input-blocks/captcha.md +0 -40
- package/content/input-blocks/placesautocomplete.md +0 -319
- package/content/input-blocks/tagmultipleselector.md +0 -114
- package/content/input-blocks/tagselector.md +0 -114
- package/content/migration/auth-upgrade.md +0 -327
- package/content/migration/v3-to-v4.md +0 -417
- package/content/migration/v6-to-v7.md +0 -222
- package/content/operators/_cron.md +0 -292
- package/content/other/mongodbadapter.md +0 -3
- package/content/plugins/plugins-icon-sets.md +0 -267
- package/content/plugins/posthog.md +0 -275
- package/content/provider-reference/auth-js-providers.md +0 -107
- package/content/provider-reference/openidconnectprovider.md +0 -44
- package/content/testing/config-tests.md +0 -278
- package/content/tutorial/tutorial-requests-api.md +0 -155
- package/content/user-authentication/auth-configuration.md +0 -266
- package/content/user-authentication/auth-steps.md +0 -138
- package/content/user-authentication/mcp-oauth.md +0 -292
- package/content/user-authentication/organizations.md +0 -221
- package/content/user-authentication/protected-pages-apis.md +0 -97
- package/content/user-authentication/roles.md +0 -49
- package/content/user-authentication/two-factor.md +0 -229
- package/content/user-authentication/user-object.md +0 -58
- package/content/websockets/websocket-publish.md +0 -108
- package/content/websockets/websocket-subscriptions.md +0 -100
- package/content/websockets/websockets-introduction.md +0 -97
- package/hazards.json +0 -44
- package/scripts/hashDocSources.js +0 -38
- package/scripts/recordSourceHashes.js +0 -88
package/README.md
CHANGED
|
@@ -6,7 +6,6 @@ Lowdefy documentation extracted as markdown, for serving to AI coding agents via
|
|
|
6
6
|
|
|
7
7
|
- `content/<section>/<slug>.md` — one markdown file per docs page (concepts, tutorial, operators, actions, connections, blocks, ...).
|
|
8
8
|
- `index.json` — manifest of all docs: `{ version, docs: [{ slug, title, section, path, kind?, typeName? }] }`. `kind`/`typeName` map a plugin type (e.g. operator `_get`) to its doc.
|
|
9
|
-
- `hazards.json` — framework-level hazards served by the dev MCP alongside schemas, docs and config lookups: `[{ id, appliesTo: { kinds?, types?, when? }, message, see }]`. This file is hand-authored and committed, not generated — `pnpm docs:content` wipes `content/` but leaves it untouched. Add an entry only for a behaviour verified in the framework source.
|
|
10
9
|
|
|
11
10
|
## Regenerating content
|
|
12
11
|
|
package/content/actions/link.md
CHANGED
|
@@ -9,8 +9,6 @@
|
|
|
9
9
|
input?: object,
|
|
10
10
|
newTab?:boolean,
|
|
11
11
|
pageId?: string,
|
|
12
|
-
replace?: boolean,
|
|
13
|
-
scroll?: boolean,
|
|
14
12
|
url?: string,
|
|
15
13
|
urlQuery? object
|
|
16
14
|
}): void
|
|
@@ -32,8 +30,6 @@ The pageId of a page in the app to link to.
|
|
|
32
30
|
- `input: object`: Object to set as the input for the linked page.
|
|
33
31
|
- `newTab: boolean`: Open the link in a new tab.
|
|
34
32
|
- `pageId: string`: The pageId of a page in the app to link to.
|
|
35
|
-
- `replace: boolean`: Replace the current browser history entry instead of pushing a new one, so the browser back button skips this navigation. Defaults to `false`.
|
|
36
|
-
- `scroll: boolean`: Scroll to the top of the page after navigating. Set to `false` to keep the current scroll position, for example when a same-page link only updates the `urlQuery`. Defaults to `true`.
|
|
37
33
|
- `url: string`: Link to an external url.
|
|
38
34
|
- `urlQuery: object`: Object to set as the urlQuery for the linked page.
|
|
39
35
|
|
|
@@ -109,19 +105,6 @@ The pageId of a page in the app to link to.
|
|
|
109
105
|
_args: row.id
|
|
110
106
|
```
|
|
111
107
|
|
|
112
|
-
###### Reflect state into the urlQuery without moving the page:
|
|
113
|
-
```yaml
|
|
114
|
-
- id: sync_url
|
|
115
|
-
type: Link
|
|
116
|
-
params:
|
|
117
|
-
pageId: my_page_id
|
|
118
|
-
urlQuery:
|
|
119
|
-
selected:
|
|
120
|
-
_state: selected_id
|
|
121
|
-
replace: true
|
|
122
|
-
scroll: false
|
|
123
|
-
```
|
|
124
|
-
|
|
125
108
|
###### Go to the previous page:
|
|
126
109
|
```yaml
|
|
127
110
|
- id: link_back
|
package/content/actions/login.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
pageId?: string
|
|
11
11
|
url?: string
|
|
12
12
|
urlQuery?: object
|
|
13
|
-
}
|
|
13
|
+
}
|
|
14
14
|
providerId?: string,
|
|
15
15
|
}): void
|
|
16
16
|
```
|
|
@@ -19,46 +19,28 @@ The `Login` action is used to start the user login flow. If only one provider is
|
|
|
19
19
|
|
|
20
20
|
The authorization url usually hosts a page where the user can input their credentials. After the user has logged in successfully, the user is redirected to the `api/auth/callback/[provider_id]` route in the Lowdefy app, where the rest of the authorization code flow is completed.
|
|
21
21
|
|
|
22
|
-
The `callbackUrl`
|
|
23
|
-
|
|
24
|
-
1. The `callbackUrl` param, if given.
|
|
25
|
-
2. The `?callbackUrl=` query parameter, which Lowdefy sets when it redirects an unauthenticated user to the sign-in page - so a user who was bounced there returns to the page they asked for.
|
|
26
|
-
3. The app's home page.
|
|
27
|
-
|
|
28
|
-
If none of the three resolves - an app with no `homePageId` whose menu offers the signed-out user no page to fall back on - the action throws rather than staying silently on the sign-in page.
|
|
29
|
-
|
|
30
|
-
To sign in without navigating at all, set `callbackUrl: false`. This is for a login form in a modal or an embedded panel, where the session store re-renders the page with the new user in place. It is not valid for magic-link or social/OAuth sign-in, which redirect through a hop Lowdefy does not control.
|
|
31
|
-
|
|
32
|
-
A sign-in the auth server rejects - a wrong password, an expired or already-used link, an invalid code - is an expected outcome, not an app error. The action throws a `UserError`: `catch` actions on the event still run and the error message still displays, but it is logged to the browser console only and is never reported to the server. The auth server's response is available to `catch` actions as `_actions.<actionId>.error.metaData`, with a `code` (for example `INVALID_EMAIL_OR_PASSWORD`) and the HTTP `status`. A network failure or a server fault is still thrown as an action error and reported.
|
|
22
|
+
The `callbackUrl` parameters of the Login action specify where the user is redirected after login is complete. If `callbackUrl` parameters not set, the user will return to the page from which the action was called.
|
|
33
23
|
|
|
34
24
|
#### Parameters
|
|
35
25
|
|
|
36
26
|
###### object
|
|
37
27
|
- `authUrl: object`:
|
|
38
28
|
- `urlQuery: object`: Query parameters to set for the authorization URL.
|
|
39
|
-
- `callbackUrl: object
|
|
29
|
+
- `callbackUrl: object`:
|
|
40
30
|
- `home: boolean`: Redirect to the home page after the login flow is complete.
|
|
41
31
|
- `pageId: string`: The pageId of the page to redirect to after the login flow is complete.
|
|
42
|
-
- `url: string`: The URL to redirect to after the login flow is complete.
|
|
32
|
+
- `url: string`: The URL to redirect to after the login flow is complete.
|
|
43
33
|
- `urlQuery: object`: The urlQuery to set for the page the user is redirected to after login.
|
|
44
34
|
- `providerId: string`: The ID of the provider that should be used for login. If not set and only one provider is configured the configured provider will be used. Else the user will be redirected to a sign in page where they can choose a provider.
|
|
45
35
|
|
|
46
36
|
#### Examples
|
|
47
37
|
|
|
48
|
-
###### Login and
|
|
38
|
+
###### Login and return to the same page:
|
|
49
39
|
```yaml
|
|
50
40
|
- id: login
|
|
51
41
|
type: Login
|
|
52
42
|
```
|
|
53
43
|
|
|
54
|
-
###### Login in a modal, without navigating:
|
|
55
|
-
```yaml
|
|
56
|
-
- id: login
|
|
57
|
-
type: Login
|
|
58
|
-
params:
|
|
59
|
-
callbackUrl: false
|
|
60
|
-
```
|
|
61
|
-
|
|
62
44
|
###### Login with the google provider:
|
|
63
45
|
```yaml
|
|
64
46
|
- id: login_with_google
|
|
@@ -14,16 +14,16 @@
|
|
|
14
14
|
|
|
15
15
|
When the `Logout` action is called, the user data and authorization cookies are cleared by the app.
|
|
16
16
|
|
|
17
|
-
The `callbackUrl`
|
|
17
|
+
The `callbackUrl` parameters of the Logout action specify where the user is redirected after logout is complete. If `callbackUrl` parameters not set, the user will return to the page from which the action was called.
|
|
18
18
|
|
|
19
19
|
#### Parameters
|
|
20
20
|
|
|
21
21
|
###### object
|
|
22
22
|
- `callbackUrl: object`:
|
|
23
|
-
- `home: boolean`: Redirect to the home page after the
|
|
24
|
-
- `pageId: string`: The pageId of the page to redirect to after the
|
|
25
|
-
- `url: string`: The URL to redirect to after the
|
|
26
|
-
- `urlQuery: object`: The urlQuery to set for the page the user is redirected to after
|
|
23
|
+
- `home: boolean`: Redirect to the home page after the login flow is complete.
|
|
24
|
+
- `pageId: string`: The pageId of the page to redirect to after the login flow is complete.
|
|
25
|
+
- `url: string`: The URL to redirect to after the login flow is complete.
|
|
26
|
+
- `urlQuery: object`: The urlQuery to set for the page the user is redirected to after login.
|
|
27
27
|
- `redirect: boolean`: If set to `false` the user session will be cleared, but the page will not be reloaded.
|
|
28
28
|
|
|
29
29
|
#### Examples
|
|
@@ -28,7 +28,7 @@ The `PdfMake` action is used to generate and download a PDF file from a set of d
|
|
|
28
28
|
type: Button
|
|
29
29
|
properties:
|
|
30
30
|
title: Download PDF
|
|
31
|
-
icon:
|
|
31
|
+
icon: AiOutlineDownload
|
|
32
32
|
events:
|
|
33
33
|
onClick:
|
|
34
34
|
- id: make_pdf
|
|
@@ -53,7 +53,7 @@ The `PdfMake` action is used to generate and download a PDF file from a set of d
|
|
|
53
53
|
textAlign: center
|
|
54
54
|
properties:
|
|
55
55
|
title: Generate & Download PDF
|
|
56
|
-
icon:
|
|
56
|
+
icon: AiOutlineDownload
|
|
57
57
|
color: '#6293F8'
|
|
58
58
|
events:
|
|
59
59
|
onMount:
|
|
@@ -22,7 +22,7 @@ properties:
|
|
|
22
22
|
|
|
23
23
|
## Generation Settings
|
|
24
24
|
|
|
25
|
-
- `maxOutputTokens: integer`: Maximum tokens the model can generate per step.
|
|
25
|
+
- `maxOutputTokens: integer`: Maximum tokens the model can generate per step.
|
|
26
26
|
- `temperature: number`: Sampling temperature between `0` and `2`. Lower values are more deterministic, higher values more creative. Default depends on the provider.
|
|
27
27
|
- `topP: number`: Nucleus sampling probability between `0` and `1`. Alternative to temperature — use one or the other.
|
|
28
28
|
- `topK: integer`: Only sample from the top K token options (not supported by all providers).
|
|
@@ -156,15 +156,13 @@ properties:
|
|
|
156
156
|
## Timeouts and Retries
|
|
157
157
|
|
|
158
158
|
- `maxRetries: integer`: Default: `2` - Maximum retries on provider errors. Set to `0` to disable.
|
|
159
|
-
- `timeout: number | object`: Timeout configuration.
|
|
159
|
+
- `timeout: number | object`: Timeout configuration.
|
|
160
160
|
- As a number: total timeout in milliseconds.
|
|
161
161
|
- As an object with granular control:
|
|
162
162
|
- `totalMs: number`: Total timeout across all steps.
|
|
163
163
|
- `stepMs: number`: Timeout per step.
|
|
164
164
|
- `chunkMs: number`: Timeout between stream chunks.
|
|
165
165
|
|
|
166
|
-
A chat turn keeps running when the client disconnects, so its `onFinish` hooks still save the whole conversation; `timeout` and `maxSteps` are what bound it. A `CallAgent` step is cancelled with the routine that runs it: when its request closes or the server's request timeout (`config.requestTimeout`) answers first.
|
|
167
|
-
|
|
168
166
|
## Provider-Specific Properties
|
|
169
167
|
|
|
170
168
|
- `providerOptions: object`: Pass provider-specific options directly to the AI SDK. Use this for options not covered by the properties above.
|
|
@@ -66,9 +66,9 @@ The `AgentChat` block renders a streaming AI chat interface. It connects to a [L
|
|
|
66
66
|
| Property | Type | Default | Description |
|
|
67
67
|
| --- | --- | --- | --- |
|
|
68
68
|
| `agentId` | string | | __Required__ - The `id` of the agent to connect to. |
|
|
69
|
-
| `conversationId` | string | | Active conversation ID. When this changes, messages are cleared. If left empty, the block auto-mints a stable id for the session and surfaces it via `onConversationStart`, so every turn posts a consistent id. App-supplied ids are always authoritative. |
|
|
70
|
-
| `messages` | array | | Load messages externally. `undefined` = no sync, `null` = clear, array = load. |
|
|
71
|
-
| `
|
|
69
|
+
| `conversationId` | string | | Active conversation ID. When this changes, any in-flight reply is aborted (so it stops emitting `onDataPart` and tool events into the page) and messages are cleared. If left empty, the block auto-mints a stable id for the session and surfaces it via `onConversationStart`, so every turn posts a consistent id. App-supplied ids are always authoritative. |
|
|
70
|
+
| `messages` | array | | Load messages externally. `undefined` = no sync, `null` = clear, array = load. Re-synced whenever the array's length, last message id or `conversationId` changes. |
|
|
71
|
+
| `loading` | boolean | `false` | The app is still loading this conversation's transcript (for example, reading it from a database after a conversation switch). While `true`, a skeleton replaces the message area, suggestions are hidden and the composer is disabled, so nothing can be sent into a conversation whose messages have not synced yet. Drive it from state alongside `messages`, for the window before the transcript has synced — not while a reply is streaming, since a disabled composer also hides the stop control. |
|
|
72
72
|
| `urlQuery` | object | | Query parameters sent with each request. Available server-side via `_payload`. |
|
|
73
73
|
| `sharedState` | object | | Two-way bridge between page state and the agent. See [Shared State](#shared-state). |
|
|
74
74
|
| `height` | string | `'calc(100dvh - 170px)'` | CSS height of the chat container. Only applies when `display` is `'inline'`. |
|
|
@@ -195,8 +195,6 @@ Customize message appearance by role:
|
|
|
195
195
|
- `avatar: string`: Avatar image URL.
|
|
196
196
|
- `variant: string`: `'filled'`, `'outlined'`, `'shadow'`, or `'borderless'`.
|
|
197
197
|
- `shape: string`: `'default'`, `'round'`, or `'corner'`.
|
|
198
|
-
- `styles: object`: Inline styles per bubble part — `root`, `content`, `body`, `header`, `footer`, `avatar`, `extra`. This is how to recolour a bubble: the `filled` background and the `outlined` border come from the theme's `colorPrimary`, and a page stylesheet cannot override them.
|
|
199
|
-
- `classNames: object`: Class names per bubble part, same keys as `styles`.
|
|
200
198
|
- `user: object`: Same properties as `assistant`.
|
|
201
199
|
|
|
202
200
|
```yaml
|
|
@@ -218,8 +216,6 @@ messageDisplay:
|
|
|
218
216
|
- `placeholder: string`: Default: `'Type a message...'` — Input placeholder. When `config.i18n` is configured, falls back to the localized `agent.sender.placeholder` builtin key. See the [i18n concept page](/i18n) for the full list of localizable agent UI keys (tool approval buttons, message actions, tool-result captions, etc.).
|
|
219
217
|
- `submitType: string`: Default: `'enter'` - Submit key. `'enter'` or `'shiftEnter'`.
|
|
220
218
|
- `allowSpeech: boolean`: Default: `false` - Enable speech input.
|
|
221
|
-
- `styles: object`: Inline styles per composer part — `root`, `prefix`, `input`, `suffix`, `footer`, `switch`, `content`. This is how to recolour the composer border, which the theme sets and a page stylesheet cannot override.
|
|
222
|
-
- `classNames: object`: Class names per composer part, same keys as `styles`.
|
|
223
219
|
|
|
224
220
|
#### File Attachments
|
|
225
221
|
|
|
@@ -257,7 +253,7 @@ sender:
|
|
|
257
253
|
switches:
|
|
258
254
|
- key: deep_research
|
|
259
255
|
label: Deep Research
|
|
260
|
-
icon:
|
|
256
|
+
icon: AiOutlineSearch
|
|
261
257
|
default: false
|
|
262
258
|
- key: use_knowledge_base
|
|
263
259
|
label: Use Knowledge Base
|
|
@@ -331,7 +327,7 @@ With the curated form above, the agent can read `legal_name` and `registration_n
|
|
|
331
327
|
| `onToolResult` | A tool returns a result. | `toolName`, `toolCallId`, `output`, `error` |
|
|
332
328
|
| `onError` | A streaming error occurs. | `message` |
|
|
333
329
|
| `onStop` | User stops generation. | `messages` |
|
|
334
|
-
| `onFeedback` | User clicks thumbs up/down.
|
|
330
|
+
| `onFeedback` | User clicks thumbs up/down. | `messageId`, `messageContent`, `rating` |
|
|
335
331
|
| `onRegenerate` | User clicks regenerate. | `messageId`, `messages` |
|
|
336
332
|
| `onDeleteMessage` | User deletes a message. | `messageId`, `content`, `messages` |
|
|
337
333
|
| `onEditMessage` | User edits and resubmits. | `messageId`, `originalContent`, `newContent`, `messages` |
|
|
@@ -339,7 +335,6 @@ With the curated form above, the agent can read `legal_name` and `registration_n
|
|
|
339
335
|
| `onSwitchChange` | User toggles a sender switch. | `key`, `checked` |
|
|
340
336
|
| `onTitleGenerated` | A `data-chat-title` data part arrives — emitted automatically when the agent's [`generateTitle`](/agent-properties) property is set, or manually from an `onFinish` hook. | `title` |
|
|
341
337
|
| `onDataPart` | Any data part arrives from the server. | `type`, `data`, `id` |
|
|
342
|
-
| `onLinkClick` | User clicks a link in a message. Wiring this event suppresses the default navigation for plain left clicks, so the app can open the target in place; modified clicks (new tab, middle click) always navigate. | `href`, `text` |
|
|
343
338
|
|
|
344
339
|
###### Validate messages before sending:
|
|
345
340
|
```yaml
|
|
@@ -371,16 +366,6 @@ events:
|
|
|
371
366
|
type: success
|
|
372
367
|
```
|
|
373
368
|
|
|
374
|
-
Saving is only half of it — the block does not persist a rating, so a
|
|
375
|
-
reload or a conversation switch shows the message unrated again. Pass
|
|
376
|
-
what you stored back through `feedbackValues`, keyed by message id:
|
|
377
|
-
|
|
378
|
-
```yaml
|
|
379
|
-
properties:
|
|
380
|
-
feedbackValues:
|
|
381
|
-
_request: saved_feedback_for_conversation
|
|
382
|
-
```
|
|
383
|
-
|
|
384
369
|
###### Adapt behavior based on sender switches:
|
|
385
370
|
```yaml
|
|
386
371
|
events:
|
|
@@ -448,7 +433,7 @@ Control the chat programmatically using [`CallMethod`](/CallMethod):
|
|
|
448
433
|
type: Button
|
|
449
434
|
properties:
|
|
450
435
|
title: New Chat
|
|
451
|
-
icon:
|
|
436
|
+
icon: AiOutlinePlus
|
|
452
437
|
events:
|
|
453
438
|
onClick:
|
|
454
439
|
- id: new_id
|
|
@@ -25,13 +25,13 @@ The block does not manage data — you load conversations from your database and
|
|
|
25
25
|
_state: activeConversationId
|
|
26
26
|
creation:
|
|
27
27
|
label: New Chat
|
|
28
|
-
icon:
|
|
28
|
+
icon: AiOutlinePlus
|
|
29
29
|
menu:
|
|
30
30
|
- key: rename
|
|
31
31
|
label: Rename
|
|
32
32
|
- key: delete
|
|
33
33
|
label: Delete
|
|
34
|
-
icon:
|
|
34
|
+
icon: AiOutlineDelete
|
|
35
35
|
danger: true
|
|
36
36
|
groupable:
|
|
37
37
|
collapsible: true
|