@aotter/mantle 0.1.4 → 0.1.5-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 +16 -16
- package/dist/cli/generate-cloudflare.d.ts +7 -0
- package/dist/cli/generate-cloudflare.d.ts.map +1 -0
- package/dist/cli/generate-cloudflare.js +123 -0
- package/dist/cli/generate-cloudflare.js.map +1 -0
- package/dist/cli/generate-project.d.ts +25 -0
- package/dist/cli/generate-project.d.ts.map +1 -0
- package/dist/cli/generate-project.js +282 -0
- package/dist/cli/generate-project.js.map +1 -0
- package/dist/cli/generate-sites.d.ts +8 -0
- package/dist/cli/generate-sites.d.ts.map +1 -0
- package/dist/cli/generate-sites.js +273 -0
- package/dist/cli/generate-sites.js.map +1 -0
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +121 -10
- 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 +10 -10
- package/docs/adr/0021-retire-starter-scaffolding.md +1 -1
- package/docs/adr/0026-progressive-generate.md +36 -0
- package/docs/adr/0027-scheduled-procedure-triggers.md +31 -0
- package/docs/adr/0028-schema-ttl-expiry.md +33 -0
- package/docs/adr/README.md +5 -2
- package/docs/agent-prompts.md +40 -78
- package/docs/examples/host-chatgpt-sites/README.md +1 -1
- package/docs/examples/host-chatgpt-sites/drizzle/0004_mantle.sql +10 -0
- package/docs/examples/host-chatgpt-sites/drizzle/0005_mantle.sql +24 -0
- package/docs/examples/host-chatgpt-sites/drizzle/meta/_journal.json +1 -1
- package/docs/examples/host-chatgpt-sites/drizzle/meta/mantle-state.json +60 -0
- package/docs/examples/host-chatgpt-sites/package.json +1 -1
- package/docs/examples/host-chatgpt-sites/scripts/migration.mjs +42 -8
- package/docs/examples/host-chatgpt-sites/src/chatgpt-auth.ts +9 -6
- package/docs/examples/host-local-admin-otp/package.json +2 -2
- package/docs/examples/host-minimal-worker/package.json +2 -2
- package/docs/handbook/chatgpt-sites/generated-app.md +84 -0
- package/docs/handbook/chatgpt-sites/index.md +21 -11
- package/docs/handbook/cloudflare/authentication.md +19 -2
- package/docs/handbook/cloudflare/bindings.md +4 -11
- package/docs/handbook/cloudflare/conventional-worker.md +7 -3
- package/docs/handbook/cloudflare/deploy-and-operate.md +1 -1
- package/docs/handbook/concepts/runtime-and-adapters.md +7 -0
- package/docs/handbook/guides/agent-setup.md +3 -3
- package/docs/handbook/navigation.json +3 -2
- package/docs/handbook/reference/diagnostics.md +5 -0
- package/docs/handbook/reference/procedure.md +52 -1
- package/docs/handbook/reference/schema.md +27 -1
- package/docs/handbook/reference/surface.md +3 -3
- package/docs/handbook/reference/trigger.md +21 -1
- package/docs/handbook/releases/index.md +55 -0
- package/docs/handbook/start/overview.md +5 -2
- package/docs/handbook/start/project-and-cli.md +103 -119
- package/docs/handbook/start/quickstart-admin.md +6 -4
- package/docs/handbook/start/quickstart-worker.md +17 -8
- package/docs/skills/develop/SKILL.md +14 -6
- package/docs/skills/integrate/SKILL.md +60 -0
- package/package.json +18 -17
- package/skills/README.md +3 -1
- package/skills/develop/SKILL.md +14 -6
- package/skills/install/SKILL.md +100 -137
- package/skills/integrate/SKILL.md +60 -0
- package/templates/chatgpt-sites/auth.ts +66 -0
- package/templates/chatgpt-sites/build.mjs +14 -0
- package/templates/chatgpt-sites/env.ts +1 -0
- package/templates/chatgpt-sites/mcp.ts +48 -0
- package/templates/chatgpt-sites/public-mcp.ts +29 -0
- package/templates/chatgpt-sites/smoke-local.mjs +20 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { execFileSync } from "node:child_process";
|
|
2
|
+
import { access, readFile, readdir, mkdir, writeFile, appendFile } from "node:fs/promises";
|
|
3
|
+
import { basename, dirname, join, relative, resolve, sep } from "node:path";
|
|
4
|
+
import { buildSqliteMigrationArtifact, fieldColumn, quoteIdent, renderSqliteManagedMigration } from "@aotter/mantle-runtime";
|
|
5
|
+
import { assertInsideProject } from "./generate-project.js";
|
|
6
|
+
export async function prepareSites(root, output, selection, schemas, check, reviewUniqueIndexes = false) {
|
|
7
|
+
const has = (feature) => selection.features.includes(feature);
|
|
8
|
+
const name = basename(root).toLowerCase().replace(/[^a-z0-9-]/g, "-").replace(/^-+|-+$/g, "").slice(0, 63).replace(/-+$/, "") || "mantle-site";
|
|
9
|
+
const worker = resolve(root, output, "worker.ts");
|
|
10
|
+
const indexImport = importPath(join(root, "src/index.ts"), worker);
|
|
11
|
+
const files = [
|
|
12
|
+
{ path: worker, content: workerSource(root, worker, selection), owned: true },
|
|
13
|
+
{ path: "src/index.ts", content: `export { default } from "${indexImport}";\n` },
|
|
14
|
+
{ path: "src/handlers.ts", content: 'import type { AnyHandler } from "@aotter/mantle/runtime";\n\nexport const handlers: Record<string, AnyHandler> = {};\n' },
|
|
15
|
+
{ path: "scripts/build.mjs", content: await template("build.mjs") },
|
|
16
|
+
{ path: "tsconfig.json", content: `${JSON.stringify({ compilerOptions: {
|
|
17
|
+
target: "ES2022", module: "ESNext", moduleResolution: "Bundler", strict: true, skipLibCheck: true,
|
|
18
|
+
noEmit: true, types: ["@cloudflare/workers-types"], lib: ["ES2022", "DOM"],
|
|
19
|
+
}, include: ["src/**/*.ts", `${relative(root, resolve(root, output)).split(sep).join("/") || "."}/**/*.ts`] }, null, 2)}\n` },
|
|
20
|
+
{ path: ".dev.vars.example", content: "# Local simulation only. Configure the real owner and origin through Sites before publishing.\nOWNER_EMAIL=you@example.com\nPUBLIC_ORIGIN=http://127.0.0.1:4174\n" },
|
|
21
|
+
];
|
|
22
|
+
if (has("web"))
|
|
23
|
+
files.push({ path: "src/home.ts", content: 'export function home(): Response {\n return new Response(`<!doctype html><html lang="en"><meta charset="utf-8"><title>Mantle</title><body><main></main></body></html>`, { headers: { "content-type": "text/html; charset=utf-8" } });\n}\n' });
|
|
24
|
+
if (has("admin")) {
|
|
25
|
+
files.push({ path: "src/sites-auth.ts", content: await template("auth.ts") });
|
|
26
|
+
files.push({ path: "src/sites-mcp.ts", content: await template("mcp.ts") });
|
|
27
|
+
files.push({ path: "scripts/smoke-local.mjs", content: await template("smoke-local.mjs") });
|
|
28
|
+
}
|
|
29
|
+
else if (has("mcp")) {
|
|
30
|
+
files.push({ path: "src/sites-env.ts", content: await template("env.ts") });
|
|
31
|
+
files.push({ path: "src/sites-mcp.ts", content: await template("public-mcp.ts") });
|
|
32
|
+
}
|
|
33
|
+
const wrangler = await Promise.all(["wrangler.jsonc", "wrangler.json", "wrangler.toml"].map(async (path) => ({ path, content: await optional(join(root, path)) })));
|
|
34
|
+
const existingWrangler = wrangler.filter(file => file.content !== null);
|
|
35
|
+
if (existingWrangler.length > 1)
|
|
36
|
+
throw new Error(`Multiple Wrangler configs found: ${existingWrangler.map(file => file.path).join(", ")}.`);
|
|
37
|
+
let dbName = name;
|
|
38
|
+
if (existingWrangler.length) {
|
|
39
|
+
const config = existingWrangler[0];
|
|
40
|
+
await assertInsideProject(root, join(root, config.path));
|
|
41
|
+
const configuredName = config.content.match(/\bdatabase_name["']?\s*[:=]\s*["']([^"']+)["']/)?.[1];
|
|
42
|
+
if (!configuredName || !/\bmigrations_dir["']?\s*[:=]\s*["']drizzle["']/.test(config.content)) {
|
|
43
|
+
throw new Error(`Existing ${config.path} must name its D1 database and use migrations_dir=drizzle.`);
|
|
44
|
+
}
|
|
45
|
+
if (has("admin") && (!/(?:^|[{,])\s*["']?workers_dev["']?\s*[:=]\s*false\b/m.test(config.content) ||
|
|
46
|
+
/(?:^|[{,])\s*["']?routes?["']?\s*[:=]|^\s*\[\[?routes?\]\]?/m.test(config.content))) {
|
|
47
|
+
throw new Error(`Existing ${config.path} must set workers_dev=false and have no direct Worker route before Sites identity can be trusted.`);
|
|
48
|
+
}
|
|
49
|
+
dbName = configuredName;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
files.push({ path: "wrangler.jsonc", content: `${JSON.stringify({
|
|
53
|
+
name, main: "dist/server/index.js", compatibility_date: "2026-09-08", workers_dev: false,
|
|
54
|
+
compatibility_flags: ["nodejs_compat", "global_fetch_strictly_public"],
|
|
55
|
+
...(has("admin") ? { assets: { directory: "dist/client", binding: "ASSETS", run_worker_first: true } } : {}),
|
|
56
|
+
d1_databases: [{ binding: "DB", database_name: name, database_id: "local", migrations_dir: "drizzle" }],
|
|
57
|
+
}, null, 2)}\n` });
|
|
58
|
+
}
|
|
59
|
+
const hosting = await optional(join(root, ".openai/hosting.json"));
|
|
60
|
+
await assertInsideProject(root, join(root, ".openai/hosting.json"));
|
|
61
|
+
if (hosting !== null) {
|
|
62
|
+
if (JSON.parse(hosting).d1 !== "DB")
|
|
63
|
+
throw new Error("Existing Sites hosting.json must bind D1 as DB; project metadata is preserved.");
|
|
64
|
+
}
|
|
65
|
+
else
|
|
66
|
+
files.push({ path: ".openai/hosting.json", content: '{"d1":"DB"}\n' });
|
|
67
|
+
const writes = [];
|
|
68
|
+
for (const file of files) {
|
|
69
|
+
const path = resolve(root, file.path);
|
|
70
|
+
await assertInsideProject(root, path);
|
|
71
|
+
const current = await optional(path);
|
|
72
|
+
if (current !== null && file.owned && !current.startsWith("// Generated by `mantle generate`")) {
|
|
73
|
+
throw new Error(`Generated output would replace a user-owned file: ${path}`);
|
|
74
|
+
}
|
|
75
|
+
if (current === null || (file.owned && current !== file.content))
|
|
76
|
+
writes.push(file);
|
|
77
|
+
}
|
|
78
|
+
const migration = await prepareMigration(root, dbName, schemas, has("admin"), check, reviewUniqueIndexes);
|
|
79
|
+
const ignorePath = join(root, ".gitignore");
|
|
80
|
+
const ignored = await optional(ignorePath);
|
|
81
|
+
const ignoreMissing = !ignored?.split(/\r?\n/).includes(".dev.vars");
|
|
82
|
+
return {
|
|
83
|
+
stale: writes.length > 0 || migration.stale || ignoreMissing,
|
|
84
|
+
report: migration.report,
|
|
85
|
+
commit: async () => {
|
|
86
|
+
for (const file of writes) {
|
|
87
|
+
const path = resolve(root, file.path);
|
|
88
|
+
await mkdir(dirname(path), { recursive: true });
|
|
89
|
+
await writeFile(path, file.content, { flag: file.owned ? "w" : "wx" });
|
|
90
|
+
}
|
|
91
|
+
if (ignoreMissing) {
|
|
92
|
+
await assertInsideProject(root, ignorePath);
|
|
93
|
+
if (ignored === null)
|
|
94
|
+
await writeFile(ignorePath, "node_modules/\ndist/\n.wrangler/\n.dev.vars\n", { flag: "wx" });
|
|
95
|
+
else
|
|
96
|
+
await appendFile(ignorePath, `${ignored.endsWith("\n") ? "" : "\n"}.dev.vars\n`);
|
|
97
|
+
}
|
|
98
|
+
await migration.commit();
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
async function prepareMigration(root, dbName, schemas, admin, check, reviewUniqueIndexes) {
|
|
103
|
+
const statePath = join(root, "drizzle/meta/mantle-state.json");
|
|
104
|
+
const fingerprintPath = join(root, "src/storage-fingerprint.json");
|
|
105
|
+
const journalPath = join(root, "drizzle/meta/_journal.json");
|
|
106
|
+
for (const path of [statePath, fingerprintPath, journalPath])
|
|
107
|
+
await assertInsideProject(root, path);
|
|
108
|
+
const current = await optional(statePath);
|
|
109
|
+
const state = current ? JSON.parse(current) : null;
|
|
110
|
+
const artifact = await buildSqliteMigrationArtifact(state?.schemas ?? [], schemas, {
|
|
111
|
+
appliedMigrationIds: state?.appliedMigrationIds, reviewUniqueIndexes,
|
|
112
|
+
});
|
|
113
|
+
if (state && artifact.sourceFingerprint !== state.fingerprint)
|
|
114
|
+
throw new Error("Saved migration source fingerprint is invalid.");
|
|
115
|
+
if (artifact.destructive)
|
|
116
|
+
throw new Error("Destructive Schema change requires a reviewed migration; only unique-index tuple replacement supports --review-unique-indexes. No file was written.");
|
|
117
|
+
const fingerprint = await optional(fingerprintPath);
|
|
118
|
+
const fingerprintDrift = Boolean(state && fingerprint !== `${JSON.stringify(state.fingerprint)}\n`);
|
|
119
|
+
const changed = !state || artifact.migrations.length > 0 || artifact.sourceFingerprint !== artifact.targetFingerprint;
|
|
120
|
+
if (!changed)
|
|
121
|
+
return { stale: fingerprintDrift, report: undefined, commit: async () => {
|
|
122
|
+
if (fingerprintDrift && !check)
|
|
123
|
+
await writeFile(fingerprintPath, `${JSON.stringify(state.fingerprint)}\n`);
|
|
124
|
+
} };
|
|
125
|
+
if (fingerprintDrift)
|
|
126
|
+
throw new Error("Generated fingerprint and migration source disagree; finish or restore the pending migration first.");
|
|
127
|
+
const index = (state?.lastIndex ?? -1) + 1;
|
|
128
|
+
const tag = `${String(index).padStart(4, "0")}_mantle`;
|
|
129
|
+
const sqlPath = join(root, "drizzle", `${tag}.sql`);
|
|
130
|
+
const reviewPath = join(root, "drizzle/meta", `${tag}.review.json`);
|
|
131
|
+
const journalText = await optional(journalPath);
|
|
132
|
+
const journal = journalText ? JSON.parse(journalText) : null;
|
|
133
|
+
for (const path of [statePath, fingerprintPath, sqlPath, journalPath, reviewPath])
|
|
134
|
+
await assertInsideProject(root, path);
|
|
135
|
+
const sql = `${!state && admin ? `CREATE TABLE sites_users (id TEXT PRIMARY KEY NOT NULL, email TEXT NOT NULL UNIQUE, name TEXT NOT NULL, role TEXT CHECK (role IN ('owner','editor','contributor') OR role IS NULL), signed_in INTEGER NOT NULL DEFAULT 0, created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')));\n--> statement-breakpoint\n` : ""}${renderSqliteManagedMigration(artifact, state ? { canonicalVersion: state.canonicalVersion } : undefined)}`;
|
|
136
|
+
const existingSql = await optional(sqlPath);
|
|
137
|
+
if (existingSql !== null && existingSql !== sql)
|
|
138
|
+
throw new Error(`Migration file already exists with different SQL: ${sqlPath}`);
|
|
139
|
+
const reviewContent = artifact.reviewedUniqueIndexes?.length ? `${JSON.stringify({
|
|
140
|
+
sourceFingerprint: artifact.sourceFingerprint, targetFingerprint: artifact.targetFingerprint,
|
|
141
|
+
checksum: artifact.checksum, changes: artifact.reviewedUniqueIndexes,
|
|
142
|
+
steps: artifact.migrations.map(({ id, description, sql }) => ({ id, description, sql })),
|
|
143
|
+
rollback: "Old Worker activation is unsupported after this uniqueness change.",
|
|
144
|
+
}, null, 2)}\n` : null;
|
|
145
|
+
const existingReview = await optional(reviewPath);
|
|
146
|
+
if (existingReview !== null && existingReview !== reviewContent)
|
|
147
|
+
throw new Error(`Reviewed migration report already exists with different content: ${reviewPath}`);
|
|
148
|
+
const last = journal?.entries?.at(-1);
|
|
149
|
+
const journalAhead = last?.idx === index && last.tag === tag && existingSql === sql;
|
|
150
|
+
if (state && !journalAhead && last?.idx !== state.lastIndex)
|
|
151
|
+
throw new Error("Sites migration journal does not match saved state.");
|
|
152
|
+
if (!state && journalText !== null && !journalAhead)
|
|
153
|
+
throw new Error("Existing D1 migration journal conflicts with initial Mantle migration state.");
|
|
154
|
+
const migrationFiles = await readdir(join(root, "drizzle")).catch((error) => {
|
|
155
|
+
if (error.code === "ENOENT")
|
|
156
|
+
return [];
|
|
157
|
+
throw error;
|
|
158
|
+
});
|
|
159
|
+
if (!state && migrationFiles.some(file => file.endsWith(".sql") && file !== `${tag}.sql`))
|
|
160
|
+
throw new Error("Existing D1 migrations conflict with initial Mantle migration state.");
|
|
161
|
+
if (artifact.reviewedUniqueIndexes?.length) {
|
|
162
|
+
if (!state)
|
|
163
|
+
throw new Error("Reviewed unique-index replacement requires an existing managed Schema.");
|
|
164
|
+
await verifyLocalD1(root, dbName, state, existingSql === sql ? {
|
|
165
|
+
...state, fingerprint: artifact.targetFingerprint, canonicalVersion: artifact.targetCanonicalVersion,
|
|
166
|
+
} : undefined);
|
|
167
|
+
for (const change of artifact.reviewedUniqueIndexes) {
|
|
168
|
+
const schema = schemas.find(item => item.metadata.name === change.schema);
|
|
169
|
+
for (const fields of change.added) {
|
|
170
|
+
const columns = fields.map(field => quoteIdent(fieldColumn(schema, field)));
|
|
171
|
+
const group = `SELECT ${columns.join(", ")}, COUNT(*) AS copies FROM ${quoteIdent(change.schema)} WHERE ${columns.map(column => `${column} IS NOT NULL`).join(" AND ")} GROUP BY ${columns.join(", ")} HAVING COUNT(*) > 1`;
|
|
172
|
+
const conflicts = queryLocalD1(root, dbName, `SELECT COUNT(*) AS groups FROM (${group})`)[0];
|
|
173
|
+
if (conflicts?.groups) {
|
|
174
|
+
const sample = queryLocalD1(root, dbName, `${group} LIMIT 3`);
|
|
175
|
+
throw new Error(`UNIQUE_INDEX_CONFLICT: ${change.schema} (${fields.join(", ")}) has ${conflicts.groups} duplicate group(s); sample ${JSON.stringify(sample)}. No migration was written.`);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
const nextState = { fingerprint: artifact.targetFingerprint, canonicalVersion: artifact.targetCanonicalVersion, schemas,
|
|
181
|
+
appliedMigrationIds: [...new Set([...(state?.appliedMigrationIds ?? []), ...artifact.migrations.map(({ id }) => id)])], lastIndex: index };
|
|
182
|
+
const nextJournal = { version: "7", dialect: "sqlite", entries: [...(journal?.entries ?? []), {
|
|
183
|
+
idx: index, version: "6", when: Date.now(), tag, breakpoints: true,
|
|
184
|
+
}] };
|
|
185
|
+
return {
|
|
186
|
+
stale: true,
|
|
187
|
+
report: artifact.reviewedUniqueIndexes?.length ? `Reviewed unique-index plan: ${JSON.stringify({ source: artifact.sourceFingerprint, target: artifact.targetFingerprint, checksum: artifact.checksum, changes: artifact.reviewedUniqueIndexes, sql: relative(root, sqlPath), rollback: "Old Worker activation is unsupported after this uniqueness change." })}` : undefined,
|
|
188
|
+
commit: async () => {
|
|
189
|
+
if (check)
|
|
190
|
+
return;
|
|
191
|
+
if (state)
|
|
192
|
+
await verifyLocalD1(root, dbName, state, existingSql === sql ? nextState : undefined);
|
|
193
|
+
await mkdir(dirname(sqlPath), { recursive: true });
|
|
194
|
+
await mkdir(dirname(journalPath), { recursive: true });
|
|
195
|
+
await mkdir(dirname(fingerprintPath), { recursive: true });
|
|
196
|
+
if (existingSql === null)
|
|
197
|
+
await writeFile(sqlPath, sql, { flag: "wx" });
|
|
198
|
+
if (reviewContent !== null && existingReview === null)
|
|
199
|
+
await writeFile(reviewPath, reviewContent, { flag: "wx" });
|
|
200
|
+
if (!journalAhead)
|
|
201
|
+
await writeFile(journalPath, `${JSON.stringify(nextJournal)}\n`, { flag: journalText === null ? "wx" : "w" });
|
|
202
|
+
await writeFile(statePath, `${JSON.stringify(nextState, null, 2)}\n`);
|
|
203
|
+
await writeFile(fingerprintPath, `${JSON.stringify(artifact.targetFingerprint)}\n`);
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
async function verifyLocalD1(root, dbName, state, appliedNext) {
|
|
208
|
+
const wrangler = join(root, "node_modules/wrangler/bin/wrangler.js");
|
|
209
|
+
await access(wrangler).catch(() => { throw new Error("Install the generated project dependencies before verifying local D1 migrations."); });
|
|
210
|
+
const query = (sql) => queryLocalD1(root, dbName, sql);
|
|
211
|
+
const active = query("SELECT fingerprint FROM _mantle_storage_state WHERE id=1")[0];
|
|
212
|
+
const expected = active?.fingerprint === state.fingerprint ? state :
|
|
213
|
+
active?.fingerprint === appliedNext?.fingerprint ? appliedNext : null;
|
|
214
|
+
if (!expected)
|
|
215
|
+
throw new Error("Local D1 has a pending migration. Apply it before generating another migration.");
|
|
216
|
+
const table = query("SELECT name FROM sqlite_schema WHERE type='table' AND name='_mantle_managed_runtime_state'")[0];
|
|
217
|
+
const version = table ? query("SELECT canonical_version FROM _mantle_managed_runtime_state WHERE id=1")[0]?.canonical_version : undefined;
|
|
218
|
+
if (version !== expected.canonicalVersion)
|
|
219
|
+
throw new Error("Local D1 runtime version does not match the applied migration state.");
|
|
220
|
+
}
|
|
221
|
+
function queryLocalD1(root, dbName, sql) {
|
|
222
|
+
const output = execFileSync(process.execPath, [join(root, "node_modules/wrangler/bin/wrangler.js"), "d1", "execute", dbName, "--local", "--command", sql, "--json"], { cwd: root, encoding: "utf8" });
|
|
223
|
+
return JSON.parse(output)[0]?.results ?? [];
|
|
224
|
+
}
|
|
225
|
+
async function optional(path) {
|
|
226
|
+
return readFile(path, "utf8").catch((error) => {
|
|
227
|
+
if (error.code === "ENOENT")
|
|
228
|
+
return null;
|
|
229
|
+
throw error;
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
async function template(name) {
|
|
233
|
+
return readFile(new URL(`../../templates/chatgpt-sites/${name}`, import.meta.url), "utf8");
|
|
234
|
+
}
|
|
235
|
+
function importPath(from, to) {
|
|
236
|
+
const path = relative(dirname(from), to).split(sep).join("/").replace(/\.ts$/, ".js");
|
|
237
|
+
return path.startsWith(".") ? path : `./${path}`;
|
|
238
|
+
}
|
|
239
|
+
function workerSource(root, worker, selection) {
|
|
240
|
+
const has = (feature) => selection.features.includes(feature);
|
|
241
|
+
const from = (path) => importPath(worker, join(root, path));
|
|
242
|
+
const admin = has("admin");
|
|
243
|
+
const mcp = has("mcp");
|
|
244
|
+
return `// Generated by \`mantle generate\`. Edit src/home.ts and src/handlers.ts instead.\n` +
|
|
245
|
+
`import { Hono } from "hono";\n` +
|
|
246
|
+
`import { bootMantleRuntime, SqliteMantleStorageAdapter${has("api") ? ", createMantleRequestHandler" : ""}, type MantleRuntime } from "@aotter/mantle/runtime";\n` +
|
|
247
|
+
`import { D1DatabaseDriver${admin ? ", AssetsAssetServer" : ""} } from "@aotter/mantle/cloudflare";\n` +
|
|
248
|
+
(admin ? `import { mountMantleAdmin, type MantleAdminRuntime } from "@aotter/mantle/admin";\n` : "") +
|
|
249
|
+
`import { plan } from "./mantle.js";\n` +
|
|
250
|
+
`import { handlers } from "${from("src/handlers.ts")}";\n` +
|
|
251
|
+
`import fingerprint from "${from("src/storage-fingerprint.json")}";\n` +
|
|
252
|
+
(has("web") ? `import { home } from "${from("src/home.ts")}";\n` : "") +
|
|
253
|
+
(admin ? `import { createChatGPTAuth, type Env } from "${from("src/sites-auth.ts")}";\n` :
|
|
254
|
+
mcp ? `import type { Env } from "${from("src/sites-env.ts")}";\n` : `interface Env { DB: D1Database; PUBLIC_ORIGIN: string; ASSETS?: Fetcher }\n`) +
|
|
255
|
+
(mcp ? `import { ${admin ? "mountMcp" : "mountPublicMcp"} } from "${from("src/sites-mcp.ts")}";\n` : "") +
|
|
256
|
+
`\nfunction assemble(env: Env) {\n` +
|
|
257
|
+
` if (!env.PUBLIC_ORIGIN) throw new Error("Set PUBLIC_ORIGIN to the exact Sites origin.");\n` +
|
|
258
|
+
(admin ? ` if (!env.ASSETS) throw new Error("Sites Admin requires the ASSETS binding.");\n const auth = createChatGPTAuth(env);\n` : "") +
|
|
259
|
+
` let runtime: Promise<${admin ? "MantleAdminRuntime" : "MantleRuntime"}> | undefined;\n` +
|
|
260
|
+
` const get = () => runtime ??= bootMantleRuntime({\n plan, handlers,\n storage: new SqliteMantleStorageAdapter(new D1DatabaseDriver(env.DB), { brand: "Mantle", title: "Mantle", origin: env.PUBLIC_ORIGIN }, { managedStorageFingerprint: fingerprint }),\n })` +
|
|
261
|
+
(admin ? `.then(value => {\n if (!value.siteConfig || !value.updateSiteSettings) throw new Error("Admin storage unavailable.");\n return value as MantleAdminRuntime;\n })` : "") +
|
|
262
|
+
`.catch(error => { runtime = undefined; throw error; });\n` +
|
|
263
|
+
` const app = new Hono<{ Bindings: Env }>();\n` +
|
|
264
|
+
` app.use("*", async (c, next) => { await next(); if (!c.res.headers.has("Cache-Control")) c.header("Cache-Control", "private, no-store"); c.header("X-Content-Type-Options", "nosniff"); });\n` +
|
|
265
|
+
(has("web") ? ` app.get("/", () => home());\n` : "") +
|
|
266
|
+
` app.get("/health", async () => { await get(); return Response.json({ ok: true, storage: "D1", auth: "ChatGPT Sites" }); });\n` +
|
|
267
|
+
(mcp ? ` ${admin ? "mountMcp(app, get, auth, plan)" : "mountPublicMcp(app, get, plan)"};\n` : "") +
|
|
268
|
+
(admin ? ` app.get("/admin/sign-in", async c => {\n if (c.req.header("cookie")?.split(";").some(value => value.trim() === "mantle-sites-signout=1")) {\n c.header("Set-Cookie", "mantle-sites-signout=; Path=/admin/sign-in; HttpOnly; SameSite=Strict; Max-Age=0" + (env.PUBLIC_ORIGIN.startsWith("https:") ? "; Secure" : ""));\n return c.redirect("/signout-with-chatgpt?return_to=%2F");\n }\n return c.redirect(await auth.getSession(c.req.raw) ? "/admin" : "/signin-with-chatgpt?return_to=%2Fadmin");\n });\n app.use("/admin/*", async (c, next) => {\n if (!c.req.path.startsWith("/admin/api/") && !await auth.getSession(c.req.raw)) return c.redirect("/signin-with-chatgpt?return_to=%2Fadmin");\n await next();\n });\n mountMantleAdmin(app, { plan, auth, get, assets: new AssetsAssetServer(env.ASSETS), mcpEndpoints: { public: "/api/mcp", staff: "/api/mcp/staff" }, requestContext: c => ({ env: c.env, waitUntil: promise => c.executionCtx.waitUntil(promise) }) });\n app.get("/_mantle/*", c => env.ASSETS!.fetch(c.req.raw));\n` : "") +
|
|
269
|
+
(has("api") ? ` const api = createMantleRequestHandler({ plan, getRuntime: get });\n app.use("*", async (c, next) => {\n const response = await api(c.req.raw, { user: null, staff: null, env: c.env, waitUntil: promise => c.executionCtx.waitUntil(promise) });\n if (response) return response;\n await next();\n });\n` : "") +
|
|
270
|
+
` app.onError(error => { console.error("Mantle request failed", error); return Response.json({ error: "internal_error" }, { status: 500, headers: { "Cache-Control": "private, no-store" } }); });\n` +
|
|
271
|
+
` return app;\n}\n\nlet app: ReturnType<typeof assemble> | undefined;\nexport default { fetch(request: Request, env: Env, ctx: ExecutionContext) { return (app ??= assemble(env)).fetch(request, env, ctx); } };\n`;
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=generate-sites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-sites.js","sourceRoot":"","sources":["../../src/cli/generate-sites.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAwBA,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;AASD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,MAAM,CAAC,CA8HjB;AAwDD,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK;2CA3GZ,CAAC;mEAM+D,CAAC;CAqGzB,GAAG,IAAI,CAmBzG;AAiBD,2EAA2E;AAC3E,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK;2CAhJF,CAAC;mEAM+D,CAAC;CA0InC,GAAG,IAAI,CAa/F"}
|
package/dist/cli/generate.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import { mkdir, readFile, readdir, rm, writeFile } from "node:fs/promises";
|
|
3
3
|
import { dirname, join, resolve } from "node:path";
|
|
4
|
+
import { createRequire } from "node:module";
|
|
4
5
|
import { cwd, stderr, stdout } from "node:process";
|
|
5
6
|
import { fileURLToPath } from "node:url";
|
|
6
7
|
import { parseArgs } from "node:util";
|
|
7
|
-
import { ValidateManifestsUseCase } from "@aotter/mantle-spec";
|
|
8
|
+
import { parseManifestSources, ValidateManifestsUseCase } from "@aotter/mantle-spec";
|
|
8
9
|
import { loadManifestsFromRoot } from "@aotter/mantle-spec/cli";
|
|
9
10
|
import { assertMantleNamespace, emitMantleModule } from "../codegen/emitMantleModule.js";
|
|
11
|
+
import { prepareProject } from "./generate-project.js";
|
|
12
|
+
import { prepareSites } from "./generate-sites.js";
|
|
10
13
|
/**
|
|
11
14
|
* Locate the optional Admin SPA. A Core-only install does not have
|
|
12
15
|
* `@aotter/mantle-admin-ui`, so resolution failure is not an error.
|
|
@@ -20,6 +23,15 @@ export function resolveAdminUiIndexHtml() {
|
|
|
20
23
|
return null;
|
|
21
24
|
}
|
|
22
25
|
}
|
|
26
|
+
function resolveProjectAdminUiIndexHtml(root) {
|
|
27
|
+
try {
|
|
28
|
+
const path = createRequire(join(root, "package.json")).resolve("@aotter/mantle-admin-ui/index.html");
|
|
29
|
+
return existsSync(path) ? path : null;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
23
35
|
export async function runGenerate(rawArgs, deps = {}) {
|
|
24
36
|
let options;
|
|
25
37
|
try {
|
|
@@ -34,7 +46,42 @@ export async function runGenerate(rawArgs, deps = {}) {
|
|
|
34
46
|
stderr.write(`${message(error)}\n`);
|
|
35
47
|
return 2;
|
|
36
48
|
}
|
|
37
|
-
const
|
|
49
|
+
const root = cwd();
|
|
50
|
+
let loaded = await loadManifestsFromRoot(options.manifests);
|
|
51
|
+
if (loaded.parseErrors.some((diagnostic) => diagnostic.code !== "MANIFEST_ROOT_NOT_FOUND") ||
|
|
52
|
+
(options.manifestsExplicit && loaded.parseErrors.length > 0)) {
|
|
53
|
+
printDiagnostics(loaded.parseErrors);
|
|
54
|
+
return 1;
|
|
55
|
+
}
|
|
56
|
+
let project;
|
|
57
|
+
try {
|
|
58
|
+
project = await prepareProject({
|
|
59
|
+
root, host: options.host, features: options.features, check: options.check, output: options.output,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
stderr.write(`${message(error)}\n`);
|
|
64
|
+
return 2;
|
|
65
|
+
}
|
|
66
|
+
if (project.mode === "project" && !options.manifestsExplicit && loaded.parseErrors.length === 1 &&
|
|
67
|
+
loaded.parseErrors[0]?.code === "MANIFEST_ROOT_NOT_FOUND") {
|
|
68
|
+
let names;
|
|
69
|
+
try {
|
|
70
|
+
names = await readdir(resolve(root, options.manifests));
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
if (error.code !== "ENOENT") {
|
|
74
|
+
printDiagnostics(loaded.parseErrors);
|
|
75
|
+
return 1;
|
|
76
|
+
}
|
|
77
|
+
names = [];
|
|
78
|
+
}
|
|
79
|
+
if (!names.some((name) => /\.ya?ml$/i.test(name))) {
|
|
80
|
+
const empty = parseManifestSources({ sources: [] });
|
|
81
|
+
if (empty.ok)
|
|
82
|
+
loaded = { parsed: empty.value, parseErrors: [], root: loaded.root };
|
|
83
|
+
}
|
|
84
|
+
}
|
|
38
85
|
const validation = loaded.parsed
|
|
39
86
|
? ValidateManifestsUseCase.run({ parsed: loaded.parsed })
|
|
40
87
|
: { diagnostics: [], errorCount: 0, warningCount: 0 };
|
|
@@ -44,6 +91,13 @@ export async function runGenerate(rawArgs, deps = {}) {
|
|
|
44
91
|
printDiagnostics(validationErrors);
|
|
45
92
|
return 1;
|
|
46
93
|
}
|
|
94
|
+
if (project.mode === "project" && project.selection?.host !== "cf") {
|
|
95
|
+
const schedule = loaded.parsed.entries.find((entry) => entry.manifest.kind === "Trigger" && entry.manifest.spec.source.kind === "schedule");
|
|
96
|
+
if (schedule) {
|
|
97
|
+
stderr.write(`RESOURCE_UNAVAILABLE: Trigger '${schedule.manifest.metadata.name}' requires host 'cf'; '${project.selection?.host ?? "none"}' does not register Cron Triggers.\n`);
|
|
98
|
+
return 1;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
47
101
|
const emitted = emitMantleModule({
|
|
48
102
|
linked: validation.linked,
|
|
49
103
|
namespace: options.namespace,
|
|
@@ -52,9 +106,46 @@ export async function runGenerate(rawArgs, deps = {}) {
|
|
|
52
106
|
printDiagnostics(emitted.diagnostics);
|
|
53
107
|
return 1;
|
|
54
108
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
109
|
+
let sites = null;
|
|
110
|
+
if (options.reviewUniqueIndexes && project.selection?.host !== "chatgpt-sites") {
|
|
111
|
+
stderr.write("--review-unique-indexes requires a managed ChatGPT Sites project.\n");
|
|
112
|
+
return 2;
|
|
113
|
+
}
|
|
114
|
+
if (project.mode === "project" && project.selection?.host === "chatgpt-sites") {
|
|
115
|
+
try {
|
|
116
|
+
sites = await prepareSites(root, project.selection.output ?? options.output, project.selection, loaded.parsed.entries.filter((entry) => entry.manifest.kind === "Schema").map((entry) => entry.manifest), options.check, options.reviewUniqueIndexes);
|
|
117
|
+
if (sites.report)
|
|
118
|
+
stdout.write(`${sites.report}\n`);
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
stderr.write(`${message(error)}\n`);
|
|
122
|
+
return 2;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
const adminIndex = project.mode === "legacy" || project.selection?.features.includes("admin")
|
|
126
|
+
? (deps.resolveAdminUiIndexHtml ?? (project.mode === "legacy" ? resolveAdminUiIndexHtml : () => resolveProjectAdminUiIndexHtml(root)))()
|
|
127
|
+
: null;
|
|
128
|
+
const adminUnavailable = project.selection?.features.includes("admin") && adminIndex === null;
|
|
129
|
+
if (adminUnavailable) {
|
|
130
|
+
stderr.write("Selected Admin UI is not installed or its assets are missing. Install declared packages and rerun mantle generate.\n");
|
|
131
|
+
if (!options.check && !project.incomplete)
|
|
132
|
+
return 1;
|
|
133
|
+
}
|
|
134
|
+
if (!options.check && project.commit) {
|
|
135
|
+
try {
|
|
136
|
+
await project.commit();
|
|
137
|
+
await sites?.commit();
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
stderr.write(`${message(error)}\n`);
|
|
141
|
+
return 2;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (project.incomplete && !options.check)
|
|
145
|
+
return 1;
|
|
146
|
+
const output = resolve(cwd(), project.selection?.output ?? options.output);
|
|
147
|
+
const generatedCurrent = await syncText(join(output, "mantle.ts"), emitted.source, options.check);
|
|
148
|
+
let stale = project.incomplete || adminUnavailable || !generatedCurrent || Boolean(sites?.stale);
|
|
58
149
|
if (adminIndex !== null) {
|
|
59
150
|
const adminSource = dirname(adminIndex);
|
|
60
151
|
const adminTarget = resolve(cwd(), "public/_mantle/admin");
|
|
@@ -66,6 +157,15 @@ export async function runGenerate(rawArgs, deps = {}) {
|
|
|
66
157
|
stderr.write("Mantle generated files are stale; run `mantle generate`.\n");
|
|
67
158
|
return 1;
|
|
68
159
|
}
|
|
160
|
+
if (project.mode === "project") {
|
|
161
|
+
if (!options.check)
|
|
162
|
+
stdout.write(project.selection?.host === "cf"
|
|
163
|
+
? "Generated Cloudflare Worker composition and typed bindings.\n"
|
|
164
|
+
: project.selection?.host === "chatgpt-sites"
|
|
165
|
+
? "Generated ChatGPT Sites composition and typed bindings. Apply reviewed local D1 migrations before serving.\n"
|
|
166
|
+
: "Generated host-free Spec bindings.\n");
|
|
167
|
+
return 0;
|
|
168
|
+
}
|
|
69
169
|
if (!options.check)
|
|
70
170
|
printGenerateNextSteps(adminIndex !== null);
|
|
71
171
|
return 0;
|
|
@@ -77,6 +177,9 @@ function parseGenerateArgs(rawArgs) {
|
|
|
77
177
|
manifests: { type: "string" },
|
|
78
178
|
output: { type: "string", short: "o" },
|
|
79
179
|
namespace: { type: "string" },
|
|
180
|
+
host: { type: "string" },
|
|
181
|
+
features: { type: "string" },
|
|
182
|
+
"review-unique-indexes": { type: "boolean" },
|
|
80
183
|
check: { type: "boolean" },
|
|
81
184
|
help: { type: "boolean", short: "h" },
|
|
82
185
|
},
|
|
@@ -90,22 +193,30 @@ function parseGenerateArgs(rawArgs) {
|
|
|
90
193
|
output: values.output ?? ".mantle/generated",
|
|
91
194
|
namespace,
|
|
92
195
|
check: values.check === true,
|
|
196
|
+
host: values.host,
|
|
197
|
+
features: values.features,
|
|
198
|
+
reviewUniqueIndexes: values["review-unique-indexes"] === true,
|
|
199
|
+
manifestsExplicit: values.manifests !== undefined,
|
|
93
200
|
};
|
|
94
201
|
}
|
|
95
202
|
function printHelp() {
|
|
96
|
-
stdout.write(`mantle generate — compile manifests
|
|
203
|
+
stdout.write(`mantle generate — compile manifests and assemble selected application features
|
|
97
204
|
|
|
98
205
|
Usage: mantle generate [options]
|
|
99
206
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
207
|
+
For a new application, the default selects Spec, Runtime, API, MCP, Admin and Web.
|
|
208
|
+
Select a host with --host cf or --host chatgpt-sites. --features replaces the
|
|
209
|
+
default with a positive list; required feature dependencies are added.
|
|
210
|
+
Existing authored applications retain their direct-authoring compile mode.
|
|
103
211
|
|
|
104
212
|
Options:
|
|
105
213
|
--manifests <dir> Manifest directory (default: ./manifests)
|
|
106
214
|
-o, --output <dir> Generated root (default: .mantle/generated)
|
|
107
215
|
--namespace <name> Generated type namespace (default: Mantle)
|
|
108
|
-
--
|
|
216
|
+
--host <name> cf or chatgpt-sites (required for host-dependent features)
|
|
217
|
+
--features <list> Comma-separated: spec,runtime,api,mcp,admin,web
|
|
218
|
+
--review-unique-indexes Plan a reviewed Sites unique-index tuple replacement
|
|
219
|
+
--check Check selection, dependencies and output without writing
|
|
109
220
|
-h, --help This help
|
|
110
221
|
|
|
111
222
|
Documentation:
|
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
|
|
2
|
+
export declare const MANTLE_OVERVIEW = "mantle \u2014 compile manifests and assemble selected application features\n\nOverview\n New applications default to Spec, Runtime, API, MCP, Admin, and a blank Web\n home. Pass --host cf or --host chatgpt-sites, or use --features for a smaller\n positive selection. Existing authored applications keep compile-only mode.\n\n Host-free \u2014 Spec only\n mantle generate --features spec compiles a sealed plan and typed binding\n without Runtime, Admin, visitor UI, or a host.\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 Selected Admin / Dev UI\n New full applications include the prebuilt UI. Reduced applications can\n omit it; selected packages must be installed before generation completes.\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 Start: node_modules/@aotter/mantle/docs/handbook/start/overview.md\n Features: node_modules/@aotter/mantle/docs/handbook/reference/features.md\n Admin UI: node_modules/@aotter/mantle/docs/handbook/guides/admin-ui.md\n Online: https://mantle.tools/\n Install skill: npx skills add aotter/mantle\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,05DA0C3B,CAAC"}
|