@withpica/mcp-server 2.95.4 → 2.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +2 -2
  3. package/dist/lib/changelog.generated.d.ts +2 -2
  4. package/dist/lib/changelog.generated.d.ts.map +1 -1
  5. package/dist/lib/changelog.generated.js +2 -2
  6. package/dist/lib/changelog.generated.js.map +1 -1
  7. package/dist/prompts/creator-question-atlas.d.ts.map +1 -1
  8. package/dist/prompts/creator-question-atlas.js +11 -0
  9. package/dist/prompts/creator-question-atlas.js.map +1 -1
  10. package/dist/tools/credits.js +1 -1
  11. package/dist/tools/credits.js.map +1 -1
  12. package/dist/tools/dashboard.d.ts.map +1 -1
  13. package/dist/tools/dashboard.js +2 -1
  14. package/dist/tools/dashboard.js.map +1 -1
  15. package/dist/tools/deprecations.d.ts +14 -7
  16. package/dist/tools/deprecations.d.ts.map +1 -1
  17. package/dist/tools/deprecations.js +24 -17
  18. package/dist/tools/deprecations.js.map +1 -1
  19. package/dist/tools/discovery.d.ts +54 -1
  20. package/dist/tools/discovery.d.ts.map +1 -1
  21. package/dist/tools/discovery.js +203 -14
  22. package/dist/tools/discovery.js.map +1 -1
  23. package/dist/tools/enrichment.js +1 -1
  24. package/dist/tools/enrichment.js.map +1 -1
  25. package/dist/tools/index.d.ts +18 -0
  26. package/dist/tools/index.d.ts.map +1 -1
  27. package/dist/tools/index.js +36 -5
  28. package/dist/tools/index.js.map +1 -1
  29. package/dist/tools/metadata.d.ts.map +1 -1
  30. package/dist/tools/metadata.js +30 -10
  31. package/dist/tools/metadata.js.map +1 -1
  32. package/dist/tools/recovery-hints.d.ts.map +1 -1
  33. package/dist/tools/recovery-hints.js +23 -1
  34. package/dist/tools/recovery-hints.js.map +1 -1
  35. package/dist/tools/settings.d.ts.map +1 -1
  36. package/dist/tools/settings.js +3 -2
  37. package/dist/tools/settings.js.map +1 -1
  38. package/dist/tools/subscription.d.ts +99 -13
  39. package/dist/tools/subscription.d.ts.map +1 -1
  40. package/dist/tools/subscription.js +403 -8
  41. package/dist/tools/subscription.js.map +1 -1
  42. package/package.json +2 -2
  43. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [2.96.0] - 2026-08-26
15
+
16
+ The MPP pay rail (spec 2026-08-24 WS-B): a new tool that mints a pay link,
17
+ and `pica_subscription_status` learns to say what pica costs and what it is
18
+ holding. Depends on `@withpica/mcp-sdk` 3.13.0 (`BillingResource`) — publish
19
+ order matters, see `docs/releases/2026-08-26-mcp-release.md`.
20
+
21
+ ### Added
22
+
23
+ - **`pica_billing_pay`** — new tool, `scope: read:catalog`, `tier: read`
24
+ (minting a link mints a capability, not a charge — nothing is billed until
25
+ the link is paid). Wraps `POST /api/admin/billing/pay-link` via
26
+ `PicaClient.billing.mintPayLink()`. Takes `offer` (`resident_month` | `unlock`
27
+ | `settle`, required) and `entity_id` (required for `unlock`). Route
28
+ refusals — billing disabled, nothing held on that work, offer no longer
29
+ applies — come back as structured `isError` results with a `next_tool`
30
+ pointer, not thrown errors. Added to the `subscription` tool category
31
+ (renamed description: "what does pica cost, how do I pay, and what is pica
32
+ holding — read your billing state and get a pay link"), the atlas
33
+ (`"how do i pay pica?"` and its synonyms), and `RECOVERY_HINTS`.
34
+ - **`pica_subscription_status` carries `pricing` and `held` when the route
35
+ measured them.** `SubscriptionStatusFlat` gains optional `pricing` and
36
+ `held` fields (omitted, not `null`, when absent — a `null` price would read
37
+ as "free"). The composed `summary` sentence appends one further clause
38
+ naming the free-runway/resident-included song counts and, when
39
+ `held.count > 0`, how many findings across how many works are held pending
40
+ payment.
41
+ - **`pica_dashboard_briefing`'s `found` block description gains a `billing`
42
+ clause**: when `billing.tab` is a string, state the tab total once and say
43
+ that settling it clears what pica is holding; when `billing.pay` names a
44
+ tool, offer to call it — mint a pay link, never charge unprompted.
45
+
46
+ ### Changed
47
+
48
+ - **`pica_discover({ query })` no longer scores the asker's own words as the entity.** Determiners, pronouns, prepositions and light verbs (`my`, `the`, `get`, `list`, `find` …) are dropped before ranking. "start my music catalogue and import my songs" led with three `pica_my_*` tools because "my" matched their domain segment; it now leads with the import tools. A query made only of such words matches nothing.
49
+ - **Query mode carries the fresh-org import line.** The ADR-294 hint ("on a fresh or empty org, run `pica_dashboard_briefing` first … paste a spotify album or playlist link") was only on the no-args category map; it is now on every query response, hit or miss.
50
+ - **Tools the caller cannot run on this connection rank last and are flagged.** Shortlist rows and `pica_tool_details` gain `callable_on_this_surface: false` plus a `surface_note` when the tool is on another surface (stdio / lobby) or needs a scope the connection does not hold — the judgement the HTTP dispatcher enforces at `pica_execute` time (installed only while the inner gate is in enforce mode). An existing scope or destructive-tier `callable_note` is kept beside it, and the `invoke` line on a flagged detail says the call will be refused instead of "pica_execute executes every tool returned here". Rows for callable tools are unchanged (no new keys). A capped shortlist keeps at least five tail rows for flagged tools and lets them fill what visible rows leave, so a gated capability reads as gated, not missing, and a narrow scope never shrinks the list. Query-mode `cache_until` is now one hour (the rows are per-connection); the full map keeps its day.
51
+
14
52
  ## [2.95.4] - 2026-08-25
15
53
 
16
54
  An agent-readability release. Nothing about auth, tiers or tool behaviour changes; what changes is what a tool **tells** an agent about itself, and the shape of a refusal.
package/README.md CHANGED
@@ -191,9 +191,9 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
191
191
 
192
192
  `pica_storage_status`, `pica_storage_configure_start`, `pica_storage_disconnect`, `pica_delete_my_account`
193
193
 
194
- **subscription** — view your billing state, manage your subscription, and pick a tier
194
+ **subscription** — what does pica cost, how do I pay, and what is pica holding — read your billing state and get a pay link
195
195
 
196
- `pica_subscription_status`, `pica_subscription_manage`
196
+ `pica_subscription_status`, `pica_billing_pay`, `pica_subscription_manage`
197
197
 
198
198
  **profile** — manage your user, organisation, and directory profile
199
199