@clien-ai/mcp 0.12.1 → 0.12.3
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 +25 -0
- package/README.md +40 -0
- package/dist/auth/errors.js +10 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/oauth.js +2 -8
- package/dist/auth/oauth.js.map +1 -1
- package/dist/auth/storage.js +1 -1
- package/dist/auth/storage.js.map +1 -1
- package/dist/server.js +4 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/cancel-research.js +260 -0
- package/dist/tools/cancel-research.js.map +1 -0
- package/dist/tools/errors.js +2 -0
- package/dist/tools/errors.js.map +1 -1
- package/dist/tools/interview.js +42 -1
- package/dist/tools/interview.js.map +1 -1
- package/dist/tools/output-schemas.js +58 -0
- package/dist/tools/output-schemas.js.map +1 -1
- package/dist/tools/permanent-failure.js +75 -0
- package/dist/tools/permanent-failure.js.map +1 -0
- package/dist/tools/registry.js +61 -1
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/research.js +42 -3
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/scoped-research.js +45 -2
- package/dist/tools/scoped-research.js.map +1 -1
- package/package.json +5 -1
package/dist/tools/interview.js
CHANGED
|
@@ -58,9 +58,36 @@ const INTERVIEW_FETCH_TIMEOUT_MS = 60_000;
|
|
|
58
58
|
* The app enforces the same rule at `HYPOTHESIS_ID_REGEX` in
|
|
59
59
|
* `app/lib/validation/schemas.ts`, and the database again as a CHECK. This copy is
|
|
60
60
|
* the one that gives the agent the error in the turn it made the mistake.
|
|
61
|
+
*
|
|
62
|
+
* ⚠️ WRITTEN AS EXPLICIT CODE-POINT RANGES, NOT `\p{...}` — AND THAT IS A WIRE
|
|
63
|
+
* CONSTRAINT, NOT A STYLE CHOICE. Zod serialises this regex's SOURCE into the
|
|
64
|
+
* `pattern` of the JSON Schema `tools/list` advertises, so whatever is written here
|
|
65
|
+
* is compiled by every client's own validator, not only by V8. Unicode property
|
|
66
|
+
* escapes are an ECMA-262 `u`-flag feature that JSON Schema's dialect does not
|
|
67
|
+
* require: Mistral's API rejects a tool whose schema carries one with a 400, which
|
|
68
|
+
* takes down EVERY request in a session that has this server loaded — not merely a
|
|
69
|
+
* call to this tool. One unportable character class is therefore a whole-integration
|
|
70
|
+
* outage, which is why `__tests__/schema-contract.test.ts` now fails any advertised
|
|
71
|
+
* `pattern` containing `\p{`/`\P{` rather than trusting this comment.
|
|
72
|
+
*
|
|
73
|
+
* The ranges below are `\p{Cc}` + BMP `\p{Cf}` + `\p{Zl}` + `\p{Zp}`; `\s` covers the
|
|
74
|
+
* whitespace. The ONE thing they do not reach is the ~100 format characters ABOVE
|
|
75
|
+
* the BMP (U+110BD, U+1D173-U+1D17A, the U+E0020 tag block …), which no portable
|
|
76
|
+
* pattern CAN express — a surrogate-pair spelling means nothing to a validator that
|
|
77
|
+
* works on code points rather than UTF-16 units, so there is no rewrite that is both
|
|
78
|
+
* portable and exact.
|
|
79
|
+
*
|
|
80
|
+
* ⚠️ SO THIS REGEX IS NO LONGER THE WHOLE RULE, and must not be read as one. Leaving
|
|
81
|
+
* the astral gap open here would advertise a rule laxer than the app enforces —
|
|
82
|
+
* the agent told it may anchor an interview to an id that comes back as a bare 400.
|
|
83
|
+
* `startInterview` therefore re-checks the value with `safeId` ITSELF, which is
|
|
84
|
+
* Unicode-aware and unchanged, before any HTTP call. The split is: this pattern is
|
|
85
|
+
* what the WIRE can carry and what steers the model; `safeId` is what decides. That
|
|
86
|
+
* is a stronger tie to `safeId` than the old regex had, not a weaker one — it is the
|
|
87
|
+
* function rather than a transcription of it.
|
|
61
88
|
*/
|
|
62
89
|
const HYPOTHESIS_ID_MAX = ID_MAX;
|
|
63
|
-
const HYPOTHESIS_ID_REGEX = /^[^\s\
|
|
90
|
+
const HYPOTHESIS_ID_REGEX = /^[^\s\u0000-\u001F\u007F-\u009F\u00AD\u0600-\u0605\u061C\u06DD\u070F\u0890-\u0891\u08E2\u180E\u200B-\u200F\u2028-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]+$/u;
|
|
64
91
|
/** Upper bound on a turn's question — matches the server's `MESSAGE_CONTENT_MAX`. */
|
|
65
92
|
const CONTENT_MAX = 10_000;
|
|
66
93
|
/** FUL-233: legacy camelCase spellings `interview_persona` still accepts. */
|
|
@@ -303,6 +330,20 @@ async function startInterview(input, ctx, deps) {
|
|
|
303
330
|
// that gets the refusal in the turn it made the mistake can fix it; one that gets
|
|
304
331
|
// a generic `400 Invalid request` from an endpoint it cannot see usually retries
|
|
305
332
|
// the same call.
|
|
333
|
+
// FUL-577: the half of the id rule the advertised `pattern` cannot carry.
|
|
334
|
+
// `HYPOTHESIS_ID_REGEX` is written in portable code-point ranges so the JSON Schema
|
|
335
|
+
// stays compilable by every client's validator, which costs it the format
|
|
336
|
+
// characters above the BMP. `safeId` is the rule itself — exact-or-nothing, still
|
|
337
|
+
// Unicode-aware — so asking it directly closes the gap here rather than leaving the
|
|
338
|
+
// refusal to the app's 400. Same reasoning as the both-or-neither check below: an
|
|
339
|
+
// agent that learns of the mistake in the turn it made it can fix it.
|
|
340
|
+
if (input.hypothesis_id !== undefined && safeId(input.hypothesis_id, HYPOTHESIS_ID_MAX) === null) {
|
|
341
|
+
throw new InterviewToolError('hypothesis_id must be a single token of at most ' +
|
|
342
|
+
`${HYPOTHESIS_ID_MAX} characters with no whitespace, control or format characters — ` +
|
|
343
|
+
'it is stored and printed back verbatim by `get_interview` and `list_interviews`, so a ' +
|
|
344
|
+
'value that cannot be rendered exactly is refused rather than stored unreadable. Send ' +
|
|
345
|
+
'the `hypothesisId` from `list_interview_scripts` unchanged.');
|
|
346
|
+
}
|
|
306
347
|
if ((input.hypothesis_id === undefined) !== (input.hypothesis_run_id === undefined)) {
|
|
307
348
|
throw new InterviewToolError("action 'start' takes hypothesis_id and hypothesis_run_id TOGETHER or neither — a " +
|
|
308
349
|
'hypothesis id is only meaningful against the run that defined it. Both come from one ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interview.js","sourceRoot":"","sources":["../../src/tools/interview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interview.js","sourceRoot":"","sources":["../../src/tools/interview.ts"],"names":[],"mappings":"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"}
|
|
@@ -183,4 +183,62 @@ export const LIST_REPORTS_OUTPUT_SCHEMA = listSchema('jobs', false);
|
|
|
183
183
|
export const GET_CREDIT_BALANCE_OUTPUT_SCHEMA = objectSchema({
|
|
184
184
|
credits: objectSchema({ balance: ANYTHING, spendable: ANYTHING, costs: ANY_OBJECT_ARRAY }, []),
|
|
185
185
|
}, ['credits']);
|
|
186
|
+
/**
|
|
187
|
+
* `cancel_research` → full cancel response from the app.
|
|
188
|
+
* All fields are handler-guaranteed from the server response.
|
|
189
|
+
* Money facts are nullable (unknown) — never boolean false or number 0.
|
|
190
|
+
*/
|
|
191
|
+
export const CANCEL_RESEARCH_OUTPUT_SCHEMA = {
|
|
192
|
+
type: 'object',
|
|
193
|
+
properties: {
|
|
194
|
+
job_id: { type: 'string', description: 'The job UUID that was cancelled' },
|
|
195
|
+
status: { type: 'string', description: 'The job status after cancellation' },
|
|
196
|
+
outcome: {
|
|
197
|
+
type: 'string',
|
|
198
|
+
description: 'The cancel outcome — one of the CANCEL_ROUTE_OUTCOMES'
|
|
199
|
+
},
|
|
200
|
+
terminal_status: {
|
|
201
|
+
type: ['string', 'null'],
|
|
202
|
+
description: 'The terminal status the job reached, if any'
|
|
203
|
+
},
|
|
204
|
+
prior_status: {
|
|
205
|
+
type: ['string', 'null'],
|
|
206
|
+
description: 'The phase the server observed at the moment it cancelled'
|
|
207
|
+
},
|
|
208
|
+
charged: {
|
|
209
|
+
type: ['boolean', 'null'],
|
|
210
|
+
description: 'Whether the run was ever charged (null = unknown)'
|
|
211
|
+
},
|
|
212
|
+
refunded: {
|
|
213
|
+
type: ['boolean', 'null'],
|
|
214
|
+
description: 'Whether credits were refunded (null = unknown)'
|
|
215
|
+
},
|
|
216
|
+
refunded_credits: {
|
|
217
|
+
type: ['number', 'null'],
|
|
218
|
+
description: 'Credits returned by this cancel, or null when unknown'
|
|
219
|
+
},
|
|
220
|
+
cleanup_status: {
|
|
221
|
+
type: 'string',
|
|
222
|
+
description: 'The cleanup status — one of CANCEL_CLEANUP_STATUS_WIRE'
|
|
223
|
+
},
|
|
224
|
+
receipt_recorded: {
|
|
225
|
+
type: 'boolean',
|
|
226
|
+
description: 'Whether a cancellation receipt was recorded'
|
|
227
|
+
},
|
|
228
|
+
cancelled_at: {
|
|
229
|
+
type: ['string', 'null'],
|
|
230
|
+
description: 'When the job was marked as cancelled'
|
|
231
|
+
},
|
|
232
|
+
error: {
|
|
233
|
+
type: ['string', 'null'],
|
|
234
|
+
description: 'Error message for 409 responses'
|
|
235
|
+
},
|
|
236
|
+
code: {
|
|
237
|
+
type: ['string', 'null'],
|
|
238
|
+
description: 'Error code for 409 responses'
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
required: ['job_id', 'status', 'outcome', 'cleanup_status', 'receipt_recorded'],
|
|
242
|
+
additionalProperties: true,
|
|
243
|
+
};
|
|
186
244
|
//# sourceMappingURL=output-schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-schemas.js","sourceRoot":"","sources":["../../src/tools/output-schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output-schemas.js","sourceRoot":"","sources":["../../src/tools/output-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { safeInline } from './render-safety.js';
|
|
2
|
+
/**
|
|
3
|
+
* How much of the server's own prose survives into the agent-visible line.
|
|
4
|
+
*
|
|
5
|
+
* The live strings run to ~155 characters and are the whole substance of the
|
|
6
|
+
* refusal, so `safeInline`'s 120 default would clip them mid-sentence. 300 matches
|
|
7
|
+
* the bound the sibling 400 handlers already spend on a server body.
|
|
8
|
+
*/
|
|
9
|
+
const PERMANENT_MESSAGE_MAX = 300;
|
|
10
|
+
/** Codes are machine identifiers echoed for an operator; they are never prose. */
|
|
11
|
+
const PERMANENT_CODE_MAX = 60;
|
|
12
|
+
/**
|
|
13
|
+
* The agent-visible rendering of a permanent refusal, or `null` when the body did
|
|
14
|
+
* not claim to be one — in which case the caller's existing branches stand.
|
|
15
|
+
*
|
|
16
|
+
* ⚠️ THE INSTRUCTION IS THE POINT, not the prose. The bug this closes (FUL-851)
|
|
17
|
+
* was not that the server's message went missing; it was that the agent was told
|
|
18
|
+
* "Please try again in a few minutes" about a request that can never succeed, and
|
|
19
|
+
* an agent that obeys burns the user's credits on a paid endpoint that will refuse
|
|
20
|
+
* every call. So the do-not-retry sentence is appended UNCONDITIONALLY, including
|
|
21
|
+
* on the fallback where there is no server prose at all — a permanent failure we
|
|
22
|
+
* cannot describe is still a permanent failure the agent must stop calling.
|
|
23
|
+
*
|
|
24
|
+
* ⚠️ THIS FUNCTION ASSERTS NOTHING ABOUT MONEY. Every live refusal makes its own
|
|
25
|
+
* charge claim in its own `error` string — two sites say "was not charged", the
|
|
26
|
+
* other two "refused before any charge" — and that claim is theirs to make:
|
|
27
|
+
* `retryable: false` means "a retry cannot succeed", NOT "nothing was billed".
|
|
28
|
+
* Adding a charge claim here would put words in the server's mouth on a body that
|
|
29
|
+
* never made them — a trust assertion the client cannot back. It forwards, and
|
|
30
|
+
* stops.
|
|
31
|
+
*
|
|
32
|
+
* ⚠️ `safeInline`, not raw interpolation (FUL-247). `error` is server prose landing
|
|
33
|
+
* in a line-structured agent-visible render; a newline in it would end the line
|
|
34
|
+
* early and let the remainder pose as this tool's own output.
|
|
35
|
+
*/
|
|
36
|
+
export function permanentFailureMessage(parsed, status,
|
|
37
|
+
/**
|
|
38
|
+
* The project handle this attempt resolved, ALREADY VALIDATED BY THE CALLER —
|
|
39
|
+
* the two rails guard `project_id` differently (the hero one adds a uuid schema
|
|
40
|
+
* on top of `safeId`) and this helper does not get to pick. `null` when the body
|
|
41
|
+
* echoed none, or when the caller refused to render what it was sent.
|
|
42
|
+
*
|
|
43
|
+
* ⚠️ IT IS THE ONE VALUE HERE THAT DOES NOT PASS THROUGH `safeInline`, and it is
|
|
44
|
+
* interpolated TWICE. That made "validated by the caller" load-bearing rather
|
|
45
|
+
* than descriptive — and it was false on the scoped rail until FUL-851 round 2,
|
|
46
|
+
* which is how a `\n` in a server-supplied id forged a line that inverted this
|
|
47
|
+
* branch's own instruction. Both rails now run `safeId` (exact or nothing).
|
|
48
|
+
*/
|
|
49
|
+
projectId = null) {
|
|
50
|
+
if (parsed?.retryable !== false)
|
|
51
|
+
return null;
|
|
52
|
+
const stated = safeInline(parsed.error, PERMANENT_MESSAGE_MAX) ??
|
|
53
|
+
safeInline(parsed.message, PERMANENT_MESSAGE_MAX) ??
|
|
54
|
+
`Clien.ai refused this request permanently (HTTP ${status}).`;
|
|
55
|
+
const code = safeInline(parsed.code, PERMANENT_CODE_MAX);
|
|
56
|
+
// ⚠️ NOT the sibling `projectReuseHint` wording. That sentence says "when you
|
|
57
|
+
// retry", which on this branch contradicts the instruction the branch exists to
|
|
58
|
+
// give. The project is still real and still duplicable — an auto-create can land
|
|
59
|
+
// before the refusal — so the handle is worth stating; what changes is that it is
|
|
60
|
+
// for a call made AFTER someone fixes the server, not for a retry now.
|
|
61
|
+
const projectNote = projectId
|
|
62
|
+
? ` This attempt resolved project_id ${projectId} — pass project_id: "${projectId}"` +
|
|
63
|
+
` if you call again once this is fixed, so a duplicate project is not created.`
|
|
64
|
+
: '';
|
|
65
|
+
return (
|
|
66
|
+
// Kept deliberately short: the server's own `error` already explains WHY, and
|
|
67
|
+
// two clients-worth of "this needs a fix on our side" in one line reads as
|
|
68
|
+
// padding. What this adds is the one thing the body cannot say for itself —
|
|
69
|
+
// the instruction to the agent.
|
|
70
|
+
`${stated} Do not retry: the server marked this failure permanent` +
|
|
71
|
+
`${code ? ` (code ${code})` : ''}, so the same call will be refused again. ` +
|
|
72
|
+
`Report it instead of looping.` +
|
|
73
|
+
projectNote);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=permanent-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permanent-failure.js","sourceRoot":"","sources":["../../src/tools/permanent-failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AA8C/C;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAEjC,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAiD,EACjD,MAAc;AACd;;;;;;;;;;;GAWG;AACH,YAA2B,IAAI;IAE/B,IAAI,MAAM,EAAE,SAAS,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAE5C,MAAM,MAAM,GACV,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,qBAAqB,CAAC;QAC/C,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC;QACjD,mDAAmD,MAAM,IAAI,CAAA;IAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IAExD,8EAA8E;IAC9E,gFAAgF;IAChF,iFAAiF;IACjF,kFAAkF;IAClF,uEAAuE;IACvE,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,qCAAqC,SAAS,wBAAwB,SAAS,GAAG;YAClF,+EAA+E;QACjF,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO;IACL,8EAA8E;IAC9E,2EAA2E;IAC3E,4EAA4E;IAC5E,gCAAgC;IAChC,GAAG,MAAM,yDAAyD;QAClE,GAAG,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,4CAA4C;QAC5E,+BAA+B;QAC/B,WAAW,CACZ,CAAA;AACH,CAAC"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -25,7 +25,8 @@ import { FORUM_SOURCES_ADVERT, ScanCompetitorsInputSchema, scanCompetitors, Sear
|
|
|
25
25
|
import { ListCompetitorsInputSchema, listCompetitors, ListCommunitySignalsInputSchema, listCommunitySignals, GetMarketInputSchema, getMarket, } from './collections.js';
|
|
26
26
|
import { ListInterviewScriptsInputSchema, listInterviewScripts, } from './interview-scripts.js';
|
|
27
27
|
import { GetCreditBalanceInputSchema, getCreditBalance } from './credits.js';
|
|
28
|
-
import {
|
|
28
|
+
import { CancelResearchInputSchema, cancelResearch, } from './cancel-research.js';
|
|
29
|
+
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, GET_MARKET_OUTPUT_SCHEMA, LIST_INTERVIEW_SCRIPTS_OUTPUT_SCHEMA, GET_CREDIT_BALANCE_OUTPUT_SCHEMA, CANCEL_RESEARCH_OUTPUT_SCHEMA, } from './output-schemas.js';
|
|
29
30
|
/**
|
|
30
31
|
* `paramAliases` defaults to `{}` — a tool with no legacy spellings declares
|
|
31
32
|
* nothing. The handler is wrapped rather than each tool calling the normalizer
|
|
@@ -205,6 +206,7 @@ export const HYPOTHESIS_SCOPE_CAVEAT_ADVERT = 'The digest also reports each hypo
|
|
|
205
206
|
export const TOOLS = [
|
|
206
207
|
defineTool({
|
|
207
208
|
name: 'clien_research',
|
|
209
|
+
summary: 'Run a complete product-research pass and return its report.',
|
|
208
210
|
description: 'Run a full product-research pass on an idea — the recommended default for validating ' +
|
|
209
211
|
'a new idea end to end. Returns a markdown report, FOLLOWED IN THE SAME TEXT by a ' +
|
|
210
212
|
'machine-checked TRUST DIGEST — read the digest rather than trusting the prose. It states ' +
|
|
@@ -286,6 +288,7 @@ export const TOOLS = [
|
|
|
286
288
|
}),
|
|
287
289
|
defineTool({
|
|
288
290
|
name: 'clien_research_status',
|
|
291
|
+
summary: 'Discover recent research runs or recover one by job ID.',
|
|
289
292
|
description: 'Fetch the current state of an existing `clien_research` job. Use this to ' +
|
|
290
293
|
'recover a run that disconnected with -32000 mid-flight (the job keeps running ' +
|
|
291
294
|
'on the backend; this tool re-attaches a read view) and to poll for completion. ' +
|
|
@@ -318,6 +321,7 @@ export const TOOLS = [
|
|
|
318
321
|
}),
|
|
319
322
|
defineTool({
|
|
320
323
|
name: 'scan_competitors',
|
|
324
|
+
summary: 'Run a targeted competitor research pass for a project.',
|
|
321
325
|
description: 'Scan the competitive landscape for a product idea or market — a targeted, cheaper alternative ' +
|
|
322
326
|
'to the full clien_research report when you only need the COMPETITOR dimension. Runs one web ' +
|
|
323
327
|
'researcher (not the whole H1-H8 pipeline): typical wall time 2-10 minutes, progress streamed ' +
|
|
@@ -354,6 +358,7 @@ export const TOOLS = [
|
|
|
354
358
|
}),
|
|
355
359
|
defineTool({
|
|
356
360
|
name: 'scan_market',
|
|
361
|
+
summary: 'Run a targeted market research pass for a project.',
|
|
357
362
|
description: 'Research a MARKET — how big it is, whether it is growing, what is moving it, and what it ' +
|
|
358
363
|
'does not serve. A targeted, cheaper alternative to the full clien_research report when you ' +
|
|
359
364
|
'only need the MARKET dimension. Runs one market researcher over news and financial-report ' +
|
|
@@ -393,6 +398,7 @@ export const TOOLS = [
|
|
|
393
398
|
}),
|
|
394
399
|
defineTool({
|
|
395
400
|
name: 'search_forums',
|
|
401
|
+
summary: 'Run a targeted community-forum research pass for a project.',
|
|
396
402
|
description: `Search real community discussions (${FORUM_SOURCES_ADVERT}) for PRODUCT-VALIDATION ` +
|
|
397
403
|
'signal about an idea or user problem — a targeted, cheaper alternative to the full clien_research ' +
|
|
398
404
|
'report when you only need the COMMUNITY dimension. Runs one forum researcher (not the whole ' +
|
|
@@ -446,6 +452,7 @@ export const TOOLS = [
|
|
|
446
452
|
}),
|
|
447
453
|
defineTool({
|
|
448
454
|
name: 'list_projects',
|
|
455
|
+
summary: 'List the authenticated account\'s projects.',
|
|
449
456
|
description: 'List the caller\'s Clien.ai projects (newest first, paginated). Returns each ' +
|
|
450
457
|
'project\'s name and id as readable text; the raw project array and pagination are ' +
|
|
451
458
|
'also returned as `structuredContent.projects` / `.pagination` (mirrored in `_meta`). ' +
|
|
@@ -458,6 +465,7 @@ export const TOOLS = [
|
|
|
458
465
|
}),
|
|
459
466
|
defineTool({
|
|
460
467
|
name: 'create_project',
|
|
468
|
+
summary: 'Create a project for research, personas, and reports.',
|
|
461
469
|
description: 'Create a new Clien.ai project to group research runs, personas, and reports. ' +
|
|
462
470
|
'Prints the created project and its `id` in the result text (the record is mirrored to ' +
|
|
463
471
|
'host-side `_meta.project`); pass that id ' +
|
|
@@ -470,6 +478,7 @@ export const TOOLS = [
|
|
|
470
478
|
}),
|
|
471
479
|
defineTool({
|
|
472
480
|
name: 'get_project',
|
|
481
|
+
summary: 'Read one project and its related research records.',
|
|
473
482
|
description: 'Orient on a Clien.ai project in ONE call: the project\'s metadata plus the counts, ids, ' +
|
|
474
483
|
'and one-line summaries of everything in it — personas, interviews, competitors, ' +
|
|
475
484
|
'community signals, and research reports. START HERE when you pick up an existing ' +
|
|
@@ -507,6 +516,7 @@ export const TOOLS = [
|
|
|
507
516
|
}),
|
|
508
517
|
defineTool({
|
|
509
518
|
name: 'create_persona',
|
|
519
|
+
summary: 'Create a persona from supplied fields without AI generation.',
|
|
510
520
|
description: 'Create a persona (a target user/customer profile) in a Clien.ai project from ' +
|
|
511
521
|
'fields you already know. Prints the created persona and its `id` in the result text ' +
|
|
512
522
|
'(the record is mirrored to host-side `_meta.persona`). ' +
|
|
@@ -527,6 +537,7 @@ export const TOOLS = [
|
|
|
527
537
|
}),
|
|
528
538
|
defineTool({
|
|
529
539
|
name: 'generate_persona',
|
|
540
|
+
summary: 'Generate a research-grounded persona from a short brief.',
|
|
530
541
|
description: 'AI-generate a persona from a short brief and save it to a Clien.ai project. Supply at minimum ' +
|
|
531
542
|
'`project_id`, `name`, and `role`; the model fills a believable background, company, industry, ' +
|
|
532
543
|
'company size, and location, plus a decision endowment (what they use today, what they pay for ' +
|
|
@@ -549,6 +560,7 @@ export const TOOLS = [
|
|
|
549
560
|
}),
|
|
550
561
|
defineTool({
|
|
551
562
|
name: 'enrich_persona',
|
|
563
|
+
summary: 'Fill blank or selected fields on an existing persona with AI.',
|
|
552
564
|
description: 'AI-enrich an EXISTING persona: fill in the thin scalar fields it is missing (background/' +
|
|
553
565
|
'description, company, industry, company size, location) using the model. Supply `persona_id`; ' +
|
|
554
566
|
'by default the model fills only fields that are currently BLANK and leaves populated content ' +
|
|
@@ -575,6 +587,7 @@ export const TOOLS = [
|
|
|
575
587
|
}),
|
|
576
588
|
defineTool({
|
|
577
589
|
name: 'list_personas',
|
|
590
|
+
summary: 'List the personas stored for a project.',
|
|
578
591
|
description: 'List the personas in a Clien.ai project (newest first, paginated). Returns each ' +
|
|
579
592
|
'persona\'s name, role, and id as readable text; the raw persona array and pagination are ' +
|
|
580
593
|
'also returned as `structuredContent.personas` / `.pagination` (mirrored in `_meta`). ' +
|
|
@@ -594,6 +607,7 @@ export const TOOLS = [
|
|
|
594
607
|
}),
|
|
595
608
|
defineTool({
|
|
596
609
|
name: 'get_persona',
|
|
610
|
+
summary: 'Read one stored persona in full.',
|
|
597
611
|
description: 'Fetch a single persona by its `persona_id` (from a `list_personas` entry, or the id printed ' +
|
|
598
612
|
'by `create_persona` / `generate_persona`). Returns the FULL persona profile as readable ' +
|
|
599
613
|
'text — name, role, company, company size, industry, location, the background/description ' +
|
|
@@ -618,6 +632,7 @@ export const TOOLS = [
|
|
|
618
632
|
}),
|
|
619
633
|
defineTool({
|
|
620
634
|
name: 'update_persona',
|
|
635
|
+
summary: 'Correct scalar fields on an existing persona.',
|
|
621
636
|
description: 'Correct explicit scalar fields of an EXISTING persona (fix a wrong role, company, ' +
|
|
622
637
|
'industry, background, etc.). Supply `persona_id` and at least one of `name`, `role`, ' +
|
|
623
638
|
'`company`, `description`, `company_size`, `industry`, `location`; only the fields you pass ' +
|
|
@@ -642,6 +657,7 @@ export const TOOLS = [
|
|
|
642
657
|
}),
|
|
643
658
|
defineTool({
|
|
644
659
|
name: 'update_persona_identity_priors',
|
|
660
|
+
summary: 'Set or clear editable identity priors on a persona.',
|
|
645
661
|
description: 'Set a persona\'s identity priors — `seniority` (the RUNG: a level of responsibility ' +
|
|
646
662
|
'like "senior IC" or "team lead", not a job title) and `careerPath` (the trajectory, ' +
|
|
647
663
|
'e.g. "support → product ops → PM"). Supply `persona_id` and at least one of `seniority`, ' +
|
|
@@ -664,6 +680,7 @@ export const TOOLS = [
|
|
|
664
680
|
}),
|
|
665
681
|
defineTool({
|
|
666
682
|
name: 'list_reports',
|
|
683
|
+
summary: 'List past full research reports.',
|
|
667
684
|
description: 'List the caller\'s past `clien_research` runs (newest first, paginated by `limit`). ' +
|
|
668
685
|
'Returns each report\'s prompt, status, and `job_id` as readable text; the raw job array is ' +
|
|
669
686
|
'also returned as `structuredContent.jobs` (mirrored in `_meta.jobs`). ' +
|
|
@@ -679,6 +696,7 @@ export const TOOLS = [
|
|
|
679
696
|
}),
|
|
680
697
|
defineTool({
|
|
681
698
|
name: 'get_report',
|
|
699
|
+
summary: 'Read one past research report and its structured data.',
|
|
682
700
|
description: 'Retrieve the full report for a past `clien_research` job by its `job_id` (from a ' +
|
|
683
701
|
'`list_reports` entry, which prints every run\'s id, or from the error text of a run that ' +
|
|
684
702
|
'dropped mid-flight). ' +
|
|
@@ -731,6 +749,7 @@ export const TOOLS = [
|
|
|
731
749
|
}),
|
|
732
750
|
defineTool({
|
|
733
751
|
name: 'interview_persona',
|
|
752
|
+
summary: 'Start, continue, inspect, complete, or reopen a persona interview.',
|
|
734
753
|
description: 'Run a real, stateful multi-turn interview with a persona and get its full replies. ' +
|
|
735
754
|
// FUL-335 — the disclosure, and it is load-bearing rather than a nicety.
|
|
736
755
|
// The persona's system prompt instructs it to stay in role rather than
|
|
@@ -769,6 +788,7 @@ export const TOOLS = [
|
|
|
769
788
|
}),
|
|
770
789
|
defineTool({
|
|
771
790
|
name: 'list_interviews',
|
|
791
|
+
summary: 'List the interviews stored for a project.',
|
|
772
792
|
description: 'List the interviews in a Clien.ai project (newest first, paginated). Returns each ' +
|
|
773
793
|
'interview\'s status, persona id, message count, and id as readable text; the raw interview ' +
|
|
774
794
|
'array and pagination are also returned as `structuredContent.interviews` / `.pagination` ' +
|
|
@@ -786,6 +806,7 @@ export const TOOLS = [
|
|
|
786
806
|
}),
|
|
787
807
|
defineTool({
|
|
788
808
|
name: 'get_interview',
|
|
809
|
+
summary: 'Read one interview and its full transcript.',
|
|
789
810
|
description: 'Fetch a single interview by its `interview_id` (from a `list_interviews` entry or an ' +
|
|
790
811
|
'interview\'s id printed by `interview_persona action:start`). Returns the full message ' +
|
|
791
812
|
'transcript as readable text; the interview entity (status, personaId, messages, ' +
|
|
@@ -800,6 +821,7 @@ export const TOOLS = [
|
|
|
800
821
|
}),
|
|
801
822
|
defineTool({
|
|
802
823
|
name: 'list_competitors',
|
|
824
|
+
summary: 'Read a project\'s accumulated competitor dossier.',
|
|
803
825
|
description: 'List the competitors recorded for a Clien.ai project (most-recently-seen first, ' +
|
|
804
826
|
'paginated). Returns each competitor\'s name, pricing, description, url, company ' +
|
|
805
827
|
'facts and strengths/weaknesses as readable text; the full competitor array and ' +
|
|
@@ -833,6 +855,7 @@ export const TOOLS = [
|
|
|
833
855
|
}),
|
|
834
856
|
defineTool({
|
|
835
857
|
name: 'list_community_signals',
|
|
858
|
+
summary: 'Read a project\'s accumulated community-signal dossier.',
|
|
836
859
|
description: 'List the community signals (forum / Hacker News / Stack Exchange threads) recorded for a Clien.ai project ' +
|
|
837
860
|
'(newest-discovered first, paginated). Returns each thread\'s title, platform, ' +
|
|
838
861
|
'sentiment summary, url, one representative quote (with `(+N more cached)` when the thread ' +
|
|
@@ -870,6 +893,7 @@ export const TOOLS = [
|
|
|
870
893
|
}),
|
|
871
894
|
defineTool({
|
|
872
895
|
name: 'get_market',
|
|
896
|
+
summary: 'Read a project\'s current market snapshot.',
|
|
873
897
|
description: 'Read a Clien.ai project\'s MARKET SNAPSHOT — the third cross-run research dossier, ' +
|
|
874
898
|
'alongside `list_competitors` and `list_community_signals`. Returns strict cited ' +
|
|
875
899
|
'`marketSignals` as readable result text and `structuredContent.marketSignals`, alongside ' +
|
|
@@ -904,6 +928,7 @@ export const TOOLS = [
|
|
|
904
928
|
}),
|
|
905
929
|
defineTool({
|
|
906
930
|
name: 'list_interview_scripts',
|
|
931
|
+
summary: 'Read the interview scripts produced by a project research run.',
|
|
907
932
|
description: 'Read the INTERVIEW SCRIPTS a Clien.ai research run wrote for a project — the questions ' +
|
|
908
933
|
'that run decided are worth asking real people, one script per hypothesis, ranked ' +
|
|
909
934
|
'by what most needs a real answer — product priority, then the least reliable verdicts, '
|
|
@@ -945,6 +970,7 @@ export const TOOLS = [
|
|
|
945
970
|
}),
|
|
946
971
|
defineTool({
|
|
947
972
|
name: 'get_credit_balance',
|
|
973
|
+
summary: 'Read the current credit balance and live action costs.',
|
|
948
974
|
// ⚠️ NOT ONE CREDIT NUMBER IN THIS DESCRIPTION, deliberately. Prices come back in
|
|
949
975
|
// the RESULT, derived server-side from `getActionCost()`; a figure written here
|
|
950
976
|
// would go stale at the next repricing and, being an advert, would be believed.
|
|
@@ -982,5 +1008,39 @@ export const TOOLS = [
|
|
|
982
1008
|
outputSchema: GET_CREDIT_BALANCE_OUTPUT_SCHEMA,
|
|
983
1009
|
handler: (args, deps) => getCreditBalance(args, deps),
|
|
984
1010
|
}),
|
|
1011
|
+
defineTool({
|
|
1012
|
+
name: 'cancel_research',
|
|
1013
|
+
summary: 'Cancel a running research job.',
|
|
1014
|
+
description: 'Cancel a running `clien_research` job. STOPS THE RUN ONLY — does not retry, does not ' +
|
|
1015
|
+
'refund beyond what the server determined, does not write. Returns the server-observed ' +
|
|
1016
|
+
'outcome in `structuredContent` and in the result text: whether the job was cancelled, what ' +
|
|
1017
|
+
'phase it was in when stopped, and the money facts (refunded, charged, refundedCredits). ' +
|
|
1018
|
+
'Money facts are REPORTED, NEVER inferred or substituted. ' +
|
|
1019
|
+
'The `refunded` and `charged` booleans state what ACTUALLY happened; `refunded_credits` is the ' +
|
|
1020
|
+
'numeric amount or null. Use these figures to report the outcome accurately. ' +
|
|
1021
|
+
'Tool error carries a lowercase snake_case `code` in `_meta.code` (`not_found`, ' +
|
|
1022
|
+
'`invalid_state`, `session_expired`, `forbidden`, `http_error`) and the same code in the ' +
|
|
1023
|
+
'error text as `cancel_research: <code> — <message>`. ' +
|
|
1024
|
+
'Call this when the user explicitly asks to stop a running research job. Requires the job_id ' +
|
|
1025
|
+
'returned by the original `clien_research` call. Returns 404 NOT_FOUND for a job that ' +
|
|
1026
|
+
'does not exist or belongs to another user, 409 INVALID_STATE for a job already finished, ' +
|
|
1027
|
+
'and 401/403 for auth failures. Only active jobs can be cancelled.',
|
|
1028
|
+
zodSchema: CancelResearchInputSchema,
|
|
1029
|
+
outputSchema: CANCEL_RESEARCH_OUTPUT_SCHEMA,
|
|
1030
|
+
handler: (args, deps) => cancelResearch(args, deps),
|
|
1031
|
+
}),
|
|
985
1032
|
];
|
|
1033
|
+
function deepFreezeJson(value) {
|
|
1034
|
+
if (value && typeof value === 'object') {
|
|
1035
|
+
for (const child of Object.values(value))
|
|
1036
|
+
deepFreezeJson(child);
|
|
1037
|
+
Object.freeze(value);
|
|
1038
|
+
}
|
|
1039
|
+
return value;
|
|
1040
|
+
}
|
|
1041
|
+
export const TOOL_CAPABILITIES = Object.freeze(TOOLS.map(({ name, summary, jsonSchema }) => Object.freeze({
|
|
1042
|
+
name,
|
|
1043
|
+
summary,
|
|
1044
|
+
inputSchema: deepFreezeJson(structuredClone(jsonSchema)),
|
|
1045
|
+
})));
|
|
986
1046
|
//# sourceMappingURL=registry.js.map
|