tru-mcp 0.14.0 → 0.14.2
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.
|
@@ -475,10 +475,14 @@ See the \`/tru:dev-add-billing\` skill for full examples.
|
|
|
475
475
|
**Option B: Add tru as a login provider**
|
|
476
476
|
|
|
477
477
|
Add a \`<tru-login-button>\` alongside the existing login form so human visitors can sign in with tru instead of typing a password. Follow the \`/tru:dev-add-login\` skill to:
|
|
478
|
-
1.
|
|
479
|
-
2.
|
|
480
|
-
3.
|
|
481
|
-
|
|
478
|
+
1. **Discover the dashboard URL** — find where authenticated users land after login (e.g. \`/admin\`, \`/dashboard\`, \`/app\`). Look at existing login handlers, session redirects, or ask the user.
|
|
479
|
+
2. Add \`<tru-login-button>Log in</tru-login-button>\` to the login page alongside the existing form
|
|
480
|
+
3. **Register the redirect URI** — this is required or OAuth will fail:
|
|
481
|
+
\`PUT /api/apps/:id { redirect_uris: ["http://localhost:PORT/login"] }\`
|
|
482
|
+
The redirect URI must match the page where the login button lives (the SDK defaults to \`window.location.href\`).
|
|
483
|
+
4. Add a \`/api/auth/callback/tru\` route to verify session tokens using the app secret
|
|
484
|
+
5. Add server-side session creation from the verified tru JWT
|
|
485
|
+
6. **After \`tru.handleCallback()\` succeeds, redirect to the dashboard URL** from step 1 (e.g. \`window.location.href = '/admin'\`). Store the dashboard URL in the app settings: \`PUT /api/apps/:id { dashboard_url: "/admin" }\`
|
|
482
486
|
|
|
483
487
|
**Important: prevent login page flash on OAuth callback.** When tru redirects back after login, the URL contains \`#access_token=...\`. If the login page renders before JavaScript processes the token, users see a brief flash of the login form. Fix this by adding an inline \`<script>\` in \`<head>\` — BEFORE any CSS or body content — that hides the page when a callback is detected:
|
|
484
488
|
|
|
@@ -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;;;;EAIZ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgaG,QAAQ
|
|
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;;;;EAIZ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAgaG,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqLtB,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { lookupAppByServiceName, reportSetupProgress } from "tru-cli/api-client";
|
|
2
|
+
import { lookupAppByServiceName, reportSetupProgress, getAppDetails } from "tru-cli/api-client";
|
|
3
3
|
import { getStoredApp } from "tru-cli/config";
|
|
4
4
|
const BASE_URL = process.env.TRU_API_URL || "https://tru.so";
|
|
5
5
|
function pass(label, detail) {
|
|
@@ -51,7 +51,7 @@ async function checkPlatform(serviceName) {
|
|
|
51
51
|
if (app.stripe_connected) {
|
|
52
52
|
checks.push(pass("Stripe connected", `Stripe account linked (${stripeMode} mode)`));
|
|
53
53
|
if (stripeMode === 'test') {
|
|
54
|
-
checks.push(
|
|
54
|
+
checks.push(pass("Stripe mode", "Test mode — switch to live in the dashboard when ready for real payments"));
|
|
55
55
|
}
|
|
56
56
|
else {
|
|
57
57
|
checks.push(pass("Stripe mode", "Live mode — real payments active"));
|
|
@@ -103,15 +103,32 @@ async function checkProvision(provisionUrl) {
|
|
|
103
103
|
}
|
|
104
104
|
return checks;
|
|
105
105
|
}
|
|
106
|
+
// Fetch with a single retry after a delay (handles server restart after file write)
|
|
107
|
+
async function fetchWithRetry(url, retryDelay = 2000) {
|
|
108
|
+
const doFetch = () => {
|
|
109
|
+
const controller = new AbortController();
|
|
110
|
+
const timeout = setTimeout(() => controller.abort(), 10000);
|
|
111
|
+
return fetch(url, { signal: controller.signal }).finally(() => clearTimeout(timeout));
|
|
112
|
+
};
|
|
113
|
+
try {
|
|
114
|
+
const res = await doFetch();
|
|
115
|
+
if (res.ok)
|
|
116
|
+
return res;
|
|
117
|
+
// Non-ok: wait and retry once (server may be restarting via --watch)
|
|
118
|
+
await new Promise(r => setTimeout(r, retryDelay));
|
|
119
|
+
return doFetch();
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
await new Promise(r => setTimeout(r, retryDelay));
|
|
123
|
+
return doFetch();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
106
126
|
async function checkDiscovery(websiteUrl) {
|
|
107
127
|
const checks = [];
|
|
108
128
|
const detectedSteps = [];
|
|
109
129
|
// Check Link header for llms-txt rel
|
|
110
130
|
try {
|
|
111
|
-
const
|
|
112
|
-
const timeout = setTimeout(() => controller.abort(), 10000);
|
|
113
|
-
const res = await fetch(websiteUrl, { signal: controller.signal });
|
|
114
|
-
clearTimeout(timeout);
|
|
131
|
+
const res = await fetchWithRetry(websiteUrl);
|
|
115
132
|
const linkHeader = res.headers.get("link") || "";
|
|
116
133
|
if (/rel=["']?llms-txt["']?/i.test(linkHeader)) {
|
|
117
134
|
checks.push(pass("Link header", `Found Link header with rel="llms-txt"`));
|
|
@@ -126,10 +143,7 @@ async function checkDiscovery(websiteUrl) {
|
|
|
126
143
|
}
|
|
127
144
|
// Check /agent.md
|
|
128
145
|
try {
|
|
129
|
-
const
|
|
130
|
-
const timeout = setTimeout(() => controller.abort(), 10000);
|
|
131
|
-
const res = await fetch(new URL("/agent.md", websiteUrl).href, { signal: controller.signal });
|
|
132
|
-
clearTimeout(timeout);
|
|
146
|
+
const res = await fetchWithRetry(new URL("/agent.md", websiteUrl).href);
|
|
133
147
|
if (res.ok) {
|
|
134
148
|
checks.push(pass("agent.md", "Served at /agent.md"));
|
|
135
149
|
detectedSteps.push("write_agent_md", "generate_skill");
|
|
@@ -143,10 +157,7 @@ async function checkDiscovery(websiteUrl) {
|
|
|
143
157
|
}
|
|
144
158
|
// Check /llms.txt
|
|
145
159
|
try {
|
|
146
|
-
const
|
|
147
|
-
const timeout = setTimeout(() => controller.abort(), 10000);
|
|
148
|
-
const res = await fetch(new URL("/llms.txt", websiteUrl).href, { signal: controller.signal });
|
|
149
|
-
clearTimeout(timeout);
|
|
160
|
+
const res = await fetchWithRetry(new URL("/llms.txt", websiteUrl).href);
|
|
150
161
|
if (res.ok) {
|
|
151
162
|
checks.push(pass("llms.txt", "Served at /llms.txt"));
|
|
152
163
|
detectedSteps.push("write_llms_txt");
|
|
@@ -160,7 +171,7 @@ async function checkDiscovery(websiteUrl) {
|
|
|
160
171
|
}
|
|
161
172
|
return { checks, detectedSteps };
|
|
162
173
|
}
|
|
163
|
-
async function checkFrontend(websiteUrl, serviceName) {
|
|
174
|
+
async function checkFrontend(websiteUrl, serviceName, app) {
|
|
164
175
|
const checks = [];
|
|
165
176
|
const detectedSteps = [];
|
|
166
177
|
// Fetch homepage + common pages where tru components might live
|
|
@@ -214,21 +225,37 @@ async function checkFrontend(websiteUrl, serviceName) {
|
|
|
214
225
|
if (hasPayButton)
|
|
215
226
|
detectedSteps.push("add_pay_buttons");
|
|
216
227
|
}
|
|
217
|
-
//
|
|
228
|
+
// Redirect URI check — login button requires a registered redirect URI
|
|
229
|
+
if (hasLoginButton) {
|
|
230
|
+
const uris = app.redirect_uris || [];
|
|
231
|
+
if (uris.length > 0) {
|
|
232
|
+
checks.push(pass("Redirect URI", `Registered: ${uris.join(", ")}`));
|
|
233
|
+
}
|
|
234
|
+
else {
|
|
235
|
+
checks.push(fail("Redirect URI", "tru-login-button found but no redirect_uris registered. " +
|
|
236
|
+
"The OAuth login flow will fail. Register the login page URL: " +
|
|
237
|
+
`\`PUT /api/apps/:id { redirect_uris: ["${websiteUrl}/login"] }\``));
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Dashboard URL — where users go after login
|
|
241
|
+
if (hasLoginButton) {
|
|
242
|
+
if (app.dashboard_url) {
|
|
243
|
+
checks.push(pass("Post-login redirect", `Dashboard URL: ${app.dashboard_url}`));
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
checks.push(fail("Post-login redirect", "No dashboard_url configured. After login, users need to be redirected somewhere. " +
|
|
247
|
+
"Set it: `PUT /api/apps/:id { dashboard_url: \"/admin\" }` (use your app's authenticated landing page)."));
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
// OAuth callback flash guard — informational only (not a failure)
|
|
218
251
|
if (hasLoginButton) {
|
|
219
|
-
// Look for early <script> in <head> that hides page on #access_token callback
|
|
220
252
|
const headMatch = allHtml.match(/<head[^>]*>([\s\S]*?)<\/head>/i);
|
|
221
253
|
const headContent = headMatch ? headMatch[1] : "";
|
|
222
254
|
const hasCallbackGuard = /access_token/.test(headContent) && /visibility/.test(headContent);
|
|
223
255
|
if (hasCallbackGuard) {
|
|
224
256
|
checks.push(pass("Callback flash guard", "Login page hides during OAuth callback — no flash"));
|
|
225
257
|
}
|
|
226
|
-
|
|
227
|
-
checks.push(fail("Callback flash guard", "Login page may flash during tru OAuth callback. Add an inline <script> in <head> that sets " +
|
|
228
|
-
"`document.documentElement.style.visibility = 'hidden'` when `location.hash` contains `access_token`. " +
|
|
229
|
-
"Restore visibility after `tru.handleCallback()` completes or when there's no callback. " +
|
|
230
|
-
"See the setup guide (Option B: Add tru as a login provider) for the full pattern."));
|
|
231
|
-
}
|
|
258
|
+
// If missing, skip — not all apps need this pattern
|
|
232
259
|
}
|
|
233
260
|
}
|
|
234
261
|
// Scan for bad URL patterns across all pages
|
|
@@ -278,6 +305,14 @@ export const validateIntegrationTool = {
|
|
|
278
305
|
const { checks: platformChecks, app } = await checkPlatform(serviceName);
|
|
279
306
|
allChecks.push(...platformChecks);
|
|
280
307
|
// Section 2: Provision endpoint check (skipped — provision_url not exposed publicly)
|
|
308
|
+
// Fetch full app details (includes redirect_uris) via authenticated API
|
|
309
|
+
let fullApp = {};
|
|
310
|
+
if (app) {
|
|
311
|
+
try {
|
|
312
|
+
fullApp = await getAppDetails(app.id);
|
|
313
|
+
}
|
|
314
|
+
catch { /* fall back to public data */ }
|
|
315
|
+
}
|
|
281
316
|
const allDetectedSteps = ["validate_integration"];
|
|
282
317
|
// Section 3: Agent discovery checks
|
|
283
318
|
if (app?.website) {
|
|
@@ -287,7 +322,12 @@ export const validateIntegrationTool = {
|
|
|
287
322
|
}
|
|
288
323
|
// Section 4: Frontend checks
|
|
289
324
|
if (app?.website) {
|
|
290
|
-
const
|
|
325
|
+
const appWithRedirects = {
|
|
326
|
+
...app,
|
|
327
|
+
redirect_uris: fullApp.redirect_uris || [],
|
|
328
|
+
dashboard_url: fullApp.dashboard_url || undefined,
|
|
329
|
+
};
|
|
330
|
+
const { checks: frontendChecks, detectedSteps: frontendSteps } = await checkFrontend(app.website, serviceName, appWithRedirects);
|
|
291
331
|
allChecks.push(...frontendChecks);
|
|
292
332
|
allDetectedSteps.push(...frontendSteps);
|
|
293
333
|
if (frontendSteps.length > 0)
|
|
@@ -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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"}
|