@withpica/mcp-server 2.6.1 → 2.7.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.
- package/dist/config.d.ts +25 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -30
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/pica-sdk.d.ts +1231 -0
- package/dist/pica-sdk.d.ts.map +1 -0
- package/dist/pica-sdk.js +1403 -0
- package/dist/pica-sdk.js.map +1 -0
- package/dist/prompts/index.d.ts +64 -64
- package/dist/prompts/index.js +24 -24
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/index.d.ts +53 -55
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +54 -133
- package/dist/resources/index.js.map +1 -1
- package/dist/server.d.ts +32 -49
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +14 -103
- package/dist/server.js.map +1 -1
- package/dist/tools/index.d.ts +37 -83
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +84 -442
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/people.d.ts +47 -39
- package/dist/tools/people.d.ts.map +1 -1
- package/dist/tools/people.js +109 -148
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/recordings.d.ts +9 -9
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js +48 -121
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/search.d.ts +21 -21
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +3 -3
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/works.d.ts +47 -39
- package/dist/tools/works.d.ts.map +1 -1
- package/dist/tools/works.js +116 -201
- package/dist/tools/works.js.map +1 -1
- package/dist/utils/errors.d.ts +29 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +115 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/formatting.d.ts +82 -0
- package/dist/utils/formatting.d.ts.map +1 -0
- package/dist/utils/formatting.js +125 -0
- package/dist/utils/formatting.js.map +1 -0
- package/package.json +1 -1
- package/server.json +3 -3
- package/dist/__mocks__/mppx-mcp-sdk-server.d.ts +0 -6
- package/dist/__mocks__/mppx-mcp-sdk-server.d.ts.map +0 -1
- package/dist/__mocks__/mppx-mcp-sdk-server.js +0 -6
- package/dist/__mocks__/mppx-mcp-sdk-server.js.map +0 -1
- package/dist/__mocks__/mppx-server.d.ts +0 -12
- package/dist/__mocks__/mppx-server.d.ts.map +0 -1
- package/dist/__mocks__/mppx-server.js +0 -12
- package/dist/__mocks__/mppx-server.js.map +0 -1
- package/dist/apps/download.d.ts +0 -2
- package/dist/apps/download.d.ts.map +0 -1
- package/dist/apps/download.js +0 -125
- package/dist/apps/download.js.map +0 -1
- package/dist/apps/generated/shared-bundle.d.ts +0 -5
- package/dist/apps/generated/shared-bundle.d.ts.map +0 -1
- package/dist/apps/generated/shared-bundle.js +0 -7
- package/dist/apps/generated/shared-bundle.js.map +0 -1
- package/dist/apps/shared.d.ts +0 -15
- package/dist/apps/shared.d.ts.map +0 -1
- package/dist/apps/shared.js +0 -480
- package/dist/apps/shared.js.map +0 -1
- package/dist/apps/upload.d.ts +0 -2
- package/dist/apps/upload.d.ts.map +0 -1
- package/dist/apps/upload.js +0 -280
- package/dist/apps/upload.js.map +0 -1
- package/dist/resources/llms-primer.d.ts +0 -2
- package/dist/resources/llms-primer.d.ts.map +0 -1
- package/dist/resources/llms-primer.js +0 -68
- package/dist/resources/llms-primer.js.map +0 -1
- package/dist/server-instructions.d.ts +0 -9
- package/dist/server-instructions.d.ts.map +0 -1
- package/dist/server-instructions.js +0 -34
- package/dist/server-instructions.js.map +0 -1
- package/dist/tools/agreement-types.d.ts +0 -27
- package/dist/tools/agreement-types.d.ts.map +0 -1
- package/dist/tools/agreement-types.js +0 -387
- package/dist/tools/agreement-types.js.map +0 -1
- package/dist/tools/agreements.d.ts +0 -20
- package/dist/tools/agreements.d.ts.map +0 -1
- package/dist/tools/agreements.js +0 -363
- package/dist/tools/agreements.js.map +0 -1
- package/dist/tools/analytics.d.ts +0 -20
- package/dist/tools/analytics.d.ts.map +0 -1
- package/dist/tools/analytics.js +0 -124
- package/dist/tools/analytics.js.map +0 -1
- package/dist/tools/app-tools.d.ts +0 -21
- package/dist/tools/app-tools.d.ts.map +0 -1
- package/dist/tools/app-tools.js +0 -248
- package/dist/tools/app-tools.js.map +0 -1
- package/dist/tools/assets.d.ts +0 -21
- package/dist/tools/assets.d.ts.map +0 -1
- package/dist/tools/assets.js +0 -441
- package/dist/tools/assets.js.map +0 -1
- package/dist/tools/audio-files.d.ts +0 -20
- package/dist/tools/audio-files.d.ts.map +0 -1
- package/dist/tools/audio-files.js +0 -384
- package/dist/tools/audio-files.js.map +0 -1
- package/dist/tools/auth.d.ts +0 -22
- package/dist/tools/auth.d.ts.map +0 -1
- package/dist/tools/auth.js +0 -210
- package/dist/tools/auth.js.map +0 -1
- package/dist/tools/bulk.d.ts +0 -16
- package/dist/tools/bulk.d.ts.map +0 -1
- package/dist/tools/bulk.js +0 -85
- package/dist/tools/bulk.js.map +0 -1
- package/dist/tools/calendar.d.ts +0 -15
- package/dist/tools/calendar.d.ts.map +0 -1
- package/dist/tools/calendar.js +0 -67
- package/dist/tools/calendar.js.map +0 -1
- package/dist/tools/collaborators.d.ts +0 -17
- package/dist/tools/collaborators.d.ts.map +0 -1
- package/dist/tools/collaborators.js +0 -131
- package/dist/tools/collaborators.js.map +0 -1
- package/dist/tools/comparisons.d.ts +0 -22
- package/dist/tools/comparisons.d.ts.map +0 -1
- package/dist/tools/comparisons.js +0 -78
- package/dist/tools/comparisons.js.map +0 -1
- package/dist/tools/credits.d.ts +0 -17
- package/dist/tools/credits.d.ts.map +0 -1
- package/dist/tools/credits.js +0 -312
- package/dist/tools/credits.js.map +0 -1
- package/dist/tools/dashboard.d.ts +0 -19
- package/dist/tools/dashboard.d.ts.map +0 -1
- package/dist/tools/dashboard.js +0 -146
- package/dist/tools/dashboard.js.map +0 -1
- package/dist/tools/directory.d.ts +0 -15
- package/dist/tools/directory.d.ts.map +0 -1
- package/dist/tools/directory.js +0 -106
- package/dist/tools/directory.js.map +0 -1
- package/dist/tools/discovery.d.ts +0 -28
- package/dist/tools/discovery.d.ts.map +0 -1
- package/dist/tools/discovery.js +0 -560
- package/dist/tools/discovery.js.map +0 -1
- package/dist/tools/disputes.d.ts +0 -18
- package/dist/tools/disputes.d.ts.map +0 -1
- package/dist/tools/disputes.js +0 -61
- package/dist/tools/disputes.js.map +0 -1
- package/dist/tools/documents.d.ts +0 -15
- package/dist/tools/documents.d.ts.map +0 -1
- package/dist/tools/documents.js +0 -36
- package/dist/tools/documents.js.map +0 -1
- package/dist/tools/duplicates.d.ts +0 -16
- package/dist/tools/duplicates.d.ts.map +0 -1
- package/dist/tools/duplicates.js +0 -87
- package/dist/tools/duplicates.js.map +0 -1
- package/dist/tools/enrichment.d.ts +0 -20
- package/dist/tools/enrichment.d.ts.map +0 -1
- package/dist/tools/enrichment.js +0 -154
- package/dist/tools/enrichment.js.map +0 -1
- package/dist/tools/exports.d.ts +0 -19
- package/dist/tools/exports.d.ts.map +0 -1
- package/dist/tools/exports.js +0 -175
- package/dist/tools/exports.js.map +0 -1
- package/dist/tools/import-documents.d.ts +0 -21
- package/dist/tools/import-documents.d.ts.map +0 -1
- package/dist/tools/import-documents.js +0 -203
- package/dist/tools/import-documents.js.map +0 -1
- package/dist/tools/import.d.ts +0 -30
- package/dist/tools/import.d.ts.map +0 -1
- package/dist/tools/import.js +0 -455
- package/dist/tools/import.js.map +0 -1
- package/dist/tools/integrations.d.ts +0 -15
- package/dist/tools/integrations.d.ts.map +0 -1
- package/dist/tools/integrations.js +0 -100
- package/dist/tools/integrations.js.map +0 -1
- package/dist/tools/licensing.d.ts +0 -40
- package/dist/tools/licensing.d.ts.map +0 -1
- package/dist/tools/licensing.js +0 -431
- package/dist/tools/licensing.js.map +0 -1
- package/dist/tools/memory.d.ts +0 -21
- package/dist/tools/memory.d.ts.map +0 -1
- package/dist/tools/memory.js +0 -116
- package/dist/tools/memory.js.map +0 -1
- package/dist/tools/metadata.d.ts +0 -15
- package/dist/tools/metadata.d.ts.map +0 -1
- package/dist/tools/metadata.js +0 -1069
- package/dist/tools/metadata.js.map +0 -1
- package/dist/tools/multimedia.d.ts +0 -19
- package/dist/tools/multimedia.d.ts.map +0 -1
- package/dist/tools/multimedia.js +0 -291
- package/dist/tools/multimedia.js.map +0 -1
- package/dist/tools/notes.d.ts +0 -21
- package/dist/tools/notes.d.ts.map +0 -1
- package/dist/tools/notes.js +0 -108
- package/dist/tools/notes.js.map +0 -1
- package/dist/tools/notifications.d.ts +0 -17
- package/dist/tools/notifications.d.ts.map +0 -1
- package/dist/tools/notifications.js +0 -117
- package/dist/tools/notifications.js.map +0 -1
- package/dist/tools/projects.d.ts +0 -19
- package/dist/tools/projects.d.ts.map +0 -1
- package/dist/tools/projects.js +0 -140
- package/dist/tools/projects.js.map +0 -1
- package/dist/tools/publishers.d.ts +0 -16
- package/dist/tools/publishers.d.ts.map +0 -1
- package/dist/tools/publishers.js +0 -69
- package/dist/tools/publishers.js.map +0 -1
- package/dist/tools/purchases.d.ts +0 -15
- package/dist/tools/purchases.d.ts.map +0 -1
- package/dist/tools/purchases.js +0 -63
- package/dist/tools/purchases.js.map +0 -1
- package/dist/tools/recovery-hints.d.ts +0 -14
- package/dist/tools/recovery-hints.d.ts.map +0 -1
- package/dist/tools/recovery-hints.js +0 -277
- package/dist/tools/recovery-hints.js.map +0 -1
- package/dist/tools/releases.d.ts +0 -18
- package/dist/tools/releases.d.ts.map +0 -1
- package/dist/tools/releases.js +0 -128
- package/dist/tools/releases.js.map +0 -1
- package/dist/tools/royalties.d.ts +0 -23
- package/dist/tools/royalties.d.ts.map +0 -1
- package/dist/tools/royalties.js +0 -257
- package/dist/tools/royalties.js.map +0 -1
- package/dist/tools/send.d.ts +0 -17
- package/dist/tools/send.d.ts.map +0 -1
- package/dist/tools/send.js +0 -185
- package/dist/tools/send.js.map +0 -1
- package/dist/tools/sessions.d.ts +0 -18
- package/dist/tools/sessions.d.ts.map +0 -1
- package/dist/tools/sessions.js +0 -115
- package/dist/tools/sessions.js.map +0 -1
- package/dist/tools/settings.d.ts +0 -18
- package/dist/tools/settings.d.ts.map +0 -1
- package/dist/tools/settings.js +0 -96
- package/dist/tools/settings.js.map +0 -1
- package/dist/tools/share-links.d.ts +0 -19
- package/dist/tools/share-links.d.ts.map +0 -1
- package/dist/tools/share-links.js +0 -121
- package/dist/tools/share-links.js.map +0 -1
- package/dist/tools/split-sheets.d.ts +0 -25
- package/dist/tools/split-sheets.d.ts.map +0 -1
- package/dist/tools/split-sheets.js +0 -307
- package/dist/tools/split-sheets.js.map +0 -1
- package/dist/tools/team.d.ts +0 -22
- package/dist/tools/team.d.ts.map +0 -1
- package/dist/tools/team.js +0 -134
- package/dist/tools/team.js.map +0 -1
- package/dist/tools/telegram.d.ts +0 -20
- package/dist/tools/telegram.d.ts.map +0 -1
- package/dist/tools/telegram.js +0 -88
- package/dist/tools/telegram.js.map +0 -1
- package/dist/tools/uploads.d.ts +0 -17
- package/dist/tools/uploads.d.ts.map +0 -1
- package/dist/tools/uploads.js +0 -156
- package/dist/tools/uploads.js.map +0 -1
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
|
-
import { formatAsText, formatSuccess, formatStructuredList, } from "@withpica/mcp-utils";
|
|
3
|
-
export class SplitSheetsTools {
|
|
4
|
-
pica;
|
|
5
|
-
constructor(pica) {
|
|
6
|
-
this.pica = pica;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Get all split sheet and recording split tools
|
|
10
|
-
*/
|
|
11
|
-
getTools() {
|
|
12
|
-
return [
|
|
13
|
-
{
|
|
14
|
-
definition: {
|
|
15
|
-
name: "pica_split_sheet_send",
|
|
16
|
-
description: "Send a split sheet to all credited writers on a work for review and signature. " +
|
|
17
|
-
"Notifies each writer via in-app notification, Telegram (if connected), and email. " +
|
|
18
|
-
"The split sheet must already be generated. Writers who are not PICA users get " +
|
|
19
|
-
"a collaboration invite email instead.",
|
|
20
|
-
inputSchema: {
|
|
21
|
-
type: "object",
|
|
22
|
-
properties: {
|
|
23
|
-
work_id: {
|
|
24
|
-
type: "string",
|
|
25
|
-
description: "The work ID the split sheet belongs to",
|
|
26
|
-
},
|
|
27
|
-
split_sheet_id: {
|
|
28
|
-
type: "string",
|
|
29
|
-
description: "The split sheet ID to send",
|
|
30
|
-
},
|
|
31
|
-
message: {
|
|
32
|
-
type: "string",
|
|
33
|
-
description: "Optional custom message to include (default: 'please review and sign the split sheet')",
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
required: ["work_id", "split_sheet_id"],
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
executor: this.sendSplitSheet.bind(this),
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
definition: {
|
|
43
|
-
name: "pica_split_sheet_list",
|
|
44
|
-
description: "List split sheets for a work. Split sheets document how publishing " +
|
|
45
|
-
"royalties are divided among writers and publishers for a composition.",
|
|
46
|
-
inputSchema: {
|
|
47
|
-
type: "object",
|
|
48
|
-
properties: {
|
|
49
|
-
work_id: {
|
|
50
|
-
type: "string",
|
|
51
|
-
description: "The work ID to list split sheets for",
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
required: ["work_id"],
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
executor: this.listSplitSheets.bind(this),
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
definition: {
|
|
61
|
-
name: "pica_split_sheet_generate",
|
|
62
|
-
description: "Generate a split sheet from a work's credits. This takes the existing " +
|
|
63
|
-
"writer credits on a work and creates a formal split sheet document. " +
|
|
64
|
-
"Credits must total 100% before generating.",
|
|
65
|
-
inputSchema: {
|
|
66
|
-
type: "object",
|
|
67
|
-
properties: {
|
|
68
|
-
work_id: {
|
|
69
|
-
type: "string",
|
|
70
|
-
description: "The work ID to generate a split sheet for",
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
required: ["work_id"],
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
executor: this.generateSplitSheet.bind(this),
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
definition: {
|
|
80
|
-
name: "pica_split_sheet_get",
|
|
81
|
-
description: "Get a specific split sheet with its full details including " +
|
|
82
|
-
"individual writer shares and signature status.",
|
|
83
|
-
inputSchema: {
|
|
84
|
-
type: "object",
|
|
85
|
-
properties: {
|
|
86
|
-
work_id: {
|
|
87
|
-
type: "string",
|
|
88
|
-
description: "The work ID the split sheet belongs to",
|
|
89
|
-
},
|
|
90
|
-
split_sheet_id: {
|
|
91
|
-
type: "string",
|
|
92
|
-
description: "The split sheet ID",
|
|
93
|
-
},
|
|
94
|
-
},
|
|
95
|
-
required: ["work_id", "split_sheet_id"],
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
executor: this.getSplitSheet.bind(this),
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
definition: {
|
|
102
|
-
name: "pica_recording_splits_list",
|
|
103
|
-
description: "List ownership splits for a recording. These represent master rights " +
|
|
104
|
-
"ownership — who owns what percentage of the recorded performance " +
|
|
105
|
-
"(as opposed to the underlying composition).",
|
|
106
|
-
inputSchema: {
|
|
107
|
-
type: "object",
|
|
108
|
-
properties: {
|
|
109
|
-
recording_id: {
|
|
110
|
-
type: "string",
|
|
111
|
-
description: "The recording ID to list splits for",
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
required: ["recording_id"],
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
executor: this.listRecordingSplits.bind(this),
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
definition: {
|
|
121
|
-
name: "pica_recording_splits_create",
|
|
122
|
-
description: "Set an ownership split on a recording. Assigns a percentage of master " +
|
|
123
|
-
"rights ownership to a person or entity for this recording.",
|
|
124
|
-
inputSchema: {
|
|
125
|
-
type: "object",
|
|
126
|
-
properties: {
|
|
127
|
-
recording_id: {
|
|
128
|
-
type: "string",
|
|
129
|
-
description: "The recording ID to add a split to",
|
|
130
|
-
},
|
|
131
|
-
person_id: {
|
|
132
|
-
type: "string",
|
|
133
|
-
description: "The person ID who owns this split",
|
|
134
|
-
},
|
|
135
|
-
split_type: {
|
|
136
|
-
type: "string",
|
|
137
|
-
enum: ["master", "mechanical", "performance", "sync"],
|
|
138
|
-
description: "Type of split: master, mechanical, performance, or sync",
|
|
139
|
-
},
|
|
140
|
-
role: {
|
|
141
|
-
type: "string",
|
|
142
|
-
description: "The role of this split holder (e.g. 'performer', 'producer', 'label')",
|
|
143
|
-
},
|
|
144
|
-
percentage: {
|
|
145
|
-
type: "number",
|
|
146
|
-
description: "Ownership percentage (0-100)",
|
|
147
|
-
},
|
|
148
|
-
notes: {
|
|
149
|
-
type: "string",
|
|
150
|
-
description: "Optional notes about this split",
|
|
151
|
-
},
|
|
152
|
-
territory: {
|
|
153
|
-
type: "string",
|
|
154
|
-
description: "Territory for this split (e.g., 'worldwide', 'UK'). Default: worldwide.",
|
|
155
|
-
},
|
|
156
|
-
start_date: {
|
|
157
|
-
type: "string",
|
|
158
|
-
description: "When this split starts (ISO date). Null = from inception.",
|
|
159
|
-
},
|
|
160
|
-
end_date: {
|
|
161
|
-
type: "string",
|
|
162
|
-
description: "When this split ends (ISO date). Null = perpetual.",
|
|
163
|
-
},
|
|
164
|
-
},
|
|
165
|
-
required: ["recording_id", "split_type", "percentage"],
|
|
166
|
-
additionalProperties: true,
|
|
167
|
-
},
|
|
168
|
-
},
|
|
169
|
-
executor: this.createRecordingSplit.bind(this),
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
definition: {
|
|
173
|
-
name: "pica_recording_splits_verify",
|
|
174
|
-
description: "Verify a recording split. Marks a specific ownership split as " +
|
|
175
|
-
"confirmed and agreed upon by the relevant parties.",
|
|
176
|
-
inputSchema: {
|
|
177
|
-
type: "object",
|
|
178
|
-
properties: {
|
|
179
|
-
recording_id: {
|
|
180
|
-
type: "string",
|
|
181
|
-
description: "The recording ID",
|
|
182
|
-
},
|
|
183
|
-
split_id: {
|
|
184
|
-
type: "string",
|
|
185
|
-
description: "The split ID to verify",
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
required: ["recording_id", "split_id"],
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
executor: this.verifyRecordingSplit.bind(this),
|
|
192
|
-
},
|
|
193
|
-
];
|
|
194
|
-
}
|
|
195
|
-
// ── Send Split Sheet ─────────────────────────────────────────────────
|
|
196
|
-
async sendSplitSheet(args) {
|
|
197
|
-
// 1. Verify split sheet exists
|
|
198
|
-
const sheet = await this.pica.splitSheets.get(args.work_id, args.split_sheet_id);
|
|
199
|
-
if (!sheet) {
|
|
200
|
-
return formatAsText({
|
|
201
|
-
sent: false,
|
|
202
|
-
error: "Split sheet not found",
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
// 2. Get all credits on this work to find writers
|
|
206
|
-
const creditsResult = await this.pica.credits.listForWork(args.work_id);
|
|
207
|
-
const writers = Array.isArray(creditsResult)
|
|
208
|
-
? creditsResult
|
|
209
|
-
: creditsResult?.data || [];
|
|
210
|
-
if (writers.length === 0) {
|
|
211
|
-
return formatAsText({
|
|
212
|
-
sent: false,
|
|
213
|
-
error: "No credits found on this work. Add writers before sending the split sheet.",
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
// 3. Notify each writer
|
|
217
|
-
const message = args.message?.trim() ||
|
|
218
|
-
"please review and sign the split sheet for this work";
|
|
219
|
-
const results = [];
|
|
220
|
-
for (const credit of writers) {
|
|
221
|
-
if (!credit.person_id)
|
|
222
|
-
continue;
|
|
223
|
-
try {
|
|
224
|
-
const result = await this.pica.notifications.sendToPerson({
|
|
225
|
-
person_id: credit.person_id,
|
|
226
|
-
message: `${message} — your share: ${credit.splits ?? "?"}%`,
|
|
227
|
-
work_id: args.work_id,
|
|
228
|
-
notification_type: "split_sheet_review",
|
|
229
|
-
});
|
|
230
|
-
const data = result.data || result;
|
|
231
|
-
results.push({
|
|
232
|
-
person_id: credit.person_id,
|
|
233
|
-
name: data.person_name || credit.person_name || "Unknown",
|
|
234
|
-
delivered: data.delivered,
|
|
235
|
-
channels: data.channels,
|
|
236
|
-
reason: data.reason,
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
catch {
|
|
240
|
-
results.push({
|
|
241
|
-
person_id: credit.person_id,
|
|
242
|
-
name: credit.person_name || "Unknown",
|
|
243
|
-
delivered: false,
|
|
244
|
-
reason: "notification_failed",
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
const delivered = results.filter((r) => r.delivered);
|
|
249
|
-
const notPicaUsers = results.filter((r) => r.reason === "not_a_pica_user");
|
|
250
|
-
const failed = results.filter((r) => !r.delivered && r.reason !== "not_a_pica_user");
|
|
251
|
-
const summary = [
|
|
252
|
-
`Split sheet sent to ${delivered.length}/${results.length} writers`,
|
|
253
|
-
delivered.length > 0
|
|
254
|
-
? `Delivered: ${delivered.map((r) => r.name).join(", ")}`
|
|
255
|
-
: null,
|
|
256
|
-
notPicaUsers.length > 0
|
|
257
|
-
? `Not PICA users (use pica_collaborators_invite): ${notPicaUsers.map((r) => r.name).join(", ")}`
|
|
258
|
-
: null,
|
|
259
|
-
failed.length > 0
|
|
260
|
-
? `Failed: ${failed.map((r) => r.name).join(", ")}`
|
|
261
|
-
: null,
|
|
262
|
-
]
|
|
263
|
-
.filter(Boolean)
|
|
264
|
-
.join(". ");
|
|
265
|
-
return formatSuccess(summary, {
|
|
266
|
-
split_sheet_id: args.split_sheet_id,
|
|
267
|
-
work_id: args.work_id,
|
|
268
|
-
results,
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
// ── Split Sheet Methods ──────────────────────────────────────────────
|
|
272
|
-
async listSplitSheets(args) {
|
|
273
|
-
const sheets = await this.pica.splitSheets.listForWork(args.work_id);
|
|
274
|
-
const data = Array.isArray(sheets) ? sheets : (sheets?.data ?? [sheets]);
|
|
275
|
-
return formatStructuredList(data, "split_sheet", {
|
|
276
|
-
work_id: args.work_id,
|
|
277
|
-
total: data.length,
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
async generateSplitSheet(args) {
|
|
281
|
-
const sheet = await this.pica.splitSheets.generate(args.work_id);
|
|
282
|
-
return formatSuccess("Split sheet generated successfully", sheet);
|
|
283
|
-
}
|
|
284
|
-
async getSplitSheet(args) {
|
|
285
|
-
const sheet = await this.pica.splitSheets.get(args.work_id, args.split_sheet_id);
|
|
286
|
-
return formatAsText(sheet);
|
|
287
|
-
}
|
|
288
|
-
// ── Recording Split Methods ──────────────────────────────────────────
|
|
289
|
-
async listRecordingSplits(args) {
|
|
290
|
-
const splits = await this.pica.recordingSplits.list(args.recording_id);
|
|
291
|
-
const data = Array.isArray(splits) ? splits : (splits?.data ?? [splits]);
|
|
292
|
-
return formatStructuredList(data, "recording_split", {
|
|
293
|
-
recording_id: args.recording_id,
|
|
294
|
-
total: data.length,
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
async createRecordingSplit(args) {
|
|
298
|
-
const { recording_id, ...data } = args;
|
|
299
|
-
const split = await this.pica.recordingSplits.create(recording_id, data);
|
|
300
|
-
return formatSuccess("Recording split created successfully", split);
|
|
301
|
-
}
|
|
302
|
-
async verifyRecordingSplit(args) {
|
|
303
|
-
const result = await this.pica.recordingSplits.verify(args.recording_id, args.split_id);
|
|
304
|
-
return formatSuccess("Recording split verified successfully", result);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
//# sourceMappingURL=split-sheets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"split-sheets.js","sourceRoot":"","sources":["../../src/tools/split-sheets.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/team.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Team Tools — manage team members via MCP
|
|
3
|
-
*
|
|
4
|
-
* Backed by REST routes: /api/admin/team/*
|
|
5
|
-
* Supports listing, viewing, inviting, updating roles, and removing team members.
|
|
6
|
-
*/
|
|
7
|
-
import { PicaClient } from "@withpica/mcp-sdk";
|
|
8
|
-
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
9
|
-
export declare class TeamTools {
|
|
10
|
-
private pica;
|
|
11
|
-
constructor(pica: PicaClient);
|
|
12
|
-
getTools(): Array<{
|
|
13
|
-
definition: ToolDefinition;
|
|
14
|
-
executor: ToolExecutor;
|
|
15
|
-
}>;
|
|
16
|
-
private listMembers;
|
|
17
|
-
private getMember;
|
|
18
|
-
private inviteMember;
|
|
19
|
-
private updateRole;
|
|
20
|
-
private removeMember;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=team.d.ts.map
|
package/dist/tools/team.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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;YAuG3D,WAAW;YAQX,SAAS;YAKT,YAAY;YAYZ,UAAU;YAUV,YAAY;CAI3B"}
|
package/dist/tools/team.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
|
-
import { formatSuccess, formatStructuredList } from "@withpica/mcp-utils";
|
|
3
|
-
export class TeamTools {
|
|
4
|
-
pica;
|
|
5
|
-
constructor(pica) {
|
|
6
|
-
this.pica = pica;
|
|
7
|
-
}
|
|
8
|
-
getTools() {
|
|
9
|
-
return [
|
|
10
|
-
{
|
|
11
|
-
definition: {
|
|
12
|
-
name: "pica_team_list",
|
|
13
|
-
description: "List all team members with their roles, status (pending/active), and permissions. Use to answer 'who is on my team?'",
|
|
14
|
-
inputSchema: {
|
|
15
|
-
type: "object",
|
|
16
|
-
properties: {},
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
executor: this.listMembers.bind(this),
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
definition: {
|
|
23
|
-
name: "pica_team_get",
|
|
24
|
-
description: "Get details of a specific team member by membership ID, including permissions, status, and activity.",
|
|
25
|
-
inputSchema: {
|
|
26
|
-
type: "object",
|
|
27
|
-
properties: {
|
|
28
|
-
id: {
|
|
29
|
-
type: "string",
|
|
30
|
-
description: "Team membership ID",
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
required: ["id"],
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
executor: this.getMember.bind(this),
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
definition: {
|
|
40
|
-
name: "pica_team_invite",
|
|
41
|
-
description: "Invite someone to join the team by email. Sends an invitation email. Optionally set their name and permissions.",
|
|
42
|
-
inputSchema: {
|
|
43
|
-
type: "object",
|
|
44
|
-
properties: {
|
|
45
|
-
email: {
|
|
46
|
-
type: "string",
|
|
47
|
-
description: "Email address of the person to invite",
|
|
48
|
-
},
|
|
49
|
-
full_name: {
|
|
50
|
-
type: "string",
|
|
51
|
-
description: "Full name of the invitee (optional)",
|
|
52
|
-
},
|
|
53
|
-
permissions: {
|
|
54
|
-
type: "object",
|
|
55
|
-
description: "Permission flags for the team member (e.g. { can_edit_works: true, can_manage_team: false })",
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
required: ["email"],
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
executor: this.inviteMember.bind(this),
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
definition: {
|
|
65
|
-
name: "pica_team_update_role",
|
|
66
|
-
description: "Update a team member's permissions. Pass the membership ID and the new permissions object.",
|
|
67
|
-
inputSchema: {
|
|
68
|
-
type: "object",
|
|
69
|
-
properties: {
|
|
70
|
-
id: {
|
|
71
|
-
type: "string",
|
|
72
|
-
description: "Team membership ID",
|
|
73
|
-
},
|
|
74
|
-
permissions: {
|
|
75
|
-
type: "object",
|
|
76
|
-
description: "Updated permission flags (e.g. { can_edit_works: true, can_manage_team: false })",
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
required: ["id", "permissions"],
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
executor: this.updateRole.bind(this),
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
definition: {
|
|
86
|
-
name: "pica_team_remove",
|
|
87
|
-
description: "Remove a team member by membership ID. This revokes their access.",
|
|
88
|
-
inputSchema: {
|
|
89
|
-
type: "object",
|
|
90
|
-
properties: {
|
|
91
|
-
id: {
|
|
92
|
-
type: "string",
|
|
93
|
-
description: "Team membership ID to remove",
|
|
94
|
-
},
|
|
95
|
-
},
|
|
96
|
-
required: ["id"],
|
|
97
|
-
},
|
|
98
|
-
},
|
|
99
|
-
executor: this.removeMember.bind(this),
|
|
100
|
-
},
|
|
101
|
-
];
|
|
102
|
-
}
|
|
103
|
-
async listMembers(_args) {
|
|
104
|
-
const result = await this.pica.team.list();
|
|
105
|
-
const members = Array.isArray(result)
|
|
106
|
-
? result
|
|
107
|
-
: (result?.data ?? result?.members ?? []);
|
|
108
|
-
return formatStructuredList(members, "team member");
|
|
109
|
-
}
|
|
110
|
-
async getMember(args) {
|
|
111
|
-
const member = await this.pica.team.get(args.id);
|
|
112
|
-
return formatSuccess("Team member retrieved", member?.data ?? member);
|
|
113
|
-
}
|
|
114
|
-
async inviteMember(args) {
|
|
115
|
-
const payload = { email: args.email };
|
|
116
|
-
if (args.full_name)
|
|
117
|
-
payload.full_name = args.full_name;
|
|
118
|
-
if (args.permissions)
|
|
119
|
-
payload.permissions = args.permissions;
|
|
120
|
-
const result = await this.pica.team.invite(payload);
|
|
121
|
-
return formatSuccess(`Invitation sent to ${args.email}`, result?.data ?? result);
|
|
122
|
-
}
|
|
123
|
-
async updateRole(args) {
|
|
124
|
-
const result = await this.pica.team.update(args.id, {
|
|
125
|
-
permissions: args.permissions,
|
|
126
|
-
});
|
|
127
|
-
return formatSuccess(`Permissions updated for membership ${args.id}`, result?.data ?? result);
|
|
128
|
-
}
|
|
129
|
-
async removeMember(args) {
|
|
130
|
-
await this.pica.team.remove(args.id);
|
|
131
|
-
return formatSuccess(`Team member ${args.id} removed`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=team.js.map
|
package/dist/tools/team.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/tools/team.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/telegram.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Telegram Tools — MCP tools for user notification via Telegram
|
|
3
|
-
*
|
|
4
|
-
* Lets AI agents check if the user has Telegram connected and send them
|
|
5
|
-
* notifications for long-running tasks. Agents should check status first,
|
|
6
|
-
* then promise "I'll ping you on Telegram when done" if connected.
|
|
7
|
-
*/
|
|
8
|
-
import { PicaClient } from "@withpica/mcp-sdk";
|
|
9
|
-
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
10
|
-
export declare class TelegramTools {
|
|
11
|
-
private pica;
|
|
12
|
-
constructor(pica: PicaClient);
|
|
13
|
-
getTools(): Array<{
|
|
14
|
-
definition: ToolDefinition;
|
|
15
|
-
executor: ToolExecutor;
|
|
16
|
-
}>;
|
|
17
|
-
private getStatus;
|
|
18
|
-
private notifyUser;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=telegram.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.d.ts","sourceRoot":"","sources":["../../src/tools/telegram.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAOtE,qBAAa,aAAa;IACxB,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;YA0C3D,SAAS;YAwBT,UAAU;CA+BzB"}
|
package/dist/tools/telegram.js
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
|
-
import { formatAsText, formatSuccess, formatValidationError, } from "@withpica/mcp-utils";
|
|
3
|
-
export class TelegramTools {
|
|
4
|
-
pica;
|
|
5
|
-
constructor(pica) {
|
|
6
|
-
this.pica = pica;
|
|
7
|
-
}
|
|
8
|
-
getTools() {
|
|
9
|
-
return [
|
|
10
|
-
{
|
|
11
|
-
definition: {
|
|
12
|
-
name: "pica_telegram_status",
|
|
13
|
-
description: "Check if the user has Telegram connected. Use this before promising to send Telegram notifications. " +
|
|
14
|
-
"Returns connection status, username, and notification preferences. " +
|
|
15
|
-
"If not connected, suggest the user visit /connect to set up Telegram.",
|
|
16
|
-
inputSchema: {
|
|
17
|
-
type: "object",
|
|
18
|
-
properties: {},
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
executor: this.getStatus.bind(this),
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
definition: {
|
|
25
|
-
name: "pica_notify_user",
|
|
26
|
-
description: "Send a notification to the user's connected Telegram. Use for long-running tasks: " +
|
|
27
|
-
"enrichment, exports, duplicate merges, bulk operations. The message should be concise " +
|
|
28
|
-
"and actionable — tell them what finished and what to do next. " +
|
|
29
|
-
"Fails gracefully if Telegram is not connected (returns error, does not throw).",
|
|
30
|
-
inputSchema: {
|
|
31
|
-
type: "object",
|
|
32
|
-
properties: {
|
|
33
|
-
message: {
|
|
34
|
-
type: "string",
|
|
35
|
-
description: "Notification message (markdown supported). Keep it short — 1-3 sentences. " +
|
|
36
|
-
"Include what completed and any action needed.",
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
required: ["message"],
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
executor: this.notifyUser.bind(this),
|
|
43
|
-
},
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
async getStatus(_args) {
|
|
47
|
-
const result = await this.pica.telegram.getStatus();
|
|
48
|
-
const data = result.data || result;
|
|
49
|
-
if (!data.connected) {
|
|
50
|
-
return formatAsText({
|
|
51
|
-
connected: false,
|
|
52
|
-
message: "Telegram is not connected. The user can set it up at /connect.",
|
|
53
|
-
bot_username: data.botUsername,
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
return formatSuccess(`Telegram connected as @${data.telegramUsername || data.telegramFirstName}. You can send notifications via pica_notify_user.`, {
|
|
57
|
-
connected: true,
|
|
58
|
-
telegram_username: data.telegramUsername,
|
|
59
|
-
telegram_first_name: data.telegramFirstName,
|
|
60
|
-
preferences: data.preferences,
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
async notifyUser(args) {
|
|
64
|
-
if (!args.message?.trim()) {
|
|
65
|
-
return formatValidationError({ message: "message is required" });
|
|
66
|
-
}
|
|
67
|
-
try {
|
|
68
|
-
const result = await this.pica.telegram.sendNotification(args.message.trim());
|
|
69
|
-
const data = result.data || result;
|
|
70
|
-
return formatSuccess(`Notification sent to @${data.telegramUsername || "user"} on Telegram.`, { sent: true, telegram_username: data.telegramUsername });
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
// Graceful failure — don't throw, return error text
|
|
74
|
-
const message = err?.message || String(err);
|
|
75
|
-
if (message.includes("not connected") || message.includes("400")) {
|
|
76
|
-
return formatAsText({
|
|
77
|
-
sent: false,
|
|
78
|
-
error: "Telegram is not connected. The user can set it up at /connect.",
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
return formatAsText({
|
|
82
|
-
sent: false,
|
|
83
|
-
error: `Failed to send notification: ${message}`,
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=telegram.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/tools/telegram.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/uploads.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Upload Tools - MCP tools for uploading any file type (images, videos, documents)
|
|
3
|
-
* Uses the generic storage presigned upload route that supports all PICA storage providers.
|
|
4
|
-
*/
|
|
5
|
-
import { PicaClient } from "@withpica/mcp-sdk";
|
|
6
|
-
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
7
|
-
export declare class UploadTools {
|
|
8
|
-
private pica;
|
|
9
|
-
constructor(pica: PicaClient);
|
|
10
|
-
getTools(): Array<{
|
|
11
|
-
definition: ToolDefinition;
|
|
12
|
-
executor: ToolExecutor;
|
|
13
|
-
}>;
|
|
14
|
-
private presignedUpload;
|
|
15
|
-
private completeUpload;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=uploads.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../src/tools/uploads.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAGtE,qBAAa,WAAW;IACtB,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;YAuH3D,eAAe;YAyBf,cAAc;CAwB7B"}
|