@clien-ai/mcp 0.9.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -158,7 +158,7 @@ simply omits them. The full Zod schema lives in
158
158
 
159
159
  ## Tools
160
160
 
161
- Twenty-two tools. `clien_research` is the hero — the recommended default for
161
+ Twenty-three tools. `clien_research` is the hero — the recommended default for
162
162
  validating an idea end to end. Everything else is either a **free read** for
163
163
  orienting on what a project already holds, or a **targeted primitive** for a
164
164
  narrow, cheaper probe.
@@ -192,6 +192,7 @@ name — the aliases exist for callers written before the rename.
192
192
  | `clien_research_status` | — | free | Re-attach to an existing job by `job_id` — recovers a run that dropped with `-32000` and polls for completion. Called with no arguments it discovers your recent runs. |
193
193
  | `scan_competitors` | `topic` | debits credits | One web researcher over the COMPETITOR dimension only (2–10 min). Returns competitor profiles in `_meta.competitors`. Check the free `list_competitors` first. |
194
194
  | `search_forums` | `topic` | debits credits | One forum researcher over the COMMUNITY dimension only (2–10 min). Returns threads in `_meta.threads`. Check the free `list_community_signals` first. Run sequentially with `scan_competitors` on the same project — a parallel second call gets a 409. |
195
+ | `scan_market` | `topic` | debits credits | One market researcher over the MARKET dimension only (2–10 min) — size, growth, atomic figures, trends and unserved gaps, in `_meta.market`. Discovers NO competitors and leaves the other two dossiers untouched. Replaces the project's whole market snapshot, so a field this run did not establish is emptied. Check the free `get_market` first. Availability is server-gated: a deployment that has not enabled it answers 503 and nothing is charged. |
195
196
 
196
197
  ### Projects
197
198
 
@@ -217,7 +218,7 @@ name — the aliases exist for callers written before the rename.
217
218
 
218
219
  | Tool | Required | Cost | What it does |
219
220
  |------|----------|------|--------------|
220
- | `interview_persona` | `action` | see note | Stateful multi-turn interview. `action:start` → `turn` (repeatedly) → `complete`, plus `transcript` and `reopen`. Each `turn` generates a real AI reply, metered by your monthly usage; per-turn credit pricing is not yet applied. |
221
+ | `interview_persona` | `action` | debits credits | Stateful multi-turn interview. `action:start` → `turn` (repeatedly) → `complete`, plus `transcript` and `reopen`. ONE FLAT charge covers the whole interview however many turns it runs, and credits are the only meter — there is no separate token allowance. `get_credit_balance` returns the current figure. |
221
222
  | `list_interviews` | `project_id` | free | The project's interviews, newest first, paginated — recovers ids for interviews started in the web app. Entries carry `messageCount`, not transcripts; use `get_interview` for one. |
222
223
  | `get_interview` | `interview_id` | free | One interview's full transcript, from just an id. |
223
224
 
@@ -232,6 +233,12 @@ name — the aliases exist for callers written before the rename.
232
233
  | `get_market` | `project_id` | free | The project's market snapshot — size, growth trend, key trends, positioning gaps. A **singleton**, not a page: every field was written together by the one run named in `sourceRunId`. No snapshot is reported as "no run has produced market data", never as an empty or unmeasured market. The figures carry no trust state here; read the source run with `get_report` for their claim states. |
233
234
  | `list_interview_scripts` | `project_id` | free | The interview scripts a research run wrote for the project — one per hypothesis, ranked least-settled first, each carrying its `hypothesisId`, statement, verdict and questions. **Stored output of one run, never generated on read.** Call it before `interview_persona` so the answers anchor to a hypothesis; no scripts is reported as "no run has written any", never as "nothing worth asking". |
234
235
 
236
+ ### Account
237
+
238
+ | Tool | Required | Cost | What it does |
239
+ |------|----------|------|--------------|
240
+ | `get_credit_balance` | — | free | The account's credit balance and what every metered action costs, so you can check what you can afford BEFORE committing to paid work. Returns the ledger balance, the **spendable** balance (lower when the anti-hoarding cap bites — budget with this one) and a per-action price list read live from the server. ⚠️ **Advisory, never a reservation:** it holds nothing back, the balance can move before a spend, and the server's atomic debit remains the only authority. **Read-only:** no top-up, no plan change, no checkout — no MCP tool adds credits; the account owner does that in the web app. A failed read raises an error rather than report a balance, so an error means "unknown", never "out of credits". |
241
+
235
242
  "free" above means what each tool's own description states: no credit cost and
236
243
  no side effects.
237
244
 
@@ -890,18 +890,29 @@ export async function getMarket(input, deps) {
890
890
  let text;
891
891
  if (market === null) {
892
892
  // ⚠️ THE HONEST EMPTY STATE. "Absent" is not "zero" and it is not "we looked
893
- // and found nothing" — FUL-477's `v_web_ran` gate means a completed run that
894
- // did no web research writes nothing here at all, so this sentence has to say
893
+ // and found nothing" — FUL-477's market gate means a completed run that did no
894
+ // market research writes nothing here at all, so this sentence has to say
895
895
  // which of the two it is. An agent that reads silence as a finding will tell a
896
896
  // user their market is unmeasured, which is a claim nobody made.
897
+ //
898
+ // ⚠️ THE REMEDY LINE IS A PRICE, and it has to name the CHEAP tool first
899
+ // (FUL-479). This tool used to say only `clien_research` because nothing else
900
+ // could write here; `scan_market` now can, at a small fraction of a full run's
901
+ // cost, and an agent that follows stale advice pays the difference. It stays
902
+ // hedged on availability because `scan_market` is behind a server-side switch
903
+ // this client cannot read — the refusal is free and says so, so trying is
904
+ // strictly better than not knowing the tool exists.
897
905
  text =
898
906
  `No market snapshot recorded for project ${projectId}.\n\n` +
899
907
  'This means NO completed research run has produced market data for this project. It is ' +
900
908
  'NOT a finding about the market: not "the market is small", not "no market was found", ' +
901
909
  'not zero. There is simply nothing on record, and nothing here supports any statement ' +
902
910
  'about the market either way.\n\n' +
903
- 'Run `clien_research` (a full run) to produce one. `scan_competitors` and `search_forums` ' +
904
- 'are scoped runs and never write market data, so running those will leave this empty.';
911
+ 'To produce one: `scan_market` researches the market on its own and is the cheapest way ' +
912
+ 'to fill this in (if it is not enabled on this deployment it refuses immediately, costs ' +
913
+ 'nothing and tells you so); `clien_research` is a full validation run and also writes ' +
914
+ 'market data, at much higher cost. `scan_competitors` and `search_forums` never write ' +
915
+ 'market data, so running those will leave this empty.';
905
916
  }
906
917
  else {
907
918
  const size = safeInline(market.marketSize, MARKET_FIELD_MAX);
@@ -925,16 +936,23 @@ export async function getMarket(input, deps) {
925
936
  // "never researched" are opposite evidence, and collapsing them into one
926
937
  // empty state is the exact error this tool is written to avoid.
927
938
  //
928
- // ⚠️ …but only the NAMED-RUN arm may say "did web research". A row with no
929
- // `source_run_id` may predate the `v_web_ran` gate that makes that inference
939
+ // ⚠️ …but only the NAMED-RUN arm may say the run researched the market. A row
940
+ // with no `source_run_id` may predate the gate that makes that inference
930
941
  // sound (the same doubt `marketProvenanceLine(null)` states two lines down),
931
942
  // so its arm reports what the row records and infers nothing about the run.
943
+ //
944
+ // ⚠️ IT SAYS "researched the market", NOT "did web research" (FUL-479). Two
945
+ // different run kinds reach this block now — a full run carrying `webResearch`
946
+ // and a `scan_market` run carrying `marketResearch` — and this surface cannot
947
+ // tell them apart from the row. "Did web research" was true of the only run
948
+ // kind that could get here when it was written and is now a coin flip, which
949
+ // is a worse thing to tell an agent than the weaker claim both kinds satisfy.
932
950
  // Contradicting our own provenance caveat one paragraph later would be the
933
951
  // same class of over-claim this tool exists to refuse.
934
952
  text =
935
953
  `Project ${projectId} has a market snapshot with no figures in it.\n\n` +
936
954
  (runId
937
- ? `Research run ${runId} did web research and recorded no market size, no growth ` +
955
+ ? `Research run ${runId} researched the market and recorded no market size, no growth ` +
938
956
  'trend, no key trends and no positioning gaps. '
939
957
  : 'The run that wrote this snapshot recorded no market size, no growth trend, no ' +
940
958
  'key trends and no positioning gaps. ') +
@@ -1 +1 @@
1
- {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/tools/collections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/tools/collections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAC3F,OAAO,EACL,OAAO,EACP,oBAAoB,GAGrB,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,MAAM,EACN,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;AAE3B,MAAM,4BAA4B,GAAG,MAAM,CAAA;AAE3C,+EAA+E;AAC/E,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,gEAAgE;QAC9D,2EAA2E;QAC3E,2EAA2E;QAC3E,6DAA6D;QAC7D,mEAAmE,CACtE;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,8CAA8C,cAAc,aAAa,kBAAkB,KAAK;QAC9F,4CAA4C,CAC/C;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,sEAAsE;QACpE,0EAA0E;QAC1E,oEAAoE;QACpE,0BAA0B,CAC7B;CACJ,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,mEAAmE;QACjE,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,qDAAqD,CACxD;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,oDAAoD,cAAc,aAAa,kBAAkB,KAAK;QACpG,gFAAgF;QAChF,iFAAiF;QACjF,wFAAwF,CAC3F;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,4EAA4E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,gCAAgC,CACnC;CACJ,CAAC,CAAA;AAIF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CACP,iEAAiE;QAC/D,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,2EAA2E;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,4EAA4E;QAC5E,wEAAwE,CAC3E;CACJ,CAAC,CAAA;AAwJF,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACjD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC5F,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAqB;IACvD,OAAO;QACL,EAAE,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;QACzC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAC9B,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5C,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;QACrC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;QACvC,6EAA6E;QAC7E,2EAA2E;QAC3E,8EAA8E;QAC9E,gFAAgF;QAChF,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,aAAa,EAAE,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;QACjD,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACtD,sBAAsB,EAAE,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC;QACnE,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACtD,mBAAmB,EAAE,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC7D,4EAA4E;QAC5E,8EAA8E;QAC9E,oCAAoC;QACpC,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrD,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;KAC1C,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAA0B;IACjE,OAAO;QACL,EAAE,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;QACzC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAChC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QACtC,gBAAgB,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACvD,cAAc,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;QACvC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QAC/C,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;QAClC,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC;QACnD,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACrD,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5C,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;KAC1C,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAiB;IAChD,OAAO;QACL,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;QACzC,UAAU,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC;QAC3C,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC;QAC7C,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;QACtC,eAAe,EAAE,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAClD,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;QAC9C,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;KAC1C,CAAA;AACH,CAAC;AAqBD,MAAM,OAAO,mBAAoB,SAAQ,SAAS;CAAG;AAErD,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,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,MAAM,UAAU,OAAO,CAAC,IAAwB;IAC9C,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;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAqB,EACrB,IAAwB,EACxB,MAAc,EACd,SAAiB;IAEjB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACtD,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,mBAAmB,CAC3B,+EAA+E,CAChF,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,mBAAmB,CAC3B,WAAW,SAAS,4DAA4D;YAC9E,iDAAiD,CACpD,CAAA;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAA;QACpE,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,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,MAAM,IAAI,mBAAmB,CAAC,aAAa,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,aAAa,MAAM,UAAU,QAAQ,CAAC,MAAM,MAAM,MAAM,EAAE,CAAC,CAAA;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,eAAe,CAC5B,IAAwB,EACxB,IAAY,EACZ,aAAiD,EACjD,SAAiB,EACjB,KAAa,EACb,MAAc,EACd,MAAc;IAEd,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC;QAChC,SAAS;QACT,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;KACvB,CAAC,CAAA;IAEF,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE;YAClE,SAAS,EAAE,4BAA4B;SACxC,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,mBAAmB,CAC3B,mBAAmB,4BAA4B,GAAG,IAAI,eAAe,MAAM,IAAI;gBAC7E,oFAAoF,CACvF,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAE3E,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAmC,CAAA;IACxF,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,aAAa,CAAC,CAAA;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,mBAAmB,CAC3B,aAAa,MAAM,uDAAuD;YACxE,SAAS,aAAa,0DAA0D;YAChF,gFAAgF;YAChF,iFAAiF,CACpF,CAAA;IACH,CAAC;IACD,MAAM,UAAU,GAAI,IAAI,EAAE,UAAqC,IAAI,EAAE,CAAA;IACrE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,gBAA4B,EAC5B,KAAa,EACb,MAAc,EACd,KAAa;IAEb,OAAO;QACL,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,KAAK;QACtC,MAAM,EAAE,gBAAgB,CAAC,MAAM,IAAI,MAAM;QACzC,KAAK;KACN,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;AAEtF,SAAS,eAAe,CAAC,SAAwB;IAC/C,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,iBAAiB,CAAA;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC;QACxE,CAAC,CAAC,KAAK,KAAK,GAAG;QACf,CAAC,CAAC,WAAW,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CACf,KAAa,EACb,KAAoB,EACpB,SAAwB,EACxB,GAAW;IAEX,8EAA8E;IAC9E,6EAA6E;IAC7E,+EAA+E;IAC/E,4EAA4E;IAC5E,gFAAgF;IAChF,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IACvB,MAAM,IAAI,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,OAAO,GAAG,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC,EAAE,CAAA;AACxE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B,qEAAqE;AACrE,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa,EAAE,KAAa;IAC5D,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,CAAA;IAC3B,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,GAAG,IAAI,sCAAsC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAc,EACd,IAAwB;IAExB,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAE5D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAChD,IAAI,EACJ,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,KAAK,EACL,MAAM,EACN,kBAAkB,CACnB,CAAA;IAED,MAAM,WAAW,GAAI,IAA2B,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACzE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,CAAA;IAEpD,IAAI,IAAY,CAAA;IAChB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI;YACF,MAAM,GAAG,CAAC;gBACR,CAAC,CAAC,4BAA4B,MAAM,eAAe,SAAS,YAAY,KAAK,IAAI;gBACjF,CAAC,CAAC,uCAAuC,SAAS,6BAA6B;oBAC7E,4DAA4D,CAAA;IACpE,CAAC;SAAM,CAAC;QACN,+EAA+E;QAC/E,+EAA+E;QAC/E,6EAA6E;QAC7E,+EAA+E;QAC/E,8EAA8E;QAC9E,yEAAyE;QACzE,qDAAqD;QACrD,IAAI,YAAY,GAAG,KAAK,CAAA;QACxB,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE;YACrC,IAAI,KAAK,CAAC,MAAM,GAAG,cAAc;gBAAE,YAAY,GAAG,IAAI,CAAA;YACtD,OAAO,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;QACxC,CAAC,CAAA;QAED,yEAAyE;QACzE,gEAAgE;QAChE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,yEAAyE;YACzE,4EAA4E;YAC5E,2EAA2E;YAC3E,2EAA2E;YAC3E,oEAAoE;YACpE,6EAA6E;YAC7E,2EAA2E;YAC3E,4EAA4E;YAC5E,qDAAqD;YACrD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,oBAAoB,CAAA;YAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;YACzC,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YAChF,+EAA+E;YAC/E,6EAA6E;YAC7E,iFAAiF;YACjF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;YACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACrD,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/D,2EAA2E;YAC3E,wEAAwE;YACxE,MAAM,IAAI,GAAG;gBACX,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACtD,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC;gBACpE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC;aACxD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9D,6EAA6E;YAC7E,6EAA6E;YAC7E,8EAA8E;YAC9E,uEAAuE;YACvE,+CAA+C;YAC/C,EAAE;YACF,6EAA6E;YAC7E,2EAA2E;YAC3E,4EAA4E;YAC5E,4EAA4E;YAC5E,mEAAmE;YACnE,EAAE;YACF,yEAAyE;YACzE,2EAA2E;YAC3E,8EAA8E;YAC9E,2EAA2E;YAC3E,2DAA2D;YAC3D,0EAA0E;YAC1E,2DAA2D;YAC3D,EAAE;YACF,yEAAyE;YACzE,sEAAsE;YACtE,iEAAiE;YACjE,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAChE,MAAM,cAAc,GAAG,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YAClE,MAAM,SAAS,GAAG,aAAa;gBAC7B,CAAC,CAAC,mBAAmB,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC1C,CAAC,CAAC,EAAE,CAAA;YACN,MAAM,UAAU,GAAG,cAAc;gBAC/B,CAAC,CAAC,oBAAoB,IAAI,CAAC,cAAc,CAAC,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAA;YACN,4EAA4E;YAC5E,6EAA6E;YAC7E,6EAA6E;YAC7E,sEAAsE;YACtE,OAAO,GAAG,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAA;QAC1G,CAAC,CAAC,CAAA;QACF,6EAA6E;QAC7E,6EAA6E;QAC7E,+BAA+B;QAC/B,8EAA8E;QAC9E,6EAA6E;QAC7E,6EAA6E;QAC7E,uDAAuD;QACvD,6EAA6E;QAC7E,qEAAqE;QACrE,uEAAuE;QACvE,6EAA6E;QAC7E,0EAA0E;QAC1E,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,OAAO,CACL,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACpD,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC;YACpE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC;YACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAC1D,CACF,CAAA;QACD,6EAA6E;QAC7E,0EAA0E;QAC1E,4EAA4E;QAC5E,MAAM,SAAS,GAAG,eAAe;YAC/B,CAAC,CAAC,uFAAuF;gBACvF,uFAAuF;gBACvF,8EAA8E;gBAC9E,sFAAsF;gBACtF,oFAAoF;YACtF,CAAC,CAAC,EAAE,CAAA;QACN,6EAA6E;QAC7E,+EAA+E;QAC/E,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,2EAA2E;QAC3E,4EAA4E;QAC5E,6CAA6C;QAC7C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CACJ,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YACrD,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CACzD,CAAA;QACD,MAAM,YAAY,GAAG,WAAW;YAC9B,CAAC,CAAC,kFAAkF;gBAClF,4FAA4F;YAC9F,CAAC,CAAC,EAAE,CAAA;QACN,2EAA2E;QAC3E,gFAAgF;QAChF,kFAAkF;QAClF,iFAAiF;QACjF,gFAAgF;QAChF,yEAAyE;QACzE,EAAE;QACF,8EAA8E;QAC9E,gFAAgF;QAChF,iFAAiF;QACjF,yEAAyE;QACzE,+EAA+E;QAC/E,4EAA4E;QAC5E,4EAA4E;QAC5E,8EAA8E;QAC9E,kEAAkE;QAClE,MAAM,QAAQ,GAAG,YAAY;YAC3B,CAAC,CAAC,sFAAsF;gBACtF,uFAAuF;gBACvF,qFAAqF;gBACrF,kEAAkE;YACpE,CAAC,CAAC,EAAE,CAAA;QACN,IAAI;YACF,SAAS,KAAK,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe,SAAS,OAAO;gBACjF,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACzE,wEAAwE;gBACxE,mEAAmE;gBACnE,qEAAqE;gBACrE,wDAAwD;gBACxD,kGAAkG,SAAS,GAAG,YAAY,GAAG,QAAQ,EAAE,CAAA;IAC3I,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE;KACxF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAc,EACd,IAAwB;IAExB,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAE5D,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAChD,IAAI,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,KAAK,EACL,MAAM,EACN,wBAAwB,CACzB,CAAA;IAED,MAAM,OAAO,GAAI,IAAgC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAC/E,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAA;IAEhD,IAAI,IAAY,CAAA;IAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI;YACF,MAAM,GAAG,CAAC;gBACR,CAAC,CAAC,kCAAkC,MAAM,eAAe,SAAS,YAAY,KAAK,IAAI;gBACvF,CAAC,CAAC,6CAA6C,SAAS,0BAA0B;oBAChF,4DAA4D,CAAA;IACpE,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,6EAA6E;YAC7E,8EAA8E;YAC9E,gFAAgF;YAChF,+EAA+E;YAC/E,iFAAiF;YACjF,8EAA8E;YAC9E,+EAA+E;YAC/E,gCAAgC;YAChC,wEAAwE;YACxE,6EAA6E;YAC7E,2EAA2E;YAC3E,0EAA0E;YAC1E,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAC/C,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;YACzD,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAA;YACnG,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;YACzD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACtC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5C,yEAAyE;YACzE,2EAA2E;YAC3E,qEAAqE;YACrE,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAClE,6EAA6E;YAC7E,+EAA+E;YAC/E,4EAA4E;YAC5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,CAAA;YAC9D,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7D,2FAA2F;YAC3F,0FAA0F;YAC1F,4FAA4F;YAC5F,0FAA0F;YAC1F,qFAAqF;YACrF,kFAAkF;YAClF,MAAM,cAAc,GAAG,yBAAyB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;YAC/D,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,GAAG,GAAG,KAAK,GAAG,cAAc,GAAG,cAAc,YAAY,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,EAAE,CAAA;QACrH,CAAC,CAAC,CAAA;QACF,IAAI;YACF,SAAS,KAAK,oBAAoB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe,SAAS,OAAO;gBACvF,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACrE,yEAAyE;gBACzE,oCAAoC;gBACpC,4FAA4F;gBAC1F,8CAA8C,CAAA;IACpD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,KAAK,EAAE;YACL,gBAAgB,EAAE,OAAO;YACzB,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;SAChE;KACF,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAC5B,MAAM,eAAe,GAAG,GAAG,CAAA;AAE3B;;;;;GAKG;AACH,MAAM,eAAe,GAAG,EAAE,CAAA;AAE1B;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,KAAa,EAAE,KAAe;IACrD,MAAM,IAAI,GAAG,KAAK;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC,CAAA;IAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1C,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,wCAAwC,CAAC,CAAC,CAAC,EAAE,CAAA;IACxF,OAAO,GAAG,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;AAChD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,KAAK,UAAU,WAAW,CACxB,IAAwB,EACxB,SAAiB;IAEjB,MAAM,MAAM,GAAG,0BAA0B,CAAA;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAEhD,IAAI,QAAqB,CAAA;IACzB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE;YACtE,SAAS,EAAE,4BAA4B;SACxC,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,mBAAmB,CAC3B,mBAAmB,4BAA4B,GAAG,IAAI,eAAe,MAAM,IAAI;gBAC7E,oFAAoF,CACvF,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;IAE3E,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAmC,CAAA;IACxF,MAAM,UAAU,GAAG,IAAI,mBAAmB,CACxC,aAAa,MAAM,uDAAuD;QACxE,mFAAmF;QACnF,qFAAqF;QACrF,kFAAkF;QAClF,uEAAuE,CAC1E,CAAA;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC;QAC5F,MAAM,UAAU,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC1B,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,UAAU,CAAA;IAEzE,OAAO,gBAAgB,CAAC,MAAsB,CAAC,CAAA;AACjD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,oBAAoB,CAAC,KAAoB;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CACL,2FAA2F;YAC3F,0FAA0F;YAC1F,uFAAuF;YACvF,yBAAyB,CAC1B,CAAA;IACH,CAAC;IACD,OAAO,CACL,sEAAsE,IAAI,eAAe;QACzF,4FAA4F;QAC5F,mCAAmC,IAAI,iDAAiD;QACxF,yDAAyD,CAC1D,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,iBAAiB,GACrB,4FAA4F;IAC5F,gGAAgG;IAChG,6FAA6F;IAC7F,4FAA4F;IAC5F,0FAA0F,CAAA;AAE5F,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAc,EACd,IAAwB;IAExB,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,mBAAmB,CAAC,mBAAmB,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAClF,CAAC;IACD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IAE7C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IAEjD,IAAI,IAAY,CAAA;IAChB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,6EAA6E;QAC7E,+EAA+E;QAC/E,0EAA0E;QAC1E,+EAA+E;QAC/E,iEAAiE;QACjE,EAAE;QACF,yEAAyE;QACzE,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,8EAA8E;QAC9E,0EAA0E;QAC1E,oDAAoD;QACpD,IAAI;YACF,2CAA2C,SAAS,OAAO;gBAC3D,wFAAwF;gBACxF,wFAAwF;gBACxF,uFAAuF;gBACvF,kCAAkC;gBAClC,yFAAyF;gBACzF,yFAAyF;gBACzF,uFAAuF;gBACvF,uFAAuF;gBACvF,sDAAsD,CAAA;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;QAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;QAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;QACxE,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAEhD,MAAM,IAAI,GAAG;YACX,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;YACpC,KAAK,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;YACvC,MAAM;YACN,IAAI;SACL,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAEjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAE/D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,6EAA6E;YAC7E,yEAAyE;YACzE,2EAA2E;YAC3E,0EAA0E;YAC1E,yEAAyE;YACzE,gEAAgE;YAChE,EAAE;YACF,8EAA8E;YAC9E,yEAAyE;YACzE,6EAA6E;YAC7E,4EAA4E;YAC5E,EAAE;YACF,4EAA4E;YAC5E,+EAA+E;YAC/E,8EAA8E;YAC9E,4EAA4E;YAC5E,6EAA6E;YAC7E,8EAA8E;YAC9E,2EAA2E;YAC3E,uDAAuD;YACvD,IAAI;gBACF,WAAW,SAAS,mDAAmD;oBACvE,CAAC,KAAK;wBACJ,CAAC,CAAC,gBAAgB,KAAK,gEAAgE;4BACrF,gDAAgD;wBAClD,CAAC,CAAC,gFAAgF;4BAChF,sCAAsC,CAAC;oBAC3C,wFAAwF;oBACxF,+DAA+D;oBAC/D,WAAW;oBACX,MAAM;oBACN,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC;oBACxC,yFAAyF,CAAA;QAC7F,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACrD,IAAI;gBACF,+BAA+B,SAAS,OAAO;oBAC/C,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,WAAW,MAAM;oBAChD,oBAAoB,CAAC,MAAM,CAAC,WAAW,CAAC;oBACxC,MAAM;oBACN,iBAAiB;oBACjB,yFAAyF,CAAA;QAC7F,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,0EAA0E;QAC1E,2EAA2E;QAC3E,KAAK,EAAE,EAAE,MAAM,EAAE;KAClB,CAAA;AACH,CAAC"}
@@ -0,0 +1,299 @@
1
+ /**
2
+ * `get_credit_balance` (FUL-513) — what this account can afford, BEFORE it commits.
3
+ *
4
+ * Until this tool the MCP surface disclosed the balance REACTIVELY only, inside the
5
+ * insufficient-credit failure guidance ("you have N, this needs M"). An agent asked to
6
+ * "research these three ideas" therefore could not learn it could afford one until it
7
+ * had already failed — mid-plan, after some spend. Failure guidance is a good backstop
8
+ * and a poor planning input, and the actions on this surface are expensive: a
9
+ * `clien_research` run is the priciest thing any agent here can start.
10
+ *
11
+ * ⚠️ THIS TOOL CANNOT SPEND, AND MUST NEVER GAIN THE ABILITY (constraint 1).
12
+ * `/app/billing` is the product's single money surface. There is no top-up here, no
13
+ * plan change, no checkout, and no debit: the module makes exactly one request, a GET,
14
+ * and `credits.test.ts` asserts that structurally rather than trusting this paragraph.
15
+ * When an agent finds the balance short, the only correct move is to tell the human —
16
+ * an agent cannot buy credits on anyone's behalf and this tool gives it no way to try.
17
+ *
18
+ * ⚠️ THE NUMBER IS ADVISORY, NEVER A RESERVATION (constraint 2). It is a reading taken
19
+ * at call time and it holds nothing back. Between this read and a spend the balance can
20
+ * move — a concurrent run, a monthly grant, a refund, another client on the same
21
+ * account — and the atomic RPCs behind `start_validation_with_credits` /
22
+ * `spend_credits_for_tool` remain the ONLY authority on whether a spend happens. An
23
+ * agent that treats a stale read as a guarantee will report a run it never started; the
24
+ * rendered text and the tool description both say so, because an unread caveat is not a
25
+ * caveat.
26
+ *
27
+ * ⚠️ NOT ONE PRICE IS WRITTEN IN THIS FILE (constraint 3). Every credit number rendered
28
+ * below arrives from the server, which derives it from `getActionCost()` in
29
+ * `app/lib/billing/pricing-config.ts` — the single source of truth for what compute
30
+ * costs. `@clien-ai/mcp` publishes on its own cadence and cannot import that module, so
31
+ * a hardcoded figure here would go stale silently at the next repricing and quote a
32
+ * price the product does not charge. The renderer iterates whatever the server sent; it
33
+ * knows no action names and no amounts of its own.
34
+ *
35
+ * Contract:
36
+ * - get_credit_balance → GET /api/billing/credits →
37
+ * { balance: number, spendable: number, costs: [{ action, credits }] }
38
+ *
39
+ * ⚠️ TWO NUMBERS, NOT ONE, and they are different facts. `balance` is what the ledger
40
+ * holds; `spendable` is what may actually be spent today, with the FUL-73 rollover cap
41
+ * applied at read time. `spendable` is the one the pre-checks compare against, so it is
42
+ * the one that answers "can I afford this" — and it can be LOWER than the balance. A
43
+ * render that showed only the larger number would overstate what the account can do.
44
+ *
45
+ * Read-only, so a timeout is always safe to retry — no work lost, no credit spent.
46
+ */
47
+ import { z } from 'zod';
48
+ import { CollectionToolError, formatZodError, makeCtx, } from './collections.js';
49
+ import { apiCall, categorizeFetchError } from './research.js';
50
+ import { safeInline, truncate } from './render-safety.js';
51
+ const CREDITS_FETCH_TIMEOUT_MS = 30_000;
52
+ /**
53
+ * No parameters. The balance belongs to the authenticated account and nothing else,
54
+ * so there is no id to pass — and deliberately no id to SUBSTITUTE: the endpoint reads
55
+ * whoever the bearer token says you are and accepts no user identifier from the caller.
56
+ */
57
+ export const GetCreditBalanceInputSchema = z.object({});
58
+ /** A finite number, or null. Non-finite and non-numeric degrade rather than print. */
59
+ function asCount(value) {
60
+ return typeof value === 'number' && Number.isFinite(value) ? value : null;
61
+ }
62
+ function asText(value) {
63
+ return typeof value === 'string' && value.trim().length > 0 ? value : null;
64
+ }
65
+ export function toCreditActionCost(row) {
66
+ return { action: asText(row.action), credits: asCount(row.credits) };
67
+ }
68
+ // ---------------------------------------------------------------------------
69
+ // Render caps
70
+ // ---------------------------------------------------------------------------
71
+ /**
72
+ * Upper bound on priced actions RENDERED. The server's cost table is far shorter, so
73
+ * this should never fire — but an unfired cap that would truncate silently is the thing
74
+ * this package refuses. When it fires it says so, and says where the rest are.
75
+ */
76
+ const COST_RENDER_CAP = 25;
77
+ /** An action key is a short identifier; anything longer is drift, not a name. */
78
+ const ACTION_MAX = 60;
79
+ // ---------------------------------------------------------------------------
80
+ // Transport
81
+ // ---------------------------------------------------------------------------
82
+ /**
83
+ * Non-ok handling for this read.
84
+ *
85
+ * Deliberately NOT `collections.ts`'s `throwForResponse`: that helper's 404 branch names
86
+ * a project id, and this endpoint has no project. A 404 here means the app deploy on the
87
+ * other end predates this route, which is a version-skew fact an agent can act on (stop
88
+ * asking) rather than an ownership one.
89
+ */
90
+ async function throwForCreditsResponse(response, deps, action) {
91
+ if (categorizeFetchError(response.status) === 'auth') {
92
+ if (response.refreshError?.kind !== 'transient')
93
+ deps.invalidateSession?.();
94
+ throw new CollectionToolError('Session expired. Re-run any Clien.ai tool to re-authenticate, then try again.');
95
+ }
96
+ if (response.status === 404) {
97
+ throw new CollectionToolError(`Could not ${action} — this Clien.ai deployment does not serve a credit-balance read. ` +
98
+ 'Do not infer a balance from that, and do not treat it as zero: the account may be ' +
99
+ 'fully funded. Ask the user what their balance is, or have them check the Billing ' +
100
+ 'page in the Clien.ai web app.');
101
+ }
102
+ const text = await response.text().catch(() => '');
103
+ let detail = truncate(text, 200);
104
+ try {
105
+ const parsed = JSON.parse(text);
106
+ if (parsed?.error)
107
+ detail = `${parsed.error}${parsed.code ? ` (${parsed.code})` : ''}`;
108
+ }
109
+ catch {
110
+ // non-JSON body — fall back to the truncated raw text
111
+ }
112
+ throw new CollectionToolError(`Failed to ${action} (HTTP ${response.status}): ${detail}. This is a failed READ, not a ` +
113
+ 'finding about the account — nothing was spent, and the balance is unknown rather than ' +
114
+ 'empty.');
115
+ }
116
+ /**
117
+ * GET /api/billing/credits.
118
+ *
119
+ * ⚠️ AN UNREADABLE BODY IS NOT A ZERO BALANCE, and the difference is decided by KEY
120
+ * PRESENCE rather than truthiness. A 200 with no `balance` key at all (an HTML error page
121
+ * from a proxy, a truncated response, a reshaped envelope) is the endpoint saying nothing.
122
+ * Rendered as "0 credits" it would stop an agent from doing work the user has already paid
123
+ * for, and would have it report to that user that they are out of money. So this throws,
124
+ * and says the balance is unknown.
125
+ */
126
+ async function fetchCreditBalance(deps) {
127
+ const action = 'read the credit balance';
128
+ const ctx = makeCtx(deps);
129
+ let response;
130
+ try {
131
+ response = await apiCall(ctx, 'GET', '/api/billing/credits', {
132
+ timeoutMs: CREDITS_FETCH_TIMEOUT_MS,
133
+ });
134
+ }
135
+ catch (err) {
136
+ const e = err;
137
+ if (e.name === 'AbortError' || e.name === 'TimeoutError') {
138
+ throw new CollectionToolError(`Timed out after ${CREDITS_FETCH_TIMEOUT_MS / 1000}s trying to ${action}. ` +
139
+ 'Try again in a moment — this is a read, so nothing was spent and nothing was lost.');
140
+ }
141
+ throw err;
142
+ }
143
+ if (!response.ok)
144
+ await throwForCreditsResponse(response, deps, action);
145
+ const json = (await response.json().catch(() => null));
146
+ if (json === null || typeof json !== 'object' || Array.isArray(json) || !('balance' in json)) {
147
+ throw new CollectionToolError(`Could not ${action} — the server returned a 200 with an unreadable body (no \`balance\` ` +
148
+ 'key). This is NOT "the account has no credits": the request failed and the balance is ' +
149
+ 'unknown. Retry — this is a read, so nothing was spent and nothing was lost. Do not ' +
150
+ 'tell anyone they are out of credits on the strength of this, and do not abandon paid ' +
151
+ 'work you were asked to do because of it.');
152
+ }
153
+ // Cast only AFTER the presence check above: the declared shape says what this client
154
+ // reads, it does not promise the server sent it.
155
+ const body = json;
156
+ const rawCosts = body.costs;
157
+ const costs = Array.isArray(rawCosts)
158
+ ? rawCosts
159
+ .filter((row) => row !== null && typeof row === 'object' && !Array.isArray(row))
160
+ .map(toCreditActionCost)
161
+ : [];
162
+ return {
163
+ balance: asCount(body.balance),
164
+ spendable: asCount(body.spendable),
165
+ costs,
166
+ };
167
+ }
168
+ // ---------------------------------------------------------------------------
169
+ // Render
170
+ // ---------------------------------------------------------------------------
171
+ /**
172
+ * The caveat this tool cannot ship without (constraint 2).
173
+ *
174
+ * In the TEXT channel because that is the one an agent always receives (FUL-243: `_meta`
175
+ * is a mirror, and Claude Code drops it). Without it a reader treats a number as a
176
+ * promise: the realistic harm is an agent that reads 100 credits, plans two runs, has the
177
+ * second refused, and reports both as done.
178
+ */
179
+ const ADVISORY_LINE = 'ADVISORY, NOT A RESERVATION: this is a reading taken just now and it holds nothing back. ' +
180
+ 'The balance can change between this call and any spend — a concurrent run, a monthly ' +
181
+ 'grant, a refund, or another client on the same account. Only the spend itself decides ' +
182
+ 'whether it happens; a tool that returns an insufficient-credit error was NOT overridden by ' +
183
+ 'this number. Never report an action as done because the balance said you could afford it.';
184
+ /**
185
+ * The read-only statement (constraint 1).
186
+ *
187
+ * Says what the agent should do INSTEAD when the balance is short, because "you cannot buy
188
+ * credits" without a next step is the kind of dead end an agent works around by retrying
189
+ * the failing call.
190
+ */
191
+ const READ_ONLY_LINE = 'READ-ONLY: this tool spends nothing, buys nothing and changes no plan. No MCP tool can add ' +
192
+ 'credits — topping up is something the account owner does themselves on the Billing page of ' +
193
+ 'the Clien.ai web app. If the balance is short, say so and stop; do not retry a refused ' +
194
+ 'action hoping for a different answer.';
195
+ /**
196
+ * Where the prices come from, and why they may differ from anything remembered.
197
+ *
198
+ * An agent that has seen a price before will otherwise trust its memory over this list —
199
+ * and a stale price is exactly what makes an affordability answer wrong.
200
+ */
201
+ const PRICING_LINE = 'PRICES ARE THE SERVER\'S, read live from the same table the charge itself uses. Use these ' +
202
+ 'figures and not any price you remember from an earlier session or from documentation — they ' +
203
+ 'change, and a stale one makes every number you derive from it wrong.';
204
+ const CHANNEL_NOTE = 'The full record is in `structuredContent.credits` (also mirrored in `_meta`).';
205
+ /**
206
+ * `9007 credits` / `1 credit` — or the honest absence.
207
+ *
208
+ * The singular is not cosmetic. "1 credits each" reads as a template that did not
209
+ * finish, and a reader who distrusts the sentence distrusts the number in it.
210
+ */
211
+ function creditsClause(value) {
212
+ return value === null ? 'not recorded' : `${value} credit${value === 1 ? '' : 's'}`;
213
+ }
214
+ /**
215
+ * The balance sentence.
216
+ *
217
+ * Both numbers, always, and never one standing in for the other: `spendable` is what a
218
+ * spend is checked against, so quoting `balance` alone would overstate the account
219
+ * whenever the FUL-73 rollover cap is biting.
220
+ */
221
+ function balanceLine(credits) {
222
+ if (credits.balance === null && credits.spendable === null) {
223
+ return ('Credit balance: NOT RECORDED. The server answered without a usable balance, so this is ' +
224
+ '"unknown", not "empty" — do not treat the account as out of credits.');
225
+ }
226
+ return (`Credit balance: ${creditsClause(credits.balance)} on the ledger, ` +
227
+ `${creditsClause(credits.spendable)} spendable right now.`);
228
+ }
229
+ /**
230
+ * Which number governs, spelled out.
231
+ *
232
+ * `spendable` applies the rollover cap at read time and can sit BELOW `balance`. Two
233
+ * numbers printed side by side with no ruling on which one counts is an invitation to
234
+ * quote the flattering one.
235
+ */
236
+ const SPENDABLE_RULE_LINE = 'SPENDABLE IS THE NUMBER THAT GOVERNS. It is what every priced action is checked against, ' +
237
+ 'and it can be LOWER than the ledger balance (an anti-hoarding cap is applied when the ' +
238
+ 'balance is read). Budget with `spendable`; quoting the ledger balance overstates what this ' +
239
+ 'account can actually do.';
240
+ /** `clien_research — 50 credits each, 2 affordable now` and its honest partial forms. */
241
+ function renderCost(cost, spendable) {
242
+ const action = safeInline(cost.action, ACTION_MAX) ?? '(action name not recorded)';
243
+ if (cost.credits === null) {
244
+ return ` ${action} — cost not recorded; treat it as unknown, not as free.`;
245
+ }
246
+ const price = creditsClause(cost.credits);
247
+ if (cost.credits <= 0) {
248
+ return ` ${action} — ${price} each, so this one is not metered.`;
249
+ }
250
+ if (spendable === null) {
251
+ return (` ${action} — ${price} each; affordability unknown ` +
252
+ '(no spendable balance was recorded).');
253
+ }
254
+ const affordable = Math.floor(spendable / cost.credits);
255
+ return ` ${action} — ${price} each, ${affordable} affordable now`;
256
+ }
257
+ /** The whole price list, capped and — when capped — saying so. */
258
+ function costBlock(costs, spendable) {
259
+ if (costs.length === 0) {
260
+ return ('The server sent NO price list with this balance. That is a failed read of the prices, ' +
261
+ 'not a statement that anything is free — do not guess a cost, and do not assume an action ' +
262
+ 'is affordable.');
263
+ }
264
+ const shown = costs.slice(0, COST_RENDER_CAP);
265
+ const dropped = costs.length - shown.length;
266
+ const more = dropped > 0
267
+ ? `\n (${dropped} more in \`structuredContent.credits.costs\`)`
268
+ : '';
269
+ const heading = spendable === null
270
+ ? 'What each metered action costs (the spendable balance was not recorded, so no ' +
271
+ 'affordability count is derivable):'
272
+ : `What each metered action costs, and how many you could afford at ${spendable} ` +
273
+ 'spendable credits:';
274
+ return `${heading}\n${shown.map((cost) => renderCost(cost, spendable)).join('\n')}${more}`;
275
+ }
276
+ export async function getCreditBalance(input, deps) {
277
+ // `input ?? {}`: a no-argument tool is routinely called with no `arguments` member at
278
+ // all, and `z.object({}).safeParse(undefined)` fails. Rejecting that would make the
279
+ // tool unusable from a spec-compliant client.
280
+ const parsed = GetCreditBalanceInputSchema.safeParse(input ?? {});
281
+ if (!parsed.success) {
282
+ throw new CollectionToolError(`Invalid input — ${formatZodError(parsed.error)}`);
283
+ }
284
+ const credits = await fetchCreditBalance(deps);
285
+ const text = [
286
+ balanceLine(credits),
287
+ SPENDABLE_RULE_LINE,
288
+ costBlock(credits.costs, credits.spendable),
289
+ PRICING_LINE,
290
+ ADVISORY_LINE,
291
+ READ_ONLY_LINE,
292
+ CHANNEL_NOTE,
293
+ ].join('\n\n');
294
+ return {
295
+ content: [{ type: 'text', text }],
296
+ _meta: { credits },
297
+ };
298
+ }
299
+ //# sourceMappingURL=credits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credits.js","sourceRoot":"","sources":["../../src/tools/credits.ts"],"names":[],"mappings":"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"}
@@ -203,15 +203,25 @@ function provenanceLine(runId, createdAt) {
203
203
  /**
204
204
  * The linkage instruction.
205
205
  *
206
- * ⚠️ Stated because nothing downstream enforces it: `interview_persona` takes no
207
- * hypothesis id, so the tie between an answer and the hypothesis it tests exists
208
- * only for as long as the CALLER carries `hypothesisId` forward. An agent that
209
- * runs these questions and reports the answers without it has produced exactly the
210
- * unanchored interview this tool was built to prevent.
206
+ * ⚠️ It names PARAMETERS now, not a thing to remember (FUL-577). This line used to
207
+ * ask the agent to carry `hypothesisId` forward by hand, because `interview_persona`
208
+ * took no hypothesis id and `interviews` had no column for one — the strongest thing
209
+ * a read-only tool could do, and still a written instruction rather than a stored
210
+ * relation. `interview_persona action:start` now accepts the pair and the row keeps
211
+ * it, so telling an agent to remember something it can instead write down would be
212
+ * the worst of both.
213
+ *
214
+ * BOTH halves, because an id alone is ambiguous: hypotheses live inside a run's
215
+ * `report_data`, so the same `H3` recurs across runs of one project meaning
216
+ * different things. That is why `sourceRun.id` is named here and not merely
217
+ * available in the provenance line.
211
218
  */
212
- const LINKAGE_LINE = 'LINKAGE: each script names the `hypothesisId` it was written to test. Carry that id alongside ' +
213
- 'whatever the interview returns — `interview_persona` does not record it for you — or the ' +
214
- 'answers cannot be tied back to the hypothesis, which is the whole point of asking them.';
219
+ const LINKAGE_LINE = 'LINKAGE: each script names the `hypothesisId` it was written to test. Pass it to ' +
220
+ '`interview_persona action:start` as `hypothesis_id`, together with this call\'s ' +
221
+ '`sourceRun.id` as `hypothesis_run_id`, and the interview RECORDS which hypothesis it tested — ' +
222
+ 'you no longer have to carry the id through the conversation, and `get_interview` / ' +
223
+ '`list_interviews` hand it back. Both parameters or neither: an id is only meaningful against ' +
224
+ 'the run that defined it.';
215
225
  /**
216
226
  * The trust caveat.
217
227
  *
@@ -1 +1 @@
1
- {"version":3,"file":"interview-scripts.js","sourceRoot":"","sources":["../../src/tools/interview-scripts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interview-scripts.js","sourceRoot":"","sources":["../../src/tools/interview-scripts.ts"],"names":[],"mappings":"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"}