@shaferllc/keel 0.80.0 → 0.81.1
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/accounts/accounts.config.stub +50 -0
- package/dist/accounts/config.d.ts +46 -0
- package/dist/accounts/config.js +39 -0
- package/dist/accounts/flows.d.ts +50 -0
- package/dist/accounts/flows.js +133 -0
- package/dist/accounts/index.d.ts +28 -0
- package/dist/accounts/index.js +23 -0
- package/dist/accounts/migration.d.ts +14 -0
- package/dist/accounts/migration.js +39 -0
- package/dist/accounts/provider.d.ts +18 -0
- package/dist/accounts/provider.js +37 -0
- package/dist/accounts/routes.d.ts +15 -0
- package/dist/accounts/routes.js +116 -0
- package/dist/accounts/store.d.ts +33 -0
- package/dist/accounts/store.js +37 -0
- package/dist/accounts/tokens.d.ts +60 -0
- package/dist/accounts/tokens.js +116 -0
- package/dist/accounts/totp.d.ts +58 -0
- package/dist/accounts/totp.js +134 -0
- package/dist/accounts/two-factor.d.ts +56 -0
- package/dist/accounts/two-factor.js +146 -0
- package/dist/core/database.d.ts +36 -0
- package/dist/core/database.js +141 -4
- package/dist/core/index.d.ts +5 -2
- package/dist/core/index.js +3 -2
- package/dist/core/migrations.d.ts +52 -2
- package/dist/core/migrations.js +134 -3
- package/dist/core/model-events.d.ts +34 -0
- package/dist/core/model-events.js +89 -0
- package/dist/core/model-query.d.ts +68 -0
- package/dist/core/model-query.js +234 -0
- package/dist/core/model.d.ts +109 -4
- package/dist/core/model.js +263 -32
- package/dist/core/relations.d.ts +53 -0
- package/dist/core/relations.js +242 -0
- package/dist/teams/config.d.ts +27 -0
- package/dist/teams/config.js +23 -0
- package/dist/teams/context.d.ts +54 -0
- package/dist/teams/context.js +73 -0
- package/dist/teams/index.d.ts +25 -0
- package/dist/teams/index.js +20 -0
- package/dist/teams/invitations.d.ts +38 -0
- package/dist/teams/invitations.js +123 -0
- package/dist/teams/middleware.d.ts +30 -0
- package/dist/teams/middleware.js +92 -0
- package/dist/teams/migration.d.ts +9 -0
- package/dist/teams/migration.js +52 -0
- package/dist/teams/models.d.ts +54 -0
- package/dist/teams/models.js +85 -0
- package/dist/teams/provider.d.ts +17 -0
- package/dist/teams/provider.js +27 -0
- package/dist/teams/teams.config.stub +24 -0
- package/dist/teams/tenant.d.ts +25 -0
- package/dist/teams/tenant.js +45 -0
- package/docs/accounts.md +214 -0
- package/docs/ai-manifest.json +70 -1
- package/docs/database.md +80 -0
- package/docs/examples/accounts.ts +150 -0
- package/docs/examples/teams.ts +101 -0
- package/docs/migrations.md +86 -6
- package/docs/models.md +279 -6
- package/docs/teams.md +176 -0
- package/llms-full.txt +849 -12
- package/llms.txt +4 -0
- package/package.json +10 -2
package/llms.txt
CHANGED
|
@@ -9,6 +9,7 @@ Userland imports everything from `@shaferllc/keel/core`.
|
|
|
9
9
|
|
|
10
10
|
## Docs
|
|
11
11
|
|
|
12
|
+
- [Accounts](https://github.com/shaferllc/keel/blob/main/docs/accounts.md): Password reset, email verification, and two-factor authentication — the flows every app with a login needs, built on primitives already in core (hash, encryption, mail, rate-limit).
|
|
12
13
|
- [Building Keel apps with AI](https://github.com/shaferllc/keel/blob/main/docs/ai.md): Keel is built to be written with an AI agent.
|
|
13
14
|
- [API Resources](https://github.com/shaferllc/keel/blob/main/docs/api-resources.md): apiResource(router, Model, options) generates a full CRUD REST API from a Keel model — explicit, server-side, and composed from pieces you already have.
|
|
14
15
|
- [Architecture](https://github.com/shaferllc/keel/blob/main/docs/architecture.md): Keel is small on purpose. This page maps the pieces and traces a request from socket to response. Nothing here is magic — every layer is a short, readable file in src/core/, and this guide is mostly a reading order for it.
|
|
@@ -59,6 +60,7 @@ Userland imports everything from `@shaferllc/keel/core`.
|
|
|
59
60
|
- [Social authentication](https://github.com/shaferllc/keel/blob/main/docs/social-auth.md): "Sign in with GitHub / Google / Discord" — OAuth 2.0, without an SDK.
|
|
60
61
|
- [Static Files](https://github.com/shaferllc/keel/blob/main/docs/static-files.md): serveStatic() serves files from a directory (default public/) before your routes run.
|
|
61
62
|
- [Storage](https://github.com/shaferllc/keel/blob/main/docs/storage.md): File storage over a pluggable disk — like the database and mail layers, the core imports no filesystem or SDK, so it runs on Node and the edge.
|
|
63
|
+
- [Teams](https://github.com/shaferllc/keel/blob/main/docs/teams.md): Multi-tenancy, membership, roles, and invitations — where a row belongs to a team, and one team can never see another's.
|
|
62
64
|
- [Telemetry](https://github.com/shaferllc/keel/blob/main/docs/telemetry.md): Distributed tracing — spans, W3C trace context, and an OTLP exporter — with no SDK.
|
|
63
65
|
- [Templates](https://github.com/shaferllc/keel/blob/main/docs/templates.md): A string templating engine — {{ }} interpolation and @-prefixed tags for logic, includes, layouts, and components.
|
|
64
66
|
- [Testing](https://github.com/shaferllc/keel/blob/main/docs/testing.md): Test your app by injecting requests — no server, no port, no network — and asserting on the response.
|
|
@@ -73,6 +75,7 @@ Userland imports everything from `@shaferllc/keel/core`.
|
|
|
73
75
|
|
|
74
76
|
Every topic has a runnable, type-checked example:
|
|
75
77
|
|
|
78
|
+
- [Accounts example](https://github.com/shaferllc/keel/blob/main/docs/examples/accounts.ts)
|
|
76
79
|
- [API Resources example](https://github.com/shaferllc/keel/blob/main/docs/examples/api-resources.ts)
|
|
77
80
|
- [Authentication example](https://github.com/shaferllc/keel/blob/main/docs/examples/authentication.ts)
|
|
78
81
|
- [Authorization example](https://github.com/shaferllc/keel/blob/main/docs/examples/authorization.ts)
|
|
@@ -113,6 +116,7 @@ Every topic has a runnable, type-checked example:
|
|
|
113
116
|
- [Sessions example](https://github.com/shaferllc/keel/blob/main/docs/examples/sessions.ts)
|
|
114
117
|
- [Static Files example](https://github.com/shaferllc/keel/blob/main/docs/examples/static-files.ts)
|
|
115
118
|
- [Storage example](https://github.com/shaferllc/keel/blob/main/docs/examples/storage.ts)
|
|
119
|
+
- [Teams example](https://github.com/shaferllc/keel/blob/main/docs/examples/teams.ts)
|
|
116
120
|
- [Telemetry example](https://github.com/shaferllc/keel/blob/main/docs/examples/telemetry.ts)
|
|
117
121
|
- [Templates example](https://github.com/shaferllc/keel/blob/main/docs/examples/templates.ts)
|
|
118
122
|
- [Testing example](https://github.com/shaferllc/keel/blob/main/docs/examples/testing.ts)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shaferllc/keel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.81.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The house framework for Node.js — a service container, providers, routing, JSX views, and a code-generating console.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -61,6 +61,14 @@
|
|
|
61
61
|
"types": "./dist/api/index.d.ts",
|
|
62
62
|
"import": "./dist/api/index.js"
|
|
63
63
|
},
|
|
64
|
+
"./accounts": {
|
|
65
|
+
"types": "./dist/accounts/index.d.ts",
|
|
66
|
+
"import": "./dist/accounts/index.js"
|
|
67
|
+
},
|
|
68
|
+
"./teams": {
|
|
69
|
+
"types": "./dist/teams/index.d.ts",
|
|
70
|
+
"import": "./dist/teams/index.js"
|
|
71
|
+
},
|
|
64
72
|
"./billing": {
|
|
65
73
|
"types": "./dist/billing/index.d.ts",
|
|
66
74
|
"import": "./dist/billing/index.js"
|
|
@@ -93,7 +101,7 @@
|
|
|
93
101
|
"test:coverage": "node --import tsx --test --experimental-test-coverage --test-coverage-exclude='tests/**' tests/*.test.ts",
|
|
94
102
|
"build:ai": "tsx scripts/build-ai.ts",
|
|
95
103
|
"build:watch-ui": "vite build --config src/watch/ui/vite.config.ts",
|
|
96
|
-
"build:watch-copy": "mkdir -p dist/watch/ui && cp -R src/watch/ui/dist dist/watch/ui/dist && cp src/watch/watch.config.stub dist/watch/ && cp src/openapi/openapi.config.stub dist/openapi/ && cp src/api/api.config.stub dist/api/ && cp src/billing/billing.config.stub dist/billing/",
|
|
104
|
+
"build:watch-copy": "mkdir -p dist/watch/ui && cp -R src/watch/ui/dist dist/watch/ui/dist && cp src/watch/watch.config.stub dist/watch/ && cp src/openapi/openapi.config.stub dist/openapi/ && cp src/api/api.config.stub dist/api/ && cp src/billing/billing.config.stub dist/billing/ && cp src/accounts/accounts.config.stub dist/accounts/ && cp src/teams/teams.config.stub dist/teams/",
|
|
97
105
|
"build": "npm run build:ai && npm run build:watch-ui && rm -rf dist && tsc -p tsconfig.build.json && npm run build:watch-copy",
|
|
98
106
|
"prepare": "npm run build",
|
|
99
107
|
"typecheck:tests": "tsc --noEmit -p tsconfig.tests.json",
|