@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.
Files changed (226) hide show
  1. package/README.md +0 -1
  2. package/content/actions/link.md +0 -17
  3. package/content/actions/login.md +5 -23
  4. package/content/actions/logout.md +5 -5
  5. package/content/actions/pdfmake.md +2 -2
  6. package/content/actions/setdarkmode.md +2 -2
  7. package/content/agents/agent-properties.md +2 -4
  8. package/content/agents/agentchat.md +6 -21
  9. package/content/agents/agentconversations.md +2 -2
  10. package/content/concepts/ai-agent-docs.md +101 -313
  11. package/content/concepts/cli.md +3 -34
  12. package/content/concepts/connections-and-requests.md +0 -402
  13. package/content/concepts/custom-html.md +0 -40
  14. package/content/concepts/custom-styling.md +5 -50
  15. package/content/concepts/events-and-actions.md +2 -64
  16. package/content/concepts/i18n.md +2 -7
  17. package/content/concepts/keyboard-shortcuts.md +2 -2
  18. package/content/concepts/layout-overview.md +1 -1
  19. package/content/concepts/logger.md +0 -81
  20. package/content/concepts/lowdefy-schema.md +1 -4
  21. package/content/concepts/menus.md +7 -7
  22. package/content/concepts/module-authoring.md +2 -2
  23. package/content/connections/anthropic.md +2 -162
  24. package/content/connections/awss3.md +0 -54
  25. package/content/connections/google.md +2 -162
  26. package/content/connections/mongodb.md +3 -121
  27. package/content/connections/openai-connection.md +2 -162
  28. package/content/container-blocks/affix.md +7 -47
  29. package/content/container-blocks/alert.md +24 -76
  30. package/content/container-blocks/badge.md +24 -100
  31. package/content/container-blocks/box.md +9 -9
  32. package/content/container-blocks/card.md +25 -80
  33. package/content/container-blocks/carousel.md +7 -60
  34. package/content/container-blocks/collapse.md +9 -87
  35. package/content/container-blocks/configprovider.md +13 -35
  36. package/content/container-blocks/confirmmodal.md +23 -69
  37. package/content/container-blocks/content.md +98 -62
  38. package/content/container-blocks/descriptions.md +4 -45
  39. package/content/container-blocks/drawer.md +28 -92
  40. package/content/container-blocks/dropdownmenu.md +31 -119
  41. package/content/container-blocks/flex.md +62 -40
  42. package/content/container-blocks/footer.md +11 -15
  43. package/content/container-blocks/googlemapsheatmap.md +1 -1
  44. package/content/container-blocks/googlemapsscript.md +2 -2
  45. package/content/container-blocks/header.md +36 -71
  46. package/content/container-blocks/label.md +7 -34
  47. package/content/container-blocks/layout.md +34 -52
  48. package/content/container-blocks/masonry.md +71 -17
  49. package/content/container-blocks/mobilemenu.md +88 -131
  50. package/content/container-blocks/modal.md +26 -114
  51. package/content/container-blocks/pageheadermenu.md +31 -81
  52. package/content/container-blocks/pagesidebarlayout.md +26 -169
  53. package/content/container-blocks/pagesidermenu.md +42 -95
  54. package/content/container-blocks/popover.md +31 -34
  55. package/content/container-blocks/result.md +21 -32
  56. package/content/container-blocks/sider.md +122 -85
  57. package/content/container-blocks/span.md +7 -7
  58. package/content/container-blocks/spinner.md +3 -3
  59. package/content/container-blocks/splitter.md +68 -150
  60. package/content/container-blocks/tabs.md +12 -64
  61. package/content/container-blocks/tooltip.md +46 -22
  62. package/content/container-blocks/watermark.md +4 -22
  63. package/content/controls/reject.md +2 -4
  64. package/content/controls/throw.md +0 -1
  65. package/content/controls/try.md +2 -3
  66. package/content/deployment/deployment-environments.md +6 -8
  67. package/content/deployment/docker.md +7 -22
  68. package/content/deployment/node-server.md +0 -4
  69. package/content/deployment/vercel.md +6 -13
  70. package/content/display-blocks/aggrid.md +11 -26
  71. package/content/display-blocks/anchor.md +15 -15
  72. package/content/display-blocks/avatar.md +37 -57
  73. package/content/display-blocks/breadcrumb.md +21 -70
  74. package/content/display-blocks/button.md +18 -92
  75. package/content/display-blocks/calendar.md +0 -12
  76. package/content/display-blocks/dangeroushtml.md +1 -1
  77. package/content/display-blocks/difflist.md +1 -1
  78. package/content/display-blocks/difftimeline.md +1 -1
  79. package/content/display-blocks/divider.md +3 -64
  80. package/content/display-blocks/dropdownbutton.md +28 -79
  81. package/content/display-blocks/echart.md +1 -35
  82. package/content/display-blocks/floatbutton.md +42 -129
  83. package/content/display-blocks/html.md +1 -61
  84. package/content/display-blocks/icon.md +67 -250
  85. package/content/display-blocks/menu.md +73 -145
  86. package/content/display-blocks/message.md +124 -38
  87. package/content/display-blocks/notification.md +222 -94
  88. package/content/display-blocks/paragraph.md +9 -59
  89. package/content/display-blocks/progress.md +17 -96
  90. package/content/display-blocks/qrcode.md +4 -19
  91. package/content/display-blocks/s3download.md +1 -1
  92. package/content/display-blocks/search.md +7 -17
  93. package/content/display-blocks/skeletonbutton.md +0 -1
  94. package/content/display-blocks/skeletoninput.md +0 -1
  95. package/content/display-blocks/statistic.md +17 -75
  96. package/content/display-blocks/steps.md +25 -58
  97. package/content/display-blocks/tag.md +17 -102
  98. package/content/display-blocks/title.md +11 -50
  99. package/content/display-blocks/tour.md +23 -33
  100. package/content/input-blocks/autocomplete.md +9 -81
  101. package/content/input-blocks/buttonselector.md +8 -45
  102. package/content/input-blocks/checkboxselector.md +7 -97
  103. package/content/input-blocks/checkboxswitch.md +3 -33
  104. package/content/input-blocks/colorselector.md +14 -63
  105. package/content/input-blocks/daterangeselector.md +45 -165
  106. package/content/input-blocks/dateselector.md +41 -139
  107. package/content/input-blocks/datetimeselector.md +49 -158
  108. package/content/input-blocks/inputgallery.md +3 -3
  109. package/content/input-blocks/monthselector.md +52 -120
  110. package/content/input-blocks/multipleselector.md +39 -150
  111. package/content/input-blocks/numberinput.md +12 -98
  112. package/content/input-blocks/pagination.md +14 -70
  113. package/content/input-blocks/paragraphinput.md +37 -51
  114. package/content/input-blocks/passwordinput.md +6 -60
  115. package/content/input-blocks/phonenumberinput.md +26 -59
  116. package/content/input-blocks/radioselector.md +7 -83
  117. package/content/input-blocks/ratingslider.md +26 -57
  118. package/content/input-blocks/s3uploadbutton.md +24 -24
  119. package/content/input-blocks/s3uploaddragger.md +3 -3
  120. package/content/input-blocks/s3uploadphoto.md +5 -5
  121. package/content/input-blocks/segmentedselector.md +32 -72
  122. package/content/input-blocks/selector.md +21 -109
  123. package/content/input-blocks/switch.md +17 -65
  124. package/content/input-blocks/textarea.md +3 -32
  125. package/content/input-blocks/textinput.md +28 -69
  126. package/content/input-blocks/tiptapmentioninput.md +1 -1
  127. package/content/input-blocks/titleinput.md +12 -39
  128. package/content/input-blocks/treeinput.md +25 -49
  129. package/content/input-blocks/treemultipleselector.md +10 -127
  130. package/content/input-blocks/treeselector.md +9 -97
  131. package/content/input-blocks/upload.md +15 -64
  132. package/content/input-blocks/uploaddragger.md +1 -17
  133. package/content/input-blocks/uploadphoto.md +1 -18
  134. package/content/input-blocks/weekselector.md +55 -120
  135. package/content/list-blocks/controlledlist.md +15 -24
  136. package/content/list-blocks/list.md +11 -11
  137. package/content/list-blocks/masonrylist.md +34 -7
  138. package/content/migration/upgrade-guide.md +0 -1
  139. package/content/operators/_app.md +1 -2
  140. package/content/operators/_error.md +1 -23
  141. package/content/operators/_get.md +6 -6
  142. package/content/operators/_operator.md +3 -17
  143. package/content/operators/_ref.md +0 -258
  144. package/content/operators/_type.md +3 -14
  145. package/content/operators/_user.md +3 -3
  146. package/content/other/introduction.md +1 -1
  147. package/content/plugins/plugins-dev.md +0 -66
  148. package/content/plugins/plugins-introduction.md +1 -27
  149. package/content/testing/e2e-configuration.md +1 -8
  150. package/content/testing/e2e-getting-started.md +1 -1
  151. package/content/testing/e2e-introduction.md +1 -1
  152. package/content/tutorial/tutorial-actions-operators.md +2 -2
  153. package/content/tutorial/tutorial-add-blocks.md +2 -2
  154. package/content/tutorial/tutorial-create-page.md +2 -48
  155. package/content/tutorial/tutorial-display-data-page.md +3 -3
  156. package/content/tutorial/tutorial-requests-sql.md +0 -153
  157. package/content/tutorial/tutorial-start.md +1 -66
  158. package/content/user-authentication/login-and-logout.md +8 -158
  159. package/content/user-authentication/users-introduction.md +0 -8
  160. package/index.json +2 -6065
  161. package/package.json +1 -7
  162. package/scripts/extractAgentDocs.js +4 -36
  163. package/content/actions/emailotpsend.md +0 -58
  164. package/content/actions/emailotpverify.md +0 -77
  165. package/content/actions/getlocalstorage.md +0 -41
  166. package/content/actions/magiclinkverify.md +0 -113
  167. package/content/actions/posthogalias.md +0 -29
  168. package/content/actions/posthogcapture.md +0 -49
  169. package/content/actions/posthogcapturepageleave.md +0 -38
  170. package/content/actions/posthogfeatureflag.md +0 -50
  171. package/content/actions/posthoggroup.md +0 -37
  172. package/content/actions/posthogidentify.md +0 -54
  173. package/content/actions/posthoginit.md +0 -66
  174. package/content/actions/posthogoptin.md +0 -29
  175. package/content/actions/posthogoptout.md +0 -29
  176. package/content/actions/posthogpageview.md +0 -37
  177. package/content/actions/posthogreloadfeatureflags.md +0 -47
  178. package/content/actions/posthogreset.md +0 -28
  179. package/content/actions/posthogsetpersonproperties.md +0 -36
  180. package/content/actions/removelocalstorage.md +0 -26
  181. package/content/actions/setlocalstorage.md +0 -32
  182. package/content/adapter-reference/mongodbauthadapter.md +0 -46
  183. package/content/agents/agents-introduction.md +0 -107
  184. package/content/callback-reference/auth0logoutcallback.md +0 -54
  185. package/content/concepts/blocks.md +0 -150
  186. package/content/concepts/dynamic-page-content.md +0 -304
  187. package/content/concepts/html-attributes.md +0 -285
  188. package/content/concepts/lowdefy-api.md +0 -1110
  189. package/content/concepts/notifications.md +0 -155
  190. package/content/concepts/page-and-app-state.md +0 -244
  191. package/content/concepts/theming.md +0 -582
  192. package/content/connections/aigateway.md +0 -368
  193. package/content/connections/axioshttp.md +0 -181
  194. package/content/controls/while.md +0 -46
  195. package/content/display-blocks/clickablehtml.md +0 -239
  196. package/content/display-blocks/eventlog.md +0 -363
  197. package/content/display-blocks/pollingtimer.md +0 -263
  198. package/content/input-blocks/captcha.md +0 -40
  199. package/content/input-blocks/placesautocomplete.md +0 -319
  200. package/content/input-blocks/tagmultipleselector.md +0 -114
  201. package/content/input-blocks/tagselector.md +0 -114
  202. package/content/migration/auth-upgrade.md +0 -327
  203. package/content/migration/v3-to-v4.md +0 -417
  204. package/content/migration/v6-to-v7.md +0 -222
  205. package/content/operators/_cron.md +0 -292
  206. package/content/other/mongodbadapter.md +0 -3
  207. package/content/plugins/plugins-icon-sets.md +0 -267
  208. package/content/plugins/posthog.md +0 -275
  209. package/content/provider-reference/auth-js-providers.md +0 -107
  210. package/content/provider-reference/openidconnectprovider.md +0 -44
  211. package/content/testing/config-tests.md +0 -278
  212. package/content/tutorial/tutorial-requests-api.md +0 -155
  213. package/content/user-authentication/auth-configuration.md +0 -266
  214. package/content/user-authentication/auth-steps.md +0 -138
  215. package/content/user-authentication/mcp-oauth.md +0 -292
  216. package/content/user-authentication/organizations.md +0 -221
  217. package/content/user-authentication/protected-pages-apis.md +0 -97
  218. package/content/user-authentication/roles.md +0 -49
  219. package/content/user-authentication/two-factor.md +0 -229
  220. package/content/user-authentication/user-object.md +0 -58
  221. package/content/websockets/websocket-publish.md +0 -108
  222. package/content/websockets/websocket-subscriptions.md +0 -100
  223. package/content/websockets/websockets-introduction.md +0 -97
  224. package/hazards.json +0 -44
  225. package/scripts/hashDocSources.js +0 -38
  226. package/scripts/recordSourceHashes.js +0 -88
@@ -1,275 +0,0 @@
1
- # PostHog
2
-
3
- The `@lowdefy/plugin-posthog` plugin adds [PostHog](https://posthog.com) product analytics to a Lowdefy app. It wraps the `posthog-js` browser SDK in a set of actions: initialise PostHog, capture events, identify people and groups, manage consent and read feature flags.
4
-
5
- The plugin bundles `posthog-js` as a module, so no script tag, snippet or reverse proxy configuration is needed.
6
-
7
- ## Install
8
-
9
- The `@lowdefy/plugin-posthog` package is included by default, so no `plugins` entry is needed in `lowdefy.yaml`. The `posthog-js` SDK is loaded lazily: it is downloaded the first time [`PostHogInit`](/PostHogInit) runs with PostHog enabled, so an app with analytics switched off never downloads or runs it.
10
-
11
- ## Initialise PostHog
12
-
13
- The [`PostHogInit`](/PostHogInit) action loads and configures `posthog-js`. Every other action in this package does nothing until it has run. A user can open the app on any page, so run it from the `onInit` event of every page. Keep the actions in one file and reference it from each page with `_ref`:
14
-
15
- ```yaml
16
- # shared/posthog_init.yaml
17
- - id: init_posthog
18
- type: PostHogInit
19
- params:
20
- apiKey:
21
- _build.env: POSTHOG_API_KEY
22
- enabled:
23
- _build.ne:
24
- - _build.env: POSTHOG_API_KEY
25
- - null
26
- options:
27
- capture_pageview: history_change
28
- person_profiles: identified_only
29
- - id: identify_person
30
- type: PostHogIdentify
31
- params:
32
- id:
33
- _user: id
34
- ```
35
-
36
- ```yaml
37
- # pages/reports.yaml
38
- id: reports
39
- type: PageHeaderMenu
40
- events:
41
- onInit:
42
- _ref: shared/posthog_init.yaml
43
- ```
44
-
45
- When a page has `onInit` actions of its own, concatenate the lists at build time:
46
-
47
- ```yaml
48
- events:
49
- onInit:
50
- _build.array.concat:
51
- - _ref: shared/posthog_init.yaml
52
- - - id: get_report
53
- type: Request
54
- params: get_report
55
- ```
56
-
57
- `PostHogInit` is idempotent. The first call downloads and initialises `posthog-js`; later calls with the same `apiKey` do nothing, so running it on every page is safe. Calling it with a different `apiKey` throws, because a second PostHog instance would split the session.
58
-
59
- The PostHog project API key is a public, write only key that is meant to ship in the browser bundle, so [`_build.env`](/_build) is the right operator for it. Never use a personal API key here.
60
-
61
- ###### Turning analytics off
62
-
63
- With `enabled: false`, `PostHogInit` does not load `posthog-js` and every other action in this package becomes a silent no-op, so `apiKey` is not required. The example above sets `enabled` from the key itself: leave `POSTHOG_API_KEY` unset in local development and set it in the deployments that should send data. Any other build time switch works too, for example a `POSTHOG_ENABLED` environment variable:
64
-
65
- ```yaml
66
- enabled:
67
- _build.eq:
68
- - _build.env: POSTHOG_ENABLED
69
- - 'true'
70
- ```
71
-
72
- A later `PostHogInit` call with `enabled: true` and an `apiKey` still loads PostHog after a disabled call. The reverse throws: once PostHog is running, use [`PostHogOptOut`](/PostHogOptOut) to stop capturing for a person.
73
-
74
- ## Analytics never breaks the app
75
-
76
- Every action in this package, except `PostHogInit`, does nothing and returns `null` when PostHog is disabled or `posthog-js` could not be downloaded. A disabled environment or a flaky network can never throw from an analytics action and can never stop an event chain. [`PostHogFeatureFlag`](/PostHogFeatureFlag) returns its configured `default` instead of `null`, so flag driven config keeps working with PostHog switched off, and [`PostHogReloadFeatureFlags`](/PostHogReloadFeatureFlags) returns `{ flags: [], variants: {} }`.
77
-
78
- Two kinds of config mistake are still reported:
79
-
80
- - __Invalid params__ always throw, whether PostHog is enabled or not, so a mistake shows up in development even when analytics is switched off there.
81
- - __A PostHog action that runs before `PostHogInit`__ does nothing, and logs a warning to the browser console once.
82
-
83
- An action that runs while `PostHogInit` is still downloading `posthog-js` waits for it to finish.
84
-
85
- ## Never send personal data
86
-
87
- Never send personally identifiable information to PostHog: no names, no email addresses, no phone numbers, and no free text a user typed into a form. Send stable ids and low cardinality attributes such as a plan name, a role, a locale or an organization id.
88
-
89
- ## Pageviews
90
-
91
- A Lowdefy app routes on the client without a page load, so the `posthog-js` default, `capture_pageview: true`, only captures the first page. Set `capture_pageview: history_change` in the `PostHogInit` options, as in the example above, and `posthog-js` captures a `$pageview` every time the path changes. It also captures a `$pageleave` when the tab is closed, which PostHog needs for bounce rate and time on page.
92
-
93
- To capture pageviews by hand instead, for example to add properties to them, set `capture_pageview: false` and run [`PostHogPageview`](/PostHogPageview) from each page's `onMountAsync` event, which runs every time the page is shown without holding it in a loading state:
94
-
95
- ```yaml
96
- # pages/reports.yaml
97
- id: reports
98
- type: PageHeaderMenu
99
- events:
100
- onInit:
101
- _ref: shared/posthog_init.yaml
102
- onMountAsync:
103
- - id: capture_pageview
104
- type: PostHogPageview
105
- params:
106
- properties:
107
- section: reports
108
- ```
109
-
110
- With automatic pageviews off, `posthog-js` also stops capturing pageleaves, because `capture_pageleave` defaults to `if_capture_pageview`. Set `capture_pageleave: true` in the options to keep them, or capture one by hand with [`PostHogCapturePageLeave`](/PostHogCapturePageLeave), for example before a `Link` or `Logout` action. The page `onHidden` event is not a page leave: it also fires when the browser window loses focus.
111
-
112
- ## Identify a person
113
-
114
- [`PostHogIdentify`](/PostHogIdentify) ties the current browser session to a person. Run it once the user is known, usually right after `PostHogInit` in the shared page `onInit` actions, as in the example above, or after a successful login.
115
-
116
- ```yaml
117
- - id: identify_person
118
- type: PostHogIdentify
119
- params:
120
- id:
121
- _user: id
122
- properties:
123
- role:
124
- _user: role
125
- locale:
126
- _locale: active
127
- ```
128
-
129
- A missing or empty `id` is a no-op, so on a public page the anonymous session is left alone. That anonymous session is what a later `PostHogIdentify` merges into the person, which is what makes signup funnels work. `null` and `undefined` property values are dropped, so an absent value never overwrites one PostHog already has.
130
-
131
- The action is safe to run on every page. It reads the identity `posthog-js` already holds:
132
-
133
- - __Same person__: when the id is already the current `distinct_id`, it only updates the person properties, if any are given. `posthog-js` skips a property update identical to the previous one.
134
- - __Person swap__: PostHog refuses to move an identified `distinct_id` onto a different person, so when the browser is identified as someone else, `PostHogIdentify` calls `reset()` before identifying the new person.
135
- - __Anonymous visitor__: identified without a reset, so the anonymous session merges into the person.
136
-
137
- Use [`PostHogSetPersonProperties`](/PostHogSetPersonProperties) to update a person's properties on their own, and [`PostHogAlias`](/PostHogAlias) to point a second id at the person PostHog already knows.
138
-
139
- ## Sign out
140
-
141
- [`PostHogReset`](/PostHogReset) forgets the current person and starts a fresh anonymous session. Run it on sign out so the next person on a shared browser is not merged into this one.
142
-
143
- ```yaml
144
- - id: reset_posthog
145
- type: PostHogReset
146
- - id: logout
147
- type: Logout
148
- ```
149
-
150
- ## Capture events
151
-
152
- [`PostHogCapture`](/PostHogCapture) captures a named product event.
153
-
154
- ```yaml
155
- - id: submit_report
156
- type: Button
157
- properties:
158
- title: Submit report
159
- events:
160
- onClick:
161
- - id: submit
162
- type: Request
163
- params: submit_report
164
- - id: capture_event
165
- type: PostHogCapture
166
- params:
167
- event: report_submitted
168
- properties:
169
- report_type:
170
- _state: report_type
171
- ```
172
-
173
- Autocapture already records clicks and pageviews, so keep the set of named events small. Every event is billable, and a funnel of thirty near identical events tells you less than one of five.
174
-
175
- ## Groups
176
-
177
- [`PostHogGroup`](/PostHogGroup) associates the current person with a group, so events can be analysed per organization, team or account. The association sticks until `PostHogReset` is called, so run it after `PostHogIdentify`.
178
-
179
- ```yaml
180
- - id: set_group
181
- type: PostHogGroup
182
- params:
183
- type: organization
184
- key:
185
- _user: organizationId
186
- ```
187
-
188
- ## Feature flags
189
-
190
- [`PostHogFeatureFlag`](/PostHogFeatureFlag) reads a feature flag and returns its value, so it can be used further down the action chain with the [`_actions`](/_actions) operator. The value is whatever PostHog resolved for this person when flags were last loaded; the action does not wait for a network call. When the person or their groups just changed, reload the flags first with [`PostHogReloadFeatureFlags`](/PostHogReloadFeatureFlags), which resolves once the new flags have arrived.
191
-
192
- ```yaml
193
- events:
194
- onMount:
195
- - id: read_flag
196
- type: PostHogFeatureFlag
197
- params:
198
- key: new-checkout
199
- default: control
200
- - id: store_flag
201
- type: SetState
202
- params:
203
- checkout_variant:
204
- _actions: read_flag.response
205
- ```
206
-
207
- After a change that affects flag targeting, reload before reading:
208
-
209
- ```yaml
210
- - id: switch_organization
211
- type: Button
212
- events:
213
- onClick:
214
- - id: set_group
215
- type: PostHogGroup
216
- params:
217
- type: organization
218
- key:
219
- _state: organization_id
220
- - id: reload_flags
221
- type: PostHogReloadFeatureFlags
222
- - id: store_flags
223
- type: SetState
224
- params:
225
- feature_flags:
226
- _actions: reload_flags.response.variants
227
- ```
228
-
229
- ## Consent
230
-
231
- When consent is required before any data is sent, initialise PostHog with capturing switched off, and turn it on with [`PostHogOptIn`](/PostHogOptIn) when the user accepts, or keep it off with [`PostHogOptOut`](/PostHogOptOut):
232
-
233
- ```yaml
234
- # shared/posthog_init.yaml
235
- - id: init_posthog
236
- type: PostHogInit
237
- params:
238
- apiKey:
239
- _build.env: POSTHOG_API_KEY
240
- options:
241
- capture_pageview: history_change
242
- opt_out_capturing_by_default: true
243
- ```
244
-
245
- ```yaml
246
- # the consent banner
247
- - id: accept_analytics
248
- type: Button
249
- properties:
250
- title: Accept
251
- events:
252
- onClick:
253
- - id: opt_in
254
- type: PostHogOptIn
255
- ```
256
-
257
- The choice is remembered in the persistence store configured on `PostHogInit`.
258
-
259
- ## Actions
260
-
261
- | Action | Params | Response |
262
- | --- | --- | --- |
263
- | [`PostHogInit`](/PostHogInit) | `apiKey`, `apiHost`, `options`, `debug`, `enabled` | `null` |
264
- | [`PostHogCapture`](/PostHogCapture) | `event`, `properties`, `groups` | `null` |
265
- | [`PostHogPageview`](/PostHogPageview) | `properties` | `null` |
266
- | [`PostHogCapturePageLeave`](/PostHogCapturePageLeave) | `properties` | `null` |
267
- | [`PostHogIdentify`](/PostHogIdentify) | `id`, `properties`, `propertiesOnce` | `null` |
268
- | [`PostHogSetPersonProperties`](/PostHogSetPersonProperties) | `set`, `setOnce` | `null` |
269
- | [`PostHogAlias`](/PostHogAlias) | `alias` | `null` |
270
- | [`PostHogGroup`](/PostHogGroup) | `type`, `key`, `properties` | `null` |
271
- | [`PostHogReset`](/PostHogReset) | `resetDeviceId` | `null` |
272
- | [`PostHogOptIn`](/PostHogOptIn) | none | `null` |
273
- | [`PostHogOptOut`](/PostHogOptOut) | none | `null` |
274
- | [`PostHogFeatureFlag`](/PostHogFeatureFlag) | `key`, `default`, `enabled`, `payload` | the flag value, or `default` |
275
- | [`PostHogReloadFeatureFlags`](/PostHogReloadFeatureFlags) | `timeout` | `{ flags, variants }` |
@@ -1,107 +0,0 @@
1
- # Auth.js Providers
2
-
3
- All Auth.js preconfigured OAuth providers can be used in a Lowdefy app. The provider properties are mapped through directly, so the Auth.js documentation can be used as reference. They usually only need a few configuration properties to be used. Since these properties include secrets, the [`_secret`](/_secret) operator should be used to configure these properties.
4
-
5
- For most OAuth providers, a callback URL must be configured with the provider for security reasons. This URL is the URL to which the user will be redirected to complete the login flow. This URL should be set to `<app-domain>/api/auth/callback/<providerId>` where the `providerId` is the Lowdefy providerId.
6
-
7
- > This is not the same as the callback URL specified in the Login action, which is where the user is redirected by the Lowdefy app once login is complete.
8
-
9
- The providers that can be used are:
10
-
11
- - [FortyTwoProvider](https://authjs.dev/reference/core/providers/42-school)
12
- - [AppleProvider](https://authjs.dev/reference/core/providers/apple)
13
- - [AtlassianProvider](https://authjs.dev/reference/core/providers/atlassian)
14
- - [Auth0Provider](https://authjs.dev/reference/core/providers/auth0)
15
- - [AuthentikProvider](https://authjs.dev/reference/core/providers/authentik)
16
- - [AzureADB2CProvider](https://authjs.dev/reference/core/providers/azure-ad-b2c)
17
- - [AzureADProvider](https://authjs.dev/reference/core/providers/azure-ad)
18
- - [BattleNetProvider](https://authjs.dev/reference/core/providers/battlenet)
19
- - [BoxProvider](https://authjs.dev/reference/core/providers/box)
20
- - [BoxyHQSAMLProvider](https://authjs.dev/reference/core/providers/boxyhq-saml)
21
- - [BungieProvider](https://authjs.dev/reference/core/providers/bungie)
22
- - [CognitoProvider](https://authjs.dev/reference/core/providers/cognito)
23
- - [CoinbaseProvider](https://authjs.dev/reference/core/providers/coinbase)
24
- - [DiscordProvider](https://authjs.dev/reference/core/providers/discord)
25
- - [DropboxProvider](https://authjs.dev/reference/core/providers/dropbox)
26
- - [EVEOnlineProvider](https://authjs.dev/reference/core/providers/eveonline)
27
- - [FacebookProvider](https://authjs.dev/reference/core/providers/facebook)
28
- - [FaceItProvider](https://authjs.dev/reference/core/providers/faceit)
29
- - [FourSquareProvider](https://authjs.dev/reference/core/providers/foursquare)
30
- - [FreshbooksProvider](https://authjs.dev/reference/core/providers/freshbooks)
31
- - [FusionAuthProvider](https://authjs.dev/reference/core/providers/fusionauth)
32
- - [GitHubProvider](https://authjs.dev/reference/core/providers/github)
33
- - [GitlabProvider](https://authjs.dev/reference/core/providers/gitlab)
34
- - [GoogleProvider](https://authjs.dev/reference/core/providers/google)
35
- - [HubspotProvider](https://authjs.dev/reference/core/providers/hubspot)
36
- - [InstagramProvider](https://authjs.dev/reference/core/providers/instagram)
37
- - [KakaoProvider](https://authjs.dev/reference/core/providers/kakao)
38
- - [KeycloakProvider](https://authjs.dev/reference/core/providers/keycloak)
39
- - [LineProvider](https://authjs.dev/reference/core/providers/line)
40
- - [LinkedInProvider](https://authjs.dev/reference/core/providers/linkedin)
41
- - [MailchimpProvider](https://authjs.dev/reference/core/providers/mailchimp)
42
- - [MailRuProvider](https://authjs.dev/reference/core/providers/mailru)
43
- - [MediumProvider](https://authjs.dev/reference/core/providers/medium)
44
- - [NaverProvider](https://authjs.dev/reference/core/providers/naver)
45
- - [NetlifyProvider](https://authjs.dev/reference/core/providers/netlify)
46
- - [OktaProvider](https://authjs.dev/reference/core/providers/okta)
47
- - [OneLoginProvider](https://authjs.dev/reference/core/providers/onelogin)
48
- - [OssoProvider](https://authjs.dev/reference/core/providers/osso)
49
- - [OsuProvider](https://authjs.dev/reference/core/providers/osu)
50
- - [PassageProvider](https://authjs.dev/reference/core/providers/passage)
51
- - [PatreonProvider](https://authjs.dev/reference/core/providers/patreon)
52
- - [PinterestProvider](https://authjs.dev/reference/core/providers/pinterest)
53
- - [PipedriveProvider](https://authjs.dev/reference/core/providers/pipedrive)
54
- - [RedditProvider](https://authjs.dev/reference/core/providers/reddit)
55
- - [SalesforceProvider](https://authjs.dev/reference/core/providers/salesforce)
56
- - [SlackProvider](https://authjs.dev/reference/core/providers/slack)
57
- - [SpotifyProvider](https://authjs.dev/reference/core/providers/spotify)
58
- - [StravaProvider](https://authjs.dev/reference/core/providers/strava)
59
- - [TodoistProvider](https://authjs.dev/reference/core/providers/todoist)
60
- - [TraktProvider](https://authjs.dev/reference/core/providers/trakt)
61
- - [TwitchProvider](https://authjs.dev/reference/core/providers/twitch)
62
- - [TwitterProvider](https://authjs.dev/reference/core/providers/twitter)
63
- - [UnitedEffects](https://authjs.dev/reference/core/providers/united-effects)
64
- - [VkProvider](https://authjs.dev/reference/core/providers/vk)
65
- - [WikimediaProvider](https://authjs.dev/reference/core/providers/wikimedia)
66
- - [WordpressProvider](https://authjs.dev/reference/core/providers/wordpress)
67
- - [WorkOSProvider](https://authjs.dev/reference/core/providers/workos)
68
- - [YandexProvider](https://authjs.dev/reference/core/providers/yandex)
69
- - [ZitadelProvider](https://authjs.dev/reference/core/providers/zitadel)
70
- - [ZohoProvider](https://authjs.dev/reference/core/providers/zoho)
71
- - [ZoomProvider](https://authjs.dev/reference/core/providers/zoom)
72
-
73
- #### Examples
74
-
75
- ###### Auth0 configuration:
76
-
77
- ```yaml
78
- lowdefy: 6.0.0
79
- auth:
80
- providers:
81
- - id: auth0
82
- type: Auth0Provider
83
- properties:
84
- clientId:
85
- _secret: AUTH0_CLIENT_ID
86
- clientSecret:
87
- _secret: AUTH0_CLIENT_SECRET
88
- issuer:
89
- _secret: AUTH0_ISSUER
90
- ```
91
-
92
- In Auth0, the callback URL should be configured to `https://example.com/api/auth/callback/auth0` for production and `http://localhost:3000/api/auth/callback/auth0` for development.
93
-
94
- ###### GitHub configuration:
95
-
96
- ```yaml
97
- lowdefy: 6.0.0
98
- auth:
99
- providers:
100
- - id: github
101
- type: GitHubProvider
102
- properties:
103
- clientId:
104
- _secret: GITHUB_CLIENT_ID
105
- clientSecret:
106
- _secret: GITHUB_CLIENT_SECRET
107
- ```
@@ -1,44 +0,0 @@
1
- # OpenIDConnectProvider
2
-
3
- The OpenIDConnectProvider can be used to authenticate with a OpenID Connect compliant identity provider that is not already included as a default Auth.js provider, without the need to develop a custom provider plugin.
4
-
5
- #### Properties
6
-
7
- ###### object
8
- - `wellKnown: string`
9
- - `authorization: string | object`: The default is `{ params: { scope: 'openid email profile' } }`.
10
- - `token: string | object`
11
- - `userinfo: string | object`
12
- - `version: string`
13
- - `checks: string | string[]`: The default is `['pkce', 'state']`
14
- - `clientId: string`
15
- - `clientSecret: string`
16
- - `idToken: boolean`: The default is `true`.
17
- - `region: string`
18
- - `issuer: string`
19
- - `allowDangerousEmailAccountLinking: boolean`
20
- - `style: object`
21
-
22
- ###### See the [Auth.js OAuth provider guide](https://authjs.dev/guides/configuring-oauth-providers) for more details on provider properties.
23
-
24
- #### Examples
25
-
26
- ###### Simple configuration.
27
-
28
- Usually only the `wellKnown`, `clientId` and `clientSecret` properties need to be configured:
29
-
30
- ```yaml
31
- lowdefy: 6.0.0
32
- providers:
33
- - id: my_provider
34
- type: OpenIDConnectProvider
35
- properties:
36
- wellKnown:
37
- _secret: OPENID_CONNECT_WELLKNOWN
38
- clientId:
39
- _secret: OPENID_CONNECT_CLIENT_ID
40
- clientSecret:
41
- _secret: OPENID_CONNECT_CLIENT_SECRET
42
- ```
43
-
44
- where `LOWDEFY_SECRET_OPENID_CONNECT_WELLKNOWN` usually has the format `https://my-provider.com/.well-known/openid-configuration`