@forumulate/sdk 0.2.0 → 0.3.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.
- package/README.md +138 -65
- package/dist/index.d.ts +63 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +59 -2
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +198175 -32235
- package/dist/schema.d.ts.map +1 -1
- package/dist/types.d.ts +59 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,114 +1,187 @@
|
|
|
1
1
|
# @forumulate/sdk
|
|
2
2
|
|
|
3
|
-
A typed TypeScript client for the Forumulate REST API.
|
|
4
|
-
`fetch`) and the browser.
|
|
3
|
+
A typed TypeScript client for the [Forumulate](https://forumulate.com) REST API: docs, forum, blog and everything else in an organization. It has no runtime dependencies and runs in Node 18+, Bun, Deno and the browser (global `fetch`).
|
|
5
4
|
|
|
6
5
|
## Install
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
```sh
|
|
8
|
+
npm install @forumulate/sdk
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Authenticate
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Mint a Personal Access Token at **Account → Tokens** ([forumulate.com/account/tokens](https://forumulate.com/account/tokens)). A token needs `read` to read and `read` + `write` to change anything. [API tokens and scopes](https://forumulate.com/guides/api-tokens-and-scopes) explains the two gates a token passes.
|
|
12
14
|
|
|
13
15
|
```ts
|
|
14
16
|
import { ForumulateClient } from '@forumulate/sdk';
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
token: process.env.FORUMULATE_TOKEN, // a Personal Access Token
|
|
19
|
-
});
|
|
18
|
+
// Reads FORUMULATE_TOKEN and FORUMULATE_URL (default https://forumulate.com).
|
|
19
|
+
const forumulate = ForumulateClient.fromEnv();
|
|
20
20
|
|
|
21
|
-
//
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
});
|
|
26
|
-
const { collection } = await forumulate.spaces.createCollection(organization.id, space.id, {
|
|
27
|
-
name: 'Guides', slug: 'guides',
|
|
21
|
+
// …or explicitly. The API base is the site plus /api.
|
|
22
|
+
const explicit = new ForumulateClient({
|
|
23
|
+
baseUrl: 'https://forumulate.com/api',
|
|
24
|
+
token: process.env.FORUMULATE_TOKEN,
|
|
28
25
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
| Variable | Default | Meaning |
|
|
29
|
+
| -------------------- | ------------------------ | -------------------------------------------------------------------------------- |
|
|
30
|
+
| `FORUMULATE_TOKEN` | none | Personal Access Token, sent as `Authorization: Bearer`. |
|
|
31
|
+
| `FORUMULATE_URL` | `https://forumulate.com` | The site. The API is its `/api`. A value already ending in `/api` is used as-is. |
|
|
32
|
+
| `FORUMULATE_API_URL` | none | Exact API base, for a local API with no `/api` prefix (`http://localhost:4000`). |
|
|
33
|
+
|
|
34
|
+
The [CLI](https://www.npmjs.com/package/@forumulate/cli) and the [MCP server](https://www.npmjs.com/package/@forumulate/mcp) read the same variables.
|
|
35
|
+
|
|
36
|
+
## Quickstart
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
const { user } = await forumulate.auth.me();
|
|
40
|
+
const { orgs } = await forumulate.orgs.list();
|
|
41
|
+
const orgId = orgs[0]!.id; // ids and slugs are both accepted wherever an org id is
|
|
42
|
+
const { spaces } = await forumulate.spaces.list(orgId);
|
|
43
|
+
console.log(
|
|
44
|
+
user.email,
|
|
45
|
+
spaces.map((s) => `${s.slug} [${s.type}]`),
|
|
46
|
+
);
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Common tasks
|
|
50
|
+
|
|
51
|
+
### 1. Write and publish a page from markdown
|
|
52
|
+
|
|
53
|
+
`items` is the type-agnostic surface: the same calls write a docs page, a blog post or a forum topic.
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
const { item } = await forumulate.items.create(orgId, spaceId, {
|
|
57
|
+
title: 'Install',
|
|
58
|
+
slug: 'install',
|
|
59
|
+
body: '# Install\n\nRun `npm i acme`.',
|
|
35
60
|
});
|
|
36
|
-
await forumulate.
|
|
61
|
+
await forumulate.items.publish(orgId, spaceId, item.id);
|
|
37
62
|
|
|
38
|
-
//
|
|
39
|
-
|
|
63
|
+
// Later: replace the body and republish.
|
|
64
|
+
await forumulate.items.setContent(orgId, spaceId, item.id, { body: '# Install\n\n…' });
|
|
65
|
+
await forumulate.items.publish(orgId, spaceId, item.id);
|
|
40
66
|
```
|
|
41
67
|
|
|
42
|
-
###
|
|
68
|
+
### 2. List everything in a space, with content
|
|
69
|
+
|
|
70
|
+
```ts
|
|
71
|
+
const res = await forumulate.items.list(orgId, spaceId, { limit: 100, include: ['body'] });
|
|
72
|
+
for (const it of res.items) console.log(it.id, it.title, it.contentIn);
|
|
73
|
+
// res.page.nextCursor pages onward; res.sync.checkpoint drives an incremental sync.
|
|
74
|
+
```
|
|
43
75
|
|
|
44
|
-
|
|
45
|
-
|
|
76
|
+
Ask for `body`. `sections` is filled only for pieces written against a shape, so a space of free-form pages answers `include: ['sections']` alone with empty objects.
|
|
77
|
+
|
|
78
|
+
### 3. Search
|
|
46
79
|
|
|
47
80
|
```ts
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
81
|
+
// Everything you can see in an org: docs, forum, blog.
|
|
82
|
+
const { hits } = await forumulate.search.unified(orgId, 'rate limits', { limit: 10 });
|
|
83
|
+
|
|
84
|
+
// A public docs space, no token needed.
|
|
85
|
+
const anon = new ForumulateClient({ baseUrl: 'https://forumulate.com/api' });
|
|
86
|
+
const { hits: pub } = await anon.public.search(orgId, spaceId, 'rate limits');
|
|
54
87
|
```
|
|
55
88
|
|
|
56
|
-
###
|
|
89
|
+
### 4. Start a forum topic and reply
|
|
57
90
|
|
|
58
91
|
```ts
|
|
59
|
-
const
|
|
92
|
+
const doc = (text: string) => ({
|
|
93
|
+
type: 'doc' as const,
|
|
94
|
+
content: [{ type: 'paragraph', content: [{ type: 'text', text }] }],
|
|
95
|
+
});
|
|
96
|
+
const { topic } = await forumulate.forum.createTopic(orgId, forumSpaceId, {
|
|
97
|
+
title: 'v2 is out',
|
|
98
|
+
content: doc('Here is what changed.'),
|
|
99
|
+
});
|
|
100
|
+
const topicId = (topic as { id: string }).id;
|
|
101
|
+
await forumulate.forum.reply(orgId, forumSpaceId, topicId, doc('Upgrade notes are in the docs.'));
|
|
60
102
|
```
|
|
61
103
|
|
|
62
|
-
###
|
|
104
|
+
### 5. Verify a webhook
|
|
63
105
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
106
|
+
```ts
|
|
107
|
+
import { verifyWebhookSignature } from '@forumulate/sdk';
|
|
108
|
+
|
|
109
|
+
const ok = await verifyWebhookSignature({
|
|
110
|
+
secret: process.env.FORUMULATE_WEBHOOK_SECRET!,
|
|
111
|
+
body: rawBody, // the exact bytes received, before JSON.parse
|
|
112
|
+
signature: req.headers['x-forumulate-signature'] as string,
|
|
113
|
+
timestamp: req.headers['x-forumulate-timestamp'] as string, // deliveries older than 5 min fail
|
|
114
|
+
});
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Create the webhook with `forumulate.webhooks.create(orgId, { url, events })`.
|
|
118
|
+
|
|
119
|
+
## Every endpoint: `typed()`
|
|
120
|
+
|
|
121
|
+
The helpers above cover the common paths. `typed(method, path, init)` covers every route in the OpenAPI spec, with the path, params, query, body and response all inferred, and autocomplete on path and method:
|
|
69
122
|
|
|
70
123
|
```ts
|
|
71
|
-
// Path param required and checked; response payload is typed from the spec.
|
|
72
124
|
const { spaces } = await forumulate.typed('get', '/orgs/{orgId}/spaces', {
|
|
73
125
|
params: { orgId },
|
|
74
|
-
query: {
|
|
126
|
+
query: { limit: 50 },
|
|
75
127
|
});
|
|
76
128
|
|
|
77
|
-
// POST body shape (including enum unions like `type`) comes from the schema.
|
|
78
129
|
await forumulate.typed('post', '/orgs/{orgId}/spaces', {
|
|
79
130
|
params: { orgId },
|
|
80
131
|
body: { name: 'Docs', slug: 'docs', type: 'DOCS', visibility: 'PUBLIC' },
|
|
81
132
|
});
|
|
82
133
|
```
|
|
83
134
|
|
|
84
|
-
`{
|
|
85
|
-
`raw: true` to get the untouched `Response` (e.g. for binary downloads).
|
|
135
|
+
Pass `raw: true` for the untouched `Response` (binary downloads). For anything else, `request(method, path, { body, query, headers })` is the untyped escape hatch that `typed` and the helpers use.
|
|
86
136
|
|
|
87
|
-
|
|
137
|
+
## Errors
|
|
88
138
|
|
|
89
|
-
|
|
90
|
-
helpers delegate to):
|
|
139
|
+
Every non-2xx response throws a `ForumulateError` carrying `status`, `code` and `message` from the API's error envelope.
|
|
91
140
|
|
|
92
141
|
```ts
|
|
93
|
-
|
|
142
|
+
import { ForumulateError } from '@forumulate/sdk';
|
|
143
|
+
|
|
144
|
+
try {
|
|
145
|
+
await forumulate.orgs.create({ name: '', slug: '' });
|
|
146
|
+
} catch (err) {
|
|
147
|
+
if (err instanceof ForumulateError && err.code === 'validation.failed') {
|
|
148
|
+
/* … */
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
A `401` means the token is missing or revoked. A `403` means it lacks a scope or capability; see [API tokens and scopes](https://forumulate.com/guides/api-tokens-and-scopes).
|
|
154
|
+
|
|
155
|
+
## Options
|
|
156
|
+
|
|
157
|
+
```ts
|
|
158
|
+
new ForumulateClient({
|
|
159
|
+
baseUrl: 'https://forumulate.com/api',
|
|
160
|
+
token,
|
|
161
|
+
headers: { 'Forumulate-Version': '2026-09-01' }, // pin the API version for this client
|
|
162
|
+
fetch: customFetch, // any fetch-compatible function
|
|
163
|
+
credentials: true, // browser on the same origin: send the session cookie instead of a token
|
|
164
|
+
});
|
|
94
165
|
```
|
|
95
166
|
|
|
96
|
-
|
|
167
|
+
Set a descriptive `User-Agent` when you run outside a browser: the edge firewall challenges default library User-Agents.
|
|
97
168
|
|
|
98
|
-
|
|
99
|
-
types-only (no runtime dependency), and large (~30k lines) — do not hand-edit it.
|
|
100
|
-
The **complete** machine-readable spec is served by the running API at
|
|
101
|
-
`/docs-json`; regenerate `schema.ts` from it whenever the API shape changes:
|
|
169
|
+
## Links
|
|
102
170
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
171
|
+
- [API reference](https://forumulate.com/reference): every route, with the OpenAPI document at `https://forumulate.com/api/openapi.json`.
|
|
172
|
+
- [Guides](https://forumulate.com/guides) · [Community](https://forumulate.com/community)
|
|
173
|
+
- [`@forumulate/cli`](https://www.npmjs.com/package/@forumulate/cli): the same API from a terminal or CI.
|
|
174
|
+
- [`@forumulate/mcp`](https://www.npmjs.com/package/@forumulate/mcp): connect Claude, Cursor or VS Code to your organization.
|
|
106
175
|
|
|
107
|
-
|
|
108
|
-
pnpm --filter @forumulate/sdk generate-schema # → src/schema.ts
|
|
109
|
-
# (equivalently: npx openapi-typescript openapi.json -o src/schema.ts)
|
|
176
|
+
## Maintainers: regenerating the types
|
|
110
177
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
178
|
+
`src/schema.ts` backs `typed()`. It is generated and types-only; do not hand-edit it. Refresh it from the deployed spec:
|
|
179
|
+
|
|
180
|
+
```sh
|
|
181
|
+
curl -s https://forumulate.com/api/openapi.json -o packages/sdk/openapi.json
|
|
182
|
+
pnpm --filter @forumulate/sdk generate-schema # → src/schema.ts
|
|
114
183
|
```
|
|
184
|
+
|
|
185
|
+
## License
|
|
186
|
+
|
|
187
|
+
MIT
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type { paths } from './schema';
|
|
|
4
4
|
export type { HttpMethod, MethodsOf, OperationOf, TypedRequestInit, TypedResponse } from './typed';
|
|
5
5
|
import type { paths } from './schema';
|
|
6
6
|
import type { HttpMethod, TypedRequestInit, TypedResponse } from './typed';
|
|
7
|
-
import type { Organization, Space, SpaceType, SpaceVisibility, Collection, Page, BlockDoc, SearchHit, UnifiedHit, Comment, Webhook, WebhookFormat, PublicPage, Conformance, Item, PageInfo, EffectiveShape, ShapeOverride } from './types';
|
|
7
|
+
import type { Organization, Space, SpaceType, SpaceVisibility, Collection, Page, BlockDoc, SearchHit, UnifiedHit, Comment, Webhook, WebhookFormat, PublicPage, Conformance, DomainSetup, DomainSummary, Item, PageInfo, EffectiveShape, ShapeOverride } from './types';
|
|
8
8
|
/** Thrown for any non-2xx API response. Mirrors the API's error envelope. */
|
|
9
9
|
export declare class ForumulateError extends Error {
|
|
10
10
|
readonly status: number;
|
|
@@ -12,7 +12,7 @@ export declare class ForumulateError extends Error {
|
|
|
12
12
|
constructor(status: number, code: string, message: string);
|
|
13
13
|
}
|
|
14
14
|
export interface ForumulateClientOptions {
|
|
15
|
-
/** API
|
|
15
|
+
/** API base, `https://forumulate.com/api` for the hosted product (see `fromEnv`). */
|
|
16
16
|
baseUrl: string;
|
|
17
17
|
/** Personal Access Token for `Authorization: Bearer` auth. */
|
|
18
18
|
token?: string;
|
|
@@ -38,8 +38,11 @@ type Query = Record<string, string | number | boolean | undefined>;
|
|
|
38
38
|
* Typed client for the Forumulate REST API.
|
|
39
39
|
*
|
|
40
40
|
* ```ts
|
|
41
|
-
* const forumulate = new ForumulateClient({ baseUrl: '
|
|
42
|
-
* const {
|
|
41
|
+
* const forumulate = new ForumulateClient({ baseUrl: 'https://forumulate.com/api', token: pat });
|
|
42
|
+
* const { orgs } = await forumulate.orgs.list();
|
|
43
|
+
*
|
|
44
|
+
* // or, from FORUMULATE_TOKEN / FORUMULATE_URL:
|
|
45
|
+
* const fromEnv = ForumulateClient.fromEnv();
|
|
43
46
|
* ```
|
|
44
47
|
*/
|
|
45
48
|
export declare class ForumulateClient {
|
|
@@ -49,6 +52,20 @@ export declare class ForumulateClient {
|
|
|
49
52
|
private readonly defaultHeaders;
|
|
50
53
|
private readonly _fetch;
|
|
51
54
|
constructor(opts: ForumulateClientOptions);
|
|
55
|
+
/**
|
|
56
|
+
* A client configured from the environment, by the same names the CLI and
|
|
57
|
+
* `@forumulate/mcp` read — so one `.env` drives all three:
|
|
58
|
+
*
|
|
59
|
+
* - `FORUMULATE_TOKEN`: the Personal Access Token.
|
|
60
|
+
* - `FORUMULATE_URL`: the site, default `https://forumulate.com`; the API is
|
|
61
|
+
* its `/api` (a value already ending in `/api` is used as-is).
|
|
62
|
+
* - `FORUMULATE_API_URL`: the exact API base, for a local API with no `/api`
|
|
63
|
+
* prefix (`http://localhost:4000`). Wins over `FORUMULATE_URL`.
|
|
64
|
+
*
|
|
65
|
+
* `env` defaults to `process.env` where there is one (Node, Bun, Deno);
|
|
66
|
+
* anything in `opts` overrides what the environment said.
|
|
67
|
+
*/
|
|
68
|
+
static fromEnv(env?: Record<string, string | undefined>, opts?: Partial<ForumulateClientOptions>): ForumulateClient;
|
|
52
69
|
/** Low-level request. Exposed so callers can reach endpoints the typed helpers don't cover yet. */
|
|
53
70
|
request<T>(method: string, path: string, opts?: {
|
|
54
71
|
body?: unknown;
|
|
@@ -257,11 +274,53 @@ export declare class ForumulateClient {
|
|
|
257
274
|
note?: string;
|
|
258
275
|
conformance: Conformance;
|
|
259
276
|
}>;
|
|
277
|
+
/**
|
|
278
|
+
* Replace a piece's whole body — as markdown, or as blocks.
|
|
279
|
+
*
|
|
280
|
+
* The create door has always taken markdown and this one took blocks only,
|
|
281
|
+
* so "make it from this file" worked and "update it from the same file" did
|
|
282
|
+
* not. Both now; blocks win if a caller sends both.
|
|
283
|
+
*/
|
|
284
|
+
setContent: (orgId: string, spaceId: string, itemId: string, input: {
|
|
285
|
+
body?: string;
|
|
286
|
+
content?: BlockDoc;
|
|
287
|
+
}) => Promise<{
|
|
288
|
+
conformance: Conformance;
|
|
289
|
+
}>;
|
|
260
290
|
/** Replace one named section. Idempotent — sending it twice writes it once. */
|
|
261
291
|
setSection: (orgId: string, spaceId: string, itemId: string, key: string, markdown: string) => Promise<{
|
|
262
292
|
conformance: Conformance;
|
|
263
293
|
}>;
|
|
264
294
|
};
|
|
295
|
+
/**
|
|
296
|
+
* The addresses a space answers at.
|
|
297
|
+
*
|
|
298
|
+
* Published because the question a customer asks about a custom domain —
|
|
299
|
+
* "why is it not live yet" — is answerable only from `verified`, `active` and
|
|
300
|
+
* the setup records, and the SDK could not reach any of them (DX-2). A failed
|
|
301
|
+
* verification is a 200 with `verified: false`: read the body, not the status.
|
|
302
|
+
*/
|
|
303
|
+
readonly domains: {
|
|
304
|
+
list: (orgId: string, spaceId: string) => Promise<{
|
|
305
|
+
domains: DomainSummary[];
|
|
306
|
+
}>;
|
|
307
|
+
add: (orgId: string, spaceId: string, input: {
|
|
308
|
+
hostname: string;
|
|
309
|
+
basePath?: string;
|
|
310
|
+
}) => Promise<{
|
|
311
|
+
domain: DomainSummary;
|
|
312
|
+
}>;
|
|
313
|
+
/** Re-run the ownership check. `activate: false` proves it without switching traffic. */
|
|
314
|
+
verify: (orgId: string, spaceId: string, domainId: string, activate?: boolean) => Promise<{
|
|
315
|
+
domain: DomainSummary;
|
|
316
|
+
}>;
|
|
317
|
+
/** Switch traffic to an address whose ownership is already proven. */
|
|
318
|
+
activate: (orgId: string, spaceId: string, domainId: string) => Promise<{
|
|
319
|
+
domain: DomainSummary;
|
|
320
|
+
}>;
|
|
321
|
+
/** What to configure, and what is still missing. */
|
|
322
|
+
setup: (orgId: string, spaceId: string, domainId: string) => Promise<DomainSetup>;
|
|
323
|
+
};
|
|
265
324
|
readonly webhooks: {
|
|
266
325
|
list: (orgId: string) => Promise<{
|
|
267
326
|
webhooks: Webhook[];
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7E,YAAY,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3E,OAAO,KAAK,EACV,YAAY,EACZ,KAAK,EACL,SAAS,EACT,eAAe,EACf,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,UAAU,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,UAAU,EACV,WAAW,EACX,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,6EAA6E;AAC7E,qBAAa,eAAgB,SAAQ,KAAK;IAEtC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,uBAAuB;IACtC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -34,8 +34,11 @@ exports.ForumulateError = ForumulateError;
|
|
|
34
34
|
* Typed client for the Forumulate REST API.
|
|
35
35
|
*
|
|
36
36
|
* ```ts
|
|
37
|
-
* const forumulate = new ForumulateClient({ baseUrl: '
|
|
38
|
-
* const {
|
|
37
|
+
* const forumulate = new ForumulateClient({ baseUrl: 'https://forumulate.com/api', token: pat });
|
|
38
|
+
* const { orgs } = await forumulate.orgs.list();
|
|
39
|
+
*
|
|
40
|
+
* // or, from FORUMULATE_TOKEN / FORUMULATE_URL:
|
|
41
|
+
* const fromEnv = ForumulateClient.fromEnv();
|
|
39
42
|
* ```
|
|
40
43
|
*/
|
|
41
44
|
class ForumulateClient {
|
|
@@ -54,6 +57,32 @@ class ForumulateClient {
|
|
|
54
57
|
throw new Error('No fetch implementation available — pass one via options.fetch.');
|
|
55
58
|
this._fetch = f;
|
|
56
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* A client configured from the environment, by the same names the CLI and
|
|
62
|
+
* `@forumulate/mcp` read — so one `.env` drives all three:
|
|
63
|
+
*
|
|
64
|
+
* - `FORUMULATE_TOKEN`: the Personal Access Token.
|
|
65
|
+
* - `FORUMULATE_URL`: the site, default `https://forumulate.com`; the API is
|
|
66
|
+
* its `/api` (a value already ending in `/api` is used as-is).
|
|
67
|
+
* - `FORUMULATE_API_URL`: the exact API base, for a local API with no `/api`
|
|
68
|
+
* prefix (`http://localhost:4000`). Wins over `FORUMULATE_URL`.
|
|
69
|
+
*
|
|
70
|
+
* `env` defaults to `process.env` where there is one (Node, Bun, Deno);
|
|
71
|
+
* anything in `opts` overrides what the environment said.
|
|
72
|
+
*/
|
|
73
|
+
static fromEnv(env, opts = {}) {
|
|
74
|
+
const source = env ??
|
|
75
|
+
globalThis.process?.env ??
|
|
76
|
+
{};
|
|
77
|
+
const read = (k) => source[k]?.trim().replace(/\/+$/, '') || undefined;
|
|
78
|
+
const site = read('FORUMULATE_URL') ?? 'https://forumulate.com';
|
|
79
|
+
const baseUrl = read('FORUMULATE_API_URL') ?? (/\/api$/i.test(site) ? site : `${site}/api`);
|
|
80
|
+
return new ForumulateClient({
|
|
81
|
+
baseUrl,
|
|
82
|
+
token: source.FORUMULATE_TOKEN?.trim() || undefined,
|
|
83
|
+
...opts,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
57
86
|
/** Low-level request. Exposed so callers can reach endpoints the typed helpers don't cover yet. */
|
|
58
87
|
async request(method, path, opts = {}) {
|
|
59
88
|
const url = new URL(this.baseUrl + path);
|
|
@@ -244,9 +273,37 @@ class ForumulateClient {
|
|
|
244
273
|
* promise (E-11).
|
|
245
274
|
*/
|
|
246
275
|
publish: (orgId, spaceId, itemId) => this.request('POST', `/orgs/${orgId}/spaces/${spaceId}/items/${itemId}/publish`, { body: {} }),
|
|
276
|
+
/**
|
|
277
|
+
* Replace a piece's whole body — as markdown, or as blocks.
|
|
278
|
+
*
|
|
279
|
+
* The create door has always taken markdown and this one took blocks only,
|
|
280
|
+
* so "make it from this file" worked and "update it from the same file" did
|
|
281
|
+
* not. Both now; blocks win if a caller sends both.
|
|
282
|
+
*/
|
|
283
|
+
setContent: (orgId, spaceId, itemId, input) => this.request('PUT', `/orgs/${orgId}/spaces/${spaceId}/items/${itemId}/content`, { body: input }),
|
|
247
284
|
/** Replace one named section. Idempotent — sending it twice writes it once. */
|
|
248
285
|
setSection: (orgId, spaceId, itemId, key, markdown) => this.request('PUT', `/orgs/${orgId}/spaces/${spaceId}/items/${itemId}/sections/${key}`, { body: { markdown } }),
|
|
249
286
|
};
|
|
287
|
+
/**
|
|
288
|
+
* The addresses a space answers at.
|
|
289
|
+
*
|
|
290
|
+
* Published because the question a customer asks about a custom domain —
|
|
291
|
+
* "why is it not live yet" — is answerable only from `verified`, `active` and
|
|
292
|
+
* the setup records, and the SDK could not reach any of them (DX-2). A failed
|
|
293
|
+
* verification is a 200 with `verified: false`: read the body, not the status.
|
|
294
|
+
*/
|
|
295
|
+
domains = {
|
|
296
|
+
list: (orgId, spaceId) => this.request('GET', `/orgs/${orgId}/spaces/${spaceId}/domains`),
|
|
297
|
+
add: (orgId, spaceId, input) => this.request('POST', `/orgs/${orgId}/spaces/${spaceId}/domains`, {
|
|
298
|
+
body: input,
|
|
299
|
+
}),
|
|
300
|
+
/** Re-run the ownership check. `activate: false` proves it without switching traffic. */
|
|
301
|
+
verify: (orgId, spaceId, domainId, activate = true) => this.request('POST', `/orgs/${orgId}/spaces/${spaceId}/domains/${domainId}/verify`, { body: { activate } }),
|
|
302
|
+
/** Switch traffic to an address whose ownership is already proven. */
|
|
303
|
+
activate: (orgId, spaceId, domainId) => this.request('POST', `/orgs/${orgId}/spaces/${spaceId}/domains/${domainId}/activate`, { body: {} }),
|
|
304
|
+
/** What to configure, and what is still missing. */
|
|
305
|
+
setup: (orgId, spaceId, domainId) => this.request('GET', `/orgs/${orgId}/spaces/${spaceId}/domains/${domainId}/setup`),
|
|
306
|
+
};
|
|
250
307
|
// ── Webhooks ───────────────────────────────────────────────────────────────
|
|
251
308
|
webhooks = {
|
|
252
309
|
list: (orgId) => this.request('GET', `/orgs/${orgId}/webhooks`),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|