@softr/sdk 0.0.76 → 0.0.77
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/package.js +1 -1
- package/package.json +1 -1
- package/skills/softr-sdk/SKILL.md +5 -9
- package/skills/softr-sdk/auth/SKILL.md +6 -15
- package/skills/softr-sdk/charts-and-metrics/SKILL.md +6 -9
- package/skills/softr-sdk/comments/SKILL.md +5 -8
- package/skills/softr-sdk/current-user/SKILL.md +1 -1
- package/skills/softr-sdk/file-uploads/SKILL.md +4 -7
- package/skills/softr-sdk/formatting/SKILL.md +4 -6
- package/skills/softr-sdk/integrations/SKILL.md +4 -7
- package/skills/softr-sdk/mcp/SKILL.md +1 -1
- package/skills/softr-sdk/pwa/SKILL.md +1 -1
- package/skills/softr-sdk/record-mutations/SKILL.md +5 -8
- package/skills/softr-sdk/record-queries/SKILL.md +6 -10
- package/skills/softr-sdk/region-visibility/SKILL.md +1 -1
- package/skills/softr-sdk/routes-and-visibility/SKILL.md +5 -10
- package/skills/softr-sdk/workflows/SKILL.md +1 -1
package/dist/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: softr-sdk
|
|
3
3
|
description: >-
|
|
4
|
-
Entry point for @softr/sdk
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
visibility, the current user, reading records, charts and metrics, writing
|
|
9
|
-
records, auth, or showing dates and numbers. Load this when unsure which
|
|
10
|
-
sub-skill applies, or when touching the wiring; each sub-skill stands alone
|
|
11
|
-
for its own task.
|
|
4
|
+
Entry point for @softr/sdk: its four entrypoints (@softr/sdk, /server,
|
|
5
|
+
/client, /vite) and their client-server boundary, softrAuthMiddleware and the
|
|
6
|
+
Softr context, and which sub-skill covers each task. Load it when unsure which
|
|
7
|
+
sub-skill applies, or when touching the wiring.
|
|
12
8
|
metadata:
|
|
13
9
|
type: core
|
|
14
10
|
library: softr-sdk
|
|
15
|
-
library_version: 0.0.
|
|
11
|
+
library_version: 0.0.77
|
|
16
12
|
---
|
|
17
13
|
|
|
18
14
|
# Softr SDK core
|
|
@@ -1,24 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: auth
|
|
3
3
|
description: >-
|
|
4
|
-
Sign a
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
authenticator from a settings page (sendAuthenticatorResetCode,
|
|
10
|
-
resetAuthenticator, removeAuthenticator), updateProfile for the visitor's own
|
|
11
|
-
name and photo, the emailed password links (requestPasswordReset,
|
|
12
|
-
checkPasswordLink, setPasswordWithLink), and getAuthSettings,
|
|
13
|
-
AuthSettingsProvider and useAuthSettings for which sign-in and sign-up methods
|
|
14
|
-
the app has enabled. Covers the Result shape they answer with and its error
|
|
15
|
-
codes (invalidCredentials, emailTaken, notAuthenticated, notAnImage and the
|
|
16
|
-
rest), the two-step sign-up, why a successful sign-in does not always mean the
|
|
17
|
-
visitor is signed in, and toReturnPath for where to land after signing in.
|
|
4
|
+
Sign a visitor in, out or up from a server function with auth from
|
|
5
|
+
@softr/sdk/server: password, code, Google and magic link, sign-up and its
|
|
6
|
+
confirmation, the authenticator-app steps, password reset links,
|
|
7
|
+
updateProfile, and getAuthSettings and useAuthSettings for the methods the app
|
|
8
|
+
enables. Covers the Result shape, its error codes, and toReturnPath.
|
|
18
9
|
metadata:
|
|
19
10
|
type: sub-skill
|
|
20
11
|
library: softr-sdk
|
|
21
|
-
library_version: 0.0.
|
|
12
|
+
library_version: 0.0.77
|
|
22
13
|
---
|
|
23
14
|
|
|
24
15
|
**Boundary.** `auth` lives on `@softr/sdk/server` and runs only inside a `createServerFn` handler — importing it into a component fails the build.
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: charts-and-metrics
|
|
3
3
|
description: >-
|
|
4
|
-
Aggregate
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
number, when filling a dropdown from a real column, or when a chart comes back
|
|
10
|
-
scrambled or with the wrong rows. Aggregation only: fetching individual
|
|
11
|
-
records is record-queries, and changing them is record-mutations.
|
|
4
|
+
Aggregate records in a server function: ds.chart with groupBy, metrics, where,
|
|
5
|
+
orderBy and date buckets for chart rows, ds.metric for one number, and
|
|
6
|
+
distinct values for filter controls. Use for a chart, a stat tile or any
|
|
7
|
+
counted, summed or averaged number, or when a chart comes back wrong. Single
|
|
8
|
+
records are record-queries.
|
|
12
9
|
metadata:
|
|
13
10
|
type: sub-skill
|
|
14
11
|
library: softr-sdk
|
|
15
|
-
library_version: 0.0.
|
|
12
|
+
library_version: 0.0.77
|
|
16
13
|
---
|
|
17
14
|
|
|
18
15
|
**Boundary.** `ds` lives on `@softr/sdk/server` and runs only inside a `createServerFn` handler or a server-side route hook — importing it into a component fails the build. `defineQuery` and every type come from `@softr/sdk` and can be imported anywhere.
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: comments
|
|
3
3
|
description: >-
|
|
4
|
-
Comment threads on records: defineComments
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
and useFileUpload from @softr/sdk/client keep a textarea's text, its
|
|
9
|
-
@mentions and its attachments in step. Bodies come back as sanitised
|
|
10
|
-
bodyHtml. A null thread means render nothing.
|
|
4
|
+
Comment threads on records: defineComments, the comments calls from
|
|
5
|
+
@softr/sdk/server to list, write, react to and mention in one record's thread,
|
|
6
|
+
and useCommentComposer and useFileUpload from @softr/sdk/client for the
|
|
7
|
+
composer. Bodies come back as sanitised bodyHtml.
|
|
11
8
|
metadata:
|
|
12
9
|
type: sub-skill
|
|
13
10
|
library: softr-sdk
|
|
14
|
-
library_version: 0.0.
|
|
11
|
+
library_version: 0.0.77
|
|
15
12
|
---
|
|
16
13
|
|
|
17
14
|
**Boundary.** `comments` lives on `@softr/sdk/server` and runs only inside a `createServerFn` handler. Importing it into a component fails the build. `useCommentComposer` lives on `@softr/sdk/client` and runs in components. `defineComments` comes from `@softr/sdk` and can be imported anywhere.
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: file-uploads
|
|
3
3
|
description: >-
|
|
4
|
-
Upload files from a form or edit view: useFileUpload
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
ships its own server function. For server-side uploads or plain forms, use
|
|
8
|
-
upload(actionId, file) from @softr/sdk/server. For edit forms pass
|
|
9
|
-
initialAttachments to pre-load existing attachments.
|
|
4
|
+
Upload files from a form or edit view: useFileUpload from @softr/sdk, with
|
|
5
|
+
progress, cancel and isUploading to hold the submit, and initialAttachments
|
|
6
|
+
for an edit form; upload from @softr/sdk/server for a server-side upload.
|
|
10
7
|
metadata:
|
|
11
8
|
type: sub-skill
|
|
12
9
|
library: softr-sdk
|
|
13
|
-
library_version: 0.0.
|
|
10
|
+
library_version: 0.0.77
|
|
14
11
|
---
|
|
15
12
|
|
|
16
13
|
**Boundary.** `upload` lives on `@softr/sdk/server` and runs inside server functions. `useFileUpload` and `FileItem` live on `@softr/sdk` and run in components. `FileAttachment` comes from `@softr/sdk` and can be imported anywhere.
|
|
@@ -2,15 +2,13 @@
|
|
|
2
2
|
name: formatting
|
|
3
3
|
description: >-
|
|
4
4
|
Show dates, times and numbers in the app's format without hydration
|
|
5
|
-
mismatches: FormattedDate
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
toLocaleDateString, toLocaleString and Intl formatters with the runtime's
|
|
9
|
-
defaults must never run in render.
|
|
5
|
+
mismatches: FormattedDate, useFormatting with formatDate, formatDateTime and
|
|
6
|
+
formatNumber, FormattingScope and timeZone, and why toLocaleDateString and
|
|
7
|
+
Intl defaults must never run in render.
|
|
10
8
|
metadata:
|
|
11
9
|
type: sub-skill
|
|
12
10
|
library: softr-sdk
|
|
13
|
-
library_version: 0.0.
|
|
11
|
+
library_version: 0.0.77
|
|
14
12
|
---
|
|
15
13
|
|
|
16
14
|
# Dates, times and numbers
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: integrations
|
|
3
3
|
description: >-
|
|
4
|
-
Call a third-party service connected
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
integration.createFetcher from @softr/sdk/server binds it and returns a
|
|
8
|
-
fetcher function you call with optional params, query, headers, and body.
|
|
9
|
-
Check res.ok before res.json().
|
|
4
|
+
Call a third-party service connected as an integration: defineIntegration from
|
|
5
|
+
@softr/sdk declares the one method and endpoint it allows, and
|
|
6
|
+
integration.createFetcher from @softr/sdk/server calls it.
|
|
10
7
|
metadata:
|
|
11
8
|
type: sub-skill
|
|
12
9
|
library: softr-sdk
|
|
13
|
-
library_version: 0.0.
|
|
10
|
+
library_version: 0.0.77
|
|
14
11
|
---
|
|
15
12
|
|
|
16
13
|
**Boundary.** `integration` lives on `@softr/sdk/server` and runs only inside a `createServerFn` handler — importing it into a component fails the build. `defineIntegration` and every type come from `@softr/sdk` and can be imported anywhere.
|
|
@@ -9,7 +9,7 @@ description: >-
|
|
|
9
9
|
metadata:
|
|
10
10
|
type: sub-skill
|
|
11
11
|
library: softr-sdk
|
|
12
|
-
library_version: 0.0.
|
|
12
|
+
library_version: 0.0.77
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
**Boundary.** `softrMcpMiddleware` lives on `@softr/sdk` and is registered once, in `src/start.ts`. The actions you hand it are the same `defineQuery` / `defineMutation` values the app's own pages use — declared wherever they already live, not duplicated for MCP.
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: record-mutations
|
|
3
3
|
description: >-
|
|
4
|
-
Create, update and delete records
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
edit or deleting a record, or when a write throws, writes the wrong field or
|
|
9
|
-
silently changes nothing. Writes only: fetching records is record-queries, and
|
|
10
|
-
aggregating them is charts-and-metrics.
|
|
4
|
+
Create, update and delete records with defineMutation, ds.create, ds.update
|
|
5
|
+
and ds.delete: the payload keyed by your own field names and what each field
|
|
6
|
+
type accepts. Use when submitting a form, saving an edit or deleting a record,
|
|
7
|
+
or when a write fails or changes nothing. Reads are record-queries.
|
|
11
8
|
metadata:
|
|
12
9
|
type: sub-skill
|
|
13
10
|
library: softr-sdk
|
|
14
|
-
library_version: 0.0.
|
|
11
|
+
library_version: 0.0.77
|
|
15
12
|
---
|
|
16
13
|
|
|
17
14
|
**Boundary.** `ds` lives on `@softr/sdk/server` and runs only inside a `createServerFn` handler — importing it into a component fails the build. `defineMutation` and every type come from `@softr/sdk` and can be imported anywhere.
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: record-queries
|
|
3
3
|
description: >-
|
|
4
|
-
Fetch records
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
filling a filter or form dropdown with all options from a linked table, or
|
|
10
|
-
when a read comes back empty, unsorted or missing a field. Reads only:
|
|
11
|
-
creating, updating and deleting records is record-mutations, and aggregating
|
|
12
|
-
them into totals or chart rows is charts-and-metrics.
|
|
4
|
+
Fetch records with defineQuery, ds.list and ds.get: where and orderBy, field
|
|
5
|
+
names of your own choosing, pagination and its limits, and scoping a read to
|
|
6
|
+
the signed-in visitor. Use to put records on a page or fill a dropdown, or
|
|
7
|
+
when a read comes back empty, unsorted or missing a field. Writes are
|
|
8
|
+
record-mutations; totals and chart rows are charts-and-metrics.
|
|
13
9
|
metadata:
|
|
14
10
|
type: sub-skill
|
|
15
11
|
library: softr-sdk
|
|
16
|
-
library_version: 0.0.
|
|
12
|
+
library_version: 0.0.77
|
|
17
13
|
---
|
|
18
14
|
|
|
19
15
|
**Boundary.** `ds` lives on `@softr/sdk/server` and runs only inside a `createServerFn` handler or a server-side route hook — importing it into a component fails the build. The same holds for any helper that calls `ds`: declare it inside the handler. A function at module level that calls `ds` keeps the server-only import in the browser bundle, and every page stops loading until it moves. `defineQuery` and every type come from `@softr/sdk` and can be imported anywhere.
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: routes-and-visibility
|
|
3
3
|
description: >-
|
|
4
|
-
Add a route file
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
overrides, the redirect and throw strategies, rendering an access error with
|
|
9
|
-
isAccessError, isUnauthenticatedError, isForbiddenError and
|
|
10
|
-
isAlreadyAuthenticatedError, guarding a layout, and the lint rule that
|
|
11
|
-
requires a declaration alongside the rules that reject a duplicate, computed
|
|
12
|
-
or root-level one.
|
|
4
|
+
Add a route file and declare who may see it: defineVisibility with
|
|
5
|
+
LOGGED_IN_USERS, NON_LOGGED_IN_USERS and customGroups, guardRoute and
|
|
6
|
+
assertRouteAccess in a route, isAuthorized and checkAccess anywhere, rendering
|
|
7
|
+
an access error, and the lint rule that requires the declaration.
|
|
13
8
|
metadata:
|
|
14
9
|
type: sub-skill
|
|
15
10
|
library: softr-sdk
|
|
16
|
-
library_version: 0.0.
|
|
11
|
+
library_version: 0.0.77
|
|
17
12
|
---
|
|
18
13
|
|
|
19
14
|
**Boundary.** `defineVisibility`, the access functions and the error predicates come from `@softr/sdk` and work anywhere.
|
|
@@ -9,7 +9,7 @@ description: >-
|
|
|
9
9
|
metadata:
|
|
10
10
|
type: sub-skill
|
|
11
11
|
library: softr-sdk
|
|
12
|
-
library_version: 0.0.
|
|
12
|
+
library_version: 0.0.77
|
|
13
13
|
---
|
|
14
14
|
|
|
15
15
|
**Boundary.** `workflow` lives on `@softr/sdk/server` and runs only inside a `createServerFn` handler — importing it into a component fails the build. `defineWorkflow` and every type come from `@softr/sdk` and can be imported anywhere.
|