tru-mcp 0.14.13 → 0.14.14
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/tools/add_agent_signup.js +1 -1
- package/dist/tools/add_agent_signup.js.map +1 -1
- package/dist/tools/configure_webhook.d.ts +2 -0
- package/dist/tools/configure_webhook.js +41 -3
- package/dist/tools/configure_webhook.js.map +1 -1
- package/dist/tools/get_started.js +56 -44
- package/dist/tools/get_started.js.map +1 -1
- package/dist/tools/validate_integration.js +10 -2
- package/dist/tools/validate_integration.js.map +1 -1
- package/package.json +1 -1
|
@@ -39,7 +39,7 @@ export const addAgentSignupTool = {
|
|
|
39
39
|
snippet,
|
|
40
40
|
"```",
|
|
41
41
|
"",
|
|
42
|
-
"This
|
|
42
|
+
"**What this does:** This renders a small link on your login page that points to your agent instruction file (agent.md). When an AI agent visits your login page — for example, when a user asks 'sign me up for ${lookup.app.display_name}' — the agent follows this link to learn how to authenticate users, process payments, and provision accounts on your app using tru. Human visitors won't notice it — it's designed to be subtle.",
|
|
43
43
|
"",
|
|
44
44
|
"**Styling:** The component renders a plain `<a>` element — no Shadow DOM. Read the login page's existing CSS (colors, fonts, spacing, link styles) and write a CSS rule for `tru-agent-signup a` that blends in naturally. Match the muted/secondary text color, font size, and font family already used on the page. Center it if the form is centered.",
|
|
45
45
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add_agent_signup.js","sourceRoot":"","sources":["../../src/tools/add_agent_signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,gBAAgB,CAAC;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,iIAAiI;QACjI,kFAAkF;IACpF,WAAW,EAAE;QACX,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0GAA0G,CAAC;KACxH;IACD,OAAO,EAAE,KAAK,EAAE,IAA+B,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE,EAAE,YAAY,CAAC;YACtE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8FAA8F,EAAE,CAAC;oBAC1I,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAClD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,WAAW,iDAAiD,EAAE,CAAC;oBAChH,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,uCAAuC,CAAC;YAExD,MAAM,KAAK,GAAG;gBACZ,uBAAuB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;gBAChD,EAAE;gBACF,oDAAoD;gBACpD,EAAE;gBACF,SAAS;gBACT,OAAO;gBACP,KAAK;gBACL,EAAE;gBACF,
|
|
1
|
+
{"version":3,"file":"add_agent_signup.js","sourceRoot":"","sources":["../../src/tools/add_agent_signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,gBAAgB,CAAC;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,iIAAiI;QACjI,kFAAkF;IACpF,WAAW,EAAE;QACX,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0GAA0G,CAAC;KACxH;IACD,OAAO,EAAE,KAAK,EAAE,IAA+B,EAAE,EAAE;QACjD,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE,EAAE,YAAY,CAAC;YACtE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,8FAA8F,EAAE,CAAC;oBAC1I,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAClD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,WAAW,iDAAiD,EAAE,CAAC;oBAChH,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,uCAAuC,CAAC;YAExD,MAAM,KAAK,GAAG;gBACZ,uBAAuB,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;gBAChD,EAAE;gBACF,oDAAoD;gBACpD,EAAE;gBACF,SAAS;gBACT,OAAO;gBACP,KAAK;gBACL,EAAE;gBACF,4aAA4a;gBAC5a,EAAE;gBACF,0VAA0V;gBAC1V,EAAE;gBACF,wHAAwH;aACzH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,kBAAkB;YAClB,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;gBACnB,MAAM,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;YAC/D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;aAClD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -4,10 +4,12 @@ export declare const configureWebhookTool: {
|
|
|
4
4
|
description: string;
|
|
5
5
|
inputSchema: {
|
|
6
6
|
webhook_url: z.ZodOptional<z.ZodString>;
|
|
7
|
+
provision_url: z.ZodOptional<z.ZodString>;
|
|
7
8
|
skip: z.ZodOptional<z.ZodBoolean>;
|
|
8
9
|
};
|
|
9
10
|
handler: (args: {
|
|
10
11
|
webhook_url?: string;
|
|
12
|
+
provision_url?: string;
|
|
11
13
|
skip?: boolean;
|
|
12
14
|
}) => Promise<{
|
|
13
15
|
content: {
|
|
@@ -3,15 +3,21 @@ import { lookupAppByServiceName, updateAppSettings, testAppWebhook, reportSetupP
|
|
|
3
3
|
import { getStoredApp } from "tru-cli/config";
|
|
4
4
|
export const configureWebhookTool = {
|
|
5
5
|
name: "dev_configure_webhook",
|
|
6
|
-
description: "Configure webhook delivery for the developer's app. " +
|
|
6
|
+
description: "Configure webhook delivery and/or provision URL for the developer's app. " +
|
|
7
7
|
"Call with no args for guidance on what events to handle. " +
|
|
8
8
|
"Call with webhook_url to set the URL, auto-generate a signing secret, and send a test event. " +
|
|
9
|
-
"Call with
|
|
9
|
+
"Call with provision_url to register the app's provision endpoint (required for auto-provisioning users). " +
|
|
10
|
+
"Call with skip=true to mark webhooks as skipped (not needed for this app). " +
|
|
11
|
+
"You can set both webhook_url and provision_url in a single call.",
|
|
10
12
|
inputSchema: {
|
|
11
13
|
webhook_url: z
|
|
12
14
|
.string()
|
|
13
15
|
.optional()
|
|
14
16
|
.describe("The URL where tru should send webhook events (e.g. https://myapp.com/api/tru/webhook)."),
|
|
17
|
+
provision_url: z
|
|
18
|
+
.string()
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("The URL of the app's provision endpoint (e.g. https://myapp.com/api/tru/provision). tru POSTs user data here to auto-create accounts."),
|
|
15
21
|
skip: z
|
|
16
22
|
.boolean()
|
|
17
23
|
.optional()
|
|
@@ -50,6 +56,35 @@ export const configureWebhookTool = {
|
|
|
50
56
|
}],
|
|
51
57
|
};
|
|
52
58
|
}
|
|
59
|
+
// Register provision URL if provided (can be combined with webhook_url or standalone)
|
|
60
|
+
if (args.provision_url) {
|
|
61
|
+
try {
|
|
62
|
+
new URL(args.provision_url);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return {
|
|
66
|
+
content: [{ type: "text", text: `Invalid provision URL: "${args.provision_url}". Provide a full URL like https://myapp.com/api/tru/provision.` }],
|
|
67
|
+
isError: true,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
await updateAppSettings(appId, { provision_url: args.provision_url });
|
|
71
|
+
await reportSetupProgress(appId, "register_provision_url");
|
|
72
|
+
// If only provision_url was provided (no webhook_url, no skip), return now
|
|
73
|
+
if (!args.webhook_url && !args.skip) {
|
|
74
|
+
return {
|
|
75
|
+
content: [{
|
|
76
|
+
type: "text",
|
|
77
|
+
text: [
|
|
78
|
+
`## Provision URL registered`,
|
|
79
|
+
"",
|
|
80
|
+
`**URL:** ${args.provision_url}`,
|
|
81
|
+
"",
|
|
82
|
+
`tru will POST user data to this endpoint when provisioning new accounts. The payload includes \`email\`, \`name\`, \`tru_user_id\`, and any \`purchases\` the user has made.`,
|
|
83
|
+
].join("\n"),
|
|
84
|
+
}],
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
53
88
|
// Mode 2: Set webhook URL, test delivery
|
|
54
89
|
if (args.webhook_url) {
|
|
55
90
|
// Validate URL format
|
|
@@ -63,7 +98,10 @@ export const configureWebhookTool = {
|
|
|
63
98
|
};
|
|
64
99
|
}
|
|
65
100
|
// Set the webhook URL (server auto-generates signing secret)
|
|
66
|
-
const
|
|
101
|
+
const updates = { webhook_url: args.webhook_url };
|
|
102
|
+
if (args.provision_url)
|
|
103
|
+
updates.provision_url = args.provision_url; // already validated above
|
|
104
|
+
const updated = await updateAppSettings(appId, updates);
|
|
67
105
|
await reportSetupProgress(appId, "configure_webhook_url");
|
|
68
106
|
const secret = updated?.webhook_secret;
|
|
69
107
|
// Send test webhook
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configure_webhook.js","sourceRoot":"","sources":["../../src/tools/configure_webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"configure_webhook.js","sourceRoot":"","sources":["../../src/tools/configure_webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,2EAA2E;QAC3E,2DAA2D;QAC3D,+FAA+F;QAC/F,2GAA2G;QAC3G,6EAA6E;QAC7E,kEAAkE;IACpE,WAAW,EAAE;QACX,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,wFAAwF,CAAC;QACrG,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uIAAuI,CAAC;QACpJ,IAAI,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,yDAAyD,CAAC;KACvE;IACD,OAAO,EAAE,KAAK,EAAE,IAAsE,EAAE,EAAE;QACxF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,EAAE,YAAY,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC;YAEzB,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uDAAuD,EAAE,CAAC;oBACnG,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAClD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,QAAQ,WAAW,iDAAiD,EAAE,CAAC;oBAChH,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YAED,wBAAwB;YACxB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;gBACrD,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE;gCACJ,qBAAqB;gCACrB,EAAE;gCACF,oKAAoK;6BACrK,CAAC,IAAI,CAAC,IAAI,CAAC;yBACb,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,sFAAsF;YACtF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,IAAI,CAAC,aAAa,iEAAiE,EAAE,CAAC;wBAC1J,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBACD,MAAM,iBAAiB,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;gBACtE,MAAM,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;gBAE3D,2EAA2E;gBAC3E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACpC,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE;oCACJ,6BAA6B;oCAC7B,EAAE;oCACF,YAAY,IAAI,CAAC,aAAa,EAAE;oCAChC,EAAE;oCACF,8KAA8K;iCAC/K,CAAC,IAAI,CAAC,IAAI,CAAC;6BACb,CAAC;qBACH,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yCAAyC;YACzC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,sBAAsB;gBACtB,IAAI,CAAC;oBACH,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO;wBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,IAAI,CAAC,WAAW,+DAA+D,EAAE,CAAC;wBAC5I,OAAO,EAAE,IAAI;qBACd,CAAC;gBACJ,CAAC;gBAED,6DAA6D;gBAC7D,MAAM,OAAO,GAA4B,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3E,IAAI,IAAI,CAAC,aAAa;oBAAE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,0BAA0B;gBAC9F,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAQ,CAAC;gBAC/D,MAAM,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;gBAE1D,MAAM,MAAM,GAAG,OAAO,EAAE,cAAc,CAAC;gBAEvC,oBAAoB;gBACpB,IAAI,UAAe,CAAC;gBACpB,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;oBACzC,UAAU,GAAG,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC;gBAC7C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,GAAG,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3E,CAAC;gBAED,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,mBAAmB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,KAAK,GAAG;oBACZ,6BAA6B,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;oBACtD,EAAE;oBACF,YAAY,IAAI,CAAC,WAAW,EAAE;iBAC/B,CAAC;gBAEF,IAAI,MAAM,EAAE,CAAC;oBACX,KAAK,CAAC,IAAI,CAAC,yBAAyB,MAAM,IAAI,CAAC,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,uJAAuJ,CAAC,CAAC;gBACtK,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,IAAI,UAAU,EAAE,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC,+BAA+B,UAAU,EAAE,KAAK,IAAI,mCAAmC,8DAA8D,CAAC,CAAC;oBAClK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACf,KAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;gBACnG,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;gBAClF,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;gBAC3E,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;gBAErF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC7D,CAAC;YACJ,CAAC;YAED,oCAAoC;YACpC,MAAM,KAAK,GAAG;gBACZ,6BAA6B,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;gBACtD,EAAE;gBACF,kIAAkI;gBAClI,EAAE;gBACF,sBAAsB;gBACtB,EAAE;gBACF,mCAAmC;gBACnC,mCAAmC;gBACnC,wEAAwE;gBACxE,mFAAmF;gBACnF,8EAA8E;gBAC9E,yEAAyE;gBACzE,EAAE;gBACF,2BAA2B;gBAC3B,EAAE;gBACF,qIAAqI;gBACrI,+IAA+I;gBAC/I,EAAE;gBACF,gBAAgB;gBAChB,EAAE;gBACF,gFAAgF;gBAChF,EAAE;gBACF,KAAK;gBACL,2EAA2E;gBAC3E,KAAK;gBACL,EAAE;gBACF,wEAAwE;gBACxE,EAAE;gBACF,kCAAkC;gBAClC,EAAE;gBACF,KAAK;gBACL,mCAAmC;gBACnC,KAAK;aACN,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,UAAU,OAAO,EAAE,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -83,7 +83,11 @@ tru is invisible infrastructure. The app's customers see the app's own branding
|
|
|
83
83
|
|
|
84
84
|
Drive through all sections in order. Each section depends on the previous one. Don't stop after each section to ask what the developer wants — just continue to the next section.
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
After each section, there's a **checkpoint** — verify the step completed correctly before moving on. If a checkpoint fails, fix the issue before continuing.
|
|
87
|
+
|
|
88
|
+
### 1. App Profile
|
|
89
|
+
|
|
90
|
+
**Why this matters:** Registering your app gives you an API key and creates your identity on the tru platform. Other tru tools — payments, provisioning, agent discovery — all depend on this. Your app's display name and logo are what your customers see on tru's payment and login screens.
|
|
87
91
|
|
|
88
92
|
**Explore the codebase first** (before authenticating) to auto-fill the registration:
|
|
89
93
|
- \`package.json\` → name, description, homepage
|
|
@@ -115,7 +119,11 @@ The API key is automatically set for this session and saved to MCP config files.
|
|
|
115
119
|
|
|
116
120
|
If the app was already registered in a previous session, the API key is stored in \`.mcp.json\` in the project root under \`mcpServers.tru.env.TRU_API_KEY\`. Check there if you're unsure whether the app is already set up.
|
|
117
121
|
|
|
118
|
-
|
|
122
|
+
**Checkpoint:** Tell the developer: "Your app is registered and your API key is saved. The setup page should have opened in your browser — you can follow along there as we complete each step." Confirm the setup page opened. If it didn't, open \`${BASE_URL}/admin/setup?app_id=APP_ID\` manually.
|
|
123
|
+
|
|
124
|
+
### 2. Payments
|
|
125
|
+
|
|
126
|
+
**Why this matters:** Connecting Stripe lets tru route payments directly to your existing Stripe account. Your customers pay through tru, but the money goes to you — through your own Stripe dashboard, with your own payouts, refunds, and Radar rules. Nothing about your existing Stripe setup changes.
|
|
119
127
|
|
|
120
128
|
**Choose Stripe mode**
|
|
121
129
|
|
|
@@ -146,6 +154,8 @@ After the developer completes Stripe authorization in the browser, explain tru's
|
|
|
146
154
|
- No monthly fee, no setup cost, no per-user fees, no identity verification fees, no API call fees
|
|
147
155
|
- The developer's users pay nothing extra
|
|
148
156
|
|
|
157
|
+
**Checkpoint:** \`dev_connect_stripe\` should report "Stripe connected" with charges_enabled: Yes. If it doesn't, the developer may not have completed authorization in the browser — ask them to check and try again.
|
|
158
|
+
|
|
149
159
|
**Configure products**
|
|
150
160
|
|
|
151
161
|
After Stripe connects, sync the app's product catalog and let the developer choose which products agents can sell:
|
|
@@ -162,21 +172,17 @@ dev_configure_products(product_ids: ["uuid-1", "uuid-2"])
|
|
|
162
172
|
|
|
163
173
|
If the app has no Stripe products yet, skip this step — the developer can always configure products later from the tru admin dashboard.
|
|
164
174
|
|
|
165
|
-
### Provisioning
|
|
175
|
+
### 3. Provisioning
|
|
176
|
+
|
|
177
|
+
**Why this matters:** The provision endpoint is how tru creates accounts on your app for verified users. When someone signs up through tru — whether via an AI agent or your website — tru calls this endpoint with the user's verified identity (email, name) and any purchases they've made. Your app creates the account and returns credentials. Without this, tru can verify users and process payments, but can't actually give them access to your app.
|
|
166
178
|
|
|
167
|
-
|
|
179
|
+
Build the provision endpoint, then register it with tru so tru knows where to send provisioning requests:
|
|
168
180
|
|
|
169
|
-
\`\`\`
|
|
170
|
-
|
|
171
|
-
-H "X-API-Key: $TRU_API_KEY" \\
|
|
172
|
-
-H "Content-Type: application/json" \\
|
|
173
|
-
-d '{
|
|
174
|
-
"provision_url": "https://myapp.com/api/tru/provision",
|
|
175
|
-
"webhook_url": "https://myapp.com/api/tru/webhook"
|
|
176
|
-
}'
|
|
181
|
+
\`\`\`
|
|
182
|
+
dev_configure_webhook(provision_url: "http://localhost:PORT/api/tru/provision")
|
|
177
183
|
\`\`\`
|
|
178
184
|
|
|
179
|
-
Use the
|
|
185
|
+
Use the actual URL where the endpoint will run (localhost during development, production URL later).
|
|
180
186
|
|
|
181
187
|
When a user is provisioned, tru sends their verified info plus any purchases they've made:
|
|
182
188
|
|
|
@@ -232,9 +238,11 @@ app.post('/api/tru/provision', (req, res) => {
|
|
|
232
238
|
});
|
|
233
239
|
\`\`\`
|
|
234
240
|
|
|
235
|
-
|
|
241
|
+
**Checkpoint:** Tell the developer: "I've built your provision endpoint. Restart your server if it doesn't auto-reload, then I'll test it." After the server is running, send a test POST to the provision endpoint to confirm it responds (a 401 from signature verification is fine — it means the endpoint exists and is checking signatures correctly). If it returns 404 or connection refused, help the developer fix the issue before continuing.
|
|
242
|
+
|
|
243
|
+
### 4. Purchase Feedback
|
|
236
244
|
|
|
237
|
-
When a user buys something through tru
|
|
245
|
+
**Why this matters:** When a user buys something through tru, your app needs to know so it can grant access, upgrade their plan, or add credits. There are two purchase paths (web and agent) and your app should handle both.
|
|
238
246
|
|
|
239
247
|
**Web purchases:** tru's \`<tru-pay-button>\` fires a **\`tru:paid\`** event on the button element when payment succeeds. The event detail contains \`{ status, charge_id }\`. The app should listen for this and update both the UI and the server:
|
|
240
248
|
|
|
@@ -262,9 +270,9 @@ Implement a corresponding server endpoint (\`/api/activate-purchase\`) that acti
|
|
|
262
270
|
|
|
263
271
|
**Important:** Always implement both the \`tru:paid\` event listener (for web purchases) and the provision endpoint purchase handling (for agent purchases). Both paths should call the same activation logic.
|
|
264
272
|
|
|
265
|
-
### Admin Dashboard
|
|
273
|
+
### 5. Admin Dashboard
|
|
266
274
|
|
|
267
|
-
|
|
275
|
+
**Why this matters:** Your app needs to know the subscription state of its users — who's on which plan, when payments fail, when subscriptions cancel. tru exposes a simple API for this so you don't need to build complex Stripe webhook handling. You can query any customer's current state on-demand.
|
|
268
276
|
|
|
269
277
|
**Query a customer**
|
|
270
278
|
|
|
@@ -322,14 +330,14 @@ async function syncPlanFromTru(email) {
|
|
|
322
330
|
|
|
323
331
|
This works alongside webhooks — webhooks give you real-time updates, sync-on-login ensures consistency even if a webhook was missed.
|
|
324
332
|
|
|
325
|
-
### Webhooks
|
|
333
|
+
### 6. Webhooks
|
|
326
334
|
|
|
327
|
-
|
|
335
|
+
**Why this matters:** Webhooks let your app react in real time when a subscription renews, a payment fails, or a user cancels. Without webhooks, your app only knows about subscription changes when the user logs in (via sync-on-login). For most apps with recurring billing, both are needed — webhooks for immediacy, sync-on-login for consistency.
|
|
328
336
|
|
|
329
337
|
Run \`dev_configure_webhook()\` first to see guidance on what events to handle. Then build the webhook endpoint and run:
|
|
330
338
|
|
|
331
339
|
\`\`\`
|
|
332
|
-
dev_configure_webhook(webhook_url: "
|
|
340
|
+
dev_configure_webhook(webhook_url: "http://localhost:PORT/api/tru/webhook")
|
|
333
341
|
\`\`\`
|
|
334
342
|
|
|
335
343
|
This sets the URL, auto-generates a signing secret, and sends a test event. If the app doesn't need webhooks (e.g. one-time charges only), run \`dev_configure_webhook(skip: true)\` to skip this step.
|
|
@@ -393,13 +401,11 @@ app.post('/api/tru/webhook', express.raw({ type: 'application/json' }), (req, re
|
|
|
393
401
|
|
|
394
402
|
**Important:** Always return \`200\` promptly. tru does not retry failed webhook deliveries, so handle errors gracefully. Make the handler **idempotent** — processing the same event twice should be safe.
|
|
395
403
|
|
|
396
|
-
|
|
404
|
+
**Checkpoint:** \`dev_configure_webhook\` sends a test event after setting the URL. Confirm the developer's server logged the test event. If it failed, check that the server is running and the endpoint URL is correct. The signing secret is returned in the tool output — remind the developer to save it in their environment variables.
|
|
397
405
|
|
|
398
|
-
|
|
406
|
+
### 7. Agent Discovery
|
|
399
407
|
|
|
400
|
-
**
|
|
401
|
-
|
|
402
|
-
Run \`dev_add_agent_signup(service_name)\` to get a one-line snippet for the login page. Agents browsing the site will see it and sign up users through tru. Add this snippet to the login page HTML.
|
|
408
|
+
**Why this matters:** This is what makes your app visible to AI agents. When an agent is asked to "sign me up for [your app]" or "buy [your product]", it needs to find your app and understand how to interact with it. The agent.md file is your app's instruction manual for AI agents — it explains authentication, provisioning, billing, and API endpoints. Without it, agents can't discover or interact with your app.
|
|
403
409
|
|
|
404
410
|
**Generate agent skill files**
|
|
405
411
|
|
|
@@ -409,17 +415,25 @@ First, generate the content:
|
|
|
409
415
|
|
|
410
416
|
Then write these files into the project's public/static directory. If agent.md or llms.txt already exist, read them first before overwriting.
|
|
411
417
|
|
|
412
|
-
1. **\`agent.md\`** — the app's agent
|
|
418
|
+
1. **\`agent.md\`** — the app's agent instruction file. This is the main document AI agents read to understand how to interact with the app — how to authenticate users, provision accounts, process payments, and call API endpoints. Think of it as the app's API documentation written specifically for AI agents.
|
|
413
419
|
|
|
414
|
-
2. **\`llms.txt\`** — a directory file following the llms.txt standard (https://llmstxt.org). H1 with app name, blockquote summary, links to /agent.md, key endpoints. This is how agents discover the app.
|
|
420
|
+
2. **\`llms.txt\`** — a directory file following the llms.txt standard (https://llmstxt.org). H1 with app name, blockquote summary, links to /agent.md, key endpoints. This is how agents discover the app exists.
|
|
415
421
|
|
|
416
422
|
3. **Link header** — add middleware to set \`Link: </llms.txt>; rel="llms-txt"\` on all responses.
|
|
417
423
|
|
|
418
|
-
4. **Agent discovery links** — add a small link in the app's footer or help page pointing to /agent.md. These are unobtrusive for humans but help agents discover the skill file when browsing the site.
|
|
419
|
-
|
|
420
424
|
These files live in the app's codebase — the app is the source of truth, not tru. The agent.md includes a "Using {app} with tru" section explaining OAuth, provisioning, and billing so any agent reading it understands how tru fits in.
|
|
421
425
|
|
|
422
|
-
|
|
426
|
+
**Add agent signup link to the login page**
|
|
427
|
+
|
|
428
|
+
Run \`dev_add_agent_signup(service_name)\` to get a snippet for the login page.
|
|
429
|
+
|
|
430
|
+
Explain to the developer: "I'm adding a small link to your login page that points AI agents to your agent instruction file (agent.md). When an agent visits your login page — for example, when a user says 'sign me up for [your app]' — it follows this link to learn how to log in, pay, and provision accounts using tru. Human visitors won't notice it, but it's how agents discover your app's capabilities."
|
|
431
|
+
|
|
432
|
+
Add the snippet to the login page HTML.
|
|
433
|
+
|
|
434
|
+
**Checkpoint:** Tell the developer to restart their server if it doesn't auto-reload. Then fetch \`/agent.md\` and \`/llms.txt\` from the app's local URL to confirm they're being served. Both should return 200. If they 404, the files may not be in the right directory — check that they're in the app's static/public folder.
|
|
435
|
+
|
|
436
|
+
### 8. Web Integration (optional)
|
|
423
437
|
|
|
424
438
|
The app's login page already has a line for AI agents to discover it (added in the Agent Discovery section). Now ask the developer: "Would you also like to let **human users** on your website log in and pay with tru?"
|
|
425
439
|
|
|
@@ -518,24 +532,22 @@ This ensures the login form is never visible during the callback redirect.
|
|
|
518
532
|
|
|
519
533
|
**Option D: Skip** — Don't modify the website UI for now. The agent channel and provisioning are already working.
|
|
520
534
|
|
|
521
|
-
### Restart
|
|
522
|
-
|
|
523
|
-
Tell the developer: "I've made changes to your server code — restart your server if it doesn't auto-reload, then I'll validate the integration."
|
|
535
|
+
### 9. Restart & Final Validation
|
|
524
536
|
|
|
525
|
-
|
|
537
|
+
Tell the developer: "I've made changes to your server code — restart your server if it doesn't auto-reload, then I'll run a final validation to make sure everything is working."
|
|
526
538
|
|
|
527
|
-
Run \`dev_validate(service_name)\` to verify the full integration — platform config, Stripe connection, provisioning endpoint, agent discoverability, and any browser SDK integration from the Web Integration section. Fix any issues found.
|
|
539
|
+
Run \`dev_validate(service_name)\` to verify the full integration — platform config, Stripe connection, provisioning endpoint, agent discoverability, and any browser SDK integration from the Web Integration section. Fix any issues found. Re-run validation after each fix until all checks pass.
|
|
528
540
|
|
|
529
|
-
**Setup complete
|
|
541
|
+
**Setup complete!**
|
|
530
542
|
|
|
531
|
-
Summarize what was accomplished
|
|
532
|
-
-
|
|
533
|
-
-
|
|
534
|
-
-
|
|
535
|
-
-
|
|
536
|
-
-
|
|
537
|
-
-
|
|
538
|
-
-
|
|
543
|
+
Summarize what was accomplished:
|
|
544
|
+
- Registered the app with tru (identity, API key)
|
|
545
|
+
- Connected Stripe for payments
|
|
546
|
+
- Configured products for agents to sell
|
|
547
|
+
- Built a provisioning endpoint for automatic user creation
|
|
548
|
+
- Configured webhooks for subscription lifecycle events (or skipped if not needed)
|
|
549
|
+
- Made the app discoverable to AI agents (agent.md, llms.txt)
|
|
550
|
+
- Validated the full integration
|
|
539
551
|
|
|
540
552
|
AI agents can now discover the app, sign users up, and process payments — all flowing through the developer's own Stripe account.
|
|
541
553
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_started.js","sourceRoot":"","sources":["../../src/tools/get_started.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,gBAAgB,CAAC;AAE7D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,IAAI,OAAO,GAAG,OAAO,CAAC;AACtB,IAAI,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACxF,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AACxB,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AAEV,MAAM,UAAU,GAAG;;;;iBAIF,OAAO;;;OAGjB,CAAC;AAER,MAAM,KAAK,GAAG;;;;;;EAMZ,UAAU
|
|
1
|
+
{"version":3,"file":"get_started.js","sourceRoot":"","sources":["../../src/tools/get_started.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAExC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,gBAAgB,CAAC;AAE7D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,IAAI,OAAO,GAAG,OAAO,CAAC;AACtB,IAAI,CAAC;IACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACxF,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AACxB,CAAC;AAAC,MAAM,CAAC,CAAA,CAAC;AAEV,MAAM,UAAU,GAAG;;;;iBAIF,OAAO;;;OAGjB,CAAC;AAER,MAAM,KAAK,GAAG;;;;;;EAMZ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uPA+F2O,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA6UhP,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+KtB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,wDAAwD;QACxD,sEAAsE;QACtE,2DAA2D;IAC7D,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,KAAK,EAAE,KAA4B,EAAE,EAAE;QAC9C,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAClD,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -304,8 +304,7 @@ export const validateIntegrationTool = {
|
|
|
304
304
|
// Section 1: Platform checks
|
|
305
305
|
const { checks: platformChecks, app } = await checkPlatform(serviceName);
|
|
306
306
|
allChecks.push(...platformChecks);
|
|
307
|
-
//
|
|
308
|
-
// Fetch full app details (includes redirect_uris) via authenticated API
|
|
307
|
+
// Fetch full app details (includes redirect_uris, provision_url) via authenticated API
|
|
309
308
|
let fullApp = {};
|
|
310
309
|
if (app) {
|
|
311
310
|
try {
|
|
@@ -313,6 +312,15 @@ export const validateIntegrationTool = {
|
|
|
313
312
|
}
|
|
314
313
|
catch { /* fall back to public data */ }
|
|
315
314
|
}
|
|
315
|
+
// Section 2: Provision endpoint check
|
|
316
|
+
const provisionUrl = fullApp.provision_url;
|
|
317
|
+
if (provisionUrl) {
|
|
318
|
+
const provisionChecks = await checkProvision(provisionUrl);
|
|
319
|
+
allChecks.push(...provisionChecks);
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
allChecks.push(fail("Provision URL", "No provision_url registered. After building the provision endpoint, register it: `dev_configure_webhook(provision_url: \"http://...\")`."));
|
|
323
|
+
}
|
|
316
324
|
const allDetectedSteps = ["validate_integration"];
|
|
317
325
|
// Section 3: Agent discovery checks
|
|
318
326
|
if (app?.website) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate_integration.js","sourceRoot":"","sources":["../../src/tools/validate_integration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate_integration.js","sourceRoot":"","sources":["../../src/tools/validate_integration.ts"],"names":[],"mappings":"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"}
|