@clien-ai/mcp 0.3.0 → 0.5.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/CHANGELOG.md +105 -0
- package/README.md +32 -7
- package/dist/auth/oauth.js +69 -39
- package/dist/auth/oauth.js.map +1 -1
- package/dist/server.js +37 -9
- package/dist/server.js.map +1 -1
- package/dist/tools/collections.js +262 -23
- package/dist/tools/collections.js.map +1 -1
- package/dist/tools/interview.js +77 -6
- package/dist/tools/interview.js.map +1 -1
- package/dist/tools/output-schemas.js +130 -0
- package/dist/tools/output-schemas.js.map +1 -0
- package/dist/tools/personas.js +195 -25
- package/dist/tools/personas.js.map +1 -1
- package/dist/tools/projects.js +56 -11
- package/dist/tools/projects.js.map +1 -1
- package/dist/tools/registry.js +141 -58
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/report-digest.js +640 -0
- package/dist/tools/report-digest.js.map +1 -0
- package/dist/tools/reports.js +78 -6
- package/dist/tools/reports.js.map +1 -1
- package/dist/tools/research.js +249 -1
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/scoped-research.js +86 -22
- package/dist/tools/scoped-research.js.map +1 -1
- package/dist/tools/status.js +41 -5
- package/dist/tools/status.js.map +1 -1
- package/dist/util/single-flight.js +63 -0
- package/dist/util/single-flight.js.map +1 -0
- package/package.json +3 -2
package/dist/tools/projects.js
CHANGED
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
*/
|
|
26
26
|
import { z } from 'zod';
|
|
27
27
|
import { ToolError } from './errors.js';
|
|
28
|
-
import { apiCall, categorizeFetchError, truncate, } from './research.js';
|
|
28
|
+
import { apiCall, categorizeFetchError, truncate, safeInline, } from './research.js';
|
|
29
29
|
import { toCompetitorSummary, toCommunitySignalSummary } from './collections.js';
|
|
30
|
+
import { toInterviewSummary } from './interview.js';
|
|
30
31
|
const PROJECTS_FETCH_TIMEOUT_MS = 30_000;
|
|
31
32
|
// Caps re-declared locally: the @clien-ai/mcp package is published separately
|
|
32
33
|
// and cannot import from the Next.js app. Kept in sync with VALIDATION_LIMITS
|
|
@@ -155,12 +156,48 @@ export async function listProjects(input, deps) {
|
|
|
155
156
|
}
|
|
156
157
|
else {
|
|
157
158
|
const lines = projects.map((p) => {
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
// `safeInline` rather than a bare `truncate`: `name` and `description` are
|
|
160
|
+
// user-written free text reaching a LINE-STRUCTURED render, so a newline in
|
|
161
|
+
// either ends the row early and lets the remainder pose as a sibling
|
|
162
|
+
// `- Some Project (id: …)` entry — a project that does not exist, with an id
|
|
163
|
+
// an agent may then pass to a mutation. FUL-247 closed this class in
|
|
164
|
+
// `collections.ts`; this list still had it.
|
|
165
|
+
const name = safeInline(p.name, 100) ?? '(unnamed)';
|
|
166
|
+
const description = safeInline(p.description, 100);
|
|
167
|
+
const desc = description ? ` — ${description}` : '';
|
|
168
|
+
// FUL-252: `list_projects` is the entry point of EVERY session and printed no
|
|
169
|
+
// date at all, so an agent choosing among several projects had no recency
|
|
170
|
+
// signal — the one thing that distinguishes last week's active work from a
|
|
171
|
+
// year-old experiment with a similar name. Placed before the description so
|
|
172
|
+
// the scannable identity of a row (name · id · age) stays together and the
|
|
173
|
+
// free text trails it.
|
|
174
|
+
//
|
|
175
|
+
// ⚠️ Must NOT be inserted between `desc` and `lock`: the FUL-247 lock
|
|
176
|
+
// assertion is deliberately anchored on those two being adjacent, because an
|
|
177
|
+
// aggregate note elsewhere in this output also says LOCKED and a non-row-local
|
|
178
|
+
// expectation passed vacuously once already.
|
|
179
|
+
const createdAt = safeInline(p.createdAt, 40);
|
|
180
|
+
const created = createdAt ? ` — created ${createdAt}` : '';
|
|
181
|
+
// FUL-247: `get_project` renders lock state and this list did not, so an
|
|
182
|
+
// agent picking a project here could not see which ones refuse writes until
|
|
183
|
+
// a mutation came back 403.
|
|
184
|
+
//
|
|
185
|
+
// Only `=== true` prints, unlike `get_project`, and the asymmetry is
|
|
186
|
+
// deliberate rather than an oversight: on a single-entity read "Editable" is
|
|
187
|
+
// one useful line, but on an index of up to 100 rows it is 100 lines saying
|
|
188
|
+
// nothing. The reader needs the exception flagged, not the rule repeated.
|
|
189
|
+
// Correspondingly, ABSENCE of the flag here means "not locked OR not stated"
|
|
190
|
+
// — the closing note says so, so absence is never read as a guarantee.
|
|
191
|
+
const lock = p.isLocked === true ? ' — LOCKED (read-only)' : '';
|
|
192
|
+
return `- ${name} (id: ${safeInline(p.id, 60) ?? 'unknown'})${created}${desc}${lock}`;
|
|
160
193
|
});
|
|
194
|
+
const lockNote = projects.some((p) => p.isLocked === true)
|
|
195
|
+
? '\n\nLOCKED projects are read-only (subscription limit) — writes to them will be refused. ' +
|
|
196
|
+
'No flag means not locked, or not stated by this endpoint; `get_project` is authoritative.'
|
|
197
|
+
: '';
|
|
161
198
|
const shown = offset + projects.length;
|
|
162
199
|
const more = shown < total ? `\n\n${total - shown} more not shown — page with offset=${shown}.` : '';
|
|
163
|
-
text = `Found ${total} project${total === 1 ? '' : 's'}:\n${lines.join('\n')}${more}`;
|
|
200
|
+
text = `Found ${total} project${total === 1 ? '' : 's'}:\n${lines.join('\n')}${more}${lockNote}`;
|
|
164
201
|
}
|
|
165
202
|
return {
|
|
166
203
|
content: [{ type: 'text', text }],
|
|
@@ -338,6 +375,10 @@ const HUB_CHILD_SPECS = {
|
|
|
338
375
|
hasTotal: true,
|
|
339
376
|
supportsOffset: true,
|
|
340
377
|
listTool: 'list_interviews',
|
|
378
|
+
// FUL-237: ask for `messageCount` instead of the transcripts. This tool
|
|
379
|
+
// already threw the messages away in `toHubItem` — it was paying to read and
|
|
380
|
+
// transfer every word of every interview in the page for a number.
|
|
381
|
+
query: { fields: 'summary' },
|
|
341
382
|
},
|
|
342
383
|
competitors: {
|
|
343
384
|
key: 'competitors',
|
|
@@ -449,9 +490,9 @@ function describeFailure(outcome) {
|
|
|
449
490
|
*
|
|
450
491
|
* Competitors and community signals go through U7's mappers so this tool and
|
|
451
492
|
* `list_competitors` / `list_community_signals` speak ONE vocabulary for the same
|
|
452
|
-
* concepts. Interviews
|
|
453
|
-
*
|
|
454
|
-
*
|
|
493
|
+
* concepts. Interviews carry `messageCount` and never a transcript: inlining a
|
|
494
|
+
* page of them verbatim would return every word of every interview from an
|
|
495
|
+
* orientation call.
|
|
455
496
|
*/
|
|
456
497
|
function toHubItem(key, row) {
|
|
457
498
|
const record = (row !== null && typeof row === 'object' ? row : {});
|
|
@@ -460,10 +501,12 @@ function toHubItem(key, row) {
|
|
|
460
501
|
return toCompetitorSummary(record);
|
|
461
502
|
case 'community':
|
|
462
503
|
return toCommunitySignalSummary(record);
|
|
463
|
-
case 'interviews':
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
504
|
+
case 'interviews':
|
|
505
|
+
// Same mapper `list_interviews` uses (FUL-237), for the same reason the
|
|
506
|
+
// competitor and community cases above share theirs: this tool and that
|
|
507
|
+
// one must not report different counts — or different "unknown" sentinels
|
|
508
|
+
// — for one interview.
|
|
509
|
+
return toInterviewSummary(record);
|
|
467
510
|
case 'personas':
|
|
468
511
|
case 'reports':
|
|
469
512
|
return record;
|
|
@@ -590,6 +633,8 @@ export async function getProject(input, deps) {
|
|
|
590
633
|
// no `pagination`. Sending one would be advertising paging it cannot do.
|
|
591
634
|
if (spec.supportsOffset)
|
|
592
635
|
query.set('offset', '0');
|
|
636
|
+
for (const [key, value] of Object.entries(spec.query ?? {}))
|
|
637
|
+
query.set(key, value);
|
|
593
638
|
return `${spec.path}?${query.toString()}`;
|
|
594
639
|
};
|
|
595
640
|
// One parallel round trip for all six reads. `allSettled` is the outer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -22,6 +22,7 @@ import { ListReportsInputSchema, GetReportInputSchema, listReports, getReport, }
|
|
|
22
22
|
import { InterviewPersonaInputSchema, INTERVIEW_PERSONA_ALIASES, interviewPersona, ListInterviewsInputSchema, listInterviews, GetInterviewInputSchema, getInterview, } from './interview.js';
|
|
23
23
|
import { ScanCompetitorsInputSchema, scanCompetitors, SearchForumsInputSchema, searchForums, } from './scoped-research.js';
|
|
24
24
|
import { ListCompetitorsInputSchema, listCompetitors, ListCommunitySignalsInputSchema, listCommunitySignals, } from './collections.js';
|
|
25
|
+
import { GET_PERSONA_OUTPUT_SCHEMA, GET_REPORT_OUTPUT_SCHEMA, GET_INTERVIEW_OUTPUT_SCHEMA, LIST_PERSONAS_OUTPUT_SCHEMA, LIST_PROJECTS_OUTPUT_SCHEMA, LIST_INTERVIEWS_OUTPUT_SCHEMA, LIST_REPORTS_OUTPUT_SCHEMA, LIST_COMPETITORS_OUTPUT_SCHEMA, LIST_COMMUNITY_SIGNALS_OUTPUT_SCHEMA, } from './output-schemas.js';
|
|
25
26
|
/**
|
|
26
27
|
* `paramAliases` defaults to `{}` — a tool with no legacy spellings declares
|
|
27
28
|
* nothing. The handler is wrapped rather than each tool calling the normalizer
|
|
@@ -32,25 +33,54 @@ import { ListCompetitorsInputSchema, listCompetitors, ListCommunitySignalsInputS
|
|
|
32
33
|
* ambiguous input surfaces as a REJECTED PROMISE, not a synchronous throw —
|
|
33
34
|
* `ToolDefinition.handler` promises `Promise<ToolResult>`, and a caller that
|
|
34
35
|
* relies on `.catch()` rather than try/catch must not be blindsided.
|
|
36
|
+
*
|
|
37
|
+
* The same wrapper also DISCHARGES the `outputSchema` obligation (FUL-243). MCP
|
|
38
|
+
* requires that a tool declaring an `outputSchema` return conforming
|
|
39
|
+
* `structuredContent`; rather than trusting nine handlers to remember, the
|
|
40
|
+
* wrapper fills it from the handler's `_meta` whenever a schema is declared. The
|
|
41
|
+
* two therefore cannot drift: you cannot add a schema and forget the payload, and
|
|
42
|
+
* a tool with no schema never gains a stray structured result.
|
|
43
|
+
*
|
|
44
|
+
* `_meta` is the right source because for every tool that declares a schema it
|
|
45
|
+
* ALREADY holds exactly the structured payload — `structuredContent` is a new
|
|
46
|
+
* delivery channel for it, not new data. `_meta` is left in place unchanged for
|
|
47
|
+
* back-compat with anything already reading it.
|
|
48
|
+
*
|
|
49
|
+
* `?? {}` rather than skipping: a schema-carrying tool that somehow returned no
|
|
50
|
+
* `_meta` must still emit `structuredContent`, and `{}` satisfies every schema
|
|
51
|
+
* here whose `required` fields are all handler-guaranteed. A handler that
|
|
52
|
+
* genuinely cannot produce its payload throws instead, and error results are
|
|
53
|
+
* exempt from the obligation per spec.
|
|
35
54
|
*/
|
|
36
55
|
function defineTool(def) {
|
|
37
56
|
const paramAliases = def.paramAliases ?? {};
|
|
38
57
|
const inner = def.handler;
|
|
58
|
+
const { outputSchema } = def;
|
|
39
59
|
return {
|
|
40
60
|
...def,
|
|
41
61
|
paramAliases,
|
|
42
62
|
jsonSchema: zodToInputSchema(def.zodSchema),
|
|
43
|
-
handler: async (args, deps) =>
|
|
63
|
+
handler: async (args, deps) => {
|
|
64
|
+
const result = await inner(normalizeParamAliases(args, paramAliases), deps);
|
|
65
|
+
if (!outputSchema)
|
|
66
|
+
return result;
|
|
67
|
+
return { ...result, structuredContent: result.structuredContent ?? result._meta ?? {} };
|
|
68
|
+
},
|
|
44
69
|
};
|
|
45
70
|
}
|
|
46
71
|
export const TOOLS = [
|
|
47
72
|
defineTool({
|
|
48
73
|
name: 'clien_research',
|
|
49
74
|
description: 'Run a full product-research pass on an idea — the recommended default for validating ' +
|
|
50
|
-
'a new idea end to end. Returns a markdown report
|
|
51
|
-
'
|
|
52
|
-
'
|
|
53
|
-
'
|
|
75
|
+
'a new idea end to end. Returns a markdown report, FOLLOWED IN THE SAME TEXT by a ' +
|
|
76
|
+
'machine-checked TRUST DIGEST — read the digest rather than trusting the prose. It states ' +
|
|
77
|
+
'every claim\'s GROUNDED / SPECULATION / NO_RECEIPT state with its receipt id, the separate ' +
|
|
78
|
+
'market/competitor spine, which personas are ⚠️ QA-FLAGGED, the anti-sycophancy readout, and ' +
|
|
79
|
+
'which hypothesis verdicts FLIPPED under rephrasing (with the downgraded verdict to act on ' +
|
|
80
|
+
'instead). When a section is missing the digest says so — absent is not clean. ' +
|
|
81
|
+
'The full structured report_data (hypotheses, competitors[], key findings) is also in ' +
|
|
82
|
+
'`_meta.report_data` for programmatic use; the digest already carries what you need to reason. ' +
|
|
83
|
+
'report_data carries this same typed TRUST layer: ' +
|
|
54
84
|
'(1) `claims[]` — each has a GROUNDED / SPECULATION / NO_RECEIPT state; a GROUNDED claim carries a ' +
|
|
55
85
|
'`sourceId` of the form "RCP-p{i}-s{j}" that indexes `personas[i].sources[j]` directly, so you can ' +
|
|
56
86
|
'follow any claim to the exact cached forum post that backs it. NO_RECEIPT can mean a bad claim OR ' +
|
|
@@ -102,8 +132,11 @@ export const TOOLS = [
|
|
|
102
132
|
description: 'Fetch the current state of an existing `clien_research` job. Use this to ' +
|
|
103
133
|
'recover a run that disconnected with -32000 mid-flight (the job keeps running ' +
|
|
104
134
|
'on the backend; this tool re-attaches a read view) and to poll for completion. ' +
|
|
105
|
-
'If the job is complete, returns the full markdown report
|
|
106
|
-
'
|
|
135
|
+
'If the job is complete, returns the full markdown report — followed in the same text by the ' +
|
|
136
|
+
'same machine-checked TRUST DIGEST `clien_research` renders (claim states + receipt ids, ' +
|
|
137
|
+
'QA-flagged personas, anti-sycophancy readout, flipped verdicts) — plus structured ' +
|
|
138
|
+
'report_data in `_meta`, the same shape `clien_research` would have returned. A recovered run ' +
|
|
139
|
+
'therefore loses none of the trust signal a completed run would have shown. ' +
|
|
107
140
|
'If the job is still running, returns a brief status summary. If the job failed or ' +
|
|
108
141
|
'was cancelled, returns the failure reason. ' +
|
|
109
142
|
'RECOVERY WITHOUT A JOB_ID: if the -32000 drop left you with no job_id, call this tool ' +
|
|
@@ -185,11 +218,13 @@ export const TOOLS = [
|
|
|
185
218
|
defineTool({
|
|
186
219
|
name: 'list_projects',
|
|
187
220
|
description: 'List the caller\'s Clien.ai projects (newest first, paginated). Returns each ' +
|
|
188
|
-
'project\'s name and id as text
|
|
189
|
-
'
|
|
221
|
+
'project\'s name and id as readable text; the raw project array and pagination are ' +
|
|
222
|
+
'also returned as `structuredContent.projects` / `.pagination` (mirrored in `_meta`). ' +
|
|
223
|
+
'Use this to find an existing `project_id` to attach a `clien_research` ' +
|
|
190
224
|
'run to, or to check whether a project already exists before calling `create_project`. ' +
|
|
191
225
|
'Read-only: no credit cost, no side effects.',
|
|
192
226
|
zodSchema: ListProjectsInputSchema,
|
|
227
|
+
outputSchema: LIST_PROJECTS_OUTPUT_SCHEMA,
|
|
193
228
|
handler: (args, deps) => listProjects(args, deps),
|
|
194
229
|
}),
|
|
195
230
|
defineTool({
|
|
@@ -268,7 +303,10 @@ export const TOOLS = [
|
|
|
268
303
|
'quo. Add `company`, `industry`, or `company_size` to pin those yourself, ' +
|
|
269
304
|
'and `additional_context` (a free-form brief) to steer the persona toward the product/market you ' +
|
|
270
305
|
'are validating. Set `ephemeral: true` for a scratch persona excluded from the project\'s ' +
|
|
271
|
-
'aggregate insights. Returns the
|
|
306
|
+
'aggregate insights. Returns the GENERATED PROFILE as readable text — name, role, company, ' +
|
|
307
|
+
'company size, industry, location, and the background paragraph the model wrote — so you can ' +
|
|
308
|
+
'read what you just paid for without a follow-up `get_persona`. The record is also in ' +
|
|
309
|
+
'`_meta.persona`. ' +
|
|
272
310
|
'This DEBITS 1 credit per generated persona (the explicit, no-AI `create_persona` is free — use ' +
|
|
273
311
|
'that when you already know the fields). On insufficient credits the tool returns a clear error ' +
|
|
274
312
|
'with your balance and a top-up link, and nothing is charged. A failed generation is never ' +
|
|
@@ -284,8 +322,9 @@ export const TOOLS = [
|
|
|
284
322
|
'the model fills only the fields that are currently BLANK — it never overwrites content you ' +
|
|
285
323
|
'already entered. To regenerate specific already-populated fields, pass `refresh` (e.g. ' +
|
|
286
324
|
'["description", "industry"]). Add `additional_context` (a free-form brief) to steer the ' +
|
|
287
|
-
'enrichment toward the product/market you are validating. Returns the
|
|
288
|
-
'
|
|
325
|
+
'enrichment toward the product/market you are validating. Returns the UPDATED PROFILE as ' +
|
|
326
|
+
'readable text (so you can read the fields the model just filled) plus the list of filled ' +
|
|
327
|
+
'field names; both are also in `_meta.persona` / `_meta.enriched`. ' +
|
|
289
328
|
'This DEBITS 1 credit per enrichment (use `create_persona` to set fields explicitly for free, ' +
|
|
290
329
|
'or `generate_persona` to AI-create a brand-new persona). If nothing is blank and you pass no ' +
|
|
291
330
|
'`refresh`, it is a no-op and NOTHING is charged. On insufficient credits the tool returns a ' +
|
|
@@ -298,28 +337,40 @@ export const TOOLS = [
|
|
|
298
337
|
defineTool({
|
|
299
338
|
name: 'list_personas',
|
|
300
339
|
description: 'List the personas in a Clien.ai project (newest first, paginated). Returns each ' +
|
|
301
|
-
'persona\'s name, role, and id as text
|
|
302
|
-
'`
|
|
340
|
+
'persona\'s name, role, and id as readable text; the raw persona array and pagination are ' +
|
|
341
|
+
'also returned as `structuredContent.personas` / `.pagination` (mirrored in `_meta`). ' +
|
|
342
|
+
'This list is deliberately one line per persona — call `get_persona` for a full profile. ' +
|
|
343
|
+
'Requires a `project_id` — call `list_projects` ' +
|
|
303
344
|
'to find one. This is the KEYSTONE discovery read: it surfaces personas created in the ' +
|
|
304
345
|
'web app too, so you can get a persona `id` to pass to `get_persona`, `update_persona`, ' +
|
|
305
346
|
'`enrich_persona`, or `interview_persona` — previously an agent could only reach personas ' +
|
|
306
|
-
'it created in the same session.
|
|
307
|
-
'persona
|
|
347
|
+
'it created in the same session. Each entry carries read-only `seniority` / `careerPath` ' +
|
|
348
|
+
'when the persona has identity grounding; forum sources and `identityProvenance` live in ' +
|
|
349
|
+
'`report_data` (read them via `get_report`). ' +
|
|
308
350
|
'Read-only: no credit cost, no side effects.',
|
|
309
351
|
zodSchema: ListPersonasInputSchema,
|
|
352
|
+
outputSchema: LIST_PERSONAS_OUTPUT_SCHEMA,
|
|
310
353
|
handler: (args, deps) => listPersonas(args, deps),
|
|
311
354
|
}),
|
|
312
355
|
defineTool({
|
|
313
356
|
name: 'get_persona',
|
|
314
|
-
description: 'Fetch a single persona by its `persona_id` (from a `list_personas` entry or
|
|
315
|
-
'`
|
|
316
|
-
'
|
|
317
|
-
'
|
|
318
|
-
'`
|
|
319
|
-
'
|
|
320
|
-
'
|
|
321
|
-
'
|
|
357
|
+
description: 'Fetch a single persona by its `persona_id` (from a `list_personas` entry, or the id printed ' +
|
|
358
|
+
'by `create_persona` / `generate_persona`). Returns the FULL persona profile as readable ' +
|
|
359
|
+
'text — name, role, company, company size, industry, location, the background/description ' +
|
|
360
|
+
'paragraph, provenance (`source`), lock state, and the read-only identity priors ' +
|
|
361
|
+
'(`seniority` / `careerPath`) when the persona has them — so you can read the persona you ' +
|
|
362
|
+
'are about to interview or correct without any further call. The same record is also ' +
|
|
363
|
+
'returned as `structuredContent.persona` (and mirrored in `_meta.persona`) for programmatic ' +
|
|
364
|
+
'use. Use it to inspect a persona before correcting it with `update_persona` or ' +
|
|
365
|
+
'interviewing it with `interview_persona`. TRUST: this is the persona ENTITY. The identity ' +
|
|
366
|
+
'priors are the ONE piece of grounding it carries (FLAT fields here; `get_report` nests the ' +
|
|
367
|
+
'same two names under `report_data.personas[].identityPriors`), and they are ' +
|
|
368
|
+
'aggregate-calibrated, never span-receipted — so they are not evidence you can follow to a ' +
|
|
369
|
+
'source. Forum receipts (`sources[]`) and `identityProvenance` remain `report_data` only, ' +
|
|
370
|
+
'read them with `get_report`. Treat every other field here as unverified profile data until ' +
|
|
371
|
+
'you have checked it there. Read-only: no credit cost, no side effects.',
|
|
322
372
|
zodSchema: GetPersonaInputSchema,
|
|
373
|
+
outputSchema: GET_PERSONA_OUTPUT_SCHEMA,
|
|
323
374
|
handler: (args, deps) => getPersona(args, deps),
|
|
324
375
|
}),
|
|
325
376
|
defineTool({
|
|
@@ -344,41 +395,53 @@ export const TOOLS = [
|
|
|
344
395
|
defineTool({
|
|
345
396
|
name: 'list_reports',
|
|
346
397
|
description: 'List the caller\'s past `clien_research` runs (newest first, paginated by `limit`). ' +
|
|
347
|
-
'Returns each report\'s prompt, status, and `job_id` as text
|
|
348
|
-
'`
|
|
398
|
+
'Returns each report\'s prompt, status, and `job_id` as readable text; the raw job array is ' +
|
|
399
|
+
'also returned as `structuredContent.jobs` (mirrored in `_meta.jobs`). ' +
|
|
400
|
+
'Optionally scope to one project with `project_id`. Use this to find a ' +
|
|
349
401
|
'past report to retrieve with `get_report` instead of re-running `clien_research` — ' +
|
|
350
402
|
're-running spawns a new job and debits credits again for the same idea. Pair with ' +
|
|
351
403
|
'`get_report` for a free competitor spot-check (read `report_data.competitors[]` from a ' +
|
|
352
404
|
'recent run; see docs/recipes/competitor-spot-check.md). ' +
|
|
353
405
|
'Read-only: no credit cost, no side effects.',
|
|
354
406
|
zodSchema: ListReportsInputSchema,
|
|
407
|
+
outputSchema: LIST_REPORTS_OUTPUT_SCHEMA,
|
|
355
408
|
handler: (args, deps) => listReports(args, deps),
|
|
356
409
|
}),
|
|
357
410
|
defineTool({
|
|
358
411
|
name: 'get_report',
|
|
359
412
|
description: 'Retrieve the full report for a past `clien_research` job by its `job_id` (from a prior ' +
|
|
360
|
-
'run\'s `_meta.job_id
|
|
361
|
-
'
|
|
362
|
-
'
|
|
363
|
-
'GROUNDED / SPECULATION / NO_RECEIPT
|
|
364
|
-
'"RCP-p{i}-s{j}"
|
|
365
|
-
'
|
|
366
|
-
'
|
|
367
|
-
'
|
|
368
|
-
'
|
|
369
|
-
'
|
|
370
|
-
'
|
|
371
|
-
'
|
|
372
|
-
'
|
|
373
|
-
'
|
|
374
|
-
'`
|
|
375
|
-
'
|
|
413
|
+
'run\'s `_meta.job_id`, the job id printed when the run started, or a `list_reports` entry). ' +
|
|
414
|
+
'Returns the markdown report as text, FOLLOWED BY A MACHINE-CHECKED TRUST DIGEST rendered ' +
|
|
415
|
+
'into that same text — read the digest rather than trusting the prose. The digest carries: ' +
|
|
416
|
+
'(1) the persona claim spine — every claim\'s GROUNDED / SPECULATION / NO_RECEIPT state with ' +
|
|
417
|
+
'its "RCP-p{i}-s{j}" receipt id, which resolves in the receipt pool printed below it; ' +
|
|
418
|
+
'NO_RECEIPT can mean a bad claim OR merely sparse evidence, so check that persona\'s ' +
|
|
419
|
+
'`insufficientEvidence` / `sourcesFound` line before discounting it. ' +
|
|
420
|
+
'(2) the SEPARATE market/competitor spine — same three states, "RRCP-s{n}" receipt ids into ' +
|
|
421
|
+
'their own evidence pool; a NO_RECEIPT claim marked "model-attested" means a supporting page ' +
|
|
422
|
+
'was read and independently vouched but no exact span pinned (NOT a receipt), and an unmarked ' +
|
|
423
|
+
'NO_RECEIPT is recalled model knowledge, unverified. Neither counts as grounded — key on the ' +
|
|
424
|
+
'state, never on whether a source id is present. ' +
|
|
425
|
+
'(3) per-persona QA — a ⚠️ QA-FLAGGED persona failed a quality check (or could not be checked ' +
|
|
426
|
+
'at all); do not rely on its claims. Its `identityPriors` (seniority rung, career path) are ' +
|
|
427
|
+
'typed enrichment and `identityProvenance` is a PII-free aggregate calibration line — NEVER a ' +
|
|
428
|
+
'receipt, do not cite it as a source. ' +
|
|
429
|
+
'(4) the anti-sycophancy readout — explicit rejection count, `lowDiscrimination` broken-persona ' +
|
|
430
|
+
'flags, and per-hypothesis disagreement splits. ' +
|
|
431
|
+
'(5) hypothesis robustness — when a verdict FLIPPED under rephrasing the digest names the ' +
|
|
432
|
+
'downgraded verdict to act on instead of the reported one. ' +
|
|
433
|
+
'When a section is missing the digest SAYS SO ("NOT PRESENT on this run") — absent is not ' +
|
|
434
|
+
'clean, so treat the corresponding prose as unverified. The full structured `report_data` ' +
|
|
435
|
+
'(hypotheses, competitors[], key findings, and every field summarised above) is also returned ' +
|
|
436
|
+
'as `structuredContent.report_data`, mirrored in `_meta.report_data`. ' +
|
|
437
|
+
'Use this to RETRIEVE past research instead of ' +
|
|
376
438
|
're-running `clien_research`, which would debit credits again for the same idea. ' +
|
|
377
439
|
'Backs the competitor spot-check (read `report_data.competitors[]`) and pivot-viability ' +
|
|
378
440
|
'(compare a pivot\'s report against the original) recipes in docs/recipes/. ' +
|
|
379
441
|
'If the job is still running or you are unsure of its state, use `clien_research_status`. ' +
|
|
380
442
|
'Read-only: no credit cost, no side effects.',
|
|
381
443
|
zodSchema: GetReportInputSchema,
|
|
444
|
+
outputSchema: GET_REPORT_OUTPUT_SCHEMA,
|
|
382
445
|
handler: (args, deps) => getReport(args, deps),
|
|
383
446
|
}),
|
|
384
447
|
defineTool({
|
|
@@ -403,55 +466,74 @@ export const TOOLS = [
|
|
|
403
466
|
defineTool({
|
|
404
467
|
name: 'list_interviews',
|
|
405
468
|
description: 'List the interviews in a Clien.ai project (newest first, paginated). Returns each ' +
|
|
406
|
-
'interview\'s status, persona id, message count, and id as text
|
|
407
|
-
'array
|
|
408
|
-
'
|
|
469
|
+
'interview\'s status, persona id, message count, and id as readable text; the raw interview ' +
|
|
470
|
+
'array and pagination are also returned as `structuredContent.interviews` / `.pagination` ' +
|
|
471
|
+
'(mirrored in `_meta`). Entries carry ' +
|
|
472
|
+
'`messageCount`, NOT their message transcripts — a page of full transcripts is a lot of ' +
|
|
473
|
+
'context for a "which interviews exist?" question; read one with `get_interview`. ' +
|
|
474
|
+
'Requires a `project_id` — call `list_projects` to find one. Use it to ' +
|
|
409
475
|
'RECOVER a past interview id (including interviews started in the web app) so you can ' +
|
|
410
476
|
're-read its transcript with `get_interview` — previously an interview id was only ' +
|
|
411
477
|
'obtainable from `interview_persona action:start` in the same session. Read-only: no ' +
|
|
412
478
|
'credit cost, no side effects.',
|
|
413
479
|
zodSchema: ListInterviewsInputSchema,
|
|
480
|
+
outputSchema: LIST_INTERVIEWS_OUTPUT_SCHEMA,
|
|
414
481
|
handler: (args, deps) => listInterviews(args, deps),
|
|
415
482
|
}),
|
|
416
483
|
defineTool({
|
|
417
484
|
name: 'get_interview',
|
|
418
485
|
description: 'Fetch a single interview by its `interview_id` (from a `list_interviews` entry or an ' +
|
|
419
|
-
'interview\'s
|
|
420
|
-
'interview entity (status, personaId, messages,
|
|
486
|
+
'interview\'s id printed by `interview_persona action:start`). Returns the full message ' +
|
|
487
|
+
'transcript as readable text; the interview entity (status, personaId, messages, ' +
|
|
488
|
+
'completedAt) is also returned as `structuredContent.interview` (mirrored in ' +
|
|
489
|
+
'`_meta.interview`). Use it ' +
|
|
421
490
|
'to re-read a completed interview without re-running it. This is the read-only twin of ' +
|
|
422
491
|
'`interview_persona action:transcript`, reachable from just an id. Read-only: no credit ' +
|
|
423
492
|
'cost, no side effects.',
|
|
424
493
|
zodSchema: GetInterviewInputSchema,
|
|
494
|
+
outputSchema: GET_INTERVIEW_OUTPUT_SCHEMA,
|
|
425
495
|
handler: (args, deps) => getInterview(args, deps),
|
|
426
496
|
}),
|
|
427
497
|
defineTool({
|
|
428
498
|
name: 'list_competitors',
|
|
429
499
|
description: 'List the competitors recorded for a Clien.ai project (most-recently-seen first, ' +
|
|
430
|
-
'paginated). Returns each competitor\'s name, pricing, description, url,
|
|
431
|
-
'facts as text
|
|
432
|
-
'
|
|
500
|
+
'paginated). Returns each competitor\'s name, pricing, description, url, company ' +
|
|
501
|
+
'facts and strengths/weaknesses as readable text; the full competitor array and ' +
|
|
502
|
+
'pagination are also returned as `structuredContent.competitors` / `.pagination` ' +
|
|
503
|
+
'(mirrored in `_meta`). ' +
|
|
504
|
+
'Requires a `project_id` — call `list_projects` to find one. ' +
|
|
433
505
|
'This reads the project\'s DEDUPED, ACCUMULATED competitor set — merged across every ' +
|
|
434
506
|
'research run and the web app — so unlike `get_report` (one run\'s view) or ' +
|
|
435
507
|
'`scan_competitors` (a fresh, credit-debiting scan), it answers "what does this project ' +
|
|
436
508
|
'already know?" without spending anything. Check here BEFORE running `scan_competitors` ' +
|
|
437
509
|
'to avoid paying to rediscover competitors you already have. ' +
|
|
510
|
+
// FUL-247: this used to route the reader to the `<fact>Grounding` SIBLING
|
|
511
|
+
// FIELD for trust state — i.e. to `_meta`/`structuredContent`, the channel
|
|
512
|
+
// Claude Code drops. The state is now printed inline in the text, so the
|
|
513
|
+
// description must name the bracket a reader will actually see. A tool
|
|
514
|
+
// description is an executable interface: an agent reads it before its
|
|
515
|
+
// first call and is primed by it.
|
|
438
516
|
'TRUST: each of the four company facts (`funding`, `employeeCount`, `founded`, ' +
|
|
439
|
-
'`hqLocation`)
|
|
440
|
-
'
|
|
441
|
-
'
|
|
442
|
-
'
|
|
443
|
-
'
|
|
444
|
-
'
|
|
517
|
+
'`hqLocation`) is followed IN THE TEXT by its own trust state in brackets — ' +
|
|
518
|
+
'`[GROUNDED]`, `[SPECULATION]`, `[NO_RECEIPT]`, or `[no grounding]` / `[state?]` when no ' +
|
|
519
|
+
'recognised state was recorded. Read the bracket, not the number: only `[GROUNDED]` means ' +
|
|
520
|
+
'a source was checked, and the last two are NOT "checked and refuted". Cite only ' +
|
|
521
|
+
'`[GROUNDED]` figures; state the rest as unverified. The same states are available ' +
|
|
522
|
+
'structurally on the sibling `<fact>Grounding` field ({ state, sourceUrl?, ' +
|
|
523
|
+
'sourceRetrievedAt? }), persisted in lockstep with the value. Strengths and weaknesses ' +
|
|
524
|
+
'carry NO grounding of any kind — they are the research agent\'s reading, never receipted. ' +
|
|
445
525
|
'Read-only: no credit cost, no side effects.',
|
|
446
526
|
zodSchema: ListCompetitorsInputSchema,
|
|
527
|
+
outputSchema: LIST_COMPETITORS_OUTPUT_SCHEMA,
|
|
447
528
|
handler: (args, deps) => listCompetitors(args, deps),
|
|
448
529
|
}),
|
|
449
530
|
defineTool({
|
|
450
531
|
name: 'list_community_signals',
|
|
451
532
|
description: 'List the community signals (forum/Reddit/HN threads) recorded for a Clien.ai project ' +
|
|
452
533
|
'(newest-discovered first, paginated). Returns each thread\'s title, platform, ' +
|
|
453
|
-
'sentiment summary, url, a representative quote, and engagement as text
|
|
454
|
-
'signal array and pagination
|
|
534
|
+
'sentiment summary, url, a representative quote, and engagement as readable text; the full ' +
|
|
535
|
+
'signal array and pagination are also returned as `structuredContent.communitySignals` / ' +
|
|
536
|
+
'`.pagination` (mirrored in `_meta`). Requires ' +
|
|
455
537
|
'a `project_id` — call `list_projects` to find one. ' +
|
|
456
538
|
'This reads the project\'s DEDUPED, ACCUMULATED thread set — merged across every research ' +
|
|
457
539
|
'run and the web app — so unlike `get_report` (one run\'s view) or `search_forums` (a ' +
|
|
@@ -466,6 +548,7 @@ export const TOOLS = [
|
|
|
466
548
|
'activity; do not read a thread\'s position as a recency signal. ' +
|
|
467
549
|
'Read-only: no credit cost, no side effects.',
|
|
468
550
|
zodSchema: ListCommunitySignalsInputSchema,
|
|
551
|
+
outputSchema: LIST_COMMUNITY_SIGNALS_OUTPUT_SCHEMA,
|
|
469
552
|
handler: (args, deps) => listCommunitySignals(args, deps),
|
|
470
553
|
}),
|
|
471
554
|
];
|