@clien-ai/mcp 0.2.1 → 0.4.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 CHANGED
@@ -1,12 +1,16 @@
1
1
  # @clien-ai/mcp
2
2
 
3
- Run a full Clien.ai product-research pass from Claude Code. One tool —
4
- `clien_research` — that takes an idea, runs a 15-25 minute deep research pass
3
+ Run a full Clien.ai product-research pass from Claude Code. The hero tool —
4
+ `clien_research` — takes an idea, runs a 15-25 minute deep research pass
5
5
  on our sandbox, and hands you back a markdown report plus structured
6
6
  `report_data` (hypotheses, competitors, key findings) with a typed
7
7
  [trust layer](#trust-signals) — per-claim GROUNDED/SPECULATION/NO_RECEIPT
8
8
  classifications, source receipts, and robustness survival counts.
9
9
 
10
+ Alongside it, [19 more tools](#tools) let an agent read and edit what a project
11
+ already holds — projects, personas, interviews, reports, competitors, and
12
+ community signals — most of them free.
13
+
10
14
  ---
11
15
 
12
16
  ## Quick start
@@ -49,7 +53,20 @@ Restart Claude Code. First call triggers OAuth.
49
53
 
50
54
  ```jsonc
51
55
  {
52
- "content": [{ "type": "text", "text": "<full markdown report>" }],
56
+ // The text is the full markdown report, followed by a machine-checked
57
+ // TRUST DIGEST (claim states + receipt ids + QA flags + sycophancy signals
58
+ // + robustness). The digest is rendered into the text on purpose: `_meta` is
59
+ // an optional host channel that many hosts — including Claude Code — do not
60
+ // surface to the model, so anything an agent must act on has to be here.
61
+ "content": [{ "type": "text", "text": "<full markdown report>\n\n---\n\n## Trust digest …" }],
62
+ // MCP 2025-06-18 structured results. Declared via `outputSchema` on the
63
+ // read tools, and the channel a host is expected to surface.
64
+ "structuredContent": {
65
+ "job_id": "...",
66
+ "status": "complete",
67
+ "report_data": { /* identical to `_meta.report_data` below */ }
68
+ },
69
+ // Retained unchanged for back-compat with existing consumers.
53
70
  "_meta": {
54
71
  "job_id": "...",
55
72
  "status": "complete",
@@ -81,6 +98,15 @@ the top 3 threats", etc.
81
98
 
82
99
  ### Trust signals
83
100
 
101
+ Every field below is **summarised into the result text** as a trust digest, so an
102
+ agent receives it on any host. The typed fields themselves are in
103
+ `structuredContent.report_data` (and `_meta.report_data`) when you want to read
104
+ them programmatically.
105
+
106
+ When a section is missing, the digest says so explicitly ("NOT PRESENT on this
107
+ run") rather than omitting it — an absent claim spine is not a clean one, and
108
+ silence would read as "nothing to worry about".
109
+
84
110
  `report_data` carries a typed **trust layer** so you can judge how well-evidenced
85
111
  a finding is, rather than taking the prose at face value:
86
112
 
@@ -98,13 +124,92 @@ simply omits them. The full Zod schema lives in
98
124
 
99
125
  ---
100
126
 
127
+ ## Tools
128
+
129
+ Twenty tools. `clien_research` is the hero — the recommended default for
130
+ validating an idea end to end. Everything else is either a **free read** for
131
+ orienting on what a project already holds, or a **targeted primitive** for a
132
+ narrow, cheaper probe.
133
+
134
+ Descriptions below are condensed from each tool's own registered description in
135
+ [`src/tools/registry.ts`](src/tools/registry.ts) — that file is the source of
136
+ truth, and the server advertises the full text over `tools/list`.
137
+
138
+ **Params are `snake_case`.** Five tools (`create_persona`, `generate_persona`,
139
+ `enrich_persona`, `update_persona`, `interview_persona`) also still accept their
140
+ pre-1.0 camelCase spellings (`projectId`, `companySize`, …) as deprecated
141
+ aliases. They resolve to the same request and the same result; passing both
142
+ spellings of one field with *different* values is rejected rather than silently
143
+ resolved.
144
+
145
+ An alias-only call is valid against the advertised schema too, not just honoured
146
+ at call time — including on a client that pre-validates outgoing arguments. To
147
+ make that true, the three ids that have an alias (`project_id` on
148
+ `create_persona` / `generate_persona`, `persona_id` on `enrich_persona`) are no
149
+ longer in their schema's `required` list; they are still mandatory, enforced
150
+ when the call is handled, and omitting one fails with an error naming the param
151
+ before anything is written. The **Required** columns below list what each tool
152
+ actually needs, `required` list or not. New code should send the snake_case
153
+ name — the aliases exist for callers written before the rename.
154
+
155
+ ### Research
156
+
157
+ | Tool | Required | Cost | What it does |
158
+ |------|----------|------|--------------|
159
+ | `clien_research` | `idea` | debits credits | The full pass: markdown report + structured `report_data` with the typed [trust layer](#trust-signals). Typical wall time 15–25 min, progress streamed. Attach it to a project with `project_id` or `project_name` — a run with neither is refused. |
160
+ | `clien_research_status` | — | free | Re-attach to an existing job by `job_id` — recovers a run that dropped with `-32000` and polls for completion. Called with no arguments it discovers your recent runs. |
161
+ | `scan_competitors` | `topic` | debits credits | One web researcher over the COMPETITOR dimension only (2–10 min). Returns competitor profiles in `_meta.competitors`. Check the free `list_competitors` first. |
162
+ | `search_forums` | `topic` | debits credits | One forum researcher over the COMMUNITY dimension only (2–10 min). Returns threads in `_meta.threads`. Check the free `list_community_signals` first. Run sequentially with `scan_competitors` on the same project — a parallel second call gets a 409. |
163
+
164
+ ### Projects
165
+
166
+ | Tool | Required | Cost | What it does |
167
+ |------|----------|------|--------------|
168
+ | `get_project` | `project_id` | free | **Start here on an existing project.** Metadata plus counts, ids, and one-line summaries of its personas, interviews, competitors, community signals, and reports — replacing five `list_*` calls. Pass `include` to inline full records. A failed collection returns `{ error: "unavailable" }` under its key, which is *not* the same as empty. |
169
+ | `list_projects` | — | free | Your projects, newest first, paginated. |
170
+ | `create_project` | `name` | free | Create a project to group runs, personas, and reports. |
171
+
172
+ ### Personas
173
+
174
+ | Tool | Required | Cost | What it does |
175
+ |------|----------|------|--------------|
176
+ | `list_personas` | `project_id` | free | The project's personas, newest first, paginated — including ones created in the web app. Entries carry read-only `seniority` / `careerPath` when the persona has identity grounding. |
177
+ | `get_persona` | `persona_id` | free | One persona entity in full, including flat read-only `seniority` / `careerPath` when grounded. Forum `sources[]` and `identityProvenance` live on `report_data` via `get_report`, which nests the same two names under `identityPriors`. |
178
+ | `create_persona` | `project_id`, `name`, `role` | free | Create a persona from fields you already know. No AI, no credit. |
179
+ | `update_persona` | `persona_id` | free | Correct explicit scalar fields on an existing persona. No AI, no credit. |
180
+ | `generate_persona` | `project_id`, `name`, `role` | 1 credit | AI-generate a persona from a short brief, grounded by default in real user-voice evidence. A failed generation is never charged. |
181
+ | `enrich_persona` | `persona_id` | 1 credit | AI-fill only the fields that are currently BLANK on an existing persona (or the ones named in `refresh`). A no-op charges nothing; a failure is refunded. |
182
+
183
+ ### Interviews
184
+
185
+ | Tool | Required | Cost | What it does |
186
+ |------|----------|------|--------------|
187
+ | `interview_persona` | `action` | see note | Stateful multi-turn interview. `action:start` → `turn` (repeatedly) → `complete`, plus `transcript` and `reopen`. Each `turn` generates a real AI reply, metered by your monthly usage; per-turn credit pricing is not yet applied. |
188
+ | `list_interviews` | `project_id` | free | The project's interviews, newest first, paginated — recovers ids for interviews started in the web app. Entries carry `messageCount`, not transcripts; use `get_interview` for one. |
189
+ | `get_interview` | `interview_id` | free | One interview's full transcript, from just an id. |
190
+
191
+ ### Reports & collections
192
+
193
+ | Tool | Required | Cost | What it does |
194
+ |------|----------|------|--------------|
195
+ | `list_reports` | — | free | Past `clien_research` runs, newest first. Optionally scoped to one `project_id`. |
196
+ | `get_report` | `job_id` | free | A past run's full report + `report_data`, same shape `clien_research` returns. Use this instead of re-running. |
197
+ | `list_competitors` | `project_id` | free | The project's deduped, accumulated competitor set, most-recently-seen first. Each of the four company facts carries a sibling `<fact>Grounding` — key on its `state`. |
198
+ | `list_community_signals` | `project_id` | free | The project's deduped, accumulated thread set, newest-**discovered** first (a stable order — a thread seen again does not move back to page one). Carries the verbatim `relevantQuotes[]` cached at collection. |
199
+
200
+ "free" above means what each tool's own description states: no credit cost and
201
+ no side effects.
202
+
203
+ **Not covered:** there is no delete tool. Projects and personas can be deleted
204
+ in the web app, but not from here — an agent can create, read, and correct them,
205
+ not remove them.
206
+
207
+ ---
208
+
101
209
  ## Recipes: composing beyond the hero
102
210
 
103
- `clien_research` is the hero — the recommended default for validating an idea
104
- end to end. Alongside it, the server exposes granular primitives (`create_persona`,
105
- `generate_persona`, `enrich_persona`, `interview_persona`, `scan_competitors`, `search_forums`,
106
- `list_projects` / `create_project`, `list_reports` / `get_report`,
107
- `clien_research_status`) you can sequence for targeted, cheaper checks.
211
+ For a **full** validation, call the hero. Reach for a primitive composition only
212
+ for a **narrow, cheaper probe**.
108
213
 
109
214
  See [`docs/recipes/`](../docs/recipes/) for the supported compositions:
110
215
 
@@ -112,12 +217,9 @@ See [`docs/recipes/`](../docs/recipes/) for the supported compositions:
112
217
  - [Pivot viability](../docs/recipes/pivot-viability.md) — research a pivot and compare it against the original
113
218
  - [New-market persona validation](../docs/recipes/new-market-persona-validation.md) — `create_persona` → `interview_persona`, no credits, no full run
114
219
 
115
- Rule of thumb: for a **full** validation, call the hero; reach for a primitive
116
- composition only for a **narrow, cheaper probe**.
117
-
118
220
  ---
119
221
 
120
- ## Inputs
222
+ ## `clien_research` inputs
121
223
 
122
224
  | Field | Type | Required | Default | Notes |
123
225
  |----------------|--------------------------|----------|---------|--------------------------------------------------------------------------------------------------|
@@ -125,10 +227,18 @@ composition only for a **narrow, cheaper probe**.
125
227
  | `depth` | `"quick"` \| `"deep"` | no | `deep` | `quick` caps cost; `deep` is the full 15-25 min pass |
126
228
  | `project_id` | UUID | no | | Existing Clien.ai project to attach the run to (returned in `_meta.project_id` from prior runs) |
127
229
  | `project_name` | string (1-100 chars) | no | | Name for a new project. Supply when `project_id` is not set so the report is discoverable in the web UI. Ignored when `project_id` is also provided. |
230
+ | `confirm_spend` | boolean | no | | Leave unset on a first attempt. Set true only to confirm a run after a prior call returned the soft daily-spend-guard prompt. |
231
+ | `run_anyway` | boolean | no | | Leave unset on a first attempt. Set true only to override the soft task guard that refuses off-script inputs. |
232
+
233
+ A run with neither `project_id` nor `project_name` is refused, so every report
234
+ stays discoverable in the web UI.
128
235
 
129
236
  ## Outputs
130
237
 
131
- The tool returns markdown content plus `_meta`:
238
+ The tool returns markdown content — with the trust digest appended to it — plus
239
+ `_meta`. The read tools additionally declare an `outputSchema` and return the
240
+ same payload as `structuredContent`; see
241
+ [What the tool returns](#what-the-tool-returns).
132
242
 
133
243
  | `_meta` field | Type | Notes |
134
244
  |--------------------|-----------------|-------------------------------------------------------------------------------------|
@@ -176,7 +286,7 @@ npx @clien-ai/mcp logout --json
176
286
  # Snapshot of credentials state without triggering OAuth.
177
287
  npx @clien-ai/mcp status
178
288
 
179
- # @clien-ai/mcp v0.1.0
289
+ # @clien-ai/mcp v0.3.0
180
290
  #
181
291
  # Backend: file
182
292
  # Has token: yes
@@ -16,6 +16,7 @@
16
16
  import { createServer, } from 'node:http';
17
17
  import { URL, URLSearchParams } from 'node:url';
18
18
  import { z } from 'zod';
19
+ import { createSingleFlight } from '../util/single-flight.js';
19
20
  import { generatePkcePair, generateState, } from './pkce.js';
20
21
  // 30 seconds. Token endpoint should respond within a few hundred ms; longer
21
22
  // means hung. Single bound covers both the network-issue case (#173) and the
@@ -413,6 +414,26 @@ export async function ensureSession(opts) {
413
414
  /** Build the externally-visible Session object backed by mutable token state. */
414
415
  function makeSession(initial, opts) {
415
416
  const state = { current: initial };
417
+ // FUL-236: in-process single-flight over the whole refresh sequence.
418
+ //
419
+ // `get_project` fans out SIX parallel bearer reads over this one Session. On
420
+ // an expired access token every leg 401s and calls refresh(); without this,
421
+ // each leg would take `withTokenLock` in turn and burn its own token
422
+ // round-trip — six sequential lock acquisitions, and six presentations of a
423
+ // refresh token the server rotates on every use (the shape the reload-on-
424
+ // already-used retry exists to recover from). Collapsed here, exactly one
425
+ // refresh runs and the other five join it.
426
+ //
427
+ // Scoped to this closure, so it lives and dies with the Session object: an
428
+ // `invalidateSession()` that rebuilds the session starts with an empty slot,
429
+ // and tests constructing a fresh session start cold.
430
+ //
431
+ // ⚠️ This sits ABOVE `withTokenLock`, deliberately. The disk lock coordinates
432
+ // separate PROCESSES sharing `~/.clien-ai/tokens.json.enc` and is still
433
+ // required; single-flight only collapses callers inside THIS process. The
434
+ // lock is inside the flight body so the six callers stop queueing on lock
435
+ // acquisition too, not just on the fetch.
436
+ const refreshFlight = createSingleFlight();
416
437
  return {
417
438
  get accessToken() {
418
439
  return state.current.accessToken;
@@ -421,49 +442,58 @@ function makeSession(initial, opts) {
421
442
  return state.current.refreshToken;
422
443
  },
423
444
  async refresh() {
424
- const fresh = await opts.withTokenLock(async () => {
425
- // Re-read disk inside the lock so a peer's recent rotation wins
426
- // over our (potentially stale) in-memory copy.
427
- const current = (await opts.loadRefreshToken()) ?? state.current.refreshToken;
428
- try {
429
- const refreshed = await refreshAccessToken(opts.config, current);
430
- await opts.saveRefreshToken(refreshed.refreshToken);
431
- return refreshed;
445
+ const fresh = await refreshFlight.run(async () => {
446
+ const rotated = await refreshSequence();
447
+ // Assigned inside the flight body so it happens exactly once, before
448
+ // any joining caller resumes — not once per caller.
449
+ state.current = rotated;
450
+ return rotated;
451
+ });
452
+ return fresh.accessToken;
453
+ },
454
+ };
455
+ /** The load -> refresh -> save sequence, under the cross-process lock. */
456
+ async function refreshSequence() {
457
+ return opts.withTokenLock(async () => {
458
+ // Re-read disk inside the lock so a peer's recent rotation wins
459
+ // over our (potentially stale) in-memory copy.
460
+ const current = (await opts.loadRefreshToken()) ?? state.current.refreshToken;
461
+ try {
462
+ const refreshed = await refreshAccessToken(opts.config, current);
463
+ await opts.saveRefreshToken(refreshed.refreshToken);
464
+ return refreshed;
465
+ }
466
+ catch (err) {
467
+ // Bubble transient errors WITHOUT clearing storage — same guard as
468
+ // ensureSession to avoid wiping a still-valid token on a network blip.
469
+ if (err instanceof OAuthError && err.code === 'oauth_network_error') {
470
+ throw err;
432
471
  }
433
- catch (err) {
434
- // Bubble transient errors WITHOUT clearing storage — same guard as
435
- // ensureSession to avoid wiping a still-valid token on a network blip.
436
- if (err instanceof OAuthError && err.code === 'oauth_network_error') {
437
- throw err;
438
- }
439
- if (isAlreadyUsedError(err)) {
440
- const reloaded = await opts.loadRefreshToken();
441
- if (reloaded && reloaded !== current) {
442
- try {
443
- const refreshed = await refreshAccessToken(opts.config, reloaded);
444
- await opts.saveRefreshToken(refreshed.refreshToken);
445
- return refreshed;
446
- }
447
- catch (retryErr) {
448
- if (retryErr instanceof OAuthError && retryErr.code === 'oauth_network_error') {
449
- throw retryErr;
450
- }
451
- // fall through to clearTokens
472
+ if (isAlreadyUsedError(err)) {
473
+ const reloaded = await opts.loadRefreshToken();
474
+ if (reloaded && reloaded !== current) {
475
+ try {
476
+ const refreshed = await refreshAccessToken(opts.config, reloaded);
477
+ await opts.saveRefreshToken(refreshed.refreshToken);
478
+ return refreshed;
479
+ }
480
+ catch (retryErr) {
481
+ if (retryErr instanceof OAuthError && retryErr.code === 'oauth_network_error') {
482
+ throw retryErr;
452
483
  }
484
+ // fall through to clearTokens
453
485
  }
454
486
  }
455
- // Genuinely revoked refresh token — clear stored credentials so
456
- // the next ensureSession run doesn't reload the same dead token
457
- // and burn another round-trip. Symmetric with ensureSession's
458
- // step-2 path. Best-effort: an unwritable HOME shouldn't mask
459
- // the original refresh failure.
460
- await opts.clearTokens().catch(() => { });
461
- throw err;
462
487
  }
463
- });
464
- state.current = fresh;
465
- return fresh.accessToken;
466
- },
467
- };
488
+ // Genuinely revoked refresh token — clear stored credentials so
489
+ // the next ensureSession run doesn't reload the same dead token
490
+ // and burn another round-trip. Symmetric with ensureSession's
491
+ // step-2 path. Best-effort: an unwritable HOME shouldn't mask
492
+ // the original refresh failure.
493
+ await opts.clearTokens().catch(() => { });
494
+ throw err;
495
+ }
496
+ });
497
+ }
468
498
  }
469
499
  //# sourceMappingURL=oauth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -14,10 +14,18 @@ import { ensureSession, } from './auth/oauth.js';
14
14
  import { clearTokens, loadRefreshToken, saveRefreshToken, withTokenLock, } from './auth/storage.js';
15
15
  import { ToolError } from './tools/errors.js';
16
16
  import { TOOLS } from './tools/registry.js';
17
+ import { createSingleFlight } from './util/single-flight.js';
17
18
  function log(...args) {
18
19
  // stderr only — stdout is the MCP transport.
19
20
  console.error('[clien-mcp]', ...args);
20
21
  }
22
+ function recordToolUsage(toolName) {
23
+ // Minimal dogfooding telemetry (FUL-212): which tools agents actually call.
24
+ // stderr only — stdout is the MCP transport. Tool name + timestamp only;
25
+ // no args, no PII, no payloads. Distinct prefix keeps usage records
26
+ // greppable and parseable, separate from operational `[clien-mcp]` logs.
27
+ console.error('[clien-mcp:usage]', JSON.stringify({ tool: toolName, ts: new Date().toISOString() }));
28
+ }
21
29
  /**
22
30
  * Default browser opener — lazily imports `open` so the package still loads
23
31
  * on systems that can't open a browser (we handle the error in OAuth).
@@ -39,19 +47,35 @@ export function createMcpServer() {
39
47
  // gymnastics. In production we only ever construct one server per process
40
48
  // (`startStdioServer`), so behavior is identical.
41
49
  let cachedSession = null;
50
+ // FUL-236, same hazard one level up from `Session.refresh()`: the MCP SDK
51
+ // dispatches `tools/call` requests concurrently, so two tool calls arriving
52
+ // on a COLD cache would both see `cachedSession === null` and both run
53
+ // `ensureSession` — two refreshes of a rotating refresh token, the second of
54
+ // which lands on the `invalid_grant` reload-and-retry path. Collapsing them
55
+ // means the second call joins the first build.
56
+ //
57
+ // Unlike the refresh flight this one also has a cache in front of it, so the
58
+ // steady state (`cachedSession` set) never reaches the flight at all.
59
+ const sessionFlight = createSingleFlight();
42
60
  async function getSession() {
61
+ // No re-check of `cachedSession` inside the flight body: `run` invokes its
62
+ // callback SYNCHRONOUSLY, so there is no async gap between the miss above
63
+ // and the build below in which the cache could have been filled.
43
64
  if (cachedSession)
44
65
  return cachedSession;
45
- const opener = await defaultBrowserOpener();
46
- cachedSession = await ensureSession({
47
- config,
48
- loadRefreshToken,
49
- saveRefreshToken,
50
- clearTokens,
51
- openBrowser: opener,
52
- withTokenLock,
66
+ return sessionFlight.run(async () => {
67
+ const opener = await defaultBrowserOpener();
68
+ const session = await ensureSession({
69
+ config,
70
+ loadRefreshToken,
71
+ saveRefreshToken,
72
+ clearTokens,
73
+ openBrowser: opener,
74
+ withTokenLock,
75
+ });
76
+ cachedSession = session;
77
+ return session;
53
78
  });
54
- return cachedSession;
55
79
  }
56
80
  // Invalidate the in-memory session so the next tool call rebuilds it from
57
81
  // disk. Called from the polling loop when a 401 indicates server-side
@@ -61,11 +85,16 @@ export function createMcpServer() {
61
85
  cachedSession = null;
62
86
  }
63
87
  const server = new Server({ name: PACKAGE_NAME, version: PACKAGE_VERSION }, { capabilities: { tools: {} } });
88
+ // `outputSchema` is spread conditionally rather than set to `undefined`:
89
+ // advertising an explicit `outputSchema: undefined` on the 11 tools that have
90
+ // none would serialise the key on the wire, and a client is entitled to read a
91
+ // present-but-empty schema differently from an absent one.
64
92
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
65
93
  tools: TOOLS.map((tool) => ({
66
94
  name: tool.name,
67
95
  description: tool.description,
68
96
  inputSchema: tool.jsonSchema,
97
+ ...(tool.outputSchema ? { outputSchema: tool.outputSchema } : {}),
69
98
  })),
70
99
  }));
71
100
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
@@ -80,6 +109,9 @@ export function createMcpServer() {
80
109
  if (!tool) {
81
110
  throw new Error(`Unknown tool: ${toolName}`);
82
111
  }
112
+ // Record usage once per valid tool call, before dispatch — a call that
113
+ // later errors is still usage (the agent reached for the tool).
114
+ recordToolUsage(toolName);
83
115
  // Per MCP spec, `progressToken` may be a string OR a number, and `0` or
84
116
  // `''` are valid token values. A truthy check (`progressToken ?`) silently
85
117
  // drops progress for those callers. Compare against `undefined` instead.
@@ -110,9 +142,15 @@ export function createMcpServer() {
110
142
  onProgress,
111
143
  invalidateSession,
112
144
  });
145
+ // FUL-243: `structuredContent` is the MCP 2025-06-18 machine-readable
146
+ // result channel — unlike `_meta`, a host is expected to surface it. It is
147
+ // populated by `defineTool` for exactly the tools that declare an
148
+ // `outputSchema`, so this passes through whatever the registry produced
149
+ // and never invents one. `_meta` is still sent unchanged for back-compat.
113
150
  return {
114
151
  content: result.content,
115
152
  _meta: result._meta,
153
+ ...(result.structuredContent ? { structuredContent: result.structuredContent } : {}),
116
154
  };
117
155
  }
118
156
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AACvE,OAAO,EACL,aAAa,GAGd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAE5D,SAAS,GAAG,CAAC,GAAG,IAAe;IAC7B,6CAA6C;IAC7C,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,4EAA4E;IAC5E,yEAAyE;IACzE,oEAAoE;IACpE,yEAAyE;IACzE,OAAO,CAAC,KAAK,CACX,mBAAmB,EACnB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CACjE,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,oBAAoB;IACjC,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,CAEM,CAAA;IACvC,MAAM,EAAE,GACN,OAAO,GAAG,KAAK,UAAU;QACvB,CAAC,CAAE,GAAyC;QAC5C,CAAC,CAAE,GAAsD,CAAC,OAAO,CAAA;IACrE,OAAO,KAAK,EAAE,GAAW,EAAE,EAAE;QAC3B,MAAM,EAAE,CAAC,GAAG,CAAC,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAA;IAE3B,2EAA2E;IAC3E,2EAA2E;IAC3E,yEAAyE;IACzE,0EAA0E;IAC1E,kDAAkD;IAClD,IAAI,aAAa,GAAmB,IAAI,CAAA;IAExC,0EAA0E;IAC1E,4EAA4E;IAC5E,uEAAuE;IACvE,6EAA6E;IAC7E,4EAA4E;IAC5E,+CAA+C;IAC/C,EAAE;IACF,6EAA6E;IAC7E,sEAAsE;IACtE,MAAM,aAAa,GAAG,kBAAkB,EAAW,CAAA;IAEnD,KAAK,UAAU,UAAU;QACvB,2EAA2E;QAC3E,0EAA0E;QAC1E,iEAAiE;QACjE,IAAI,aAAa;YAAE,OAAO,aAAa,CAAA;QACvC,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAClC,MAAM,MAAM,GAAG,MAAM,oBAAoB,EAAE,CAAA;YAC3C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC;gBAClC,MAAM;gBACN,gBAAgB;gBAChB,gBAAgB;gBAChB,WAAW;gBACX,WAAW,EAAE,MAAM;gBACnB,aAAa;aACd,CAAC,CAAA;YACF,aAAa,GAAG,OAAO,CAAA;YACvB,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,2EAA2E;IAC3E,SAAS,iBAAiB;QACxB,aAAa,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,EAChD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAA;IAED,yEAAyE;IACzE,8EAA8E;IAC9E,+EAA+E;IAC/E,2DAA2D;IAC3D,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,UAAU;YAC5B,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC,CAAC;KACJ,CAAC,CAAC,CAAA;IAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;QAEpC,iEAAiE;QACjE,oEAAoE;QACpE,kEAAkE;QAClE,kEAAkE;QAClE,yDAAyD;QACzD,0DAA0D;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAA;QAC9C,CAAC;QAED,uEAAuE;QACvE,gEAAgE;QAChE,eAAe,CAAC,QAAQ,CAAC,CAAA;QAEzB,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAA;QACzD,MAAM,UAAU,GAAG,aAAa,KAAK,SAAS;YAC5C,CAAC,CAAC,KAAK,EAAE,QAAsB,EAAE,EAAE;gBAC/B,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,YAAY,CAAC;wBACxB,MAAM,EAAE,wBAAwB;wBAChC,MAAM,EAAE;4BACN,aAAa;4BACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ;4BAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;4BACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;yBAC1B;qBACF,CAAC,CAAA;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;gBAC3C,CAAC;YACH,CAAC;YACH,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAA;YAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC1D,MAAM;gBACN,OAAO;gBACP,UAAU;gBACV,iBAAiB;aAClB,CAAC,CAAA;YACF,sEAAsE;YACtE,2EAA2E;YAC3E,kEAAkE;YAClE,wEAAwE;YACxE,0EAA0E;YAC1E,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACrF,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GACX,GAAG,YAAY,SAAS;gBACtB,CAAC,CAAC,GAAG,CAAC,WAAW;gBACjB,CAAC,CAAC,GAAG,YAAY,KAAK;oBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;oBACb,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACnB,qEAAqE;YACrE,kEAAkE;YAClE,sEAAsE;YACtE,mDAAmD;YACnD,MAAM,UAAU,GAAG,GAAG,YAAY,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;YACnE,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;YAC3B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC1C,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,GAAG,CAAC,wBAAwB,YAAY,IAAI,eAAe,EAAE,CAAC,CAAA;AAChE,CAAC"}