@withpica/mcp-server 2.35.0 → 2.40.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 (215) hide show
  1. package/CHANGELOG.md +289 -1
  2. package/dist/apps/release.d.ts +2 -0
  3. package/dist/apps/release.d.ts.map +1 -0
  4. package/dist/apps/release.js +69 -0
  5. package/dist/apps/release.js.map +1 -0
  6. package/dist/resources/agent-guide.d.ts +15 -0
  7. package/dist/resources/agent-guide.d.ts.map +1 -0
  8. package/dist/resources/agent-guide.js +120 -0
  9. package/dist/resources/agent-guide.js.map +1 -0
  10. package/dist/resources/index.d.ts.map +1 -1
  11. package/dist/resources/index.js +80 -0
  12. package/dist/resources/index.js.map +1 -1
  13. package/dist/resources/required-schemas.generated.d.ts +128 -0
  14. package/dist/resources/required-schemas.generated.d.ts.map +1 -0
  15. package/dist/resources/required-schemas.generated.js +344 -0
  16. package/dist/resources/required-schemas.generated.js.map +1 -0
  17. package/dist/resources/required-schemas.source.d.ts +53 -0
  18. package/dist/resources/required-schemas.source.d.ts.map +1 -0
  19. package/dist/resources/required-schemas.source.js +127 -0
  20. package/dist/resources/required-schemas.source.js.map +1 -0
  21. package/dist/server-instructions.d.ts +28 -0
  22. package/dist/server-instructions.d.ts.map +1 -1
  23. package/dist/server-instructions.js +34 -0
  24. package/dist/server-instructions.js.map +1 -1
  25. package/dist/server.d.ts.map +1 -1
  26. package/dist/server.js +11 -2
  27. package/dist/server.js.map +1 -1
  28. package/dist/tools/agent-identity.d.ts.map +1 -1
  29. package/dist/tools/agent-identity.js +5 -0
  30. package/dist/tools/agent-identity.js.map +1 -1
  31. package/dist/tools/agreement-types.d.ts.map +1 -1
  32. package/dist/tools/agreement-types.js +8 -0
  33. package/dist/tools/agreement-types.js.map +1 -1
  34. package/dist/tools/agreements.d.ts.map +1 -1
  35. package/dist/tools/agreements.js +6 -0
  36. package/dist/tools/agreements.js.map +1 -1
  37. package/dist/tools/analytics.d.ts.map +1 -1
  38. package/dist/tools/analytics.js +6 -0
  39. package/dist/tools/analytics.js.map +1 -1
  40. package/dist/tools/app-tools.d.ts.map +1 -1
  41. package/dist/tools/app-tools.js +3 -0
  42. package/dist/tools/app-tools.js.map +1 -1
  43. package/dist/tools/assets.d.ts.map +1 -1
  44. package/dist/tools/assets.js +11 -0
  45. package/dist/tools/assets.js.map +1 -1
  46. package/dist/tools/audio-files.d.ts.map +1 -1
  47. package/dist/tools/audio-files.js +6 -0
  48. package/dist/tools/audio-files.js.map +1 -1
  49. package/dist/tools/audit.d.ts +1 -1
  50. package/dist/tools/audit.d.ts.map +1 -1
  51. package/dist/tools/audit.js +2 -1
  52. package/dist/tools/audit.js.map +1 -1
  53. package/dist/tools/auth.d.ts.map +1 -1
  54. package/dist/tools/auth.js +2 -0
  55. package/dist/tools/auth.js.map +1 -1
  56. package/dist/tools/bulk.d.ts.map +1 -1
  57. package/dist/tools/bulk.js +2 -0
  58. package/dist/tools/bulk.js.map +1 -1
  59. package/dist/tools/calendar.d.ts.map +1 -1
  60. package/dist/tools/calendar.js +1 -0
  61. package/dist/tools/calendar.js.map +1 -1
  62. package/dist/tools/collaborators.d.ts.map +1 -1
  63. package/dist/tools/collaborators.js +7 -0
  64. package/dist/tools/collaborators.js.map +1 -1
  65. package/dist/tools/comparisons.d.ts.map +1 -1
  66. package/dist/tools/comparisons.js +2 -0
  67. package/dist/tools/comparisons.js.map +1 -1
  68. package/dist/tools/credits.d.ts +23 -0
  69. package/dist/tools/credits.d.ts.map +1 -1
  70. package/dist/tools/credits.js +202 -0
  71. package/dist/tools/credits.js.map +1 -1
  72. package/dist/tools/custody.d.ts.map +1 -1
  73. package/dist/tools/custody.js +6 -0
  74. package/dist/tools/custody.js.map +1 -1
  75. package/dist/tools/dashboard.d.ts.map +1 -1
  76. package/dist/tools/dashboard.js +8 -0
  77. package/dist/tools/dashboard.js.map +1 -1
  78. package/dist/tools/directory.d.ts.map +1 -1
  79. package/dist/tools/directory.js +1 -0
  80. package/dist/tools/directory.js.map +1 -1
  81. package/dist/tools/discovery.d.ts.map +1 -1
  82. package/dist/tools/discovery.js +27 -2
  83. package/dist/tools/discovery.js.map +1 -1
  84. package/dist/tools/disputes.d.ts.map +1 -1
  85. package/dist/tools/disputes.js +1 -0
  86. package/dist/tools/disputes.js.map +1 -1
  87. package/dist/tools/documents.d.ts.map +1 -1
  88. package/dist/tools/documents.js +1 -0
  89. package/dist/tools/documents.js.map +1 -1
  90. package/dist/tools/duplicates.d.ts.map +1 -1
  91. package/dist/tools/duplicates.js +2 -0
  92. package/dist/tools/duplicates.js.map +1 -1
  93. package/dist/tools/enrichment.d.ts.map +1 -1
  94. package/dist/tools/enrichment.js +11 -0
  95. package/dist/tools/enrichment.js.map +1 -1
  96. package/dist/tools/exports.d.ts.map +1 -1
  97. package/dist/tools/exports.js +5 -0
  98. package/dist/tools/exports.js.map +1 -1
  99. package/dist/tools/feedback.d.ts.map +1 -1
  100. package/dist/tools/feedback.js +1 -0
  101. package/dist/tools/feedback.js.map +1 -1
  102. package/dist/tools/import-documents.d.ts.map +1 -1
  103. package/dist/tools/import-documents.js +3 -0
  104. package/dist/tools/import-documents.js.map +1 -1
  105. package/dist/tools/import.d.ts.map +1 -1
  106. package/dist/tools/import.js +8 -0
  107. package/dist/tools/import.js.map +1 -1
  108. package/dist/tools/index.d.ts +21 -0
  109. package/dist/tools/index.d.ts.map +1 -1
  110. package/dist/tools/index.js +34 -1
  111. package/dist/tools/index.js.map +1 -1
  112. package/dist/tools/integrations.d.ts.map +1 -1
  113. package/dist/tools/integrations.js +1 -0
  114. package/dist/tools/integrations.js.map +1 -1
  115. package/dist/tools/labels.d.ts.map +1 -1
  116. package/dist/tools/labels.js +1 -0
  117. package/dist/tools/labels.js.map +1 -1
  118. package/dist/tools/licensing.d.ts.map +1 -1
  119. package/dist/tools/licensing.js +5 -0
  120. package/dist/tools/licensing.js.map +1 -1
  121. package/dist/tools/memory.d.ts.map +1 -1
  122. package/dist/tools/memory.js +4 -0
  123. package/dist/tools/memory.js.map +1 -1
  124. package/dist/tools/metadata.d.ts.map +1 -1
  125. package/dist/tools/metadata.js +39 -0
  126. package/dist/tools/metadata.js.map +1 -1
  127. package/dist/tools/multimedia.d.ts.map +1 -1
  128. package/dist/tools/multimedia.js +5 -0
  129. package/dist/tools/multimedia.js.map +1 -1
  130. package/dist/tools/my-reported-issues.d.ts.map +1 -1
  131. package/dist/tools/my-reported-issues.js +1 -0
  132. package/dist/tools/my-reported-issues.js.map +1 -1
  133. package/dist/tools/notes.d.ts.map +1 -1
  134. package/dist/tools/notes.js +4 -0
  135. package/dist/tools/notes.js.map +1 -1
  136. package/dist/tools/notifications.d.ts.map +1 -1
  137. package/dist/tools/notifications.js +6 -0
  138. package/dist/tools/notifications.js.map +1 -1
  139. package/dist/tools/onboarding.d.ts.map +1 -1
  140. package/dist/tools/onboarding.js +1 -0
  141. package/dist/tools/onboarding.js.map +1 -1
  142. package/dist/tools/people.d.ts.map +1 -1
  143. package/dist/tools/people.js +5 -0
  144. package/dist/tools/people.js.map +1 -1
  145. package/dist/tools/projects.d.ts.map +1 -1
  146. package/dist/tools/projects.js +6 -0
  147. package/dist/tools/projects.js.map +1 -1
  148. package/dist/tools/public-filter.d.ts.map +1 -1
  149. package/dist/tools/public-filter.js +2 -0
  150. package/dist/tools/public-filter.js.map +1 -1
  151. package/dist/tools/publishers.d.ts.map +1 -1
  152. package/dist/tools/publishers.js +2 -0
  153. package/dist/tools/publishers.js.map +1 -1
  154. package/dist/tools/recording-attribution-hints.d.ts +24 -0
  155. package/dist/tools/recording-attribution-hints.d.ts.map +1 -0
  156. package/dist/tools/recording-attribution-hints.js +27 -0
  157. package/dist/tools/recording-attribution-hints.js.map +1 -0
  158. package/dist/tools/recordings.d.ts.map +1 -1
  159. package/dist/tools/recordings.js +35 -3
  160. package/dist/tools/recordings.js.map +1 -1
  161. package/dist/tools/release-rich.d.ts +31 -0
  162. package/dist/tools/release-rich.d.ts.map +1 -0
  163. package/dist/tools/release-rich.js +241 -0
  164. package/dist/tools/release-rich.js.map +1 -0
  165. package/dist/tools/releases.d.ts.map +1 -1
  166. package/dist/tools/releases.js +14 -0
  167. package/dist/tools/releases.js.map +1 -1
  168. package/dist/tools/report-issue.d.ts.map +1 -1
  169. package/dist/tools/report-issue.js +1 -0
  170. package/dist/tools/report-issue.js.map +1 -1
  171. package/dist/tools/royalties.d.ts.map +1 -1
  172. package/dist/tools/royalties.js +5 -0
  173. package/dist/tools/royalties.js.map +1 -1
  174. package/dist/tools/search.d.ts.map +1 -1
  175. package/dist/tools/search.js +3 -0
  176. package/dist/tools/search.js.map +1 -1
  177. package/dist/tools/send.d.ts.map +1 -1
  178. package/dist/tools/send.js +3 -0
  179. package/dist/tools/send.js.map +1 -1
  180. package/dist/tools/sessions.d.ts.map +1 -1
  181. package/dist/tools/sessions.js +4 -0
  182. package/dist/tools/sessions.js.map +1 -1
  183. package/dist/tools/settings.d.ts.map +1 -1
  184. package/dist/tools/settings.js +9 -0
  185. package/dist/tools/settings.js.map +1 -1
  186. package/dist/tools/share-links.d.ts.map +1 -1
  187. package/dist/tools/share-links.js +5 -0
  188. package/dist/tools/share-links.js.map +1 -1
  189. package/dist/tools/signup.d.ts +26 -0
  190. package/dist/tools/signup.d.ts.map +1 -0
  191. package/dist/tools/signup.js +266 -0
  192. package/dist/tools/signup.js.map +1 -0
  193. package/dist/tools/split-sheets.d.ts.map +1 -1
  194. package/dist/tools/split-sheets.js +7 -0
  195. package/dist/tools/split-sheets.js.map +1 -1
  196. package/dist/tools/subscription.d.ts +60 -0
  197. package/dist/tools/subscription.d.ts.map +1 -0
  198. package/dist/tools/subscription.js +442 -0
  199. package/dist/tools/subscription.js.map +1 -0
  200. package/dist/tools/team.d.ts.map +1 -1
  201. package/dist/tools/team.js +5 -0
  202. package/dist/tools/team.js.map +1 -1
  203. package/dist/tools/telegram.d.ts.map +1 -1
  204. package/dist/tools/telegram.js +3 -0
  205. package/dist/tools/telegram.js.map +1 -1
  206. package/dist/tools/uploads.d.ts.map +1 -1
  207. package/dist/tools/uploads.js +2 -0
  208. package/dist/tools/uploads.js.map +1 -1
  209. package/dist/tools/works.d.ts.map +1 -1
  210. package/dist/tools/works.js +7 -0
  211. package/dist/tools/works.js.map +1 -1
  212. package/package.json +9 -5
  213. package/scripts/build-required-schemas.ts +233 -0
  214. package/scripts/refresh-schema-mirror.ts +182 -0
  215. package/server.json +2 -2
@@ -17,6 +17,7 @@ export class SplitSheetsTools {
17
17
  "Notifies each writer via in-app notification, Telegram (if connected), and email. " +
18
18
  "The split sheet must already be generated. Writers who are not PICA users get " +
19
19
  "a collaboration invite email instead.",
20
+ workflows: "infrastructure",
20
21
  inputSchema: {
21
22
  type: "object",
22
23
  properties: {
@@ -43,6 +44,7 @@ export class SplitSheetsTools {
43
44
  name: "pica_split_sheet_list",
44
45
  description: "List split sheets for a work. Split sheets document how publishing " +
45
46
  "royalties are divided among writers and publishers for a composition.",
47
+ workflows: "infrastructure",
46
48
  inputSchema: {
47
49
  type: "object",
48
50
  properties: {
@@ -62,6 +64,7 @@ export class SplitSheetsTools {
62
64
  description: "Generate a split sheet from a work's credits. This takes the existing " +
63
65
  "writer credits on a work and creates a formal split sheet document. " +
64
66
  "Credits must total 100% before generating.",
67
+ workflows: "infrastructure",
65
68
  inputSchema: {
66
69
  type: "object",
67
70
  properties: {
@@ -80,6 +83,7 @@ export class SplitSheetsTools {
80
83
  name: "pica_split_sheet_get",
81
84
  description: "Get a specific split sheet with its full details including " +
82
85
  "individual writer shares and signature status.",
86
+ workflows: "infrastructure",
83
87
  inputSchema: {
84
88
  type: "object",
85
89
  properties: {
@@ -103,6 +107,7 @@ export class SplitSheetsTools {
103
107
  description: "List ownership splits for a recording. These represent master rights " +
104
108
  "ownership — who owns what percentage of the recorded performance " +
105
109
  "(as opposed to the underlying composition).",
110
+ workflows: "infrastructure",
106
111
  inputSchema: {
107
112
  type: "object",
108
113
  properties: {
@@ -121,6 +126,7 @@ export class SplitSheetsTools {
121
126
  name: "pica_recording_splits_create",
122
127
  description: "Set an ownership split on a recording. Assigns a percentage of master " +
123
128
  "rights ownership to a person or entity for this recording.",
129
+ workflows: "infrastructure",
124
130
  inputSchema: {
125
131
  type: "object",
126
132
  properties: {
@@ -141,6 +147,7 @@ export class SplitSheetsTools {
141
147
  name: "pica_recording_splits_verify",
142
148
  description: "Verify a recording split. Marks a specific ownership split as " +
143
149
  "confirmed and agreed upon by the relevant parties.",
150
+ workflows: "infrastructure",
144
151
  inputSchema: {
145
152
  type: "object",
146
153
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"split-sheets.js","sourceRoot":"","sources":["../../src/tools/split-sheets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"split-sheets.js","sourceRoot":"","sources":["../../src/tools/split-sheets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { PicaClient, type BillingTier, type SubscriptionStatusResponse } from "@withpica/mcp-sdk";
2
+ import { ToolDefinition, ToolExecutor } from "./index.js";
3
+ interface SubscriptionStatusFlat {
4
+ billing_state: "trial" | "active" | "hibernated";
5
+ trial_days_remaining: number | null;
6
+ trial_ends_at: string | null;
7
+ current_tier: BillingTier | null;
8
+ capacity_used: number;
9
+ capacity_limit: number | null;
10
+ capacity_pct: number;
11
+ recommended_tier: BillingTier | null;
12
+ summary: string;
13
+ }
14
+ /**
15
+ * Compose the flat 9-field response from the existing GET admin route's
16
+ * shape. Mirrors `getOrgBillingSlice`'s "no meaningful cap" rule for
17
+ * `capacity_pct` (0 whenever current_tier is null OR enterprise) and
18
+ * carries through `overflow.recommendedTier` (already
19
+ * `inferTierFromCount`-derived) per Stage 1 Q2.
20
+ *
21
+ * Exported for unit tests.
22
+ */
23
+ export declare function flattenStatus(status: SubscriptionStatusResponse): SubscriptionStatusFlat;
24
+ /**
25
+ * Server-side template per Stage 1 Q1 option A. Predictable wording,
26
+ * less variance across connectors. Phase 2.5 may add agent
27
+ * paraphrasing if telemetry shows demand.
28
+ *
29
+ * Exported for unit tests.
30
+ */
31
+ export declare function composeSummary(fields: {
32
+ billing_state: "trial" | "active" | "hibernated";
33
+ trial_days_remaining: number | null;
34
+ current_tier: BillingTier | null;
35
+ capacity_used: number;
36
+ capacity_limit: number | null;
37
+ recommended_tier: BillingTier | null;
38
+ }): string;
39
+ export declare class SubscriptionTools {
40
+ private pica;
41
+ constructor(pica: PicaClient);
42
+ getTools(): Array<{
43
+ definition: ToolDefinition;
44
+ executor: ToolExecutor;
45
+ }>;
46
+ private status;
47
+ private manage;
48
+ /**
49
+ * Universal-floor return per ADR-200 Phase 1: every successful manage
50
+ * response carries a `resource_link` so any compliant MCP client can
51
+ * render or open the URL. Clients that advertise
52
+ * `capabilities.elicitation.url` additionally receive a server-issued
53
+ * elicitation/create request — the gate is mandatory because
54
+ * `elicitInput` with `mode: "url"` throws synchronously against
55
+ * non-supporters (`feedback_mcp_sdk_capability_gates_elicitation.md`).
56
+ */
57
+ private buildLinkResult;
58
+ }
59
+ export {};
60
+ //# sourceMappingURL=subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/tools/subscription.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAChC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,cAAc,EACd,YAAY,EAGb,MAAM,YAAY,CAAC;AAoBpB,UAAU,sBAAsB;IAC9B,aAAa,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IACjD,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,0BAA0B,GACjC,sBAAsB,CA+CxB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,aAAa,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY,CAAC;IACjD,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC,GAAG,MAAM,CA6CT;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAqF3D,MAAM;YAkCN,MAAM;IA4JpB;;;;;;;;OAQG;YACW,eAAe;CA2D9B"}
@@ -0,0 +1,442 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ /* eslint-disable @typescript-eslint/no-explicit-any -- ToolExecutor signature uses Record<string, any> */
3
+ /**
4
+ * Subscription Tools — ADR-210 Phase 2.
5
+ *
6
+ * Two MCP tools that surface the explicit billing read + action layer
7
+ * complementing the ambient `_meta.session_state.billing_slice` shipped
8
+ * in Phase 1:
9
+ *
10
+ * - pica_subscription_status (read; readOnlyHint=true)
11
+ * Wraps `GET /api/admin/subscription`, flattens the response into
12
+ * the 9-field shape ADR-210 § Phase 2 specifies, and composes a
13
+ * templated `summary` line the agent uses verbatim.
14
+ *
15
+ * - pica_subscription_manage (action; readOnlyHint=false)
16
+ * Single-verb dispatcher over the existing
17
+ * `POST /api/admin/subscription` (subscribe / upgrade) and
18
+ * `POST /api/admin/subscription/portal` (manage / cancel) routes.
19
+ * Returns a `resource_link` content block (universal MCP floor)
20
+ * and uses `elicitation/create url` only when the client
21
+ * advertises `capabilities.elicitation.url` per ADR-200 Phase 1
22
+ * (capability-gated; `feedback_mcp_sdk_capability_gates_elicitation.md`).
23
+ *
24
+ * No new Stripe SDK calls — both routes are reused as-is.
25
+ */
26
+ import { randomUUID } from "node:crypto";
27
+ import { clientSupportsUrlElicitation } from "@withpica/mcp-utils";
28
+ // ADR-205 D7: enterprise is sales-led, not bookable through Checkout.
29
+ // Mirror the route-layer allowlist here for a better tool-side error
30
+ // message before the request leaves the agent.
31
+ const VALID_PAID_TIERS = [
32
+ "solo",
33
+ "indie",
34
+ "pro",
35
+ "established",
36
+ ];
37
+ const VALID_ACTIONS = [
38
+ "subscribe",
39
+ "upgrade",
40
+ "manage",
41
+ "cancel",
42
+ ];
43
+ /**
44
+ * Compose the flat 9-field response from the existing GET admin route's
45
+ * shape. Mirrors `getOrgBillingSlice`'s "no meaningful cap" rule for
46
+ * `capacity_pct` (0 whenever current_tier is null OR enterprise) and
47
+ * carries through `overflow.recommendedTier` (already
48
+ * `inferTierFromCount`-derived) per Stage 1 Q2.
49
+ *
50
+ * Exported for unit tests.
51
+ */
52
+ export function flattenStatus(status) {
53
+ const trialEndsAt = status.trialEndsAt;
54
+ const trialDaysRemaining = status.billingState === "trial" && trialEndsAt
55
+ ? Math.max(0, Math.ceil((new Date(trialEndsAt).getTime() - Date.now()) / 86_400_000))
56
+ : null;
57
+ const capacityUsed = status.overflow?.currentCount ?? 0;
58
+ const capacityLimit = status.overflow?.capacity ?? null;
59
+ const recommendedTier = status.overflow?.recommendedTier ?? null;
60
+ // Same rule `getOrgBillingSlice` uses — `capacity_pct` is 0 whenever
61
+ // there's no meaningful cap to compare against (trial / enterprise /
62
+ // no overflow row). Avoids fabricating a meaningful percentage from
63
+ // the trial-time inferred recommended tier.
64
+ const hasMeaningfulCap = status.tier !== null &&
65
+ status.tier !== "enterprise" &&
66
+ capacityLimit !== null &&
67
+ capacityLimit > 0;
68
+ const capacityPct = hasMeaningfulCap
69
+ ? Math.round((capacityUsed / capacityLimit) * 100)
70
+ : 0;
71
+ return {
72
+ billing_state: status.billingState,
73
+ trial_days_remaining: trialDaysRemaining,
74
+ trial_ends_at: trialEndsAt,
75
+ current_tier: status.tier,
76
+ capacity_used: capacityUsed,
77
+ capacity_limit: capacityLimit,
78
+ capacity_pct: capacityPct,
79
+ recommended_tier: recommendedTier,
80
+ summary: composeSummary({
81
+ billing_state: status.billingState,
82
+ trial_days_remaining: trialDaysRemaining,
83
+ current_tier: status.tier,
84
+ capacity_used: capacityUsed,
85
+ capacity_limit: capacityLimit,
86
+ recommended_tier: recommendedTier,
87
+ }),
88
+ };
89
+ }
90
+ /**
91
+ * Server-side template per Stage 1 Q1 option A. Predictable wording,
92
+ * less variance across connectors. Phase 2.5 may add agent
93
+ * paraphrasing if telemetry shows demand.
94
+ *
95
+ * Exported for unit tests.
96
+ */
97
+ export function composeSummary(fields) {
98
+ const { billing_state, trial_days_remaining, current_tier, capacity_used, capacity_limit, recommended_tier, } = fields;
99
+ const slotsClause = `${capacity_used} active work${capacity_used === 1 ? "" : "s"}`;
100
+ if (billing_state === "trial") {
101
+ let daysClause;
102
+ if (trial_days_remaining === null) {
103
+ daysClause = "your trial";
104
+ }
105
+ else if (trial_days_remaining === 0) {
106
+ daysClause = "the final day of your trial";
107
+ }
108
+ else if (trial_days_remaining === 1) {
109
+ daysClause = "1 day left of your trial";
110
+ }
111
+ else {
112
+ daysClause = `a ${trial_days_remaining}-day window of your trial`;
113
+ }
114
+ const tierHint = recommended_tier
115
+ ? ` Today's catalogue fits the ${recommended_tier} tier.`
116
+ : "";
117
+ return `You're on ${daysClause}. ${slotsClause} so far.${tierHint}`;
118
+ }
119
+ if (billing_state === "hibernated") {
120
+ return `Your trial has ended and the catalogue is read-only. Subscribe to restore writes (${slotsClause} currently held).`;
121
+ }
122
+ // active
123
+ if (current_tier === "enterprise") {
124
+ return `On the enterprise plan (unbounded). ${slotsClause}.`;
125
+ }
126
+ const limitClause = capacity_limit === null
127
+ ? slotsClause
128
+ : `${capacity_used} of ${capacity_limit} slots used`;
129
+ const tierClause = current_tier
130
+ ? `Currently on ${current_tier}.`
131
+ : "Tier unclassified.";
132
+ return `${tierClause} ${limitClause}.`;
133
+ }
134
+ export class SubscriptionTools {
135
+ pica;
136
+ constructor(pica) {
137
+ this.pica = pica;
138
+ }
139
+ getTools() {
140
+ return [
141
+ {
142
+ definition: {
143
+ name: "pica_subscription_status",
144
+ description: "Read the org's current billing posture. Use when the user asks " +
145
+ "'what's my plan?', 'how many days left on the trial?', 'any " +
146
+ "room left in my tier?', or before nudging them to upgrade. " +
147
+ "Returns billing_state (trial / active / hibernated), trial " +
148
+ "days remaining, current tier, capacity (used / limit / %), " +
149
+ "the smallest tier the catalogue fits today, and a one-line " +
150
+ "summary the agent can use verbatim. ADR-210 Phase 2 — " +
151
+ "complement to the ambient _meta.session_state.billing_slice; " +
152
+ "use this tool when an explicit answer is needed.",
153
+ workflows: "infrastructure",
154
+ inputSchema: {
155
+ type: "object",
156
+ properties: {},
157
+ additionalProperties: false,
158
+ },
159
+ annotations: {
160
+ readOnlyHint: true,
161
+ destructiveHint: false,
162
+ idempotentHint: true,
163
+ openWorldHint: false,
164
+ },
165
+ },
166
+ executor: this.status.bind(this),
167
+ },
168
+ {
169
+ definition: {
170
+ name: "pica_subscription_manage",
171
+ description: "Mint a Stripe-hosted URL for a billing action. " +
172
+ "action='subscribe' or 'upgrade' opens Stripe Checkout for the " +
173
+ "given tier (one of solo / indie / pro / established — " +
174
+ "enterprise is sales-led). action='manage' or 'cancel' opens " +
175
+ "the Stripe Billing Portal where the customer can update " +
176
+ "payment methods, change tier, or cancel. Returns the URL, " +
177
+ "an ISO expires_at, and `surface` ('checkout' or 'portal'). " +
178
+ "ADR-210 Phase 2 — wraps the existing /api/admin/subscription " +
179
+ "POST + /portal routes; no new Stripe SDK calls. Subscribe / " +
180
+ "upgrade without `tier` returns an error referencing " +
181
+ "pica_subscription_status so the agent can read recommended_tier first.",
182
+ workflows: "infrastructure",
183
+ inputSchema: {
184
+ type: "object",
185
+ properties: {
186
+ action: {
187
+ type: "string",
188
+ enum: [...VALID_ACTIONS],
189
+ description: "subscribe / upgrade open Stripe Checkout (require tier); " +
190
+ "manage / cancel open Stripe Billing Portal (no tier).",
191
+ },
192
+ tier: {
193
+ type: "string",
194
+ enum: [...VALID_PAID_TIERS],
195
+ description: "Required for subscribe / upgrade. Solo: 250 active works. " +
196
+ "Indie: 1,000. Pro: 4,000. Established: 15,000.",
197
+ },
198
+ currency: {
199
+ type: "string",
200
+ enum: ["gbp", "usd", "eur"],
201
+ description: "Optional. Defaults to gbp. Honoured only on subscribe / upgrade.",
202
+ },
203
+ },
204
+ required: ["action"],
205
+ additionalProperties: false,
206
+ },
207
+ annotations: {
208
+ readOnlyHint: false,
209
+ destructiveHint: false,
210
+ idempotentHint: false,
211
+ openWorldHint: true,
212
+ },
213
+ },
214
+ executor: this.manage.bind(this),
215
+ },
216
+ ];
217
+ }
218
+ async status(_args) {
219
+ const status = await this.pica.subscription.getStatus();
220
+ if (!status) {
221
+ // STRIPE_SECRET_KEY unset on this deployment — preview/dev path.
222
+ return {
223
+ content: [
224
+ {
225
+ type: "text",
226
+ text: "Billing is not configured on this deployment. " +
227
+ "Subscription status is unavailable.",
228
+ },
229
+ ],
230
+ structuredContent: {
231
+ kind: "pica.card.subscription_status",
232
+ version: 1,
233
+ data: { billing_unavailable: true },
234
+ },
235
+ };
236
+ }
237
+ const flat = flattenStatus(status);
238
+ return {
239
+ content: [{ type: "text", text: flat.summary }],
240
+ structuredContent: {
241
+ kind: "pica.card.subscription_status",
242
+ version: 1,
243
+ data: flat,
244
+ },
245
+ };
246
+ }
247
+ async manage(args, ctx) {
248
+ const action = args.action;
249
+ if (!action || !VALID_ACTIONS.includes(action)) {
250
+ return {
251
+ content: [
252
+ {
253
+ type: "text",
254
+ text: `Error: action must be one of ${VALID_ACTIONS.join(", ")}.`,
255
+ },
256
+ ],
257
+ structuredContent: {
258
+ kind: "pica.error.invalid_argument",
259
+ version: 1,
260
+ data: {
261
+ argument: "action",
262
+ valid: [...VALID_ACTIONS],
263
+ },
264
+ },
265
+ isError: true,
266
+ };
267
+ }
268
+ const isCheckoutAction = action === "subscribe" || action === "upgrade";
269
+ if (isCheckoutAction) {
270
+ const tier = args.tier;
271
+ if (!tier) {
272
+ // Stage 1 Q3 / coordinator-pinned: return a recoverable error
273
+ // with `next_tool` so the agent can chain to status first
274
+ // rather than auto-pick a tier.
275
+ return {
276
+ content: [
277
+ {
278
+ type: "text",
279
+ text: `subscribe and upgrade require a tier. Call ` +
280
+ `pica_subscription_status to see the recommended tier ` +
281
+ `for this org's current capacity, then retry with that tier.`,
282
+ },
283
+ ],
284
+ structuredContent: {
285
+ kind: "pica.error.missing_argument",
286
+ version: 1,
287
+ data: {
288
+ argument: "tier",
289
+ next_tool: "pica_subscription_status",
290
+ },
291
+ },
292
+ isError: true,
293
+ };
294
+ }
295
+ if (!VALID_PAID_TIERS.includes(tier)) {
296
+ return {
297
+ content: [
298
+ {
299
+ type: "text",
300
+ text: `Error: tier must be one of ${VALID_PAID_TIERS.join(", ")}. ` +
301
+ `Enterprise is sales-led — contact PICA directly.`,
302
+ },
303
+ ],
304
+ structuredContent: {
305
+ kind: "pica.error.invalid_argument",
306
+ version: 1,
307
+ data: {
308
+ argument: "tier",
309
+ valid: [...VALID_PAID_TIERS],
310
+ },
311
+ },
312
+ isError: true,
313
+ };
314
+ }
315
+ try {
316
+ const result = await this.pica.subscription.mintCheckout({
317
+ tier,
318
+ currency: typeof args.currency === "string" ? args.currency : "gbp",
319
+ });
320
+ return this.buildLinkResult({
321
+ url: result.checkoutUrl,
322
+ expiresAt: result.expiresAt,
323
+ surface: "checkout",
324
+ name: `Subscribe to PICA (${tier})`,
325
+ description: `Open Stripe Checkout to subscribe to the ${tier} tier.`,
326
+ ctx,
327
+ });
328
+ }
329
+ catch (err) {
330
+ const message = err instanceof Error ? err.message : "checkout mint failed";
331
+ return {
332
+ content: [
333
+ { type: "text", text: `Could not mint checkout: ${message}` },
334
+ ],
335
+ structuredContent: {
336
+ kind: "pica.error.checkout_mint_failed",
337
+ version: 1,
338
+ data: { error: message },
339
+ },
340
+ isError: true,
341
+ };
342
+ }
343
+ }
344
+ // manage / cancel → portal
345
+ try {
346
+ const result = await this.pica.subscription.mintPortal();
347
+ return this.buildLinkResult({
348
+ url: result.portalUrl,
349
+ expiresAt: result.expiresAt,
350
+ surface: "portal",
351
+ name: action === "cancel"
352
+ ? "Cancel subscription"
353
+ : "Manage subscription",
354
+ description: action === "cancel"
355
+ ? "Open the Stripe Billing Portal to cancel your subscription."
356
+ : "Open the Stripe Billing Portal to update payment, change tier, or cancel.",
357
+ ctx,
358
+ });
359
+ }
360
+ catch (err) {
361
+ const message = err instanceof Error ? err.message : "portal mint failed";
362
+ return {
363
+ content: [
364
+ {
365
+ type: "text",
366
+ text: `Could not open billing portal: ${message}`,
367
+ },
368
+ ],
369
+ structuredContent: {
370
+ kind: "pica.error.portal_mint_failed",
371
+ version: 1,
372
+ data: {
373
+ error: message,
374
+ // The route returns "No Stripe customer found — subscribe first"
375
+ // when the org has no stripeCustomerId; surface a recovery hint
376
+ // so the agent can chain.
377
+ next_tool: message.toLowerCase().includes("subscribe first") ||
378
+ message.toLowerCase().includes("no stripe customer")
379
+ ? "pica_subscription_manage"
380
+ : undefined,
381
+ },
382
+ },
383
+ isError: true,
384
+ };
385
+ }
386
+ }
387
+ /**
388
+ * Universal-floor return per ADR-200 Phase 1: every successful manage
389
+ * response carries a `resource_link` so any compliant MCP client can
390
+ * render or open the URL. Clients that advertise
391
+ * `capabilities.elicitation.url` additionally receive a server-issued
392
+ * elicitation/create request — the gate is mandatory because
393
+ * `elicitInput` with `mode: "url"` throws synchronously against
394
+ * non-supporters (`feedback_mcp_sdk_capability_gates_elicitation.md`).
395
+ */
396
+ async buildLinkResult(opts) {
397
+ const { url, expiresAt, surface, name, description, ctx } = opts;
398
+ const summary = surface === "checkout"
399
+ ? `${name} ready. Open ${url} to complete checkout. Link expires ${expiresAt}.`
400
+ : `${name} ready. Open ${url} to manage your subscription. Link expires ${expiresAt}.`;
401
+ const content = [
402
+ { type: "text", text: summary },
403
+ {
404
+ type: "resource_link",
405
+ uri: url,
406
+ name,
407
+ description,
408
+ mimeType: "text/html",
409
+ },
410
+ ];
411
+ // Capability-gated elicitation/create url — silently degrade on
412
+ // decline / cancel / timeout; the resource_link in the response
413
+ // remains usable.
414
+ if (clientSupportsUrlElicitation(ctx?.server)) {
415
+ try {
416
+ await ctx.server.elicitInput({
417
+ mode: "url",
418
+ url,
419
+ elicitationId: `pica-subscription-${surface}-${randomUUID()}`,
420
+ message: description,
421
+ }, { timeout: 60_000 });
422
+ }
423
+ catch {
424
+ // User declined / cancelled / elicitation timed out. Not an error
425
+ // — the resource_link below is the universal-floor fallback.
426
+ }
427
+ }
428
+ return {
429
+ content,
430
+ structuredContent: {
431
+ kind: "pica.card.subscription_link",
432
+ version: 1,
433
+ data: {
434
+ url,
435
+ expires_at: expiresAt,
436
+ surface,
437
+ },
438
+ },
439
+ };
440
+ }
441
+ }
442
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/tools/subscription.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/tools/team.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YA6G3D,WAAW;YAQX,SAAS;YAKT,YAAY;YAYZ,UAAU;YAUV,YAAY;CAI3B"}
1
+ {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/tools/team.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,SAAS;IACpB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAkH3D,WAAW;YAQX,SAAS;YAKT,YAAY;YAYZ,UAAU;YAUV,YAAY;CAI3B"}