@forumulate/cli 0.3.4 → 0.3.6
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 +99 -21
- package/dist/api-base.d.ts +26 -7
- package/dist/api-base.d.ts.map +1 -1
- package/dist/api-base.js +38 -8
- package/dist/api-base.js.map +1 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/doctor.d.ts +13 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +127 -46
- package/dist/doctor.js.map +1 -1
- package/dist/run.d.ts +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +21 -8
- package/dist/run.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,28 +1,96 @@
|
|
|
1
1
|
# @forumulate/cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The `forumulate` command: manage [Forumulate](https://forumulate.com) organizations, spaces and pages from a terminal or CI, publish a directory of markdown, and check a live site the way readers and crawlers see it. Built on [`@forumulate/sdk`](https://www.npmjs.com/package/@forumulate/sdk).
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
8
|
npm install -g @forumulate/cli
|
|
9
|
+
# or, without installing:
|
|
10
|
+
npx -y @forumulate/cli help
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Node 20 or newer.
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
## Authenticate
|
|
16
|
+
|
|
17
|
+
Mint a Personal Access Token at **Account → Tokens** ([forumulate.com/account/tokens](https://forumulate.com/account/tokens)). Give it `read` + `write` to publish. [API tokens and scopes](https://forumulate.com/guides/api-tokens-and-scopes) explains the two gates a token passes.
|
|
16
18
|
|
|
19
|
+
```sh
|
|
20
|
+
forumulate login # prompts for the token (not echoed), checks it, stores it
|
|
17
21
|
forumulate whoami
|
|
18
|
-
forumulate orgs
|
|
19
|
-
forumulate spaces <orgId>
|
|
20
|
-
forumulate search <orgId> how to deploy
|
|
21
|
-
forumulate publish <orgId> <spaceId> <pageId>
|
|
22
|
-
forumulate snapshot <orgId> <spaceId> "Before the big migration"
|
|
23
22
|
```
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
The token is stored per API in `~/.config/forumulate/credentials.json`, readable only by you. In CI, set `FORUMULATE_TOKEN` instead; it always wins over a stored token.
|
|
25
|
+
|
|
26
|
+
| Variable | Default | Meaning |
|
|
27
|
+
| -------------------- | ------------------------ | -------------------------------------------------------------------------------- |
|
|
28
|
+
| `FORUMULATE_TOKEN` | stored token | Personal Access Token. |
|
|
29
|
+
| `FORUMULATE_URL` | `https://forumulate.com` | The site. The API is its `/api`. A value already ending in `/api` is used as-is. |
|
|
30
|
+
| `FORUMULATE_API_URL` | none | Exact API base, for a local API with no `/api` prefix (`http://localhost:4000`). |
|
|
31
|
+
|
|
32
|
+
The SDK (`ForumulateClient.fromEnv()`) and the MCP server ([`@forumulate/mcp`](https://www.npmjs.com/package/@forumulate/mcp)) read the same variables, so one environment configures all three.
|
|
33
|
+
|
|
34
|
+
## Quickstart
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
forumulate orgs # id slug name
|
|
38
|
+
forumulate spaces acme # an org id or its slug
|
|
39
|
+
forumulate items acme <spaceId> # what is in a space, and where its content lives
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Common tasks
|
|
43
|
+
|
|
44
|
+
**1. Publish a folder of markdown (docs-as-code).** Each `.md` file becomes a page; its slug comes from front matter or the file name. Existing pages with the same slug are updated, new ones are created, and both are published. Pages with no file are reported and left alone.
|
|
45
|
+
|
|
46
|
+
```sh
|
|
47
|
+
forumulate publish acme <spaceId> ./docs --dry-run # show the plan, write nothing
|
|
48
|
+
forumulate publish acme <spaceId> ./docs
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**2. Publish one page by id.**
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
forumulate publish acme <spaceId> <pageId>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**3. Search docs, forum and blog together.**
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
forumulate search acme rate limits
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**4. Snapshot a space before a big change.**
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
forumulate snapshot acme <spaceId> "Before the v2 migration"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**5. Check a custom domain.**
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
forumulate domains acme <spaceId> # each domain and its state
|
|
73
|
+
forumulate domains verify acme <spaceId> docs.acme.dev # re-check, and print the DNS still missing
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Add `--json` to any command for raw JSON, `--version` for the version, and `forumulate help` for the full list. Every command exits non-zero on failure, so it works in a pipeline.
|
|
77
|
+
|
|
78
|
+
### In CI
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
# GitHub Actions
|
|
82
|
+
- run: npx -y @forumulate/cli publish acme ${{ vars.DOCS_SPACE_ID }} ./docs
|
|
83
|
+
env:
|
|
84
|
+
FORUMULATE_TOKEN: ${{ secrets.FORUMULATE_TOKEN }}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## `forumulate conformance`
|
|
88
|
+
|
|
89
|
+
Runs the Content Sync Protocol suite against a collection endpoint, ours or any other platform's:
|
|
90
|
+
|
|
91
|
+
```sh
|
|
92
|
+
forumulate conformance https://forumulate.com/api/orgs/acme/spaces/<spaceId>/items
|
|
93
|
+
```
|
|
26
94
|
|
|
27
95
|
## `forumulate doctor`
|
|
28
96
|
|
|
@@ -35,19 +103,29 @@ forumulate doctor https://your-domain.example.com/docs
|
|
|
35
103
|
It needs no token, because none of this is private. Each check is something
|
|
36
104
|
customers have found out about after their readers did:
|
|
37
105
|
|
|
38
|
-
| Check | What a failure means
|
|
39
|
-
| -------------------- |
|
|
40
|
-
| `health` | The health endpoint answered something other than JSON. A plain-text 500 during a deploy reads as a permanent bug, so a careful client stops retrying a few-minute outage.
|
|
41
|
-
| `public-read` | A logged-out reader is redirected to sign-in. Public docs behind a login are invisible to readers and to crawlers — and invisible from inside a signed-in session, which is why this is worth a command.
|
|
42
|
-
| `canonical` | The `rel=canonical` names another host. Search engines credit the canonical host, so a platform URL here hands your authority to the platform.
|
|
43
|
-
| `html-untouched` | Something in the path is rewriting your markup. Cloudflare's Email Obfuscation is the usual one: it injects a decoder script with no CSP nonce, so the script is refused and every address on the page renders as `[email protected]` with a dead link.
|
|
44
|
-
| `cache-headers` | The document is served `no-store` or with no `Cache-Control`, so every reader pays full origin latency and a CDN in front of it does nothing.
|
|
45
|
-
| `robots` / `sitemap` | `robots.txt` disallows the path, or names no sitemap. A `Disallow` here means the page is never indexed, however good it is. Only the `User-agent: *` group counts — a rule aimed at one named crawler is a deliberate choice.
|
|
46
|
-
| `crawler-access` | A crawler gets a different status from a reader. A WAF rule or bot challenge that answers crawlers differently removes the site from search with nothing in any log to say so.
|
|
47
|
-
| `feeds` | No feed beside the page. Readers and aggregators look next to the content, not at an API URL.
|
|
106
|
+
| Check | What a failure means |
|
|
107
|
+
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
108
|
+
| `health` | The health endpoint answered something other than JSON. A plain-text 500 during a deploy reads as a permanent bug, so a careful client stops retrying a few-minute outage. On your own domain `/api` is yours, so the platform's mount is asked instead — `<section>/_api/health` for a path-mounted section, `/_api/health` for a domain that is the whole site — and only a mount that does not answer is reported as skipped. |
|
|
109
|
+
| `public-read` | A logged-out reader is redirected to sign-in. Public docs behind a login are invisible to readers and to crawlers — and invisible from inside a signed-in session, which is why this is worth a command. |
|
|
110
|
+
| `canonical` | The `rel=canonical` names another host. Search engines credit the canonical host, so a platform URL here hands your authority to the platform. |
|
|
111
|
+
| `html-untouched` | Something in the path is rewriting your markup. Cloudflare's Email Obfuscation is the usual one: it injects a decoder script with no CSP nonce, so the script is refused and every address on the page renders as `[email protected]` with a dead link. |
|
|
112
|
+
| `cache-headers` | The document is served `no-store` or with no `Cache-Control`, so every reader pays full origin latency and a CDN in front of it does nothing. |
|
|
113
|
+
| `robots` / `sitemap` | `robots.txt` disallows the path, or names no sitemap. A `Disallow` here means the page is never indexed, however good it is. Only the `User-agent: *` group counts — a rule aimed at one named crawler is a deliberate choice. |
|
|
114
|
+
| `crawler-access` | A crawler gets a different status from a reader. A WAF rule or bot challenge that answers crawlers differently removes the site from search with nothing in any log to say so. |
|
|
115
|
+
| `feeds` | No feed beside the page. Readers and aggregators look next to the content, not at an API URL. |
|
|
48
116
|
|
|
49
117
|
Exit code is non-zero when anything failed, so it works in a deploy pipeline.
|
|
50
118
|
`--json` gives the full report. The checks speak plain HTTP and assume nothing
|
|
51
119
|
about the server, so pointing it at a staging mount — or at a competitor —
|
|
52
120
|
produces the same report: a doctor that only passes on its author's deployment
|
|
53
121
|
is a checklist with extra steps.
|
|
122
|
+
|
|
123
|
+
## Related
|
|
124
|
+
|
|
125
|
+
- [`@forumulate/sdk`](https://www.npmjs.com/package/@forumulate/sdk): the typed TypeScript client this CLI is built on.
|
|
126
|
+
- [`@forumulate/mcp`](https://www.npmjs.com/package/@forumulate/mcp): connect Claude, Cursor or VS Code to your organization.
|
|
127
|
+
- [API reference](https://forumulate.com/reference) · [Guides](https://forumulate.com/guides) · [Community](https://forumulate.com/community)
|
|
128
|
+
|
|
129
|
+
## License
|
|
130
|
+
|
|
131
|
+
MIT
|
package/dist/api-base.d.ts
CHANGED
|
@@ -7,14 +7,33 @@
|
|
|
7
7
|
* `npm i -g @forumulate/cli` and types `forumulate spaces` has a dev server's
|
|
8
8
|
* address, a connection refused, and a `--help` that confirms the address is
|
|
9
9
|
* the intended one. A customer read that and asked which host they were
|
|
10
|
-
* supposed to be running (CLI finding
|
|
10
|
+
* supposed to be running (a customer's CLI finding).
|
|
11
11
|
*
|
|
12
|
-
* The hosted API is the default now
|
|
13
|
-
*
|
|
14
|
-
* a different environment, and `login` stores a token per base URL so the two
|
|
15
|
-
* do not collide.
|
|
12
|
+
* The hosted API is the default now, and `login` stores a token per base URL so
|
|
13
|
+
* two environments do not collide.
|
|
16
14
|
*/
|
|
17
15
|
export declare const DEFAULT_API_BASE = "https://forumulate.com/api";
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
type Env = Record<string, string | undefined>;
|
|
17
|
+
/**
|
|
18
|
+
* The base URL to use.
|
|
19
|
+
*
|
|
20
|
+
* `FORUMULATE_URL` names the SITE (`https://forumulate.com`), the same value the
|
|
21
|
+
* SDK's `ForumulateClient.fromEnv()` and `@forumulate/mcp` read, so one `.env`
|
|
22
|
+
* configures all three. The API is its `/api`. This variable used to mean the
|
|
23
|
+
* API base itself, so a value already ending in `/api` is taken as-is rather
|
|
24
|
+
* than doubled — every value that worked before still works.
|
|
25
|
+
*
|
|
26
|
+
* `FORUMULATE_API_URL` is the exact API base, for the one case a site URL
|
|
27
|
+
* cannot express: a local API on its own port with no `/api` prefix
|
|
28
|
+
* (`http://localhost:4000`).
|
|
29
|
+
*/
|
|
30
|
+
export declare function apiBaseFromEnv(env?: Env): string;
|
|
31
|
+
/**
|
|
32
|
+
* The site origin `FORUMULATE_URL` names, or undefined when unset.
|
|
33
|
+
*
|
|
34
|
+
* `doctor` appends `/api/health` itself, so it wants the site and not the API
|
|
35
|
+
* base — handed the old-style `…/api` value it probed `/api/api/health`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function siteFromEnv(env?: Env): string | undefined;
|
|
38
|
+
export {};
|
|
20
39
|
//# sourceMappingURL=api-base.d.ts.map
|
package/dist/api-base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-base.d.ts","sourceRoot":"","sources":["../src/api-base.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"api-base.d.ts","sourceRoot":"","sources":["../src/api-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAQ9C;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,GAAiB,GAAG,MAAM,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,GAAE,GAAiB,GAAG,MAAM,GAAG,SAAS,CAEtE"}
|
package/dist/api-base.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_API_BASE = void 0;
|
|
4
4
|
exports.apiBaseFromEnv = apiBaseFromEnv;
|
|
5
|
+
exports.siteFromEnv = siteFromEnv;
|
|
5
6
|
/**
|
|
6
7
|
* Where this CLI talks to, when nobody says.
|
|
7
8
|
*
|
|
@@ -11,17 +12,46 @@ exports.apiBaseFromEnv = apiBaseFromEnv;
|
|
|
11
12
|
* `npm i -g @forumulate/cli` and types `forumulate spaces` has a dev server's
|
|
12
13
|
* address, a connection refused, and a `--help` that confirms the address is
|
|
13
14
|
* the intended one. A customer read that and asked which host they were
|
|
14
|
-
* supposed to be running (CLI finding
|
|
15
|
+
* supposed to be running (a customer's CLI finding).
|
|
15
16
|
*
|
|
16
|
-
* The hosted API is the default now
|
|
17
|
-
*
|
|
18
|
-
* a different environment, and `login` stores a token per base URL so the two
|
|
19
|
-
* do not collide.
|
|
17
|
+
* The hosted API is the default now, and `login` stores a token per base URL so
|
|
18
|
+
* two environments do not collide.
|
|
20
19
|
*/
|
|
21
20
|
exports.DEFAULT_API_BASE = 'https://forumulate.com/api';
|
|
22
|
-
/**
|
|
21
|
+
/** A blank variable is an unset one — `FOO= cmd` is how a shell clears it. */
|
|
22
|
+
function stated(env, name) {
|
|
23
|
+
const v = env[name]?.trim();
|
|
24
|
+
return v ? v.replace(/\/+$/, '') : undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The base URL to use.
|
|
28
|
+
*
|
|
29
|
+
* `FORUMULATE_URL` names the SITE (`https://forumulate.com`), the same value the
|
|
30
|
+
* SDK's `ForumulateClient.fromEnv()` and `@forumulate/mcp` read, so one `.env`
|
|
31
|
+
* configures all three. The API is its `/api`. This variable used to mean the
|
|
32
|
+
* API base itself, so a value already ending in `/api` is taken as-is rather
|
|
33
|
+
* than doubled — every value that worked before still works.
|
|
34
|
+
*
|
|
35
|
+
* `FORUMULATE_API_URL` is the exact API base, for the one case a site URL
|
|
36
|
+
* cannot express: a local API on its own port with no `/api` prefix
|
|
37
|
+
* (`http://localhost:4000`).
|
|
38
|
+
*/
|
|
23
39
|
function apiBaseFromEnv(env = process.env) {
|
|
24
|
-
const
|
|
25
|
-
|
|
40
|
+
const direct = stated(env, 'FORUMULATE_API_URL');
|
|
41
|
+
if (direct)
|
|
42
|
+
return direct;
|
|
43
|
+
const site = stated(env, 'FORUMULATE_URL');
|
|
44
|
+
if (!site)
|
|
45
|
+
return exports.DEFAULT_API_BASE;
|
|
46
|
+
return /\/api$/i.test(site) ? site : `${site}/api`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The site origin `FORUMULATE_URL` names, or undefined when unset.
|
|
50
|
+
*
|
|
51
|
+
* `doctor` appends `/api/health` itself, so it wants the site and not the API
|
|
52
|
+
* base — handed the old-style `…/api` value it probed `/api/api/health`.
|
|
53
|
+
*/
|
|
54
|
+
function siteFromEnv(env = process.env) {
|
|
55
|
+
return stated(env, 'FORUMULATE_URL')?.replace(/\/api$/i, '');
|
|
26
56
|
}
|
|
27
57
|
//# sourceMappingURL=api-base.js.map
|
package/dist/api-base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-base.js","sourceRoot":"","sources":["../src/api-base.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api-base.js","sourceRoot":"","sources":["../src/api-base.ts"],"names":[],"mappings":";;;AAqCA,wCAMC;AAQD,kCAEC;AArDD;;;;;;;;;;;;;GAaG;AACU,QAAA,gBAAgB,GAAG,4BAA4B,CAAC;AAI7D,8EAA8E;AAC9E,SAAS,MAAM,CAAC,GAAQ,EAAE,IAAY;IACpC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,cAAc,CAAC,MAAW,OAAO,CAAC,GAAG;IACnD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACjD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,wBAAgB,CAAC;IACnC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,MAAW,OAAO,CAAC,GAAG;IAChD,OAAO,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/credentials.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The CLI had no `login`: every command needed `FORUMULATE_TOKEN` exported in
|
|
5
5
|
* the shell, which means the token is in the environment of everything else
|
|
6
|
-
* that shell runs, and in the history file of whoever typed it (
|
|
6
|
+
* that shell runs, and in the history file of whoever typed it (a customer DX report).
|
|
7
7
|
* A file read by this process alone, mode 0600, is the smaller exposure — and
|
|
8
8
|
* it is what every other CLI a developer already has does.
|
|
9
9
|
*
|
package/dist/doctor.d.ts
CHANGED
|
@@ -30,4 +30,17 @@ export interface DoctorReport {
|
|
|
30
30
|
warnings: number;
|
|
31
31
|
}
|
|
32
32
|
export declare function runDoctor(input: DoctorInput): Promise<DoctorReport>;
|
|
33
|
+
/**
|
|
34
|
+
* The segment a hosted reader's API answers under. Underscore-prefixed on
|
|
35
|
+
* purpose: slugs are `^[a-z0-9]+(?:-[a-z0-9]+)*$`, so no space, collection or
|
|
36
|
+
* page can be called `_api` and this can never shadow somebody's content.
|
|
37
|
+
*
|
|
38
|
+
* A SECOND copy of a string the platform's shared package owns, which is the drift that
|
|
39
|
+
* would make this probe wrong and silent. It is copied rather than imported
|
|
40
|
+
* because this package publishes to npm with one dependency and should not pull
|
|
41
|
+
* the platform's shared bundle onto a customer's machine to learn four
|
|
42
|
+
* characters. `doctor.test.ts` reads the declaration out of
|
|
43
|
+
* `packages/shared/src/space-addressing.ts` and fails if the two ever differ.
|
|
44
|
+
*/
|
|
45
|
+
export declare const READER_API_SEGMENT = "_api";
|
|
33
46
|
//# sourceMappingURL=doctor.d.ts.map
|
package/dist/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAW;IAC1B,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAiUzE;AAoCD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,SAAS,CAAC"}
|
package/dist/doctor.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.READER_API_SEGMENT = void 0;
|
|
3
4
|
exports.runDoctor = runDoctor;
|
|
4
5
|
/** A crawler-ish UA: some CDNs answer bots differently, which is the point. */
|
|
5
6
|
const CRAWLER_UA = 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)';
|
|
@@ -7,7 +8,18 @@ async function runDoctor(input) {
|
|
|
7
8
|
const doFetch = input.fetchImpl ?? fetch;
|
|
8
9
|
const site = new URL(input.url);
|
|
9
10
|
const origin = site.origin;
|
|
10
|
-
|
|
11
|
+
/*
|
|
12
|
+
* An EMPTY `apiBase` is not an api base.
|
|
13
|
+
*
|
|
14
|
+
* `doctor` is handed `process.env.FORUMULATE_URL`, and an exported-but-empty
|
|
15
|
+
* variable — `FORUMULATE_URL= forumulate doctor …`, which is how a shell
|
|
16
|
+
* clears one for a single command — arrived as `''`. `'' ?? origin` is `''`,
|
|
17
|
+
* so the health probe fetched `/api/health` with no origin at all and the
|
|
18
|
+
* check failed with "Failed to parse URL". A blank value means "say
|
|
19
|
+
* nothing", exactly as an unset one does.
|
|
20
|
+
*/
|
|
21
|
+
const stated = input.apiBase?.trim() || undefined;
|
|
22
|
+
const apiBase = (stated ?? origin).replace(/\/$/, '');
|
|
11
23
|
const checks = [];
|
|
12
24
|
const add = (id, title, state, detail, matters) => checks.push({ id, title, state, detail, matters });
|
|
13
25
|
const get = async (url, headers = {}) => {
|
|
@@ -34,57 +46,62 @@ async function runDoctor(input) {
|
|
|
34
46
|
*
|
|
35
47
|
* Two things follow. The status has to be read. And on a reader URL the
|
|
36
48
|
* default probe is the WRONG origin to ask: a customer's host serves their
|
|
37
|
-
* docs, not our API, and `/api` there is theirs — so
|
|
38
|
-
*
|
|
39
|
-
*
|
|
49
|
+
* docs, not our API, and `/api` there is theirs — so before giving up we ask
|
|
50
|
+
* the platform's OWN mount on this host (see `mountCandidates`), and only a
|
|
51
|
+
* mount that does not answer is a skip. Reachability of the platform is
|
|
40
52
|
* already proven by the page fetch below; this check is about the API.
|
|
41
53
|
*/
|
|
42
|
-
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
// "Nobody told us": unset, or blank, which are the same thing.
|
|
55
|
+
const defaultedApiBase = stated === undefined;
|
|
56
|
+
const directUrl = `${apiBase}/api/health`;
|
|
57
|
+
const health = await get(directUrl, { accept: 'application/json' });
|
|
58
|
+
let verdict = healthVerdict(health, directUrl);
|
|
59
|
+
/*
|
|
60
|
+
* The platform's own API, under the mount this address is served at.
|
|
61
|
+
*
|
|
62
|
+
* Only reached when the host's own `/api/health` did not answer healthily
|
|
63
|
+
* AND nobody named an `--api-base` — on a customer's domain that path is
|
|
64
|
+
* theirs, so whatever it said is not a report about us.
|
|
65
|
+
*/
|
|
66
|
+
const tried = [];
|
|
67
|
+
let mountVerdict = null;
|
|
68
|
+
if (verdict.state !== 'pass' && defaultedApiBase) {
|
|
69
|
+
for (const mount of mountCandidates(site)) {
|
|
70
|
+
const url = `${origin}${mount}/${exports.READER_API_SEGMENT}/health`;
|
|
71
|
+
tried.push(url);
|
|
72
|
+
const probe = await get(url, { accept: 'application/json' });
|
|
73
|
+
const mounted = healthVerdict(probe, url);
|
|
74
|
+
if (mounted.state === 'pass') {
|
|
75
|
+
mountVerdict = {
|
|
76
|
+
state: 'pass',
|
|
77
|
+
detail: `${probe.ok ? probe.res.status : 200} from ${url} — the platform's own mount under this address.`,
|
|
78
|
+
matters: HEALTH_MATTERS,
|
|
79
|
+
};
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
// A mount that answers 5xx IS ours and IS unhealthy. Anything else
|
|
83
|
+
// (404, a refused connection) only means this was not the mount.
|
|
84
|
+
if (probe.ok && probe.res.status >= 500) {
|
|
85
|
+
mountVerdict = {
|
|
86
|
+
state: 'fail',
|
|
87
|
+
detail: `${probe.res.status} from ${url}.`,
|
|
88
|
+
matters: 'The API serving this section is unhealthy, whatever the reader pages do.',
|
|
89
|
+
};
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
68
92
|
}
|
|
69
93
|
}
|
|
70
|
-
|
|
71
|
-
|
|
94
|
+
if (mountVerdict) {
|
|
95
|
+
verdict = mountVerdict;
|
|
72
96
|
}
|
|
73
|
-
else {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
parsed = null;
|
|
80
|
-
}
|
|
81
|
-
if (parsed && typeof parsed === 'object') {
|
|
82
|
-
add('health', 'Health endpoint answers JSON', 'pass', `${health.res.status} with a JSON body.`, '');
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
add('health', 'Health endpoint answers JSON', 'fail', `${health.res.status} with a non-JSON body: ${health.text.slice(0, 80)}`, 'A plain-text 500 reads as a permanent bug, so a careful client stops retrying a few-minute outage.');
|
|
86
|
-
}
|
|
97
|
+
else if (defaultedApiBase && health.ok && health.res.status === 404) {
|
|
98
|
+
verdict = {
|
|
99
|
+
state: 'skip',
|
|
100
|
+
detail: `404 — ${apiBase} does not route /api/health, and ${tried.length ? tried.join(' nor ') : 'no mount'} did not answer either. This host serves the reader; the API it is served by has its own origin.`,
|
|
101
|
+
matters: 'Re-run with --api-base <origin> to check the API that serves this site.',
|
|
102
|
+
};
|
|
87
103
|
}
|
|
104
|
+
add('health', 'Health endpoint answers JSON', verdict.state, verdict.detail, verdict.matters);
|
|
88
105
|
// 2. A logged-out reader gets the page, not a sign-in.
|
|
89
106
|
const anon = await get(site.toString(), { accept: 'text/html' });
|
|
90
107
|
const html = anon.ok ? anon.text : '';
|
|
@@ -216,6 +233,70 @@ async function runDoctor(input) {
|
|
|
216
233
|
warnings: checks.filter((c) => c.state === 'skip').length,
|
|
217
234
|
};
|
|
218
235
|
}
|
|
236
|
+
const HEALTH_MATTERS = 'A caller cannot tell an outage from a bug.';
|
|
237
|
+
/** What one health probe, on its own, says about the API behind it. */
|
|
238
|
+
function healthVerdict(probe, url) {
|
|
239
|
+
if (!probe.ok)
|
|
240
|
+
return { state: 'fail', detail: probe.error, matters: HEALTH_MATTERS };
|
|
241
|
+
const { status } = probe.res;
|
|
242
|
+
if (status < 200 || status >= 300) {
|
|
243
|
+
return {
|
|
244
|
+
state: 'fail',
|
|
245
|
+
detail: `${status} from ${url}: ${probe.text.slice(0, 80)}`,
|
|
246
|
+
matters: 'A health endpoint that does not answer 2xx is down, whatever its body parses as.',
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
let parsed = null;
|
|
250
|
+
try {
|
|
251
|
+
parsed = JSON.parse(probe.text);
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
parsed = null;
|
|
255
|
+
}
|
|
256
|
+
if (!parsed || typeof parsed !== 'object') {
|
|
257
|
+
return {
|
|
258
|
+
state: 'fail',
|
|
259
|
+
detail: `${status} with a non-JSON body: ${probe.text.slice(0, 80)}`,
|
|
260
|
+
matters: 'A plain-text 500 reads as a permanent bug, so a careful client stops retrying a few-minute outage.',
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
return { state: 'pass', detail: `${status} with a JSON body.`, matters: '' };
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* The segment a hosted reader's API answers under. Underscore-prefixed on
|
|
267
|
+
* purpose: slugs are `^[a-z0-9]+(?:-[a-z0-9]+)*$`, so no space, collection or
|
|
268
|
+
* page can be called `_api` and this can never shadow somebody's content.
|
|
269
|
+
*
|
|
270
|
+
* A SECOND copy of a string the platform's shared package owns, which is the drift that
|
|
271
|
+
* would make this probe wrong and silent. It is copied rather than imported
|
|
272
|
+
* because this package publishes to npm with one dependency and should not pull
|
|
273
|
+
* the platform's shared bundle onto a customer's machine to learn four
|
|
274
|
+
* characters. `doctor.test.ts` reads the declaration out of
|
|
275
|
+
* `packages/shared/src/space-addressing.ts` and fails if the two ever differ.
|
|
276
|
+
*/
|
|
277
|
+
exports.READER_API_SEGMENT = '_api';
|
|
278
|
+
/**
|
|
279
|
+
* Where the platform's own API lives on a customer's host, most specific first.
|
|
280
|
+
*
|
|
281
|
+
* The first version of this guessed ONE address — the first path segment — and
|
|
282
|
+
* a customer on a site domain got a skip anyway, which is the defect as filed.
|
|
283
|
+
* The two mounts are different shapes:
|
|
284
|
+
*
|
|
285
|
+
* - a PATH-mounted section is `acme.com/docs/…`, forwarded to us by the
|
|
286
|
+
* customer's edge under that prefix, so health is `acme.com/docs/_api/health`
|
|
287
|
+
* and `acme.com/_api/health` never reaches us;
|
|
288
|
+
* - a SITE domain is mounted at the ROOT of the host, so health is
|
|
289
|
+
* `acme.com/_api/health`, and the first path segment is a space or a page —
|
|
290
|
+
* `acme.com/getting-started/_api/health` is nothing at all.
|
|
291
|
+
*
|
|
292
|
+
* Nothing in a URL distinguishes them from outside, which is the whole reason
|
|
293
|
+
* the first guess was wrong, so both are asked and the first that answers wins.
|
|
294
|
+
* A root URL on a path-mounted domain has no segment, so it asks one address.
|
|
295
|
+
*/
|
|
296
|
+
function mountCandidates(site) {
|
|
297
|
+
const first = site.pathname.replace(/\/+$/, '').split('/').filter(Boolean)[0];
|
|
298
|
+
return first ? [`/${first}`, ''] : [''];
|
|
299
|
+
}
|
|
219
300
|
/** How many distinct pictures one page's report will fetch. */
|
|
220
301
|
const IMAGE_LIMIT = 25;
|
|
221
302
|
/**
|
package/dist/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/run.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ForumulateClient } from '@forumulate/sdk';
|
|
|
3
3
|
* Kept in step with package.json by `cli-version.test.ts` — they had drifted to
|
|
4
4
|
* 0.1.0 and 0.2.1, so `--version` reported a release that was never published.
|
|
5
5
|
*/
|
|
6
|
-
export declare const VERSION = "0.3.
|
|
6
|
+
export declare const VERSION = "0.3.6";
|
|
7
7
|
export interface RunDeps {
|
|
8
8
|
/** The API client. Injected so the CLI is testable without a live server. */
|
|
9
9
|
client: ForumulateClient;
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOxD;;;GAGG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,6EAA6E;IAC7E,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAOxD;;;GAGG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,MAAM,WAAW,OAAO;IACtB,6EAA6E;IAC7E,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAmDD;;;GAGG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAmTxE"}
|
package/dist/run.js
CHANGED
|
@@ -12,7 +12,7 @@ const api_base_1 = require("./api-base");
|
|
|
12
12
|
* Kept in step with package.json by `cli-version.test.ts` — they had drifted to
|
|
13
13
|
* 0.1.0 and 0.2.1, so `--version` reported a release that was never published.
|
|
14
14
|
*/
|
|
15
|
-
exports.VERSION = '0.3.
|
|
15
|
+
exports.VERSION = '0.3.6';
|
|
16
16
|
const HELP = `forumulate — Forumulate command-line interface
|
|
17
17
|
|
|
18
18
|
Usage:
|
|
@@ -44,10 +44,17 @@ Commands:
|
|
|
44
44
|
help Show this help
|
|
45
45
|
|
|
46
46
|
Environment:
|
|
47
|
-
FORUMULATE_URL API base URL (default https://forumulate.com/api — set it to
|
|
48
|
-
http://localhost:4000 for a local API)
|
|
49
47
|
FORUMULATE_TOKEN Personal Access Token (Bearer). Overrides a stored one, so
|
|
50
|
-
CI keeps working exactly as it did.
|
|
48
|
+
CI keeps working exactly as it did. Mint one at
|
|
49
|
+
https://forumulate.com/account/tokens
|
|
50
|
+
FORUMULATE_URL The site (default https://forumulate.com); the API is its
|
|
51
|
+
/api, i.e. https://forumulate.com/api. A value already
|
|
52
|
+
ending in /api is used as-is.
|
|
53
|
+
FORUMULATE_API_URL Exact API base, for a local API with no /api prefix
|
|
54
|
+
(http://localhost:4000). Wins over FORUMULATE_URL.
|
|
55
|
+
|
|
56
|
+
The SDK (ForumulateClient.fromEnv) and the MCP server (@forumulate/mcp) read
|
|
57
|
+
the same variables. Guide: https://forumulate.com/guides/api-tokens-and-scopes
|
|
51
58
|
|
|
52
59
|
Flags:
|
|
53
60
|
--json Emit raw JSON instead of a formatted summary
|
|
@@ -168,7 +175,7 @@ async function run(argv, deps) {
|
|
|
168
175
|
/*
|
|
169
176
|
* One verb, two objects. `publish <pageId>` published exactly one page
|
|
170
177
|
* by id, which is the thing a person doing docs-as-code never has:
|
|
171
|
-
* they have a directory (
|
|
178
|
+
* they have a directory (a customer DX report). A path that exists on disk is a
|
|
172
179
|
* directory publish; anything else is the id form, unchanged.
|
|
173
180
|
*/
|
|
174
181
|
const isDir = (() => {
|
|
@@ -274,7 +281,13 @@ async function run(argv, deps) {
|
|
|
274
281
|
const [url] = rest;
|
|
275
282
|
if (!url)
|
|
276
283
|
return usage(deps, 'doctor <readerUrl>');
|
|
277
|
-
|
|
284
|
+
// Blank is the same as unset — see the note in `runDoctor`. Not
|
|
285
|
+
// `apiBaseFromEnv()`: doctor defaults to the SITE's own origin, which
|
|
286
|
+
// is the right probe for a reader URL on a customer's domain.
|
|
287
|
+
const report = await (0, doctor_1.runDoctor)({
|
|
288
|
+
url,
|
|
289
|
+
apiBase: (0, api_base_1.siteFromEnv)(),
|
|
290
|
+
});
|
|
278
291
|
if (json) {
|
|
279
292
|
dump(report);
|
|
280
293
|
}
|
|
@@ -296,7 +309,7 @@ async function run(argv, deps) {
|
|
|
296
309
|
*
|
|
297
310
|
* Everything here needed `FORUMULATE_TOKEN` exported in the shell, which
|
|
298
311
|
* puts the token in the environment of every other process that shell
|
|
299
|
-
* runs and in somebody's history file (
|
|
312
|
+
* runs and in somebody's history file (a customer DX report). It is verified
|
|
300
313
|
* before it is written — storing a token that does not work is a worse
|
|
301
314
|
* state than storing none, because the next failure is reported
|
|
302
315
|
* somewhere else entirely.
|
|
@@ -305,7 +318,7 @@ async function run(argv, deps) {
|
|
|
305
318
|
const base = deps.baseUrl ?? (0, api_base_1.apiBaseFromEnv)();
|
|
306
319
|
let token = flagValue('--token') ?? rest[0];
|
|
307
320
|
if (!token && deps.prompt) {
|
|
308
|
-
deps.out(`Create a token at ${base.replace(/\/api$/, '')}/
|
|
321
|
+
deps.out(`Create a token at ${base.replace(/\/api$/, '')}/account/tokens`);
|
|
309
322
|
token = (await deps.prompt('Token: ')).trim();
|
|
310
323
|
}
|
|
311
324
|
if (!token)
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forumulate/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "Command-line interface for Forumulate — manage orgs, spaces, docs, and search from your terminal.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://forumulate.com/guides",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"access": "public"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@forumulate/sdk": "0.
|
|
32
|
+
"@forumulate/sdk": "0.3.0"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "^22.9.0",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"author": "Forumulate",
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "tsc -p tsconfig.json",
|
|
42
|
-
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
42
|
+
"typecheck": "tsc -p tsconfig.json --noEmit --incremental --tsBuildInfoFile node_modules/.cache/tsc-src.tsbuildinfo",
|
|
43
43
|
"test": "vitest run"
|
|
44
44
|
}
|
|
45
45
|
}
|