creator-mcp 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +7 -23
- package/dist/auth.js.map +1 -1
- package/dist/client.d.ts +15 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +79 -24
- package/dist/client.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/tools/pitch.js.map +1 -1
- package/package.json +1 -1
package/dist/auth.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Authentication module for Creator OS MCP server.
|
|
3
3
|
*
|
|
4
4
|
* Supports two authentication methods:
|
|
5
|
-
* 1. MCP API Token (mcp_...):
|
|
5
|
+
* 1. MCP API Token (mcp_...): exchanged on the backend for a short-lived Supabase session
|
|
6
6
|
* 2. Supabase JWT: validated via Supabase Auth API (backward compatible)
|
|
7
7
|
*/
|
|
8
8
|
import type { AuthContext } from "./types.js";
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AA0D9C;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,CAezD"}
|
package/dist/auth.js
CHANGED
|
@@ -2,36 +2,20 @@
|
|
|
2
2
|
* Authentication module for Creator OS MCP server.
|
|
3
3
|
*
|
|
4
4
|
* Supports two authentication methods:
|
|
5
|
-
* 1. MCP API Token (mcp_...):
|
|
5
|
+
* 1. MCP API Token (mcp_...): exchanged on the backend for a short-lived Supabase session
|
|
6
6
|
* 2. Supabase JWT: validated via Supabase Auth API (backward compatible)
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import { createAdminClient, createUserClient } from "./client.js";
|
|
8
|
+
import { createUserClient, exchangeMcpToken } from "./client.js";
|
|
10
9
|
const MCP_TOKEN_PREFIX = "mcp_";
|
|
11
10
|
/**
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
function hashToken(rawToken) {
|
|
15
|
-
return createHash("sha256").update(rawToken).digest("hex");
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Validate an MCP API token (mcp_...) against the mcp_tokens table.
|
|
11
|
+
* Exchange an MCP API token (mcp_...) for a short-lived Supabase session.
|
|
19
12
|
*/
|
|
20
13
|
async function authenticateWithMcpToken(token) {
|
|
21
|
-
const
|
|
22
|
-
const admin = createAdminClient();
|
|
23
|
-
const { data, error } = await admin.rpc("validate_mcp_token", {
|
|
24
|
-
p_token_hash: tokenHash,
|
|
25
|
-
});
|
|
26
|
-
if (error || !data || data.length === 0) {
|
|
27
|
-
throw new Error("Invalid MCP API token — authentication failed. " +
|
|
28
|
-
"Ensure your token has not been revoked.");
|
|
29
|
-
}
|
|
30
|
-
const row = data[0];
|
|
14
|
+
const session = await exchangeMcpToken(token);
|
|
31
15
|
return {
|
|
32
|
-
userId:
|
|
33
|
-
email:
|
|
34
|
-
token,
|
|
16
|
+
userId: session.userId,
|
|
17
|
+
email: session.email,
|
|
18
|
+
token: session.accessToken,
|
|
35
19
|
};
|
|
36
20
|
}
|
|
37
21
|
/**
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjE,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC;;GAEG;AACH,KAAK,UAAU,wBAAwB,CACrC,KAAa;IAEb,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,WAAW;KAC3B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,KAAa;IAC9C,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,GAC9C,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAEjC,IAAI,CAAC,YAAY,IAAI,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,EACJ,IAAI,EAAE,EAAE,IAAI,EAAE,EACd,KAAK,GACN,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,kDAAkD;YAChD,uDAAuD,CAC1D,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,iDAAiD;YAC/C,kEAAkE,CACrE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvC,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Supabase client factory for MCP server.
|
|
3
|
-
*
|
|
3
|
+
* Resolves the Supabase runtime config internally and creates authenticated clients.
|
|
4
4
|
*/
|
|
5
5
|
import { type SupabaseClient } from "@supabase/supabase-js";
|
|
6
|
-
|
|
6
|
+
interface RuntimeConfig {
|
|
7
7
|
supabaseUrl: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
supabasePublishableKey: string;
|
|
9
|
+
}
|
|
10
|
+
interface ExchangedSession {
|
|
11
|
+
accessToken: string;
|
|
12
|
+
expiresAt: number;
|
|
13
|
+
userId: string;
|
|
14
|
+
email: string | null;
|
|
15
|
+
}
|
|
16
|
+
export declare function getRuntimeConfig(): RuntimeConfig;
|
|
11
17
|
/**
|
|
12
18
|
* Create a Supabase client authenticated with the user's Bearer token.
|
|
13
19
|
*/
|
|
14
20
|
export declare function createUserClient(token: string): SupabaseClient;
|
|
15
21
|
/**
|
|
16
|
-
*
|
|
22
|
+
* Exchange an MCP API token for a short-lived Supabase access token.
|
|
23
|
+
* This keeps service-role validation on the backend instead of the user's machine.
|
|
17
24
|
*/
|
|
18
|
-
export declare function
|
|
25
|
+
export declare function exchangeMcpToken(token: string): Promise<ExchangedSession>;
|
|
19
26
|
/**
|
|
20
27
|
* Invoke a Supabase Edge Function using the user's token.
|
|
21
28
|
*/
|
|
22
29
|
export declare function invokeEdgeFunction<T = unknown>(token: string, functionName: string, body?: Record<string, unknown>): Promise<T>;
|
|
30
|
+
export {};
|
|
23
31
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAgB1E,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAYD,wBAAgB,gBAAgB,IAAI,aAAa,CAchD;AAaD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,CAU9D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAmE3B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,GAAG,OAAO,EAClD,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC,CAWZ"}
|
package/dist/client.js
CHANGED
|
@@ -1,44 +1,99 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Supabase client factory for MCP server.
|
|
3
|
-
*
|
|
3
|
+
* Resolves the Supabase runtime config internally and creates authenticated clients.
|
|
4
4
|
*/
|
|
5
5
|
import { createClient } from "@supabase/supabase-js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
const DEFAULT_SUPABASE_URL = "https://mgbirpvtzkroijvkaryr.supabase.co";
|
|
7
|
+
const DEFAULT_SUPABASE_PUBLISHABLE_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im1nYmlycHZ0emtyb2lqdmthcnlyIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzI5MjUzMDUsImV4cCI6MjA4ODUwMTMwNX0.Tqt31_o9NmG21ZG23UDHTQpJr60GKILYiRgQtrhOuWk";
|
|
8
|
+
const MCP_AUTH_EXCHANGE_FUNCTION = "mcp-auth-exchange";
|
|
9
|
+
const SESSION_REFRESH_SKEW_SECONDS = 60;
|
|
10
|
+
let _runtimeConfig;
|
|
11
|
+
const exchangedSessionCache = new Map();
|
|
12
|
+
export function getRuntimeConfig() {
|
|
13
|
+
if (_runtimeConfig) {
|
|
14
|
+
return _runtimeConfig;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
supabaseUrl: _supabaseUrl,
|
|
20
|
-
supabaseAnonKey: _supabaseAnonKey,
|
|
21
|
-
supabaseServiceKey: _supabaseServiceKey,
|
|
16
|
+
_runtimeConfig = {
|
|
17
|
+
supabaseUrl: process.env.CREATOR_OS_SUPABASE_URL?.trim() || DEFAULT_SUPABASE_URL,
|
|
18
|
+
supabasePublishableKey: process.env.CREATOR_OS_SUPABASE_PUBLISHABLE_KEY?.trim() ||
|
|
19
|
+
DEFAULT_SUPABASE_PUBLISHABLE_KEY,
|
|
22
20
|
};
|
|
21
|
+
return _runtimeConfig;
|
|
22
|
+
}
|
|
23
|
+
function createBaseClient() {
|
|
24
|
+
const { supabaseUrl, supabasePublishableKey } = getRuntimeConfig();
|
|
25
|
+
return createClient(supabaseUrl, supabasePublishableKey, {
|
|
26
|
+
auth: {
|
|
27
|
+
persistSession: false,
|
|
28
|
+
autoRefreshToken: false,
|
|
29
|
+
detectSessionInUrl: false,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
23
32
|
}
|
|
24
33
|
/**
|
|
25
34
|
* Create a Supabase client authenticated with the user's Bearer token.
|
|
26
35
|
*/
|
|
27
36
|
export function createUserClient(token) {
|
|
28
|
-
const { supabaseUrl,
|
|
29
|
-
return createClient(supabaseUrl,
|
|
37
|
+
const { supabaseUrl, supabasePublishableKey } = getRuntimeConfig();
|
|
38
|
+
return createClient(supabaseUrl, supabasePublishableKey, {
|
|
30
39
|
global: { headers: { Authorization: `Bearer ${token}` } },
|
|
40
|
+
auth: {
|
|
41
|
+
persistSession: false,
|
|
42
|
+
autoRefreshToken: false,
|
|
43
|
+
detectSessionInUrl: false,
|
|
44
|
+
},
|
|
31
45
|
});
|
|
32
46
|
}
|
|
33
47
|
/**
|
|
34
|
-
*
|
|
48
|
+
* Exchange an MCP API token for a short-lived Supabase access token.
|
|
49
|
+
* This keeps service-role validation on the backend instead of the user's machine.
|
|
35
50
|
*/
|
|
36
|
-
export function
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
51
|
+
export async function exchangeMcpToken(token) {
|
|
52
|
+
const cached = exchangedSessionCache.get(token);
|
|
53
|
+
const now = Math.floor(Date.now() / 1000);
|
|
54
|
+
if (cached &&
|
|
55
|
+
cached.expiresAt - SESSION_REFRESH_SKEW_SECONDS > now) {
|
|
56
|
+
return cached;
|
|
57
|
+
}
|
|
58
|
+
const { supabaseUrl, supabasePublishableKey } = getRuntimeConfig();
|
|
59
|
+
const response = await fetch(`${supabaseUrl}/functions/v1/${MCP_AUTH_EXCHANGE_FUNCTION}`, {
|
|
60
|
+
method: "POST",
|
|
61
|
+
headers: {
|
|
62
|
+
Authorization: `Bearer ${token}`,
|
|
63
|
+
apikey: supabasePublishableKey,
|
|
64
|
+
"Content-Type": "application/json",
|
|
65
|
+
},
|
|
66
|
+
body: "{}",
|
|
67
|
+
});
|
|
68
|
+
const payload = (await response.json().catch(() => null));
|
|
69
|
+
if (!response.ok) {
|
|
70
|
+
const message = payload && "error" in payload && payload.error
|
|
71
|
+
? payload.error
|
|
72
|
+
: "Failed to exchange MCP token";
|
|
73
|
+
throw new Error(message);
|
|
40
74
|
}
|
|
41
|
-
|
|
75
|
+
if (!payload ||
|
|
76
|
+
!("token_hash" in payload) ||
|
|
77
|
+
!payload.token_hash ||
|
|
78
|
+
!payload.verification_type) {
|
|
79
|
+
throw new Error("MCP auth exchange returned an invalid response");
|
|
80
|
+
}
|
|
81
|
+
const client = createBaseClient();
|
|
82
|
+
const { data, error } = await client.auth.verifyOtp({
|
|
83
|
+
token_hash: payload.token_hash,
|
|
84
|
+
type: payload.verification_type,
|
|
85
|
+
});
|
|
86
|
+
if (error || !data.session?.access_token || !data.user?.id) {
|
|
87
|
+
throw new Error(error?.message ?? "Failed to establish a Supabase session for MCP");
|
|
88
|
+
}
|
|
89
|
+
const session = {
|
|
90
|
+
accessToken: data.session.access_token,
|
|
91
|
+
expiresAt: data.session.expires_at ?? now + 3600,
|
|
92
|
+
userId: data.user.id,
|
|
93
|
+
email: data.user.email ?? payload.email,
|
|
94
|
+
};
|
|
95
|
+
exchangedSessionCache.set(token, session);
|
|
96
|
+
return session;
|
|
42
97
|
}
|
|
43
98
|
/**
|
|
44
99
|
* Invoke a Supabase Edge Function using the user's token.
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,uBAAuB,CAAC;AAE1E,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -38,10 +38,10 @@ const server = new McpServer({
|
|
|
38
38
|
" 2. Supabase JWT — your Supabase access token (backward compatible)",
|
|
39
39
|
"",
|
|
40
40
|
"Environment variables needed:",
|
|
41
|
-
" CREATOR_OS_TOKEN
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
41
|
+
" CREATOR_OS_TOKEN — MCP API token or Supabase JWT (required)",
|
|
42
|
+
"Optional overrides for self-hosted/dev environments:",
|
|
43
|
+
" CREATOR_OS_SUPABASE_URL — Override the default Supabase project URL",
|
|
44
|
+
" CREATOR_OS_SUPABASE_PUBLISHABLE_KEY — Override the default Supabase publishable key",
|
|
45
45
|
].join("\n"),
|
|
46
46
|
capabilities: {
|
|
47
47
|
logging: {},
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,6EAA6E;QAC7E,uBAAuB;QACvB,EAAE;QACF,iEAAiE;QACjE,2BAA2B;QAC3B,qFAAqF;QACrF,sEAAsE;QACtE,EAAE;QACF,+BAA+B;QAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;IACE,IAAI,EAAE,gBAAgB;IACtB,OAAO,EAAE,OAAO;CACjB,EACD;IACE,YAAY,EAAE;QACZ,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,6EAA6E;QAC7E,uBAAuB;QACvB,EAAE;QACF,iEAAiE;QACjE,2BAA2B;QAC3B,qFAAqF;QACrF,sEAAsE;QACtE,EAAE;QACF,+BAA+B;QAC/B,kFAAkF;QAClF,sDAAsD;QACtD,kFAAkF;QAClF,uFAAuF;KACxF,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,YAAY,EAAE;QACZ,OAAO,EAAE,EAAE;KACZ;CACF,CACF,CAAC;AAEF,sEAAsE;AACtE,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC9B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;AACxB,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC5B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;AAExB,sEAAsE;AACtE,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAEhC,sEAAsE;AACtE,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC1B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC"}
|
package/dist/tools/pitch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pitch.js","sourceRoot":"","sources":["../../src/tools/pitch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"pitch.js","sourceRoot":"","sources":["../../src/tools/pitch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED