@aotter/mantle 0.1.2 → 0.1.3-alpha.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/README.md +36 -13
- package/dist/auth.d.ts +2 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +2 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +3 -0
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +5 -0
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +3 -0
- package/dist/cli/skills.js.map +1 -1
- package/dist/codegen/emitMantleModule.d.ts.map +1 -1
- package/dist/codegen/emitMantleModule.js +38 -2
- package/dist/codegen/emitMantleModule.js.map +1 -1
- package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +109 -2
- package/docs/agent-prompts.md +38 -29
- package/docs/auth-hosting-model.md +1 -1
- package/docs/examples/host-local-admin-otp/README.md +10 -0
- package/docs/handbook/cloudflare/authentication.md +44 -3
- package/docs/handbook/concepts/mcp-and-agents.md +10 -5
- package/docs/handbook/navigation.json +8 -2
- package/docs/handbook/reference/diagnostics.md +5 -1
- package/docs/handbook/reference/manifest.md +1 -1
- package/docs/handbook/reference/procedure.md +1 -0
- package/docs/handbook/reference/surface.md +6 -4
- package/docs/handbook/reference/trigger.md +1 -1
- package/docs/handbook/releases/index.md +75 -0
- package/docs/handbook/start/project-and-cli.md +15 -4
- package/docs/handbook/start/quickstart-admin.md +20 -209
- package/docs/labels.md +3 -3
- package/docs/migration-0.1.2.md +10 -126
- package/docs/release-process.md +36 -32
- package/docs/spec-only-host-adoption.md +1 -1
- package/package.json +25 -16
- package/skills/README.md +21 -15
- package/skills/install/SKILL.md +5 -5
- package/skills/plugin/SKILL.md +6 -6
- package/skills/provision/SKILL.md +27 -17
- package/skills/update/SKILL.md +4 -3
package/README.md
CHANGED
|
@@ -9,6 +9,15 @@ where agents write config and the runtime carries the complexity.
|
|
|
9
9
|
|
|
10
10
|
## Install
|
|
11
11
|
|
|
12
|
+
Cold start for a new application is the pinned skill, not a bare npm add:
|
|
13
|
+
|
|
14
|
+
```sh
|
|
15
|
+
npx skills add aotter/mantle@v0.1.3-alpha.1 --skill install
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
To depend on this package in an existing project, pin the exact version
|
|
19
|
+
from `package.json` (currently `0.1.3-alpha.1`):
|
|
20
|
+
|
|
12
21
|
```bash
|
|
13
22
|
npm install @aotter/mantle
|
|
14
23
|
# or
|
|
@@ -18,7 +27,7 @@ pnpm add @aotter/mantle
|
|
|
18
27
|
## What's inside
|
|
19
28
|
|
|
20
29
|
The umbrella provides Spec and Runtime by default. Install an optional package
|
|
21
|
-
before importing its matching Web, Admin, Bun, Vercel, Cloudflare, or Admin UI
|
|
30
|
+
before importing its matching Web, Admin, Auth, Bun, Vercel, Cloudflare, or Admin UI
|
|
22
31
|
subpath. Every sub-package also remains directly installable.
|
|
23
32
|
|
|
24
33
|
| Subpath | Re-exports |
|
|
@@ -29,6 +38,7 @@ subpath. Every sub-package also remains directly installable.
|
|
|
29
38
|
| `@aotter/mantle/codegen` | Pure linked manifests → typed runtime module emitter (no IO) |
|
|
30
39
|
| `@aotter/mantle/web` | Optional HTML, Markdown, `llms.txt`, sitemap, SEO, and preview composition (no routes or platform deps) |
|
|
31
40
|
| `@aotter/mantle/admin` | Optional Admin API, auth routes, and static-asset composition |
|
|
41
|
+
| `@aotter/mantle/auth` | Optional host-neutral Better Auth identity; adapters own IP headers and storage bindings |
|
|
32
42
|
| `@aotter/mantle/bun` | Bun adapter — caller-owned `bun:sqlite` and Web-standard View/Trigger transport |
|
|
33
43
|
| `@aotter/mantle/vercel` | Vercel Functions adapter — injected durable storage and platform `waitUntil` |
|
|
34
44
|
| `@aotter/mantle/vercel/libsql` | Optional application-owned Turso/libSQL driver |
|
|
@@ -42,7 +52,7 @@ import { createMantleWeb } from "@aotter/mantle/web";
|
|
|
42
52
|
import { mountRuntimeEndpoints } from "@aotter/mantle/cloudflare";
|
|
43
53
|
```
|
|
44
54
|
|
|
45
|
-
The umbrella installs only Spec and Runtime. Web, Admin, Admin UI, Bun,
|
|
55
|
+
The umbrella installs only Spec and Runtime. Web, Admin, Auth, Admin UI, Bun,
|
|
46
56
|
Vercel, and Cloudflare are optional peers; install only the subpaths selected
|
|
47
57
|
by the application.
|
|
48
58
|
|
|
@@ -103,8 +113,8 @@ generation never rewrites agent instructions.
|
|
|
103
113
|
|
|
104
114
|
SDK upgrades use the package manager and the version-matched update skill.
|
|
105
115
|
For npm peer-resolution troubleshooting, see [the authoring guide](docs/handbook/start/project-and-cli.md).
|
|
106
|
-
See [
|
|
107
|
-
|
|
116
|
+
See [Releases](docs/handbook/releases/index.md) for what each stable version
|
|
117
|
+
contains and what it requires.
|
|
108
118
|
|
|
109
119
|
## Conventional Cloudflare Worker
|
|
110
120
|
|
|
@@ -184,7 +194,14 @@ internals or rebuilding Mantle's adapters.
|
|
|
184
194
|
|
|
185
195
|
## Getting started
|
|
186
196
|
|
|
187
|
-
|
|
197
|
+
Cold start from GitHub or a marketplace host:
|
|
198
|
+
|
|
199
|
+
```sh
|
|
200
|
+
npx skills add aotter/mantle@v0.1.3-alpha.1 --skill install
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
That skill interviews, pins this package, then uses the CLI and the
|
|
204
|
+
[direct-authoring guide](docs/handbook/start/project-and-cli.md).
|
|
188
205
|
The owner or agent writes the application's manifests, entry and configuration;
|
|
189
206
|
`generate` compiles them and `skills` projects the version-matched instructions.
|
|
190
207
|
The [minimal Worker reference](docs/examples/host-minimal-worker/README.md) is
|
|
@@ -194,28 +211,34 @@ opt-in Dev UI path. Neither is a scaffold command. Admin is optional.
|
|
|
194
211
|
|
|
195
212
|
## Agent marketplace install
|
|
196
213
|
|
|
197
|
-
Install the Mantle Core skill bundle before
|
|
214
|
+
Install the Mantle Core skill bundle before authoring or maintaining a
|
|
215
|
+
consumer application. The canonical command is:
|
|
216
|
+
|
|
217
|
+
```sh
|
|
218
|
+
npx skills add aotter/mantle@v0.1.3-alpha.1 --skill install
|
|
219
|
+
```
|
|
198
220
|
|
|
199
|
-
|
|
200
|
-
`package.json`. Do not point a versioned consumer at a mutable branch.
|
|
221
|
+
Claude Code and Codex can install the same pinned plugin, then run that skill:
|
|
201
222
|
|
|
202
223
|
```bash
|
|
203
224
|
# Claude Code
|
|
204
|
-
/plugin marketplace add aotter/mantle@
|
|
225
|
+
/plugin marketplace add aotter/mantle@v0.1.3-alpha.1
|
|
205
226
|
/plugin install mantle@mantle
|
|
206
227
|
|
|
207
228
|
# Codex
|
|
208
|
-
codex plugin marketplace add aotter/mantle --ref
|
|
229
|
+
codex plugin marketplace add aotter/mantle --ref v0.1.3-alpha.1
|
|
209
230
|
codex plugin add mantle@mantle
|
|
210
231
|
```
|
|
211
232
|
|
|
212
233
|
Cursor and VS Code Copilot can auto-discover the GitHub repo through
|
|
213
234
|
`.cursor-plugin/plugin.json` and `.copilot-plugin/plugin.json` after the repo
|
|
214
|
-
is cloned or opened.
|
|
235
|
+
is cloned or opened. Still start from the `npx skills add` sentence (or open
|
|
236
|
+
`skills/install/SKILL.md` at tag `v0.1.3-alpha.1`). Do not point a versioned consumer
|
|
237
|
+
at a mutable branch.
|
|
215
238
|
|
|
216
239
|
## Marketplace capability installs
|
|
217
240
|
|
|
218
|
-
In a
|
|
241
|
+
In a consumer application, tell your coding agent:
|
|
219
242
|
|
|
220
243
|
```txt
|
|
221
244
|
Use repo-local mantle:plugin to install <plugin slug or recipe URL> in this repo.
|
|
@@ -250,7 +273,7 @@ adapter is a port-implementation exercise, not a runtime refactor.
|
|
|
250
273
|
([index](docs/examples/README.md)).
|
|
251
274
|
The copy in `node_modules` describes the installed release.
|
|
252
275
|
- Embedded docs and agent skills ship inside this npm package for
|
|
253
|
-
|
|
276
|
+
agents working from the installed package:
|
|
254
277
|
- `node_modules/@aotter/mantle/docs/handbook/reference/manifest.md`
|
|
255
278
|
- `node_modules/@aotter/mantle/docs/examples/cf-primitives-guarded-api.md` (anonymous,
|
|
256
279
|
API-key, paid guard, personal-token, OAuth, REST, and MCP examples)
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
package/dist/auth.js
ADDED
package/dist/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAiBA,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACxD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAOvD;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,MAAM,CAAC,CAiDjB;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAiBA,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACxD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAOvD;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AA6CD,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK;2CAGvB,CAAC;mEAKe,CAAA;CARmC,GAAG,IAAI,CAmBzG;AAiBD,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK;2CAlCb,CAAC;mEAKe,CAAA;CA6ByB,GAAG,IAAI,CAa/F"}
|
package/dist/cli/generate.js
CHANGED
|
@@ -107,6 +107,9 @@ Options:
|
|
|
107
107
|
--namespace <name> Generated type namespace (default: Mantle)
|
|
108
108
|
--check Fail without writing when generated code or Admin assets are stale
|
|
109
109
|
-h, --help This help
|
|
110
|
+
|
|
111
|
+
Documentation:
|
|
112
|
+
Handbook: docs/handbook/start/project-and-cli.md or https://mantle.tools/
|
|
110
113
|
`);
|
|
111
114
|
}
|
|
112
115
|
export function printGenerateNextSteps(adminUiInstalled, write = stdout.write.bind(stdout)) {
|
package/dist/cli/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/main.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export declare const MANTLE_OVERVIEW = "mantle \u2014 compile manifests into a RuntimePlan and typed binding\n\nOverview\n Optional surfaces \u2014 take only what you need. Admin is opt-in. You can ship a\n complete service with no Dev UI, no visitor frontend, and no extra packages.\n\n Minimal \u2014 Spec + generate\n validate + generate compile manifests into a sealed plan and typed binding.\n Embed that binding in an existing host. No Admin, no visitor UI.\n\n Runtime / adapter\n Bind Runtime through an adapter (Cloudflare Worker, Bun, Vercel, or yours).\n HTTP Views, MCP, and Auth work without Admin.\n See docs/examples/host-minimal-worker or\n node_modules/@aotter/mantle/docs/examples/host-minimal-worker.\n\n Opt-in \u2014 Admin / Dev UI\n Add @aotter/mantle-admin and @aotter/mantle-admin-ui only when humans need\n a console. Then re-run generate, bind wrangler ASSETS, and open\n /admin/sign-in (local email OTP via ConsoleEmailSender).\n See docs/examples/host-local-admin-otp or\n node_modules/@aotter/mantle/docs/examples/host-local-admin-otp.\n\n Further (ask the subcommand for details)\n skills project version-matched agent instructions\n emit-openapi OpenAPI 3.1 from HTTP Triggers and Views\n mantle-harness measure indexes and live HTTP (separate binary)\n\nUsage: mantle <subcommand> [options]\n\nSubcommands:\n generate Compile manifests into a typed runtime binding\n validate Static manifest and handler-source validation\n skills Project version-matched Core skills\n emit-openapi Emit OpenAPI 3.1 from Triggers and Views\n";
|
|
2
|
+
export declare const MANTLE_OVERVIEW = "mantle \u2014 compile manifests into a RuntimePlan and typed binding\n\nOverview\n Optional surfaces \u2014 take only what you need. Admin is opt-in. You can ship a\n complete service with no Dev UI, no visitor frontend, and no extra packages.\n\n Minimal \u2014 Spec + generate\n validate + generate compile manifests into a sealed plan and typed binding.\n Embed that binding in an existing host. No Admin, no visitor UI.\n\n Runtime / adapter\n Bind Runtime through an adapter (Cloudflare Worker, Bun, Vercel, or yours).\n HTTP Views, MCP, and Auth work without Admin.\n See docs/examples/host-minimal-worker or\n node_modules/@aotter/mantle/docs/examples/host-minimal-worker.\n\n Opt-in \u2014 Admin / Dev UI\n Add @aotter/mantle-admin and @aotter/mantle-admin-ui only when humans need\n a console. Then re-run generate, bind wrangler ASSETS, and open\n /admin/sign-in (local email OTP via ConsoleEmailSender).\n See docs/examples/host-local-admin-otp or\n node_modules/@aotter/mantle/docs/examples/host-local-admin-otp.\n\n Further (ask the subcommand for details)\n skills project version-matched agent instructions\n emit-openapi OpenAPI 3.1 from HTTP Triggers and Views\n mantle-harness measure indexes and live HTTP (separate binary)\n\nUsage: mantle <subcommand> [options]\n\nSubcommands:\n generate Compile manifests into a typed runtime binding\n validate Static manifest and handler-source validation\n skills Project version-matched Core skills\n emit-openapi Emit OpenAPI 3.1 from Triggers and Views\n\nDocumentation:\n Handbook: node_modules/@aotter/mantle/docs/handbook/ (or docs/handbook/)\n Online: https://mantle.tools/\n Install skill: npx skills add aotter/mantle@v0.1.3-alpha.1 --skill install\n";
|
|
3
3
|
//# sourceMappingURL=main.d.ts.map
|
package/dist/cli/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAgCA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AAgCA,eAAO,MAAM,eAAe,iyDAwC3B,CAAC"}
|
package/dist/cli/main.js
CHANGED
|
@@ -60,6 +60,11 @@ Subcommands:
|
|
|
60
60
|
validate Static manifest and handler-source validation
|
|
61
61
|
skills Project version-matched Core skills
|
|
62
62
|
emit-openapi Emit OpenAPI 3.1 from Triggers and Views
|
|
63
|
+
|
|
64
|
+
Documentation:
|
|
65
|
+
Handbook: node_modules/@aotter/mantle/docs/handbook/ (or docs/handbook/)
|
|
66
|
+
Online: https://mantle.tools/
|
|
67
|
+
Install skill: npx skills add aotter/mantle@v0.1.3-alpha.1 --skill install
|
|
63
68
|
`;
|
|
64
69
|
main().then((code) => {
|
|
65
70
|
process.exitCode = code;
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,cAAc,EACd,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe;CAClC,CAAC,CAAC;QACC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B;YACE,MAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,cAAc,EACd,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACzD,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe;CAClC,CAAC,CAAC;QACC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,UAAU;YACb,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9B;YACE,MAAM,CAAC,KAAK,CAAC,uBAAuB,OAAO,IAAI,CAAC,CAAC;YACjD,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC9B,CAAC;AAEF,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE;IACP,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1B,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;IACR,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3G,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC,CACF,CAAC"}
|
package/dist/cli/skills.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAcA,wBAAsB,SAAS,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqD3E;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"AAcA,wBAAsB,SAAS,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAqD3E;AAuCD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,EAAE,CAMhE"}
|
package/dist/cli/skills.js
CHANGED
|
@@ -78,6 +78,9 @@ ${PROJECT_SKILL_DIRECTORIES.map((dir) => `${dir}/skills/`).join(" and ")}.
|
|
|
78
78
|
Options:
|
|
79
79
|
--check Fail without writing when projected skills are stale
|
|
80
80
|
-h, --help This help
|
|
81
|
+
|
|
82
|
+
Documentation:
|
|
83
|
+
Handbook: docs/handbook/concepts/mcp-and-agents.md or https://mantle.tools/
|
|
81
84
|
`);
|
|
82
85
|
}
|
|
83
86
|
/**
|
package/dist/cli/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/cli/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitMantleModule.d.ts","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"emitMantleModule.d.ts","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAoBxE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAc,GAAG,IAAI,CAIlF;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAuGzF"}
|
|
@@ -5,6 +5,8 @@ const GENERATED_NAMES = new Set([
|
|
|
5
5
|
"CoreMantleRuntime",
|
|
6
6
|
"CreateMantleOptions",
|
|
7
7
|
"RuntimePlanData",
|
|
8
|
+
"MantleEntry",
|
|
9
|
+
"MantleFieldValue",
|
|
8
10
|
"MantleHandlers",
|
|
9
11
|
"MantleViewOptions",
|
|
10
12
|
"RuntimeHandlerContext",
|
|
@@ -46,11 +48,28 @@ export function emitMantleModule(request) {
|
|
|
46
48
|
"import { bootMantleRuntime, sealRuntimePlan } from \"@aotter/mantle/runtime\";",
|
|
47
49
|
"import type {",
|
|
48
50
|
" BootMantleRuntimeArgs,",
|
|
51
|
+
...(schemas.length > 0 ? [
|
|
52
|
+
" EntryDataScalar,",
|
|
53
|
+
" FindManyEntriesByDataFieldArgs,",
|
|
54
|
+
] : []),
|
|
49
55
|
" HandlerContext as RuntimeHandlerContext,",
|
|
50
56
|
" HandlerFn as RuntimeHandlerFn,",
|
|
51
57
|
" MantleRuntime as CoreMantleRuntime,",
|
|
58
|
+
...(schemas.length > 0 ? [
|
|
59
|
+
" ReadEntriesByDataFieldInArgs,",
|
|
60
|
+
" ReadEntryByDataFieldArgs,",
|
|
61
|
+
" ReadEntryBySlugArgs,",
|
|
62
|
+
] : []),
|
|
52
63
|
" RuntimePlanData,",
|
|
53
64
|
"} from \"@aotter/mantle/runtime\";",
|
|
65
|
+
...(schemas.length > 0 ? [
|
|
66
|
+
"import type { Entry as CoreEntry } from \"@aotter/mantle/spec\";",
|
|
67
|
+
"",
|
|
68
|
+
"/** A stored entry whose `data` is the Schema's generated shape. */",
|
|
69
|
+
"export type MantleEntry<TData> = CoreEntry<TData>;",
|
|
70
|
+
"/** Scalar members of one declared Schema field, the only values field reads accept. */",
|
|
71
|
+
"export type MantleFieldValue<TData, F extends keyof TData> = Extract<TData[F], EntryDataScalar>;",
|
|
72
|
+
] : []),
|
|
54
73
|
"",
|
|
55
74
|
`export const plan = sealRuntimePlan(${JSON.stringify(plan, null, 2)} as const satisfies RuntimePlanData);`,
|
|
56
75
|
"",
|
|
@@ -83,7 +102,7 @@ export function emitMantleModule(request) {
|
|
|
83
102
|
" return {",
|
|
84
103
|
" runtime,",
|
|
85
104
|
" entries: {",
|
|
86
|
-
...schemas.flatMap((schema) => schemaLines(schema.name, namespace)),
|
|
105
|
+
...schemas.flatMap((schema) => schemaLines(schema.name, namespace, Object.keys(schema.manifest.spec.schema.properties ?? {}))),
|
|
87
106
|
" },",
|
|
88
107
|
" views: {",
|
|
89
108
|
...views.flatMap((view) => viewLines(view.manifest, namespace)),
|
|
@@ -104,9 +123,15 @@ export function emitMantleModule(request) {
|
|
|
104
123
|
].join("\n"),
|
|
105
124
|
};
|
|
106
125
|
}
|
|
107
|
-
function schemaLines(name, namespace) {
|
|
126
|
+
function schemaLines(name, namespace, fieldNames) {
|
|
108
127
|
const id = codegenIdentifier(name);
|
|
109
128
|
const data = `${namespace}.Entry_${manifestTypeIdentifier(name)}`;
|
|
129
|
+
// Declared field names only. `keyof` would collapse to `string` whenever the
|
|
130
|
+
// Schema allows additional properties, and an undeclared field has no index.
|
|
131
|
+
const fields = fieldNames.length
|
|
132
|
+
? [...fieldNames].sort(compareText).map((field) => JSON.stringify(field)).join(" | ")
|
|
133
|
+
: "never";
|
|
134
|
+
const field = `F extends (${fields}) & keyof ${data}`;
|
|
110
135
|
return [
|
|
111
136
|
` ${id}: {`,
|
|
112
137
|
` createDraft: (request: Omit<Parameters<CoreMantleRuntime["createDraft"]["execute"]>[0], "collection" | "data"> & { readonly data: ${data} }) =>`,
|
|
@@ -123,6 +148,17 @@ function schemaLines(name, namespace) {
|
|
|
123
148
|
` runtime.archive.execute({ ...request, collection: ${JSON.stringify(name)} }),`,
|
|
124
149
|
` list: (request: Omit<Parameters<CoreMantleRuntime["listEntries"]["execute"]>[0], "collection"> = {}) =>`,
|
|
125
150
|
` runtime.listEntries.execute({ ...request, collection: ${JSON.stringify(name)} }),`,
|
|
151
|
+
// Indexed field reads, typed from the Schema (#974). `field` is a key of the
|
|
152
|
+
// generated entry shape and `value` its scalar members, so the indexed path
|
|
153
|
+
// is as easy to reach as \`list\` and the row comes back with typed \`data\`.
|
|
154
|
+
` readBySlug: (request: Omit<ReadEntryBySlugArgs, "collection">) =>`,
|
|
155
|
+
` runtime.entries.readBySlug({ ...request, collection: ${JSON.stringify(name)} }) as unknown as Promise<MantleEntry<${data}> | null>,`,
|
|
156
|
+
` readByDataField: <${field}>(request: Omit<ReadEntryByDataFieldArgs, "collection" | "field" | "value"> & { readonly field: F; readonly value: MantleFieldValue<${data}, F> }) =>`,
|
|
157
|
+
` runtime.entries.readByDataField({ ...request, collection: ${JSON.stringify(name)} }) as unknown as Promise<MantleEntry<${data}> | null>,`,
|
|
158
|
+
` readByDataFieldIn: <${field}>(request: Omit<ReadEntriesByDataFieldInArgs, "collection" | "field" | "values"> & { readonly field: F; readonly values: readonly MantleFieldValue<${data}, F>[] }) =>`,
|
|
159
|
+
` runtime.entries.readByDataFieldIn({ ...request, collection: ${JSON.stringify(name)} }) as unknown as Promise<readonly MantleEntry<${data}>[]>,`,
|
|
160
|
+
` findManyByDataField: <${field}>(request: Omit<FindManyEntriesByDataFieldArgs, "collection" | "field" | "value"> & { readonly field: F; readonly value: MantleFieldValue<${data}, F> }) =>`,
|
|
161
|
+
` runtime.entries.findManyByDataField({ ...request, collection: ${JSON.stringify(name)} }) as unknown as Promise<readonly MantleEntry<${data}>[]>,`,
|
|
126
162
|
` delete: (request: Omit<Parameters<CoreMantleRuntime["deleteEntry"]["execute"]>[0], "collection">) =>`,
|
|
127
163
|
` runtime.deleteEntry.execute({ ...request, collection: ${JSON.stringify(name)} }),`,
|
|
128
164
|
" },",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emitMantleModule.js","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"emitMantleModule.js","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
## Status
|
|
4
4
|
|
|
5
5
|
Accepted. Amended 2026-05-14, 2026-05-15, 2026-06-30, 2026-07-15,
|
|
6
|
-
2026-08-03, 2026-08-22, and 2026-09-
|
|
6
|
+
2026-08-03, 2026-08-22, 2026-09-18, and 2026-09-21.
|
|
7
7
|
|
|
8
8
|
## Date
|
|
9
9
|
|
|
10
|
-
2026-05-09 (last amended 2026-
|
|
10
|
+
2026-05-09 (last amended 2026-09-21)
|
|
11
11
|
|
|
12
12
|
> **Current authority:** the original decision below records the rejected
|
|
13
13
|
> Better-Auth-for-MCP design. The 2026-08-22 Better Auth 1.7 amendment is
|
|
@@ -755,3 +755,110 @@ Applications that need to own an entire callback may pass official plugin
|
|
|
755
755
|
instances through `plugins`. Those plugins do not synthesize Admin metadata,
|
|
756
756
|
and duplicate plugin ids fail at construction. There is no
|
|
757
757
|
`Partial<BetterAuthOptions>` deep merge and no silent plugin replacement.
|
|
758
|
+
|
|
759
|
+
## 2026-09-21 amendment — keyed default email OTP storage
|
|
760
|
+
|
|
761
|
+
Issue #989 changes only the Mantle default for email OTP storage. Better Auth
|
|
762
|
+
`storeOTP: "hashed"` is unsalted SHA-256 of the OTP. For the default 6-digit
|
|
763
|
+
alphabet that makes a `verification` table dump a sign-in oracle without
|
|
764
|
+
`BETTER_AUTH_SECRET`. The Cloudflare `createAuth` default is now HMAC-SHA-256
|
|
765
|
+
of the OTP keyed by `BETTER_AUTH_SECRET` (unpadded base64url), so D1 alone is
|
|
766
|
+
not enough.
|
|
767
|
+
|
|
768
|
+
Magic-link tokens remain Better Auth `hashed`; they are high-entropy. Explicit
|
|
769
|
+
official `storeOTP` / `storeToken` overrides, including `plain`, remain adopter
|
|
770
|
+
configuration (2026-09-18 native-options amendment / #925). `createAuth` does
|
|
771
|
+
not hard-reject those overrides.
|
|
772
|
+
|
|
773
|
+
Deploying this change invalidates unconsumed OTPs created by an older
|
|
774
|
+
deployment. Users request a new code; no database migration is needed.
|
|
775
|
+
|
|
776
|
+
## Amendment — 2026-09-21: host-neutral `@aotter/mantle-auth`
|
|
777
|
+
|
|
778
|
+
Identity remains adapter-owned: there is still no Core auth port. The Better
|
|
779
|
+
Auth surface is extracted into `@aotter/mantle-auth` (not
|
|
780
|
+
`mantle-better-auth`) ahead of a second-host adapter, because the
|
|
781
|
+
implementation was already host-neutral except for ingress IP headers and
|
|
782
|
+
D1/KV bindings.
|
|
783
|
+
|
|
784
|
+
`createMantleAuth` is the portable constructor. Adapters still own host
|
|
785
|
+
wiring. Cloudflare `createAuth` keeps its existing signature, supplies
|
|
786
|
+
`cf-connecting-ip`, constructs `D1DatabaseDriver`, and optionally wraps
|
|
787
|
+
Workers KV as `AuthSessionCache`. Bun and Vercel have no auth adapter in this
|
|
788
|
+
change; when that wiring lands they must supply their own trusted ingress
|
|
789
|
+
header(s) and driver. The portable package never defaults to a Cloudflare
|
|
790
|
+
header or to client-controlled `X-Forwarded-For`. Missing or empty
|
|
791
|
+
`ipAddressHeaders` fails closed.
|
|
792
|
+
|
|
793
|
+
## 2026-09-21 amendment — instance-level `accountLinking`
|
|
794
|
+
|
|
795
|
+
Issue #952 adds `accountLinking` to `CreateMantleAuthOptions` in the host-neutral
|
|
796
|
+
`@aotter/mantle-auth` package, forwarded verbatim to Better Auth's
|
|
797
|
+
`account.accountLinking`; the Cloudflare `CreateAuthConfig` and every future
|
|
798
|
+
host wrapper inherit it.
|
|
799
|
+
|
|
800
|
+
Issue #924 deferred instance-level control to "a separate low-level instance
|
|
801
|
+
adapter". That deferral is kept for *general* control; this is a single named
|
|
802
|
+
passthrough in the shape `trustedOrigins`, `cookiePrefix` and
|
|
803
|
+
`crossSubDomainCookies` already use, not the option-bag merge #924 rejected.
|
|
804
|
+
The distinction that matters is ambiguity, not nesting depth: a named field
|
|
805
|
+
has one owner and one meaning, while a merged `Partial<BetterAuthOptions>`
|
|
806
|
+
would let an adopter silently overwrite session, cookie and rate-limit
|
|
807
|
+
invariants Mantle enforces.
|
|
808
|
+
|
|
809
|
+
`accountLinking` earned a field ahead of the low-level adapter because it
|
|
810
|
+
decides whether two sign-ins are one person. Mantle cannot pick that default
|
|
811
|
+
on an adopter's behalf — only the adopter knows which providers verify the
|
|
812
|
+
addresses they return — and until now adopters had no way to express it, in
|
|
813
|
+
either direction.
|
|
814
|
+
|
|
815
|
+
Mantle sets no default. Omitted, no `account` key is constructed at all and
|
|
816
|
+
Better Auth's defaults govern: implicit linking on, `requireLocalEmailVerified`
|
|
817
|
+
on, `trustedProviders` empty. A consequence worth stating, because the
|
|
818
|
+
`inviteUser` contract above implies otherwise: an invitation row is written
|
|
819
|
+
`emailVerified: 0`, so a social sign-in cannot claim it until the invitee
|
|
820
|
+
verifies by email once.
|
|
821
|
+
|
|
822
|
+
## 2026-09-21 amendment — one caller gate; surface selects the staff rule only
|
|
823
|
+
|
|
824
|
+
Sections 3 and 5 above describe `/mcp` and `/mcp/staff` as bearer-only routes
|
|
825
|
+
that answer every unauthenticated request with a `401` challenge, while the
|
|
826
|
+
HTTP Trigger and `/api/views/*` routes resolve callers through `resolveCaller`
|
|
827
|
+
(consumer credential, then OAuth bearer, then cookie session, then anonymous)
|
|
828
|
+
and leave enforcement to each target's `requires`. Issue #977 removes that
|
|
829
|
+
split. Both transports now run the same gate (`gateCaller`):
|
|
830
|
+
|
|
831
|
+
- Identity resolution is `resolveCaller` for every transport. A cookie session
|
|
832
|
+
may drive `/mcp` same-origin; the cross-origin guard applies only when the
|
|
833
|
+
credential is a session, as it already did for HTTP mutations.
|
|
834
|
+
- `surface` decides exactly one thing: `staff` requires `ctx.staff`; `public`
|
|
835
|
+
admits anonymous callers. Each tool's `requires.auth` and guard still run on
|
|
836
|
+
every `tools/call`, so a public View with no `requires` is reachable
|
|
837
|
+
anonymously over MCP exactly as it is over REST, and the handbook's
|
|
838
|
+
"the same View is safe on REST and on public MCP" holds.
|
|
839
|
+
- The OAuth bootstrap is preserved where it matters. Invalid credentials and
|
|
840
|
+
anonymous callers on the staff surface still receive `401`/`403` with the
|
|
841
|
+
RFC 9728 `WWW-Authenticate` challenge. On the public surface an anonymous
|
|
842
|
+
`initialize` or `tools/list` succeeds (the catalog is caller-independent), and
|
|
843
|
+
the first `tools/call` whose target requires identity answers HTTP `401` with
|
|
844
|
+
the same challenge instead of an HTTP `200` JSON-RPC error, so a client can
|
|
845
|
+
authenticate mid-session and retry. `AUTH_DENIED` maps to `403` the same way.
|
|
846
|
+
|
|
847
|
+
The fresh-role rule (section 5) and the MCP grant check are unchanged: both
|
|
848
|
+
run inside `resolveCaller`'s bearer path. What changed is only where the
|
|
849
|
+
surface rule sits and that it is the *only* rule the surface adds.
|
|
850
|
+
|
|
851
|
+
Two invariants that the shared gate must keep, stated so they are not lost
|
|
852
|
+
in a later refactor:
|
|
853
|
+
|
|
854
|
+
- **The `mcp` scope floor applies to every presented credential.** Bearer
|
|
855
|
+
tokens are checked inside `resolveCaller`; a consumer credential (site PAT,
|
|
856
|
+
API key) is checked by the MCP handler after the gate, and a PAT minted for
|
|
857
|
+
a narrow integration is refused with `403 insufficient_scope` even when its
|
|
858
|
+
owner is staff. A cookie session carries no scopes and is the same browser
|
|
859
|
+
identity Admin already trusts, so it is exempt. Anonymous callers present
|
|
860
|
+
nothing to check; each tool's `requires` governs them.
|
|
861
|
+
- **JSON-RPC over HTTP is `application/json` only.** The dispatcher answers
|
|
862
|
+
`415` to anything else, so an HTML form (whose enctypes cannot produce that
|
|
863
|
+
header) can never drive a cookie session on `/mcp`; the same-origin guard
|
|
864
|
+
remains the second layer.
|
package/docs/agent-prompts.md
CHANGED
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
# Task-specific agent prompts
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
Cold start from GitHub or a marketplace host is one pinned skill:
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
npx skills add aotter/mantle@v0.1.3-alpha.1 --skill install
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Copy one block into a coding agent after that skill is present. Paths below
|
|
10
|
+
are relative to the Mantle docs root: `node_modules/@aotter/mantle/docs/`
|
|
11
|
+
after `@aotter/mantle` is installed, or `docs/` in the installed agent plugin.
|
|
12
|
+
`npx --no-install mantle --help` is the layered CLI overview; it mirrors the
|
|
13
|
+
authoring docs. A live `/mcp` catalog mirrors the Manifest → RuntimePlan, not
|
|
14
|
+
the CLI. Interview first. Worker is the default host unless the user names
|
|
15
|
+
ChatGPT Sites. There is no `mantle create`. Empty `generate` fails until
|
|
16
|
+
manifests exist. Admin is opt-in.
|
|
17
|
+
|
|
18
|
+
### Interview then build
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
Interview me about the service: host, who uses it, whether humans need a
|
|
22
|
+
Dev UI, and whether we only embed Spec/Runtime. If the install skill is
|
|
23
|
+
missing, run npx skills add aotter/mantle@v0.1.3-alpha.1 --skill install. Read the
|
|
24
|
+
install skill and npx --no-install mantle --help, then
|
|
25
|
+
handbook/start/project-and-cli.md.
|
|
26
|
+
Use examples/README.md as the examples index; copy builtin-* Manifests only
|
|
27
|
+
(not cf-primitives-*). Implement locally first. Take only the surfaces we
|
|
28
|
+
chose. For Spec-only use, skip Runtime and code generation. For a Worker
|
|
29
|
+
without Admin, follow examples/host-minimal-worker/. For a Worker with
|
|
30
|
+
Dev UI, follow examples/host-local-admin-otp/README.md. ChatGPT Sites only
|
|
31
|
+
if I name that host. No mantle create. Pin all @aotter/mantle* packages
|
|
32
|
+
to one exact version.
|
|
33
|
+
```
|
|
8
34
|
|
|
9
35
|
### Embed Runtime with typed APIs
|
|
10
36
|
|
|
@@ -32,30 +58,11 @@ Admin or wrangler ASSETS unless I ask.
|
|
|
32
58
|
### Full local Dev UI (opt-in)
|
|
33
59
|
|
|
34
60
|
```text
|
|
35
|
-
I want the optional Admin / Dev UI. Read
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Admin is installed). Wire createAuth email-otp + ConsoleEmailSender.
|
|
41
|
-
Then pnpm install && pnpm generate && pnpm dev, open /admin/sign-in, and
|
|
42
|
-
read the OTP from wrangler logs. If /admin is a white screen, fetch
|
|
43
|
-
/_mantle/admin/assets/* — 404 means ASSETS is missing, not a missing
|
|
44
|
-
frontend build.
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Interview then build
|
|
48
|
-
|
|
49
|
-
```text
|
|
50
|
-
Interview me about the service: host, who uses it, whether humans need a
|
|
51
|
-
Dev UI, and whether we only embed Spec/Runtime. Read mantle --help, then
|
|
52
|
-
handbook/start/project-and-cli.md. Use examples/README.md as the
|
|
53
|
-
examples index; copy builtin-* Manifests only (not cf-primitives-*).
|
|
54
|
-
Implement locally first. Take only the surfaces we chose.
|
|
55
|
-
For Spec-only use, skip Runtime and code generation. For a Worker without
|
|
56
|
-
Admin, follow examples/host-minimal-worker/. For a Worker with Dev UI,
|
|
57
|
-
follow examples/host-local-admin-otp/. No mantle create. Pin all
|
|
58
|
-
@aotter/mantle* packages to one exact version.
|
|
61
|
+
I want the optional Admin / Dev UI. Read examples/host-local-admin-otp/README.md
|
|
62
|
+
(the procedural SSOT) and the thin pointer at handbook/start/quickstart-admin.md.
|
|
63
|
+
Interview me for a bootstrap owner email, then follow that example locally.
|
|
64
|
+
Prefer 127.0.0.1 over localhost. After pnpm check / smoke, restore .dev.vars
|
|
65
|
+
from .dev.vars.example before pnpm dev.
|
|
59
66
|
```
|
|
60
67
|
|
|
61
68
|
### Later layer: MCP or public web (opt-in)
|
|
@@ -71,6 +78,8 @@ claim Auth or Admin works from a public 200.
|
|
|
71
78
|
|
|
72
79
|
### Mantle on ChatGPT Sites, including media
|
|
73
80
|
|
|
81
|
+
Use only when the user names ChatGPT Sites as the host.
|
|
82
|
+
|
|
74
83
|
```text
|
|
75
84
|
Build with ChatGPT Sites; use Mantle for content management and publishing.
|
|
76
85
|
Read handbook/sites/index.md and examples/host-chatgpt-sites/README.md.
|
|
@@ -8,7 +8,7 @@ basic login. The split is:
|
|
|
8
8
|
- **Mantle's conventional Cloudflare adapter** runs the generated site's
|
|
9
9
|
selected self-hosted or Mantle Platform hosted client configuration.
|
|
10
10
|
- **The application owner/host** declares the explicit auth mode and provider
|
|
11
|
-
configuration
|
|
11
|
+
configuration.
|
|
12
12
|
- **Mantle Platform** can sell hosted identity, provider setup, email,
|
|
13
13
|
and billing convenience for site owners who do not want to operate
|
|
14
14
|
those pieces.
|