@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.
@@ -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\p{Cc}\p{Cf}\p{Zl}\p{Zp}]+$/u;
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,OAAO,EACP,oBAAoB,GAGrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEpF,MAAM,0BAA0B,GAAG,MAAM,CAAA;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAA;AAChC,MAAM,mBAAmB,GAAG,mCAAmC,CAAA;AAE/D,qFAAqF;AACrF,MAAM,WAAW,GAAG,MAAM,CAAA;AAE1B,6EAA6E;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;CACnB,CAAA;AAEV,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;SAC3D,QAAQ,CACP,kFAAkF;QAChF,uFAAuF;QACvF,sFAAsF;QACtF,kFAAkF;QAClF,4DAA4D,CAC/D;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,2EAA2E,CAC9E;IACH,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,kFAAkF;QAChF,wEAAwE;QACxE,wCAAwC,CAC3C;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,4FAA4F;QAC1F,uEAAuE;QACvE,qCAAqC,CACxC;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;SACnC,GAAG,CAAC,WAAW,EAAE,yBAAyB,WAAW,SAAS,CAAC;SAC/D,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F;QACxF,0BAA0B,CAC7B;IACH,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,4FAA4F;QAC1F,4FAA4F;QAC5F,oEAAoE,CACvE;IACH,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,iBAAiB,CAAC;SACtB,KAAK,CAAC,mBAAmB,EAAE,qDAAqD,CAAC;SACjF,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,iFAAiF;QACjF,yFAAyF;QACzF,kFAAkF;QAClF,8EAA8E;QAC9E,oFAAoF;QACpF,uDAAuD,CAC1D;IACH,iBAAiB,EAAE,CAAC;SACjB,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,6FAA6F;QAC3F,wFAAwF;QACxF,wFAAwF;QACxF,gCAAgC,CACnC;IACH,2EAA2E;IAC3E,SAAS,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,SAAS,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,WAAW,EAAE,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;CAChE,CAAC,CAAA;AAuEF,MAAM,OAAO,kBAAmB,SAAQ,SAAS;CAAG;AAEpD,SAAS,cAAc,CAAC,KAAiB;IACvC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3F,CAAC;AAED,SAAS,OAAO,CAAC,IAAuB;IACtC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAA;AACnF,CAAC;AAWD;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,gBAAgB,CAC7B,QAAqB,EACrB,IAAuB,EACvB,MAAc,EACd,OAA+B;IAE/B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,MAAM,GAA8B,IAAI,CAAA;IAC5C,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAA;QAC/C,IAAI,MAAM,EAAE,KAAK;YAAE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;IACxD,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAE9B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9E,MAAM,MAAM,GACV,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,8BAA8B,CAAA;QACpC,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,UAAU,GACd,0FAA0F;YAC1F,iEAAiE,CAAA;QACnE,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;YAC9C,MAAM,IAAI,kBAAkB,CAC1B,sDAAsD,OAAO,gBAAgB,QAAQ,GAAG;gBACtF,IAAI,MAAM,0BAA0B,MAAM,IAAI,UAAU,EAAE,CAC7D,CAAA;QACH,CAAC;QACD,MAAM,IAAI,kBAAkB,CAC1B,wDAAwD,MAAM,IAAI,UAAU,EAAE,CAC/E,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,QAAQ,CAAC,YAAY,EAAE,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAA;QAC3E,MAAM,IAAI,kBAAkB,CAC1B,+EAA+E,CAChF,CAAA;IACH,CAAC;IACD,4DAA4D;IAC5D,gFAAgF;IAChF,6EAA6E;IAC7E,+CAA+C;IAC/C,EAAE;IACF,gFAAgF;IAChF,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,6EAA6E;IAC7E,oDAAoD;IACpD,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,gBAAgB,IAAI,MAAM,EAAE,IAAI,KAAK,gBAAgB,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,kBAAkB,CAC1B,MAAM,CAAC,IAAI,KAAK,gBAAgB;YAC9B,CAAC,CAAC,aAAa,MAAM,oGAAoG;YACzH,CAAC,CAAC,aAAa,MAAM,sFAAsF,CAC9G,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,CAC1B,OAAO,EAAE,QAAQ;YACf,aAAa,MAAM,0DAA0D;gBAC3E,wDAAwD,CAC7D,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,CAAC,aAAa,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,IAAI,kBAAkB,CAAC,aAAa,MAAM,UAAU,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;AACjF,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,IAAI,CACjB,GAAmB,EACnB,MAAgC,EAChC,IAAY,EACZ,MAAc,EACd,IAA8B;IAE9B,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;YACtC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,kBAAkB,CAC1B,cAAc,MAAM,oBAAoB,0BAA0B,GAAG,IAAI,KAAK;gBAC5E,6EAA6E,CAChF,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAI,QAAqB;IAC9C,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAa,CAAA;AAC9D,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAoB;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAA;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAA;QAClE,6EAA6E;QAC7E,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,2EAA2E;QAC3E,8EAA8E;QAC9E,oDAAoD;QACpD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACjC,OAAO,GAAG,OAAO,KAAK,IAAI,IAAI,EAAE,EAAE,CAAA;IACpC,CAAC,CAAC,CAAA;IACF,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,oEAAoE;IACpE,+EAA+E;IAC/E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,gFAAgF;IAChF,iFAAiF;IACjF,2EAA2E;IAC3E,qEAAqE;IACrE,EAAE;IACF,kFAAkF;IAClF,kFAAkF;IAClF,0EAA0E;IAC1E,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IACzD,MAAM,UAAU,GACd,YAAY,IAAI,eAAe;QAC7B,CAAC,CAAC,iBAAiB,YAAY,uBAAuB,eAAe,KAAK;YACxE,6EAA6E;QAC/E,CAAC,CAAC,EAAE,CAAA;IACR,6EAA6E;IAC7E,6EAA6E;IAC7E,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,UAAU,GACd,+EAA+E;QAC/E,2FAA2F,CAAA;IAC7F,MAAM,MAAM,GACV,aAAa,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK;QAC7C,WAAW,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,SAAS,IAAI;QAC5D,GAAG,QAAQ,CAAC,MAAM,WAAW,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,UAAU,GAAG,UAAU,EAAE,CAAA;IACtG,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AACzE,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,KAA4B,EAC5B,GAAmB,EACnB,IAAuB;IAEvB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,IAAI,kBAAkB,CAAC,oDAAoD,CAAC,CAAA;IACpF,CAAC;IACD,+EAA+E;IAC/E,gFAAgF;IAChF,kFAAkF;IAClF,iFAAiF;IACjF,iBAAiB;IACjB,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,kBAAkB,CAC1B,mFAAmF;YACjF,uFAAuF;YACvF,gFAAgF;YAChF,iBAAiB,CACpB,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE;QAC7E,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,gBAAgB,EAAE,IAAI;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,6EAA6E;QAC7E,8EAA8E;QAC9E,wEAAwE;QACxE,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;YACnC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,eAAe,EAAE,KAAK,CAAC,iBAAiB,EAAE;YACjF,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAA;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAE3E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAgB,QAAQ,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;IACjC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,CAC1B,oFAAoF,CACrF,CAAA;IACH,CAAC;IACD,6EAA6E;IAC7E,gFAAgF;IAChF,iFAAiF;IACjF,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAA;IACtD,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IACrD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAClE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS;QAClC,CAAC,CAAC,qDAAqD;QACvD,CAAC,CAAC,EAAE,CAAA;IACN,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,qBAAqB,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,YAAY,EAAE;oBAC9E,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,QAAQ,IAAI;oBAClD,8EAA8E;aACjF;SACF;QACD,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE;KACrG,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,cAAc,CAAC,KAA4B,EAAE,SAAoB;IACxE,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAEhD,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAA;IACvC,MAAM,WAAW,GAAG,SAAS,CAAC,eAAe,CAAA;IAC7C,oFAAoF;IACpF,0EAA0E;IAC1E,sFAAsF;IACtF,uFAAuF;IACvF,4EAA4E;IAC5E,MAAM,WAAW,GACf,WAAW,IAAI,IAAI;QACnB,KAAK,CAAC,iBAAiB,IAAI,IAAI;QAC/B,WAAW,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAA;IACrE,IAAI,QAAQ,KAAK,KAAK,CAAC,aAAa,IAAI,WAAW,EAAE,CAAC;QACpD,OAAO,CACL,gCAAgC,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,qBAAqB;YAClF,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,wDAAwD;YAC3F,wBAAwB,CACzB,CAAA;IACH,CAAC;IACD,OAAO,CACL,6FAA6F;QAC7F,4FAA4F;QAC5F,yFAAyF;QACzF,6FAA6F;QAC7F,iBAAiB,CAClB,CAAA;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,KAA4B,EAC5B,GAAmB,EACnB,IAAuB;IAEvB,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CAAC,kDAAkD,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CACzB,GAAG,EACH,MAAM,EACN,mBAAmB,KAAK,CAAC,YAAY,OAAO,EAC5C,qBAAqB,EACrB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAC3B,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAA;IAE/E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAe,QAAQ,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAA;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,kBAAkB,CAAC,kEAAkE,CAAC,CAAA;IAClG,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACxC,KAAK,EAAE;YACL,KAAK;YACL,YAAY,EAAE,IAAI,EAAE,YAAY;YAChC,OAAO,EAAE,IAAI,EAAE,OAAO;YACtB,WAAW,EAAE,IAAI,EAAE,WAAW;SAC/B;KACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,KAA4B,EAC5B,GAAmB,EACnB,IAAuB;IAEvB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,kBAAkB,CAAC,4CAA4C,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CACzB,GAAG,EACH,KAAK,EACL,mBAAmB,KAAK,CAAC,YAAY,EAAE,EACvC,kBAAkB,CACnB,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAA;IAE5E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAoB,QAAQ,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;IACjC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,CAAC,yCAAyC,CAAC,CAAA;IACzE,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,KAAK,EAAE,EAAE,SAAS,EAAE;KACrB,CAAA;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,KAA4B,EAC5B,GAAmB,EACnB,IAAuB,EACvB,MAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC7D,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,IAAI,kBAAkB,CAAC,WAAW,MAAM,0BAA0B,CAAC,CAAA;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CACzB,GAAG,EACH,OAAO,EACP,mBAAmB,KAAK,CAAC,YAAY,EAAE,EACvC,GAAG,MAAM,YAAY,EACrB,EAAE,MAAM,EAAE,CACX,CAAA;IACD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,YAAY,CAAC,CAAA;IAE/E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAoB,QAAQ,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;IACjC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,CAAC,aAAa,MAAM,qCAAqC,CAAC,CAAA;IACxF,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAA;IAC9D,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EACF,GAAG,IAAI,cAAc,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,SAAS,GAAG;oBACzD,YAAY,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,IAAI;aAC7D;SACF;QACD,KAAK,EAAE,EAAE,SAAS,EAAE;KACrB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAc,EACd,IAAuB;IAEvB,MAAM,MAAM,GAAG,2BAA2B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IAExB,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QACxC,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QAClC,KAAK,YAAY;YACf,OAAO,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QACzC,KAAK,UAAU;YACb,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;QAChD,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,0EAA0E;AAC1E,2EAA2E;AAC3E,iFAAiF;AACjF,uCAAuC;AACvC,EAAE;AACF,iFAAiF;AACjF,iFAAiF;AACjF,gFAAgF;AAChF,+EAA+E;AAC/E,+DAA+D;AAC/D,EAAE;AACF,uEAAuE;AACvE,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,wEAAwE;AACxE,gFAAgF;AAChF,mCAAmC;AAEnC,MAAM,0BAA0B,GAAG,MAAM,CAAA;AAEzC,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,4EAA4E;QAC1E,4EAA4E;QAC5E,wEAAwE;QACxE,+CAA+C,CAClD;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,cAAc,CAAC;SACnB,QAAQ,EAAE;SACV,OAAO,CAAC,kBAAkB,CAAC;SAC3B,QAAQ,CACP,6CAA6C,cAAc,aAAa,kBAAkB,KAAK;QAC7F,+BAA+B,CAClC;IACH,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CACP,qEAAqE;QACnE,yEAAyE;QACzE,wEAAwE;QACxE,wDAAwD,CAC3D;CACJ,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,4EAA4E;QAC1E,0EAA0E;QAC1E,gFAAgF,CACnF;CACJ,CAAC,CAAA;AAcF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAGlC;IACC,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,YAAY,CAAA;IACrE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC/D,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAoB;IACrD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAA;IAChF,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAA;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAc,EACd,IAAuB;IAEvB,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,2EAA2E;QAC3E,0EAA0E;QAC1E,mBAAmB;QACnB,MAAM,EAAE,SAAS;KAClB,CAAC,CAAA;IAEF,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,mBAAmB,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE;YAC1E,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,kBAAkB,CAC1B,sCAAsC,0BAA0B,GAAG,IAAI,2BAA2B,CACnG,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE;YACxD,QAAQ,EACN,uEAAuE;gBACvE,+CAA+C;SAClD,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAyB,QAAQ,CAAC,CAAA;IAC7D,8EAA8E;IAC9E,4EAA4E;IAC5E,2EAA2E;IAC3E,oBAAoB;IACpB,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACnE,MAAM,KAAK,GAAG,IAAI,EAAE,UAAU,EAAE,KAAK,IAAI,UAAU,CAAC,MAAM,CAAA;IAE1D,IAAI,IAAY,CAAA;IAChB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI;YACF,MAAM,GAAG,CAAC;gBACR,CAAC,CAAC,2BAA2B,MAAM,eAAe,SAAS,YAAY,KAAK,IAAI;gBAChF,CAAC,CAAC,4BAA4B,SAAS,oDAAoD,CAAA;IACjG,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YAClC,yEAAyE;YACzE,0EAA0E;YAC1E,WAAW;YACX,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAA;YAC7B,MAAM,QAAQ,GACZ,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAA;YACxF,6EAA6E;YAC7E,2EAA2E;YAC3E,6EAA6E;YAC7E,8DAA8D;YAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,SAAS,CAAA;YACrD,kEAAkE;YAClE,yEAAyE;YACzE,yEAAyE;YACzE,wEAAwE;YACxE,2EAA2E;YAC3E,6EAA6E;YAC7E,mEAAmE;YACnE,EAAE;YACF,0EAA0E;YAC1E,yEAAyE;YACzE,wEAAwE;YACxE,sEAAsE;YACtE,mEAAmE;YACnE,EAAE;YACF,0EAA0E;YAC1E,0EAA0E;YAC1E,wBAAwB;YACxB,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;YAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC1D,8EAA8E;YAC9E,wEAAwE;YACxE,0EAA0E;YAC1E,2EAA2E;YAC3E,wEAAwE;YACxE,wEAAwE;YACxE,wCAAwC;YACxC,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAA;YAC5C,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAA;YAClD,MAAM,UAAU,GACd,YAAY,IAAI,eAAe;gBAC7B,CAAC,CAAC,uBAAuB,YAAY,WAAW,eAAe,EAAE;gBACjE,CAAC,CAAC,EAAE,CAAA;YACR,OAAO,KAAK,MAAM,aAAa,OAAO,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,SAAS,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,SAAS,GAAG,CAAA;QACnH,CAAC,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QACxC,MAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,KAAK,sCAAsC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACpG,uEAAuE;QACvE,0EAA0E;QAC1E,8EAA8E;QAC9E,yEAAyE;QACzE,gEAAgE;QAChE,6EAA6E;QAC7E,6EAA6E;QAC7E,gEAAgE;QAChE,IAAI;YACF,SAAS,KAAK,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe,SAAS,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM;gBAC5G,kFAAkF,CAAA;IACtF,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;KAChF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAc,EACd,IAAuB;IAEvB,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACjF,CAAC;IACD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzB,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,mBAAmB,WAAW,EAAE,EAAE;YACrE,SAAS,EAAE,0BAA0B;SACtC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAwB,CAAA;QAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,0BAA0B,GAAG,IAAI,2BAA2B,CACvG,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE;YACtD,QAAQ,EACN,uEAAuE;gBACvE,uDAAuD;SAC1D,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAoB,QAAQ,CAAC,CAAA;IACxD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAA;IACjC,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,CAC1B,8EAA8E,CAC/E,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,KAAK,EAAE,EAAE,SAAS,EAAE;KACrB,CAAA;AACH,CAAC"}
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,sEAAsE;AACtE,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAW,CAAA;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,QAAQ,GAAG,EAAW,CAAA;AAE5B,2EAA2E;AAC3E,MAAM,gBAAgB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAW,CAAA;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV;IACD,oBAAoB,EAAE,IAAI;CAClB,CAAA;AAEV,SAAS,YAAY,CACnB,UAAmC,EACnC,QAAkB;IAElB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAA;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,aAAqB,EAAE,cAAc,GAAG,IAAI;IAC9D,MAAM,UAAU,GAA4B,EAAE,CAAC,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACjF,IAAI,cAAc;QAAE,UAAU,CAAC,UAAU,GAAG,UAAU,CAAA;IACtD,OAAO,YAAY,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CACnD,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAC7C,CAAC,SAAS,CAAC,CACZ,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAClD;IACE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC1B,WAAW,EAAE,QAAQ;CACtB,EACD,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,2BAA2B,GAAG,YAAY,CACrD,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAC/C,CAAC,WAAW,CAAC,CACd,CAAA;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AACjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC,YAAY,CAAC,CAAA;AACrE,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;AACvE,MAAM,CAAC,MAAM,oCAAoC,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAA;AAClF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAClD;IACE,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,gBAAgB;IAC9B,aAAa,EAAE,gBAAgB;CAChC,EACD,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,CAC5C,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,YAAY,CAC9D,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EACnD,CAAC,kBAAkB,CAAC,CACrB,CAAA;AAED,uFAAuF;AACvF,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;AAEnE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,YAAY,CAC1D;IACE,OAAO,EAAE,YAAY,CACnB,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,EACnE,EAAE,CACH;CACF,EACD,CAAC,SAAS,CAAC,CACZ,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;QAC1E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;QAC5E,OAAO,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,uDAAuD;SACrE;QACD,eAAe,EAAE;YACf,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,6CAA6C;SAC3D;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,0DAA0D;SACxE;QACD,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YACzB,WAAW,EAAE,mDAAmD;SACjE;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YACzB,WAAW,EAAE,gDAAgD;SAC9D;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,uDAAuD;SACrE;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,wDAAwD;SACtE;QACD,gBAAgB,EAAE;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,6CAA6C;SAC3D;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,sCAAsC;SACpD;QACD,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,iCAAiC;SAC/C;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;YACxB,WAAW,EAAE,8BAA8B;SAC5C;KACF;IACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;IAC/E,oBAAoB,EAAE,IAAI;CAClB,CAAA"}
@@ -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"}
@@ -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 { 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, } from './output-schemas.js';
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