@micropage-sh/mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -0
  3. package/dist/annotations.d.ts +20 -0
  4. package/dist/annotations.js +36 -0
  5. package/dist/annotations.js.map +1 -0
  6. package/dist/client/assets.d.ts +85 -0
  7. package/dist/client/assets.js +473 -0
  8. package/dist/client/assets.js.map +1 -0
  9. package/dist/client/auth-provider.d.ts +24 -0
  10. package/dist/client/auth-provider.js +10 -0
  11. package/dist/client/auth-provider.js.map +1 -0
  12. package/dist/client/builds.d.ts +82 -0
  13. package/dist/client/builds.js +166 -0
  14. package/dist/client/builds.js.map +1 -0
  15. package/dist/client/config.d.ts +18 -0
  16. package/dist/client/config.js +29 -0
  17. package/dist/client/config.js.map +1 -0
  18. package/dist/client/deploy-events.d.ts +98 -0
  19. package/dist/client/deploy-events.js +170 -0
  20. package/dist/client/deploy-events.js.map +1 -0
  21. package/dist/client/deploy-token.d.ts +48 -0
  22. package/dist/client/deploy-token.js +130 -0
  23. package/dist/client/deploy-token.js.map +1 -0
  24. package/dist/client/errors.d.ts +18 -0
  25. package/dist/client/errors.js +21 -0
  26. package/dist/client/errors.js.map +1 -0
  27. package/dist/client/http.d.ts +68 -0
  28. package/dist/client/http.js +191 -0
  29. package/dist/client/http.js.map +1 -0
  30. package/dist/client/jwt.d.ts +13 -0
  31. package/dist/client/jwt.js +23 -0
  32. package/dist/client/jwt.js.map +1 -0
  33. package/dist/client/lock.d.ts +16 -0
  34. package/dist/client/lock.js +67 -0
  35. package/dist/client/lock.js.map +1 -0
  36. package/dist/client/pages.d.ts +47 -0
  37. package/dist/client/pages.js +131 -0
  38. package/dist/client/pages.js.map +1 -0
  39. package/dist/client/posts.d.ts +108 -0
  40. package/dist/client/posts.js +187 -0
  41. package/dist/client/posts.js.map +1 -0
  42. package/dist/client/project-ref.d.ts +68 -0
  43. package/dist/client/project-ref.js +118 -0
  44. package/dist/client/project-ref.js.map +1 -0
  45. package/dist/client/session-store.d.ts +81 -0
  46. package/dist/client/session-store.js +271 -0
  47. package/dist/client/session-store.js.map +1 -0
  48. package/dist/client/submissions.d.ts +59 -0
  49. package/dist/client/submissions.js +111 -0
  50. package/dist/client/submissions.js.map +1 -0
  51. package/dist/client/tier.d.ts +42 -0
  52. package/dist/client/tier.js +76 -0
  53. package/dist/client/tier.js.map +1 -0
  54. package/dist/content/index.d.ts +5 -0
  55. package/dist/content/index.js +28 -0
  56. package/dist/content/index.js.map +1 -0
  57. package/dist/context.d.ts +30 -0
  58. package/dist/context.js +2 -0
  59. package/dist/context.js.map +1 -0
  60. package/dist/guards.d.ts +55 -0
  61. package/dist/guards.js +168 -0
  62. package/dist/guards.js.map +1 -0
  63. package/dist/index.d.ts +2 -0
  64. package/dist/index.js +16 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/progress.d.ts +7 -0
  67. package/dist/progress.js +25 -0
  68. package/dist/progress.js.map +1 -0
  69. package/dist/reference/prompts.d.ts +6 -0
  70. package/dist/reference/prompts.js +110 -0
  71. package/dist/reference/prompts.js.map +1 -0
  72. package/dist/reference/resources.d.ts +2 -0
  73. package/dist/reference/resources.js +41 -0
  74. package/dist/reference/resources.js.map +1 -0
  75. package/dist/reference/tool.d.ts +21 -0
  76. package/dist/reference/tool.js +50 -0
  77. package/dist/reference/tool.js.map +1 -0
  78. package/dist/reference/topics.d.ts +29 -0
  79. package/dist/reference/topics.js +91 -0
  80. package/dist/reference/topics.js.map +1 -0
  81. package/dist/reference.d.ts +9 -0
  82. package/dist/reference.js +20 -0
  83. package/dist/reference.js.map +1 -0
  84. package/dist/server.d.ts +29 -0
  85. package/dist/server.js +75 -0
  86. package/dist/server.js.map +1 -0
  87. package/dist/tools/account.d.ts +34 -0
  88. package/dist/tools/account.js +128 -0
  89. package/dist/tools/account.js.map +1 -0
  90. package/dist/tools/builds.d.ts +95 -0
  91. package/dist/tools/builds.js +403 -0
  92. package/dist/tools/builds.js.map +1 -0
  93. package/dist/tools/files.d.ts +71 -0
  94. package/dist/tools/files.js +205 -0
  95. package/dist/tools/files.js.map +1 -0
  96. package/dist/tools/forms.d.ts +59 -0
  97. package/dist/tools/forms.js +177 -0
  98. package/dist/tools/forms.js.map +1 -0
  99. package/dist/tools/posts.d.ts +191 -0
  100. package/dist/tools/posts.js +600 -0
  101. package/dist/tools/posts.js.map +1 -0
  102. package/dist/tools/projects.d.ts +201 -0
  103. package/dist/tools/projects.js +553 -0
  104. package/dist/tools/projects.js.map +1 -0
  105. package/dist/tools/shared.d.ts +33 -0
  106. package/dist/tools/shared.js +41 -0
  107. package/dist/tools/shared.js.map +1 -0
  108. package/dist/version.d.ts +2 -0
  109. package/dist/version.js +8 -0
  110. package/dist/version.js.map +1 -0
  111. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/client/assets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export type AuthMode = "session" | "deploy_token" | "none";
2
+ /**
3
+ * Where access tokens come from. Injected into Http so the same client code
4
+ * serves the stdio server (CLI session file or deploy token) and a future
5
+ * remote server (OAuth bearer per request).
6
+ */
7
+ export interface AuthProvider {
8
+ readonly mode: AuthMode;
9
+ /** Set in deploy-token mode: the only project this process may touch. */
10
+ readonly pinnedProjectUuid?: string;
11
+ /**
12
+ * A currently valid access token. With `forceRefresh` the provider must
13
+ * not return its cached token without first trying to obtain a new one;
14
+ * Http calls it that way exactly once after a 401.
15
+ */
16
+ getAccessToken(options?: {
17
+ forceRefresh?: boolean;
18
+ }): Promise<string>;
19
+ }
20
+ /** Placeholder used until a real provider is resolved: every call explains how to log in. */
21
+ export declare class NoAuthProvider implements AuthProvider {
22
+ readonly mode: "none";
23
+ getAccessToken(): Promise<string>;
24
+ }
@@ -0,0 +1,10 @@
1
+ import { MicropageError } from "./errors.js";
2
+ /** Placeholder used until a real provider is resolved: every call explains how to log in. */
3
+ export class NoAuthProvider {
4
+ mode = "none";
5
+ async getAccessToken() {
6
+ throw new MicropageError("NOT_LOGGED_IN", "Not logged in to micropage. Ask the user to run `micropage login` in a terminal " +
7
+ "(or set MICROPAGE_DEPLOY_TOKEN and MICROPAGE_DEPLOY_PROJECT), then retry.");
8
+ }
9
+ }
10
+ //# sourceMappingURL=auth-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-provider.js","sourceRoot":"","sources":["../../src/client/auth-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAqB7C,6FAA6F;AAC7F,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,MAAe,CAAC;IAEhC,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,cAAc,CACtB,eAAe,EACf,kFAAkF;YAChF,2EAA2E,CAC9E,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,82 @@
1
+ import * as z from "zod";
2
+ import type { MicropageConfig } from "./config.js";
3
+ import { type Http } from "./http.js";
4
+ /** Values of the builds.status enum that mean a publish is under way. */
5
+ export declare const IN_PROGRESS_STATUSES: ReadonlySet<string>;
6
+ /** A build in one of these states is still a working copy and may be overwritten. */
7
+ export declare const EDITABLE_STATUSES: readonly string[];
8
+ export declare const isEditable: (status: string | null | undefined) => boolean;
9
+ /**
10
+ * A publishing build older than this is treated as stuck, not in flight.
11
+ * The publisher's per-project build semaphore expires after 15 minutes, so a
12
+ * real build cannot still be running by then.
13
+ */
14
+ export declare const STALE_PUBLISHING_MS: number;
15
+ export interface BuildRow {
16
+ id: number;
17
+ number: number | null;
18
+ status: string | null;
19
+ created_at?: string | null;
20
+ updated_at: string | null;
21
+ failure_reason: string | null;
22
+ }
23
+ export declare const BUILD_ROW_COLUMNS = "id,number,status,created_at,updated_at,failure_reason";
24
+ /** The `build` / `version` input build-scoped tools take. */
25
+ export declare const BuildRefInput: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>;
26
+ export type BuildRef =
27
+ /** `id:123`: the global builds.id. */
28
+ {
29
+ kind: "id";
30
+ value: number;
31
+ }
32
+ /** `v12` or `12`: the per-project build number; a bare number falls back to an id. */
33
+ | {
34
+ kind: "number";
35
+ value: number;
36
+ idFallback: boolean;
37
+ };
38
+ export declare function parseBuildRef(input: string | number): BuildRef;
39
+ /** Finds one build of the project; a bare number matches the build number first, then the id. */
40
+ export declare function findBuild<T extends {
41
+ id: number;
42
+ number: number | null;
43
+ }>(http: Http, projectId: number, ref: BuildRef, columns?: string): Promise<T>;
44
+ export declare function getBuildById<T>(http: Http, projectId: number, buildId: number, columns: string): Promise<T | null>;
45
+ /** Same write as the CLI's setActiveBuildId. null only restores a project that had no active build. */
46
+ export declare function setActiveBuild(http: Http, projectId: number, buildId: number | null): Promise<void>;
47
+ /** A build of the project whose publish is still running, ignoring ones stuck for over STALE_PUBLISHING_MS. */
48
+ export declare function findPublishingBuild(http: Http, projectId: number, nowMs: number): Promise<BuildRow | null>;
49
+ /** Same call as the CLI's publish: sets the build to publishing and queues the publisher. */
50
+ export declare function invokePublishBuild(http: Http, projectId: number, buildId: number): Promise<void>;
51
+ export interface SaveDraftInput {
52
+ projectId: number;
53
+ activeBuildId: number | null;
54
+ /** Merged .page source (concatPages). */
55
+ text: string;
56
+ /** undefined keeps the active build's llms.txt; "" removes it; anything else replaces it. */
57
+ llmsTxt?: string | undefined;
58
+ }
59
+ export interface SaveDraftResult {
60
+ build: {
61
+ id: number;
62
+ number: number | null;
63
+ status: string | null;
64
+ };
65
+ action: "updated_draft" | "created_draft";
66
+ /** The build this one replaced as active, when a new draft was created. */
67
+ previous_active_build_id: number | null;
68
+ issues: string[];
69
+ page_count: number;
70
+ llms_txt: "kept" | "set" | "removed" | "none";
71
+ }
72
+ /**
73
+ * The editor's rule (editor/app/controllers/editor.js), not the CLI's: the
74
+ * project's active build is overwritten while it is a draft or failed;
75
+ * otherwise a new draft is inserted with the CLI's payload and made active.
76
+ *
77
+ * The publisher reads json_content when the job starts, which can be minutes
78
+ * after publish-build flipped the status, so the status is re-read right
79
+ * before the PATCH and the PATCH itself is filtered on an editable status:
80
+ * a build that started publishing in between is never overwritten.
81
+ */
82
+ export declare function saveDraft(http: Http, config: Pick<MicropageConfig, "buildCompilerUrl">, input: SaveDraftInput): Promise<SaveDraftResult>;
@@ -0,0 +1,166 @@
1
+ import * as z from "zod";
2
+ import { MicropageError } from "./errors.js";
3
+ import { eq, inList } from "./http.js";
4
+ import { collectParseIssues, countPages, injectLlmsTxt, normalizeLlmsTxt, parsePageSource, } from "./pages.js";
5
+ /** Values of the builds.status enum that mean a publish is under way. */
6
+ export const IN_PROGRESS_STATUSES = new Set(["publishing", "in_progress"]);
7
+ /** A build in one of these states is still a working copy and may be overwritten. */
8
+ export const EDITABLE_STATUSES = ["draft", "failed"];
9
+ export const isEditable = (status) => EDITABLE_STATUSES.includes(status ?? "");
10
+ /**
11
+ * A publishing build older than this is treated as stuck, not in flight.
12
+ * The publisher's per-project build semaphore expires after 15 minutes, so a
13
+ * real build cannot still be running by then.
14
+ */
15
+ export const STALE_PUBLISHING_MS = 30 * 60 * 1000;
16
+ export const BUILD_ROW_COLUMNS = "id,number,status,created_at,updated_at,failure_reason";
17
+ // ---------------------------------------------------------------------------
18
+ // Build references
19
+ // ---------------------------------------------------------------------------
20
+ /** The `build` / `version` input build-scoped tools take. */
21
+ export const BuildRefInput = z
22
+ .union([z.number().int().nonnegative(), z.string().trim().min(1).max(40)])
23
+ .describe('Which build: its number ("v12" or 12, as list_builds shows) or its id ("id:4567", as save_page returns). ' +
24
+ "A bare number is read as a build number first, then as an id.");
25
+ export function parseBuildRef(input) {
26
+ if (typeof input === "number") {
27
+ if (!Number.isSafeInteger(input) || input < 0)
28
+ throw invalidBuildRef(String(input));
29
+ return { kind: "number", value: input, idFallback: true };
30
+ }
31
+ const s = input.trim();
32
+ let m = /^id[:#\s]*(\d+)$/i.exec(s);
33
+ if (m)
34
+ return { kind: "id", value: Number(m[1]) };
35
+ m = /^v\s*(\d+)$/i.exec(s);
36
+ if (m)
37
+ return { kind: "number", value: Number(m[1]), idFallback: false };
38
+ m = /^(\d+)$/.exec(s);
39
+ if (m)
40
+ return { kind: "number", value: Number(m[1]), idFallback: true };
41
+ throw invalidBuildRef(s);
42
+ }
43
+ function invalidBuildRef(s) {
44
+ return new MicropageError("INVALID_BUILD", `"${s}" is not a build reference. Use a build number ("v12" or 12) or a build id ("id:4567"); list_builds shows both.`);
45
+ }
46
+ /** Finds one build of the project; a bare number matches the build number first, then the id. */
47
+ export async function findBuild(http, projectId, ref, columns = BUILD_ROW_COLUMNS) {
48
+ const byProject = { project_id: eq(projectId) };
49
+ let row = null;
50
+ if (ref.kind === "id") {
51
+ row = await http.selectOne("builds", { select: columns, filters: { ...byProject, id: eq(ref.value) } });
52
+ }
53
+ else {
54
+ row = await http.selectOne("builds", { select: columns, filters: { ...byProject, number: eq(ref.value) } });
55
+ if (!row && ref.idFallback) {
56
+ row = await http.selectOne("builds", { select: columns, filters: { ...byProject, id: eq(ref.value) } });
57
+ }
58
+ }
59
+ if (!row) {
60
+ const label = ref.kind === "id" ? `id ${ref.value}` : `v${ref.value}`;
61
+ throw new MicropageError("BUILD_NOT_FOUND", `This project has no build ${label}. Call list_builds to see its builds.`);
62
+ }
63
+ return row;
64
+ }
65
+ export async function getBuildById(http, projectId, buildId, columns) {
66
+ return http.selectOne("builds", { select: columns, filters: { id: eq(buildId), project_id: eq(projectId) } });
67
+ }
68
+ /** Same write as the CLI's setActiveBuildId. null only restores a project that had no active build. */
69
+ export async function setActiveBuild(http, projectId, buildId) {
70
+ const rows = await http.patch("projects", { id: eq(projectId) }, { active_build_id: buildId });
71
+ if (rows.length === 0) {
72
+ throw new MicropageError("PROJECT_NOT_FOUND", "Could not update the project's active build (project not found or not yours).");
73
+ }
74
+ }
75
+ /** A build of the project whose publish is still running, ignoring ones stuck for over STALE_PUBLISHING_MS. */
76
+ export async function findPublishingBuild(http, projectId, nowMs) {
77
+ const rows = await http.select("builds", {
78
+ select: BUILD_ROW_COLUMNS,
79
+ filters: { project_id: eq(projectId), status: inList([...IN_PROGRESS_STATUSES]) },
80
+ order: "updated_at.desc",
81
+ limit: 5,
82
+ });
83
+ return (rows.find((r) => {
84
+ const at = r.updated_at ? Date.parse(r.updated_at) : Number.NaN;
85
+ return Number.isNaN(at) || nowMs - at < STALE_PUBLISHING_MS;
86
+ }) ?? null);
87
+ }
88
+ /** Same call as the CLI's publish: sets the build to publishing and queues the publisher. */
89
+ export async function invokePublishBuild(http, projectId, buildId) {
90
+ await http.invoke("publish-build", { buildId, projectId });
91
+ }
92
+ /**
93
+ * The editor's rule (editor/app/controllers/editor.js), not the CLI's: the
94
+ * project's active build is overwritten while it is a draft or failed;
95
+ * otherwise a new draft is inserted with the CLI's payload and made active.
96
+ *
97
+ * The publisher reads json_content when the job starts, which can be minutes
98
+ * after publish-build flipped the status, so the status is re-read right
99
+ * before the PATCH and the PATCH itself is filtered on an editable status:
100
+ * a build that started publishing in between is never overwritten.
101
+ */
102
+ export async function saveDraft(http, config, input) {
103
+ const active = input.activeBuildId === null
104
+ ? null
105
+ : await getBuildById(http, input.projectId, input.activeBuildId, "id,number,status,llms_txt:json_content->site->>llms_txt");
106
+ const reuse = active !== null && isEditable(active.status);
107
+ let llms;
108
+ let llmsState;
109
+ if (input.llmsTxt === undefined) {
110
+ llms = active?.llms_txt ?? null;
111
+ llmsState = llms === null ? "none" : "kept";
112
+ }
113
+ else {
114
+ llms = normalizeLlmsTxt(input.llmsTxt);
115
+ llmsState = llms === null ? (active?.llms_txt ? "removed" : "none") : "set";
116
+ }
117
+ const parsed = await parsePageSource(http, config, {
118
+ text: input.text,
119
+ projectId: input.projectId,
120
+ buildId: reuse ? active.id : null,
121
+ });
122
+ const json = injectLlmsTxt(parsed, llms);
123
+ const issues = collectParseIssues(json);
124
+ const page_count = countPages(json);
125
+ if (reuse) {
126
+ const current = await getBuildById(http, input.projectId, active.id, "id,status");
127
+ if (!current || !isEditable(current.status))
128
+ throw draftMoved(active.number, current?.status ?? "deleted");
129
+ const rows = await http.patch("builds", { id: eq(active.id), project_id: eq(input.projectId), status: inList(EDITABLE_STATUSES) }, { raw_content: input.text, json_content: json });
130
+ const row = rows[0];
131
+ if (!row)
132
+ throw draftMoved(active.number, "no longer a draft");
133
+ return {
134
+ build: { id: row.id, number: row.number ?? active.number, status: row.status ?? current.status },
135
+ action: "updated_draft",
136
+ previous_active_build_id: null,
137
+ issues,
138
+ page_count,
139
+ llms_txt: llmsState,
140
+ };
141
+ }
142
+ const inserted = await http.insert("builds", {
143
+ project_id: input.projectId,
144
+ raw_content: input.text,
145
+ json_content: json,
146
+ status: "draft",
147
+ parser_version: "2",
148
+ });
149
+ const row = inserted[0];
150
+ if (!row)
151
+ throw new MicropageError("SAVE_FAILED", "Creating the draft build returned no row. Retry; if it persists, check list_builds.");
152
+ await setActiveBuild(http, input.projectId, row.id);
153
+ return {
154
+ build: { id: row.id, number: row.number ?? null, status: row.status ?? "draft" },
155
+ action: "created_draft",
156
+ previous_active_build_id: input.activeBuildId,
157
+ issues,
158
+ page_count,
159
+ llms_txt: llmsState,
160
+ };
161
+ }
162
+ function draftMoved(number, status) {
163
+ return new MicropageError("BUILD_STATE_CHANGED", `Draft v${number ?? "?"} changed to "${status}" while saving (a publish started), so it was not overwritten. ` +
164
+ `Nothing was saved. Call get_deploy_status to follow that publish, then call save_page again; it will create a new draft.`);
165
+ }
166
+ //# sourceMappingURL=builds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builds.js","sourceRoot":"","sources":["../../src/client/builds.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,EAAa,MAAM,WAAW,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AAEhG,qFAAqF;AACrF,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAiC,EAAW,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAEnH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAWlD,MAAM,CAAC,MAAM,iBAAiB,GAAG,uDAAuD,CAAC;AAEzF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;KACzE,QAAQ,CACP,2GAA2G;IACzG,+DAA+D,CAClE,CAAC;AAQJ,MAAM,UAAU,aAAa,CAAC,KAAsB;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACzE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACxE,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,CAAS;IAChC,OAAO,IAAI,cAAc,CACvB,eAAe,EACf,IAAI,CAAC,iHAAiH,CACvH,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAU,EACV,SAAiB,EACjB,GAAa,EACb,UAAkB,iBAAiB;IAEnC,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IAChD,IAAI,GAAG,GAAa,IAAI,CAAC;IACzB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACtB,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/G,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC3B,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACtE,MAAM,IAAI,cAAc,CAAC,iBAAiB,EAAE,6BAA6B,KAAK,uCAAuC,CAAC,CAAC;IACzH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAI,IAAU,EAAE,SAAiB,EAAE,OAAe,EAAE,OAAe;IACnG,OAAO,IAAI,CAAC,SAAS,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;AACnH,CAAC;AAED,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAU,EAAE,SAAiB,EAAE,OAAsB;IACxF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,cAAc,CAAC,mBAAmB,EAAE,+EAA+E,CAAC,CAAC;IACjI,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAU,EAAE,SAAiB,EAAE,KAAa;IACpF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAW,QAAQ,EAAE;QACjD,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE;QACjF,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IACH,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAChE,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,mBAAmB,CAAC;IAC9D,CAAC,CAAC,IAAI,IAAI,CACX,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAU,EAAE,SAAiB,EAAE,OAAe;IACrF,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7D,CAAC;AAgCD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAU,EACV,MAAiD,EACjD,KAAqB;IAErB,MAAM,MAAM,GACV,KAAK,CAAC,aAAa,KAAK,IAAI;QAC1B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,MAAM,YAAY,CAChB,IAAI,EACJ,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,aAAa,EACnB,yDAAyD,CAC1D,CAAC;IACR,MAAM,KAAK,GAAG,MAAM,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE3D,IAAI,IAAmB,CAAC;IACxB,IAAI,SAAsC,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,GAAG,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC;QAChC,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE;QACjD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;KAClC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,OAAO,GAAG,MAAM,YAAY,CAAwC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACzH,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,CAAC;QAE3G,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAC3B,QAAQ,EACR,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,EAAE,EACzF,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAChD,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG;YAAE,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC/D,OAAO;YACL,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YAChG,MAAM,EAAE,eAAe;YACvB,wBAAwB,EAAE,IAAI;YAC9B,MAAM;YACN,UAAU;YACV,QAAQ,EAAE,SAAS;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAA+D,QAAQ,EAAE;QACzG,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,WAAW,EAAE,KAAK,CAAC,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,OAAO;QACf,cAAc,EAAE,GAAG;KACpB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,cAAc,CAAC,aAAa,EAAE,qFAAqF,CAAC,CAAC;IACzI,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO;QACL,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE;QAChF,MAAM,EAAE,eAAe;QACvB,wBAAwB,EAAE,KAAK,CAAC,aAAa;QAC7C,MAAM;QACN,UAAU;QACV,QAAQ,EAAE,SAAS;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAqB,EAAE,MAAc;IACvD,OAAO,IAAI,cAAc,CACvB,qBAAqB,EACrB,UAAU,MAAM,IAAI,GAAG,gBAAgB,MAAM,iEAAiE;QAC5G,0HAA0H,CAC7H,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Endpoints the server talks to. Same defaults and the same MICROPAGE_*
3
+ * overrides as the CLI (cli/src/config.js), so a developer pointing the CLI
4
+ * at a local stack points the MCP server there with the same env.
5
+ */
6
+ export interface MicropageConfig {
7
+ supabaseUrl: string;
8
+ supabaseAnonKey: string;
9
+ appUrl: string;
10
+ buildCompilerUrl: string;
11
+ baseDomain: string;
12
+ }
13
+ export declare function loadConfig(env?: NodeJS.ProcessEnv): MicropageConfig;
14
+ /**
15
+ * Live URL for a project: the custom domain when set, else
16
+ * https://<slug>.<baseDomain>. Null when there is nothing to build one from.
17
+ */
18
+ export declare function projectUrl(config: Pick<MicropageConfig, "baseDomain">, slug: string | null | undefined, customDomain?: string | null): string | null;
@@ -0,0 +1,29 @@
1
+ // Public anon key, identical to the one the web app and CLI ship.
2
+ const DEFAULT_ANON_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InZobGlmY2RzbG5tbnZudm9ybHV1Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MjUxMTUzMTMsImV4cCI6MjA0MDY5MTMxM30.IprHOpa397Wcv5iFwa_e9hkXhhmXYZFXC4BF_qGYkkk";
3
+ export function loadConfig(env = process.env) {
4
+ return {
5
+ supabaseUrl: env.MICROPAGE_SUPABASE_URL || "https://vhlifcdslnmnvnvorluu.supabase.co",
6
+ supabaseAnonKey: env.MICROPAGE_SUPABASE_ANON_KEY || DEFAULT_ANON_KEY,
7
+ appUrl: env.MICROPAGE_APP_URL || "https://app.micropage.sh",
8
+ buildCompilerUrl: env.MICROPAGE_BUILD_COMPILER_URL ||
9
+ env.MICROPAGE_PARSER_URL ||
10
+ "https://build-compiler.micropage.sh",
11
+ baseDomain: env.MICROPAGE_BASE_DOMAIN || "micropage.sh",
12
+ };
13
+ }
14
+ /**
15
+ * Live URL for a project: the custom domain when set, else
16
+ * https://<slug>.<baseDomain>. Null when there is nothing to build one from.
17
+ */
18
+ export function projectUrl(config, slug, customDomain) {
19
+ const cd = customDomain?.trim();
20
+ if (cd)
21
+ return /^https?:\/\//.test(cd) ? cd : `https://${cd}`;
22
+ const s = slug?.trim();
23
+ if (!s)
24
+ return null;
25
+ if (/^https?:\/\//.test(s))
26
+ return s;
27
+ return `https://${s}.${config.baseDomain}`;
28
+ }
29
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/client/config.ts"],"names":[],"mappings":"AAaA,kEAAkE;AAClE,MAAM,gBAAgB,GACpB,kNAAkN,CAAC;AAErN,MAAM,UAAU,UAAU,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC7D,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,sBAAsB,IAAI,0CAA0C;QACrF,eAAe,EAAE,GAAG,CAAC,2BAA2B,IAAI,gBAAgB;QACpE,MAAM,EAAE,GAAG,CAAC,iBAAiB,IAAI,0BAA0B;QAC3D,gBAAgB,EACd,GAAG,CAAC,4BAA4B;YAChC,GAAG,CAAC,oBAAoB;YACxB,qCAAqC;QACvC,UAAU,EAAE,GAAG,CAAC,qBAAqB,IAAI,cAAc;KACxD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,MAA2C,EAC3C,IAA+B,EAC/B,YAA4B;IAE5B,MAAM,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,CAAC;IAChC,IAAI,EAAE;QAAE,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9D,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IACrC,OAAO,WAAW,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,98 @@
1
+ import { type Http } from "./http.js";
2
+ /** Same set as the CLI's stream (cli/src/supabase.js). */
3
+ export declare const TERMINAL_DEPLOY_EVENTS: ReadonlySet<string>;
4
+ /**
5
+ * The events that end a publish. archive.* events belong to the zip export,
6
+ * which runs on the same build, so they must not end a publish wait.
7
+ */
8
+ export declare const PUBLISH_TERMINAL_EVENTS: ReadonlySet<string>;
9
+ export interface DeployEventRow {
10
+ id: number;
11
+ event_type: string | null;
12
+ payload: unknown;
13
+ created_at: string | null;
14
+ }
15
+ export interface DeployEvent {
16
+ id: number;
17
+ type: string;
18
+ message: string;
19
+ created_at: string | null;
20
+ }
21
+ /** Port of the CLI's formatDeployEventForConsole, so both read the same. */
22
+ export declare function formatDeployEvent(ev: Pick<DeployEventRow, "event_type" | "payload">): string;
23
+ export declare function toDeployEvent(row: DeployEventRow): DeployEvent;
24
+ /** Highest build_deploy_events.id for the build, 0 when none: the cursor taken before publishing. */
25
+ export declare function getMaxDeployEventId(http: Http, buildId: number): Promise<number>;
26
+ /**
27
+ * Highest build_deploy_events.id across the project, 0 when none. Taken
28
+ * before a post change, when the build the server will rebuild is not known
29
+ * yet: event ids are global and polling filters by build, so any later event
30
+ * of whichever build gets rebuilt lands after it.
31
+ */
32
+ export declare function getMaxProjectDeployEventId(http: Http, projectId: number): Promise<number>;
33
+ /** created_at of the build's newest deploy event, null when it has none. */
34
+ export declare function getLatestDeployEventAt(http: Http, buildId: number): Promise<string | null>;
35
+ export declare const EVENTS_PAGE = 100;
36
+ export declare function fetchDeployEventsAfter(http: Http, buildId: number, afterId: number): Promise<DeployEventRow[]>;
37
+ export interface Clock {
38
+ now(): number;
39
+ sleep(ms: number): Promise<void>;
40
+ }
41
+ export declare const realClock: Clock;
42
+ export declare const POLL_INTERVAL_MS = 2000;
43
+ export interface BuildStatusRow {
44
+ id: number;
45
+ number: number | null;
46
+ status: string | null;
47
+ failure_reason: string | null;
48
+ updated_at: string | null;
49
+ }
50
+ export interface PollOptions {
51
+ http: Http;
52
+ projectId: number;
53
+ buildId: number;
54
+ afterId: number;
55
+ waitMs: number;
56
+ intervalMs?: number;
57
+ clock?: Clock;
58
+ /**
59
+ * True when afterId is a cursor taken before this publish started. Then only
60
+ * a terminal event after it ends the wait, and the status counts only once
61
+ * it has moved away from an in-progress value during this wait: a post
62
+ * rebuild never sets the build to publishing, so a "deployed" or "draft"
63
+ * status read before the queued rebuild starts says nothing about it.
64
+ *
65
+ * When false, events never end the wait and the status alone decides. For
66
+ * callers without a cursor, whose event history may include the end of an
67
+ * earlier publish of the same build.
68
+ */
69
+ trustEvents?: boolean;
70
+ /** Called after every poll; a throw here is swallowed. */
71
+ onPoll?: ((state: {
72
+ elapsedMs: number;
73
+ status: string | null;
74
+ newEvents: DeployEvent[];
75
+ }) => void | Promise<void>) | undefined;
76
+ }
77
+ export interface PollResult {
78
+ build: BuildStatusRow;
79
+ events: DeployEvent[];
80
+ after_event_id: number;
81
+ /** True once a terminal event arrived or the status settled (see PollOptions.trustEvents). */
82
+ done: boolean;
83
+ terminal_event: DeployEvent | null;
84
+ /** True when wait ran out before done. */
85
+ timed_out: boolean;
86
+ /**
87
+ * Cursor mode only: the build is not in progress and nothing has happened
88
+ * since the cursor, so the deploy has not started yet (a queued rebuild).
89
+ */
90
+ waiting_for_start: boolean;
91
+ }
92
+ /**
93
+ * Polls builds.status and build_deploy_events (id > cursor) until the deploy
94
+ * ends (see PollOptions.trustEvents) or waitMs runs out. Always polls at
95
+ * least once, so waitMs 0 is a single snapshot. Never sleeps past the
96
+ * deadline and does not start a poll it would have to finish after it.
97
+ */
98
+ export declare function pollDeployStatus(options: PollOptions): Promise<PollResult>;