@withpica/mcp-server 2.7.0 → 2.9.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/__mocks__/mppx-mcp-sdk-server.d.ts +6 -0
- package/dist/__mocks__/mppx-mcp-sdk-server.d.ts.map +1 -0
- package/dist/__mocks__/mppx-mcp-sdk-server.js +6 -0
- package/dist/__mocks__/mppx-mcp-sdk-server.js.map +1 -0
- package/dist/__mocks__/mppx-server.d.ts +12 -0
- package/dist/__mocks__/mppx-server.d.ts.map +1 -0
- package/dist/__mocks__/mppx-server.js +12 -0
- package/dist/__mocks__/mppx-server.js.map +1 -0
- package/dist/apps/download.d.ts +2 -0
- package/dist/apps/download.d.ts.map +1 -0
- package/dist/apps/download.js +125 -0
- package/dist/apps/download.js.map +1 -0
- package/dist/apps/generated/shared-bundle.d.ts +5 -0
- package/dist/apps/generated/shared-bundle.d.ts.map +1 -0
- package/dist/apps/generated/shared-bundle.js +7 -0
- package/dist/apps/generated/shared-bundle.js.map +1 -0
- package/dist/apps/shared.d.ts +15 -0
- package/dist/apps/shared.d.ts.map +1 -0
- package/dist/apps/shared.js +480 -0
- package/dist/apps/shared.js.map +1 -0
- package/dist/apps/upload.d.ts +2 -0
- package/dist/apps/upload.d.ts.map +1 -0
- package/dist/apps/upload.js +280 -0
- package/dist/apps/upload.js.map +1 -0
- package/dist/config.d.ts +9 -30
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +36 -12
- package/dist/config.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/prompts/index.js +24 -24
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/index.d.ts +4 -2
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +133 -54
- package/dist/resources/index.js.map +1 -1
- package/dist/resources/llms-primer.d.ts +2 -0
- package/dist/resources/llms-primer.d.ts.map +1 -0
- package/dist/resources/llms-primer.js +68 -0
- package/dist/resources/llms-primer.js.map +1 -0
- package/dist/server-instructions.d.ts +9 -0
- package/dist/server-instructions.d.ts.map +1 -0
- package/dist/server-instructions.js +34 -0
- package/dist/server-instructions.js.map +1 -0
- package/dist/server.d.ts +17 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +103 -14
- package/dist/server.js.map +1 -1
- package/dist/tools/agreement-types.d.ts +27 -0
- package/dist/tools/agreement-types.d.ts.map +1 -0
- package/dist/tools/agreement-types.js +387 -0
- package/dist/tools/agreement-types.js.map +1 -0
- package/dist/tools/agreements.d.ts +20 -0
- package/dist/tools/agreements.d.ts.map +1 -0
- package/dist/tools/agreements.js +363 -0
- package/dist/tools/agreements.js.map +1 -0
- package/dist/tools/analytics.d.ts +20 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +124 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/app-tools.d.ts +21 -0
- package/dist/tools/app-tools.d.ts.map +1 -0
- package/dist/tools/app-tools.js +248 -0
- package/dist/tools/app-tools.js.map +1 -0
- package/dist/tools/assets.d.ts +25 -0
- package/dist/tools/assets.d.ts.map +1 -0
- package/dist/tools/assets.js +631 -0
- package/dist/tools/assets.js.map +1 -0
- package/dist/tools/audio-files.d.ts +20 -0
- package/dist/tools/audio-files.d.ts.map +1 -0
- package/dist/tools/audio-files.js +384 -0
- package/dist/tools/audio-files.js.map +1 -0
- package/dist/tools/auth.d.ts +22 -0
- package/dist/tools/auth.d.ts.map +1 -0
- package/dist/tools/auth.js +210 -0
- package/dist/tools/auth.js.map +1 -0
- package/dist/tools/bulk.d.ts +16 -0
- package/dist/tools/bulk.d.ts.map +1 -0
- package/dist/tools/bulk.js +85 -0
- package/dist/tools/bulk.js.map +1 -0
- package/dist/tools/calendar.d.ts +15 -0
- package/dist/tools/calendar.d.ts.map +1 -0
- package/dist/tools/calendar.js +67 -0
- package/dist/tools/calendar.js.map +1 -0
- package/dist/tools/collaborators.d.ts +21 -0
- package/dist/tools/collaborators.d.ts.map +1 -0
- package/dist/tools/collaborators.js +311 -0
- package/dist/tools/collaborators.js.map +1 -0
- package/dist/tools/comparisons.d.ts +22 -0
- package/dist/tools/comparisons.d.ts.map +1 -0
- package/dist/tools/comparisons.js +78 -0
- package/dist/tools/comparisons.js.map +1 -0
- package/dist/tools/credits.d.ts +17 -0
- package/dist/tools/credits.d.ts.map +1 -0
- package/dist/tools/credits.js +312 -0
- package/dist/tools/credits.js.map +1 -0
- package/dist/tools/custody-hints.d.ts +16 -0
- package/dist/tools/custody-hints.d.ts.map +1 -0
- package/dist/tools/custody-hints.js +27 -0
- package/dist/tools/custody-hints.js.map +1 -0
- package/dist/tools/custody.d.ts +38 -0
- package/dist/tools/custody.d.ts.map +1 -0
- package/dist/tools/custody.js +274 -0
- package/dist/tools/custody.js.map +1 -0
- package/dist/tools/dashboard.d.ts +19 -0
- package/dist/tools/dashboard.d.ts.map +1 -0
- package/dist/tools/dashboard.js +146 -0
- package/dist/tools/dashboard.js.map +1 -0
- package/dist/tools/directory.d.ts +15 -0
- package/dist/tools/directory.d.ts.map +1 -0
- package/dist/tools/directory.js +106 -0
- package/dist/tools/directory.js.map +1 -0
- package/dist/tools/discovery.d.ts +28 -0
- package/dist/tools/discovery.d.ts.map +1 -0
- package/dist/tools/discovery.js +560 -0
- package/dist/tools/discovery.js.map +1 -0
- package/dist/tools/disputes.d.ts +18 -0
- package/dist/tools/disputes.d.ts.map +1 -0
- package/dist/tools/disputes.js +61 -0
- package/dist/tools/disputes.js.map +1 -0
- package/dist/tools/documents.d.ts +15 -0
- package/dist/tools/documents.d.ts.map +1 -0
- package/dist/tools/documents.js +36 -0
- package/dist/tools/documents.js.map +1 -0
- package/dist/tools/duplicates.d.ts +16 -0
- package/dist/tools/duplicates.d.ts.map +1 -0
- package/dist/tools/duplicates.js +87 -0
- package/dist/tools/duplicates.js.map +1 -0
- package/dist/tools/enrichment.d.ts +23 -0
- package/dist/tools/enrichment.d.ts.map +1 -0
- package/dist/tools/enrichment.js +220 -0
- package/dist/tools/enrichment.js.map +1 -0
- package/dist/tools/exports.d.ts +19 -0
- package/dist/tools/exports.d.ts.map +1 -0
- package/dist/tools/exports.js +175 -0
- package/dist/tools/exports.js.map +1 -0
- package/dist/tools/import-documents.d.ts +21 -0
- package/dist/tools/import-documents.d.ts.map +1 -0
- package/dist/tools/import-documents.js +203 -0
- package/dist/tools/import-documents.js.map +1 -0
- package/dist/tools/import.d.ts +30 -0
- package/dist/tools/import.d.ts.map +1 -0
- package/dist/tools/import.js +455 -0
- package/dist/tools/import.js.map +1 -0
- package/dist/tools/index.d.ts +67 -5
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +448 -84
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/integrations.d.ts +15 -0
- package/dist/tools/integrations.d.ts.map +1 -0
- package/dist/tools/integrations.js +100 -0
- package/dist/tools/integrations.js.map +1 -0
- package/dist/tools/licensing.d.ts +40 -0
- package/dist/tools/licensing.d.ts.map +1 -0
- package/dist/tools/licensing.js +431 -0
- package/dist/tools/licensing.js.map +1 -0
- package/dist/tools/memory.d.ts +21 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +116 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/metadata.d.ts +15 -0
- package/dist/tools/metadata.d.ts.map +1 -0
- package/dist/tools/metadata.js +1106 -0
- package/dist/tools/metadata.js.map +1 -0
- package/dist/tools/multimedia.d.ts +19 -0
- package/dist/tools/multimedia.d.ts.map +1 -0
- package/dist/tools/multimedia.js +291 -0
- package/dist/tools/multimedia.js.map +1 -0
- package/dist/tools/notes.d.ts +21 -0
- package/dist/tools/notes.d.ts.map +1 -0
- package/dist/tools/notes.js +108 -0
- package/dist/tools/notes.js.map +1 -0
- package/dist/tools/notifications.d.ts +20 -0
- package/dist/tools/notifications.d.ts.map +1 -0
- package/dist/tools/notifications.js +266 -0
- package/dist/tools/notifications.js.map +1 -0
- package/dist/tools/people.d.ts +5 -13
- package/dist/tools/people.d.ts.map +1 -1
- package/dist/tools/people.js +148 -109
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/projects.d.ts +19 -0
- package/dist/tools/projects.d.ts.map +1 -0
- package/dist/tools/projects.js +140 -0
- package/dist/tools/projects.js.map +1 -0
- package/dist/tools/publishers.d.ts +16 -0
- package/dist/tools/publishers.d.ts.map +1 -0
- package/dist/tools/publishers.js +69 -0
- package/dist/tools/publishers.js.map +1 -0
- package/dist/tools/purchases.d.ts +15 -0
- package/dist/tools/purchases.d.ts.map +1 -0
- package/dist/tools/purchases.js +63 -0
- package/dist/tools/purchases.js.map +1 -0
- package/dist/tools/recordings.d.ts +35 -35
- package/dist/tools/recordings.d.ts.map +1 -1
- package/dist/tools/recordings.js +136 -48
- package/dist/tools/recordings.js.map +1 -1
- package/dist/tools/recovery-hints.d.ts +14 -0
- package/dist/tools/recovery-hints.d.ts.map +1 -0
- package/dist/tools/recovery-hints.js +277 -0
- package/dist/tools/recovery-hints.js.map +1 -0
- package/dist/tools/releases.d.ts +18 -0
- package/dist/tools/releases.d.ts.map +1 -0
- package/dist/tools/releases.js +128 -0
- package/dist/tools/releases.js.map +1 -0
- package/dist/tools/royalties.d.ts +23 -0
- package/dist/tools/royalties.d.ts.map +1 -0
- package/dist/tools/royalties.js +257 -0
- package/dist/tools/royalties.js.map +1 -0
- package/dist/tools/search.d.ts +1 -1
- 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/send.d.ts +17 -0
- package/dist/tools/send.d.ts.map +1 -0
- package/dist/tools/send.js +185 -0
- package/dist/tools/send.js.map +1 -0
- package/dist/tools/sessions.d.ts +18 -0
- package/dist/tools/sessions.d.ts.map +1 -0
- package/dist/tools/sessions.js +115 -0
- package/dist/tools/sessions.js.map +1 -0
- package/dist/tools/settings.d.ts +18 -0
- package/dist/tools/settings.d.ts.map +1 -0
- package/dist/tools/settings.js +96 -0
- package/dist/tools/settings.js.map +1 -0
- package/dist/tools/share-links.d.ts +19 -0
- package/dist/tools/share-links.d.ts.map +1 -0
- package/dist/tools/share-links.js +121 -0
- package/dist/tools/share-links.js.map +1 -0
- package/dist/tools/split-sheets.d.ts +25 -0
- package/dist/tools/split-sheets.d.ts.map +1 -0
- package/dist/tools/split-sheets.js +307 -0
- package/dist/tools/split-sheets.js.map +1 -0
- package/dist/tools/team.d.ts +22 -0
- package/dist/tools/team.d.ts.map +1 -0
- package/dist/tools/team.js +134 -0
- package/dist/tools/team.js.map +1 -0
- package/dist/tools/telegram.d.ts +21 -0
- package/dist/tools/telegram.d.ts.map +1 -0
- package/dist/tools/telegram.js +141 -0
- package/dist/tools/telegram.js.map +1 -0
- package/dist/tools/uploads.d.ts +17 -0
- package/dist/tools/uploads.d.ts.map +1 -0
- package/dist/tools/uploads.js +156 -0
- package/dist/tools/uploads.js.map +1 -0
- package/dist/tools/works.d.ts +5 -13
- package/dist/tools/works.d.ts.map +1 -1
- package/dist/tools/works.js +219 -116
- package/dist/tools/works.js.map +1 -1
- package/package.json +1 -1
- package/dist/pica-sdk.d.ts +0 -1231
- package/dist/pica-sdk.d.ts.map +0 -1
- package/dist/pica-sdk.js +0 -1403
- package/dist/pica-sdk.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -29
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -115
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/formatting.d.ts +0 -82
- package/dist/utils/formatting.d.ts.map +0 -1
- package/dist/utils/formatting.js +0 -125
- package/dist/utils/formatting.js.map +0 -1
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
|
+
import { formatAsText, formatSuccess, formatStructuredList, } from "@withpica/mcp-utils";
|
|
3
|
+
export class SessionsTools {
|
|
4
|
+
pica;
|
|
5
|
+
constructor(pica) {
|
|
6
|
+
this.pica = pica;
|
|
7
|
+
}
|
|
8
|
+
getTools() {
|
|
9
|
+
return [
|
|
10
|
+
{
|
|
11
|
+
definition: {
|
|
12
|
+
name: "pica_sessions_list",
|
|
13
|
+
description: "List studio sessions — recording, mixing, mastering, writing sessions. Shows who was there, what was recorded, and when.",
|
|
14
|
+
inputSchema: {
|
|
15
|
+
type: "object",
|
|
16
|
+
properties: {
|
|
17
|
+
limit: {
|
|
18
|
+
type: "number",
|
|
19
|
+
description: "Max results (default 50)",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
executor: this.listSessions.bind(this),
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
definition: {
|
|
28
|
+
name: "pica_sessions_get",
|
|
29
|
+
description: "Get details of a specific studio session — participants, works recorded, audio files, documents.",
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: "object",
|
|
32
|
+
properties: {
|
|
33
|
+
id: { type: "string", description: "Session ID" },
|
|
34
|
+
},
|
|
35
|
+
required: ["id"],
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
executor: this.getSession.bind(this),
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
definition: {
|
|
42
|
+
name: "pica_sessions_create",
|
|
43
|
+
description: "Log a new studio session — who was there, what was worked on, where it happened. Session types: recording, mixing, mastering, writing, production, rehearsal.",
|
|
44
|
+
inputSchema: {
|
|
45
|
+
type: "object",
|
|
46
|
+
properties: {
|
|
47
|
+
title: {
|
|
48
|
+
type: "string",
|
|
49
|
+
description: "Session title (e.g. 'Vocal recording — Track 3')",
|
|
50
|
+
},
|
|
51
|
+
session_type_id: {
|
|
52
|
+
type: "string",
|
|
53
|
+
description: "Session type UUID — get valid IDs from pica_sessions_types",
|
|
54
|
+
},
|
|
55
|
+
start_time: {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: "ISO 8601 datetime",
|
|
58
|
+
},
|
|
59
|
+
end_time: {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "ISO 8601 datetime",
|
|
62
|
+
},
|
|
63
|
+
location: {
|
|
64
|
+
type: "string",
|
|
65
|
+
description: "Studio or location name",
|
|
66
|
+
},
|
|
67
|
+
notes: {
|
|
68
|
+
type: "string",
|
|
69
|
+
description: "Session notes — what happened, what was achieved",
|
|
70
|
+
},
|
|
71
|
+
work_id: {
|
|
72
|
+
type: "string",
|
|
73
|
+
description: "Work this session was for (optional)",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
required: ["title", "start_time", "end_time"],
|
|
77
|
+
additionalProperties: true,
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
executor: this.createSession.bind(this),
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
definition: {
|
|
84
|
+
name: "pica_sessions_types",
|
|
85
|
+
description: "Get available session types (recording, mixing, mastering, etc.)",
|
|
86
|
+
inputSchema: { type: "object", properties: {} },
|
|
87
|
+
},
|
|
88
|
+
executor: this.getSessionTypes.bind(this),
|
|
89
|
+
},
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
async listSessions(args) {
|
|
93
|
+
const sessions = await this.pica.sessions.list({ limit: args.limit });
|
|
94
|
+
return formatStructuredList(Array.isArray(sessions) ? sessions : sessions?.data || [], "session");
|
|
95
|
+
}
|
|
96
|
+
async getSession(args) {
|
|
97
|
+
const session = await this.pica.sessions.get(args.id);
|
|
98
|
+
return formatSuccess(`Session: ${session?.title || args.id}`, session);
|
|
99
|
+
}
|
|
100
|
+
async createSession(args) {
|
|
101
|
+
// Derive start_time/end_time from date if not provided
|
|
102
|
+
if (!args.start_time && !args.end_time && args.date) {
|
|
103
|
+
args.start_time = `${args.date}T09:00:00`;
|
|
104
|
+
args.end_time = `${args.date}T17:00:00`;
|
|
105
|
+
delete args.date;
|
|
106
|
+
}
|
|
107
|
+
const session = await this.pica.sessions.create(args);
|
|
108
|
+
return formatSuccess("Studio session logged successfully", session);
|
|
109
|
+
}
|
|
110
|
+
async getSessionTypes(_args) {
|
|
111
|
+
const types = await this.pica.sessions.getTypes();
|
|
112
|
+
return formatAsText(types);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings & Usage Tools — credit history, storage, organisation profile
|
|
3
|
+
*/
|
|
4
|
+
import { PicaClient } from "@withpica/mcp-sdk";
|
|
5
|
+
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
6
|
+
export declare class SettingsTools {
|
|
7
|
+
private pica;
|
|
8
|
+
constructor(pica: PicaClient);
|
|
9
|
+
getTools(): Array<{
|
|
10
|
+
definition: ToolDefinition;
|
|
11
|
+
executor: ToolExecutor;
|
|
12
|
+
}>;
|
|
13
|
+
private creditsHistory;
|
|
14
|
+
private storageStatus;
|
|
15
|
+
private orgProfile;
|
|
16
|
+
private userProfile;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/tools/settings.ts"],"names":[],"mappings":"AAEA;;GAEG;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;YAqE3D,cAAc;YAYd,aAAa;YAWb,UAAU;YASV,WAAW;CAQ1B"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
|
+
import { formatSuccess, formatStructuredList, } from "@withpica/mcp-utils";
|
|
3
|
+
export class SettingsTools {
|
|
4
|
+
pica;
|
|
5
|
+
constructor(pica) {
|
|
6
|
+
this.pica = pica;
|
|
7
|
+
}
|
|
8
|
+
getTools() {
|
|
9
|
+
return [
|
|
10
|
+
{
|
|
11
|
+
definition: {
|
|
12
|
+
name: "pica_credits_history",
|
|
13
|
+
description: "View credit transaction history — what you've spent credits on, " +
|
|
14
|
+
"grants received, bonuses, and refunds. " +
|
|
15
|
+
'Answers "what did I spend my credits on?"',
|
|
16
|
+
inputSchema: {
|
|
17
|
+
type: "object",
|
|
18
|
+
properties: {
|
|
19
|
+
type: {
|
|
20
|
+
type: "string",
|
|
21
|
+
description: "Filter by type: spend, grant, bonus, refund, starter, collaboration, contribution, adjustment",
|
|
22
|
+
},
|
|
23
|
+
limit: {
|
|
24
|
+
type: "number",
|
|
25
|
+
description: "Max results (default 20)",
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
executor: this.creditsHistory.bind(this),
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
definition: {
|
|
34
|
+
name: "pica_storage_status",
|
|
35
|
+
description: "Check storage configuration and usage — which cloud provider is active " +
|
|
36
|
+
"(PICA default, your own S3, GCS, Azure, R2, or Backblaze), " +
|
|
37
|
+
"bucket names, and how much storage you've used.",
|
|
38
|
+
inputSchema: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
executor: this.storageStatus.bind(this),
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
definition: {
|
|
47
|
+
name: "pica_organisation_profile",
|
|
48
|
+
description: "Get your organisation profile — display name, tagline, IPI number, " +
|
|
49
|
+
"default currency, social links, and carbon tracking status.",
|
|
50
|
+
inputSchema: {
|
|
51
|
+
type: "object",
|
|
52
|
+
properties: {},
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
executor: this.orgProfile.bind(this),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
definition: {
|
|
59
|
+
name: "pica_user_profile",
|
|
60
|
+
description: "Get your user profile — name, email, role, creative types, " +
|
|
61
|
+
"AI disclosure defaults, and onboarding status.",
|
|
62
|
+
inputSchema: {
|
|
63
|
+
type: "object",
|
|
64
|
+
properties: {},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
executor: this.userProfile.bind(this),
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
async creditsHistory(args) {
|
|
72
|
+
const result = await this.pica.settings.creditsHistory({
|
|
73
|
+
type: args.type,
|
|
74
|
+
limit: args.limit,
|
|
75
|
+
});
|
|
76
|
+
const transactions = result?.data || result || [];
|
|
77
|
+
return formatStructuredList(Array.isArray(transactions) ? transactions : [], "transaction");
|
|
78
|
+
}
|
|
79
|
+
async storageStatus(_args) {
|
|
80
|
+
const result = await this.pica.settings.storageConfig();
|
|
81
|
+
const config = result?.data || result;
|
|
82
|
+
const provider = config?.storage_provider || "pica_s3";
|
|
83
|
+
return formatSuccess(`Storage provider: ${provider}${provider === "pica_s3" ? " (PICA default)" : " (your own)"}`, config);
|
|
84
|
+
}
|
|
85
|
+
async orgProfile(_args) {
|
|
86
|
+
const result = await this.pica.settings.orgProfile();
|
|
87
|
+
const org = result?.data || result;
|
|
88
|
+
return formatSuccess(`Organisation: ${org?.display_name || "unnamed"}`, org);
|
|
89
|
+
}
|
|
90
|
+
async userProfile(_args) {
|
|
91
|
+
const result = await this.pica.settings.userProfile();
|
|
92
|
+
const profile = result?.data || result;
|
|
93
|
+
return formatSuccess(`User: ${profile?.full_name || profile?.email || "unknown"}`, profile);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/tools/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Share Links MCP Tools — ADR-139 Step 3
|
|
3
|
+
*
|
|
4
|
+
* "Share my song with Tony" or "Send a link to Mark to upload stems"
|
|
5
|
+
* — conversational actions that need MCP tools.
|
|
6
|
+
*/
|
|
7
|
+
import { PicaClient } from "@withpica/mcp-sdk";
|
|
8
|
+
import type { ToolDefinition, ToolExecutor } from "./index.js";
|
|
9
|
+
export declare class ShareLinksTools {
|
|
10
|
+
private pica;
|
|
11
|
+
constructor(pica: PicaClient);
|
|
12
|
+
getTools(): Array<{
|
|
13
|
+
definition: ToolDefinition;
|
|
14
|
+
executor: ToolExecutor;
|
|
15
|
+
}>;
|
|
16
|
+
private listShareLinks;
|
|
17
|
+
private createShareLink;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=share-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share-links.d.ts","sourceRoot":"","sources":["../../src/tools/share-links.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAG3E,qBAAa,eAAe;IAC1B,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;YA+E3D,cAAc;YAoBd,eAAe;CAiC9B"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
|
|
2
|
+
import { formatSuccess } from "@withpica/mcp-utils";
|
|
3
|
+
export class ShareLinksTools {
|
|
4
|
+
pica;
|
|
5
|
+
constructor(pica) {
|
|
6
|
+
this.pica = pica;
|
|
7
|
+
}
|
|
8
|
+
getTools() {
|
|
9
|
+
return [
|
|
10
|
+
{
|
|
11
|
+
definition: {
|
|
12
|
+
name: "pica_share_links_list",
|
|
13
|
+
description: "List existing share links, optionally filtered by work. " +
|
|
14
|
+
"Shows active links with view/download counts and expiry status.",
|
|
15
|
+
inputSchema: {
|
|
16
|
+
type: "object",
|
|
17
|
+
properties: {
|
|
18
|
+
work_id: {
|
|
19
|
+
type: "string",
|
|
20
|
+
description: "Filter share links for a specific work (UUID)",
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
executor: this.listShareLinks.bind(this),
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
definition: {
|
|
29
|
+
name: "pica_share_links_create",
|
|
30
|
+
description: "Create a share link for a work, playlist, or release. " +
|
|
31
|
+
"The link can be password-protected, have a view limit, and expire. " +
|
|
32
|
+
"Returns a URL the recipient can use to access the shared content.",
|
|
33
|
+
inputSchema: {
|
|
34
|
+
type: "object",
|
|
35
|
+
properties: {
|
|
36
|
+
work_id: {
|
|
37
|
+
type: "string",
|
|
38
|
+
description: "Single work ID to share (use this OR work_ids OR release_id)",
|
|
39
|
+
},
|
|
40
|
+
work_ids: {
|
|
41
|
+
type: "array",
|
|
42
|
+
items: { type: "string" },
|
|
43
|
+
description: "Multiple work IDs for a playlist share link",
|
|
44
|
+
},
|
|
45
|
+
release_id: {
|
|
46
|
+
type: "string",
|
|
47
|
+
description: "Release ID for sharing an entire release",
|
|
48
|
+
},
|
|
49
|
+
name: {
|
|
50
|
+
type: "string",
|
|
51
|
+
description: "Display name for the share link (e.g. 'Demo for Tony')",
|
|
52
|
+
},
|
|
53
|
+
password: {
|
|
54
|
+
type: "string",
|
|
55
|
+
description: "Optional password to protect the link",
|
|
56
|
+
},
|
|
57
|
+
expires_at: {
|
|
58
|
+
type: "string",
|
|
59
|
+
description: "Expiry date (ISO format). Link becomes invalid after this date.",
|
|
60
|
+
},
|
|
61
|
+
max_views: {
|
|
62
|
+
type: "number",
|
|
63
|
+
description: "Maximum number of views before the link expires",
|
|
64
|
+
},
|
|
65
|
+
allow_download: {
|
|
66
|
+
type: "boolean",
|
|
67
|
+
description: "Whether recipients can download files (default: false)",
|
|
68
|
+
},
|
|
69
|
+
personal_message: {
|
|
70
|
+
type: "string",
|
|
71
|
+
description: "Optional message shown to the recipient",
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
executor: this.createShareLink.bind(this),
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
async listShareLinks(args) {
|
|
81
|
+
const data = await this.pica.shareLinks.list({
|
|
82
|
+
work_id: args.work_id,
|
|
83
|
+
});
|
|
84
|
+
const links = Array.isArray(data) ? data : [];
|
|
85
|
+
const hints = [];
|
|
86
|
+
if (!links.length && args.work_id) {
|
|
87
|
+
hints.push({
|
|
88
|
+
gap: "no_share_links",
|
|
89
|
+
suggestion: "Create a share link for this work (pica_share_links_create)",
|
|
90
|
+
severity: "nice_to_have",
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return formatSuccess(`Found ${links.length} share link(s)`, links, hints);
|
|
94
|
+
}
|
|
95
|
+
async createShareLink(args) {
|
|
96
|
+
if (!args.work_id && !args.work_ids?.length && !args.release_id) {
|
|
97
|
+
return formatSuccess("Please provide a work_id, work_ids (array), or release_id to create a share link", null);
|
|
98
|
+
}
|
|
99
|
+
const data = await this.pica.shareLinks.create({
|
|
100
|
+
work_id: args.work_id,
|
|
101
|
+
work_ids: args.work_ids,
|
|
102
|
+
release_id: args.release_id,
|
|
103
|
+
name: args.name,
|
|
104
|
+
password: args.password,
|
|
105
|
+
expires_at: args.expires_at,
|
|
106
|
+
max_views: args.max_views,
|
|
107
|
+
allow_download: args.allow_download ?? false,
|
|
108
|
+
personal_message: args.personal_message,
|
|
109
|
+
});
|
|
110
|
+
const hints = [];
|
|
111
|
+
if (data?.token) {
|
|
112
|
+
hints.push({
|
|
113
|
+
gap: "share_link_created",
|
|
114
|
+
suggestion: `Share link created — send the URL to the recipient`,
|
|
115
|
+
severity: "nice_to_have",
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return formatSuccess("Share link created", data, hints);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=share-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"share-links.js","sourceRoot":"","sources":["../../src/tools/share-links.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAW7D,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AAEzE,MAAM,OAAO,eAAe;IAClB,IAAI,CAAa;IAEzB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EACT,0DAA0D;wBAC1D,iEAAiE;oBACnE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,+CAA+C;6BAC7D;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EACT,wDAAwD;wBACxD,qEAAqE;wBACrE,mEAAmE;oBACrE,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,8DAA8D;6BACjE;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,WAAW,EAAE,6CAA6C;6BAC3D;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,0CAA0C;6BACxD;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,wDAAwD;6BAC3D;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uCAAuC;6BACrD;4BACD,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,iEAAiE;6BACpE;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,iDAAiD;6BAC/D;4BACD,cAAc,EAAE;gCACd,IAAI,EAAE,SAAS;gCACf,WAAW,EACT,wDAAwD;6BAC3D;4BACD,gBAAgB,EAAE;gCAChB,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,yCAAyC;6BACvD;yBACF;qBACF;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAyB;QACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9C,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,gBAAgB;gBACrB,UAAU,EACR,6DAA6D;gBAC/D,QAAQ,EAAE,cAAc;aACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC,SAAS,KAAK,CAAC,MAAM,gBAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,IAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,OAAO,aAAa,CAClB,kFAAkF,EAClF,IAAI,CACL,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;YAC5C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;SACxC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,oBAAoB;gBACzB,UAAU,EAAE,oDAAoD;gBAChE,QAAQ,EAAE,cAAc;aACzB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC,oBAAoB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Split Sheets & Recording Splits Tools
|
|
3
|
+
* MCP tools for managing publishing split sheets and master recording ownership splits
|
|
4
|
+
*/
|
|
5
|
+
import { PicaClient } from "@withpica/mcp-sdk";
|
|
6
|
+
import { ToolDefinition, ToolExecutor } from "./index.js";
|
|
7
|
+
export declare class SplitSheetsTools {
|
|
8
|
+
private pica;
|
|
9
|
+
constructor(pica: PicaClient);
|
|
10
|
+
/**
|
|
11
|
+
* Get all split sheet and recording split tools
|
|
12
|
+
*/
|
|
13
|
+
getTools(): Array<{
|
|
14
|
+
definition: ToolDefinition;
|
|
15
|
+
executor: ToolExecutor;
|
|
16
|
+
}>;
|
|
17
|
+
private sendSplitSheet;
|
|
18
|
+
private listSplitSheets;
|
|
19
|
+
private generateSplitSheet;
|
|
20
|
+
private getSplitSheet;
|
|
21
|
+
private listRecordingSplits;
|
|
22
|
+
private createRecordingSplit;
|
|
23
|
+
private verifyRecordingSplit;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=split-sheets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"split-sheets.d.ts","sourceRoot":"","sources":["../../src/tools/split-sheets.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAOtE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAwM3D,cAAc;YAmGd,eAAe;YAWf,kBAAkB;YAOlB,aAAa;YAUb,mBAAmB;YAWnB,oBAAoB;YAQpB,oBAAoB;CASnC"}
|