@trusty-squire/mcp 0.6.15-rc.9 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +8 -0
- package/dist/bin.js.map +1 -1
- package/dist/bot/agent.d.ts +39 -0
- package/dist/bot/agent.d.ts.map +1 -1
- package/dist/bot/agent.js +1341 -20
- package/dist/bot/agent.js.map +1 -1
- package/dist/bot/browser.d.ts +13 -0
- package/dist/bot/browser.d.ts.map +1 -1
- package/dist/bot/browser.js +573 -31
- package/dist/bot/browser.js.map +1 -1
- package/dist/bot/captcha-solver-2captcha.d.ts +42 -0
- package/dist/bot/captcha-solver-2captcha.d.ts.map +1 -0
- package/dist/bot/captcha-solver-2captcha.js +144 -0
- package/dist/bot/captcha-solver-2captcha.js.map +1 -0
- package/dist/bot/index.d.ts +2 -0
- package/dist/bot/index.d.ts.map +1 -1
- package/dist/bot/index.js +2 -0
- package/dist/bot/index.js.map +1 -1
- package/dist/bot/llm-client.d.ts +2 -1
- package/dist/bot/llm-client.d.ts.map +1 -1
- package/dist/bot/llm-client.js +19 -2
- package/dist/bot/llm-client.js.map +1 -1
- package/dist/bot/notify-api.d.ts +2 -0
- package/dist/bot/notify-api.d.ts.map +1 -1
- package/dist/bot/notify-api.js +13 -5
- package/dist/bot/notify-api.js.map +1 -1
- package/dist/bot/promote-to-skill.d.ts +9 -0
- package/dist/bot/promote-to-skill.d.ts.map +1 -1
- package/dist/bot/promote-to-skill.js +98 -7
- package/dist/bot/promote-to-skill.js.map +1 -1
- package/dist/bot/read-otp.d.ts +14 -0
- package/dist/bot/read-otp.d.ts.map +1 -0
- package/dist/bot/read-otp.js +96 -0
- package/dist/bot/read-otp.js.map +1 -0
- package/dist/bot/redact.d.ts +2 -0
- package/dist/bot/redact.d.ts.map +1 -0
- package/dist/bot/redact.js +61 -0
- package/dist/bot/redact.js.map +1 -0
- package/dist/bot/telegram-notify.d.ts +8 -0
- package/dist/bot/telegram-notify.d.ts.map +1 -0
- package/dist/bot/telegram-notify.js +134 -0
- package/dist/bot/telegram-notify.js.map +1 -0
- package/dist/skill-cli/cli.js +14 -3
- package/dist/skill-cli/cli.js.map +1 -1
- package/dist/tools/provision-any.d.ts.map +1 -1
- package/dist/tools/provision-any.js +26 -1
- package/dist/tools/provision-any.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// Bot-side client for POST /v1/inbox/poll-operator-otp.
|
|
2
|
+
//
|
|
3
|
+
// Fires from agent.ts's email_otp_required gate (rc.24) — instead
|
|
4
|
+
// of aborting, the bot asks the API to read the operator's gmail
|
|
5
|
+
// inbox via IMAP for the verification code, then submits it. Best-
|
|
6
|
+
// effort: failures degrade to the prior abort behavior. Polls a few
|
|
7
|
+
// times with backoff because services occasionally take 5-15s to
|
|
8
|
+
// actually dispatch the email after the OAuth callback completes.
|
|
9
|
+
const DEFAULT_API_BASE = "https://trusty-squire-api.fly.dev";
|
|
10
|
+
const POLL_INTERVAL_MS = 5_000;
|
|
11
|
+
// Poll the API for the latest OTP from the operator's gmail. Returns
|
|
12
|
+
// the matched code, or null when no message arrived in the window /
|
|
13
|
+
// the IMAP call failed. Never throws.
|
|
14
|
+
export async function readOperatorOtp(input) {
|
|
15
|
+
if (input.machineToken === undefined || input.machineToken.length === 0) {
|
|
16
|
+
return { code: null, reason: "no_machine_token" };
|
|
17
|
+
}
|
|
18
|
+
const base = input.apiBase !== undefined && input.apiBase.length > 0
|
|
19
|
+
? input.apiBase
|
|
20
|
+
: DEFAULT_API_BASE;
|
|
21
|
+
const maxWait = input.maxWaitSeconds !== undefined ? input.maxWaitSeconds : 90;
|
|
22
|
+
const startTime = Date.now();
|
|
23
|
+
const deadline = startTime + maxWait * 1000;
|
|
24
|
+
let lastReason = "no_attempts";
|
|
25
|
+
while (Date.now() < deadline) {
|
|
26
|
+
// rc.32 — since_seconds is the elapsed time SINCE THIS POLL
|
|
27
|
+
// STARTED, plus a small lead-in. Tight by design — picks up
|
|
28
|
+
// only emails delivered AFTER the bot triggered the signup
|
|
29
|
+
// flow. The naive 120s window in rc.27 surfaced stale codes
|
|
30
|
+
// from prior attempts that were still in the inbox.
|
|
31
|
+
const elapsedSeconds = Math.ceil((Date.now() - startTime) / 1000);
|
|
32
|
+
const sinceSeconds = Math.max(10, elapsedSeconds + 15);
|
|
33
|
+
const body = {
|
|
34
|
+
since_seconds: sinceSeconds,
|
|
35
|
+
...(input.fromDomain !== undefined && input.fromDomain.length > 0
|
|
36
|
+
? { from_domain: input.fromDomain }
|
|
37
|
+
: {}),
|
|
38
|
+
...(input.otpPattern !== undefined && input.otpPattern.length > 0
|
|
39
|
+
? { otp_pattern: input.otpPattern }
|
|
40
|
+
: {}),
|
|
41
|
+
};
|
|
42
|
+
try {
|
|
43
|
+
const res = await fetch(`${base}/v1/inbox/poll-operator-otp`, {
|
|
44
|
+
method: "POST",
|
|
45
|
+
headers: {
|
|
46
|
+
"content-type": "application/json",
|
|
47
|
+
authorization: `Bearer ${input.machineToken}`,
|
|
48
|
+
},
|
|
49
|
+
body: JSON.stringify(body),
|
|
50
|
+
});
|
|
51
|
+
if (!res.ok) {
|
|
52
|
+
lastReason = `http_${res.status}`;
|
|
53
|
+
if (res.status === 401 || res.status === 503) {
|
|
54
|
+
// 401: bad token (won't fix on retry). 503: gmail not
|
|
55
|
+
// configured on the server (won't fix on retry).
|
|
56
|
+
return { code: null, reason: lastReason };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
const payload = (await res.json());
|
|
61
|
+
if (payload.code !== null && payload.code !== undefined) {
|
|
62
|
+
return { code: payload.code, reason: "found" };
|
|
63
|
+
}
|
|
64
|
+
lastReason = payload.reason ?? "no_match";
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
lastReason = `network_${err instanceof Error ? err.message : String(err)}`;
|
|
69
|
+
}
|
|
70
|
+
// Sleep before the next poll attempt unless we'd blow the budget.
|
|
71
|
+
if (Date.now() + POLL_INTERVAL_MS >= deadline)
|
|
72
|
+
break;
|
|
73
|
+
await new Promise((r) => setTimeout(r, POLL_INTERVAL_MS));
|
|
74
|
+
}
|
|
75
|
+
return { code: null, reason: lastReason };
|
|
76
|
+
}
|
|
77
|
+
// Best-effort extraction of a from-domain from a URL. Returns the
|
|
78
|
+
// hostname's eTLD+1-ish chunk (last two labels). Used as the
|
|
79
|
+
// from_domain filter so a Porter signup doesn't pick up a Koyeb code.
|
|
80
|
+
export function fromDomainFromUrl(url) {
|
|
81
|
+
try {
|
|
82
|
+
const host = new URL(url).hostname.toLowerCase();
|
|
83
|
+
const parts = host.split(".").filter((p) => p.length > 0);
|
|
84
|
+
if (parts.length < 2)
|
|
85
|
+
return null;
|
|
86
|
+
// Two-label suffix handles porter.run, koyeb.com, etc. Doesn't
|
|
87
|
+
// try to handle .co.uk-style multi-part TLDs — Porter and Koyeb
|
|
88
|
+
// are plain two-label domains and that's the dominant case for
|
|
89
|
+
// the WorkOS OTP flow.
|
|
90
|
+
return parts.slice(-2).join(".");
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=read-otp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-otp.js","sourceRoot":"","sources":["../../src/bot/read-otp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../src/bot/redact.ts"],"names":[],"mappings":"AAkDA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWtD"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Credential redactor — keeps known-shape API tokens out of step
|
|
2
|
+
// trails / error messages / any string the bot returns in
|
|
3
|
+
// SignupResult or uploads to the registry.
|
|
4
|
+
//
|
|
5
|
+
// Background: 2026-05-26 — a Supabase + PlanetScale signup attempt
|
|
6
|
+
// dumped the actual extracted API tokens into the harvester's
|
|
7
|
+
// GitHub issue comment via the planner's `reason` field, which the
|
|
8
|
+
// step trail printed verbatim. Same bug also leaked a Neon token
|
|
9
|
+
// to issue #35. The harvester now redacts at the public-surface
|
|
10
|
+
// boundary; this module is the bot-side equivalent so step trails
|
|
11
|
+
// are clean BEFORE they ever leave SignupAgent.signup() — covers
|
|
12
|
+
// the registry-upload + roundUploader paths the harvester doesn't
|
|
13
|
+
// sit in front of.
|
|
14
|
+
//
|
|
15
|
+
// Conservative: only strips substrings matching service-specific
|
|
16
|
+
// prefix patterns the bot itself produces. Same set as the
|
|
17
|
+
// harvester's tools/archived-harvester/redact.mjs — keep them in lockstep.
|
|
18
|
+
const TOKEN_PATTERNS = [
|
|
19
|
+
/\bsk-or-v1-[a-f0-9]{40,80}/gi,
|
|
20
|
+
/\bsk-ant-[a-zA-Z0-9_\-]{40,120}/g,
|
|
21
|
+
/\bsk-proj-[a-zA-Z0-9_\-]{40,200}/g,
|
|
22
|
+
/\bsk-[a-zA-Z0-9]{40,60}/g,
|
|
23
|
+
/\bsk_(?:live|test)_[a-zA-Z0-9]{20,}/g,
|
|
24
|
+
/\bre_[a-zA-Z0-9_]{20,}/g,
|
|
25
|
+
/\bSG\.[a-zA-Z0-9_\-]{20,}\.[a-zA-Z0-9_\-]{20,}/g,
|
|
26
|
+
/\bkey-[a-f0-9]{32}/g,
|
|
27
|
+
/\bsntr[su]_[A-Za-z0-9_=\-]{20,}/g,
|
|
28
|
+
/\brnd_[a-zA-Z0-9]{20,}/g,
|
|
29
|
+
/\bpscale_tkn_[A-Za-z0-9]{30,}/gi,
|
|
30
|
+
/\bsbp_[A-Za-z0-9]{30,}/gi,
|
|
31
|
+
/\bnapi_[a-zA-Z0-9]{30,80}/g,
|
|
32
|
+
/\br8_[a-zA-Z0-9]{30,60}/g,
|
|
33
|
+
// rc.23 / rc.35 — Baseten (6-12 alnum . 30+ alnum)
|
|
34
|
+
/\b[A-Za-z0-9]{6,12}\.[A-Za-z0-9]{30,50}\b/g,
|
|
35
|
+
// rc.23 / rc.34 / rc.36 — Qdrant Cloud (UUID|opaque-55+, allowing _ and - in body)
|
|
36
|
+
/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\|[A-Za-z0-9_\-]{30,80}\b/gi,
|
|
37
|
+
// rc.23 — JWT (Convex, others)
|
|
38
|
+
/\beyJ[A-Za-z0-9_\-]{20,}\.eyJ[A-Za-z0-9_\-]{20,}\.[A-Za-z0-9_\-]{20,}\b/g,
|
|
39
|
+
/\btsm_[A-Za-z0-9]{30,}/g,
|
|
40
|
+
/\bwhsec_[A-Za-z0-9+/=]{20,}/g,
|
|
41
|
+
/\bcfut_[A-Za-z0-9]{40,}/g,
|
|
42
|
+
/\bcfat_[A-Za-z0-9]{40,}/g,
|
|
43
|
+
/\bnpm_[A-Za-z0-9]{30,}/g,
|
|
44
|
+
];
|
|
45
|
+
// Replace each known-shape token with a redaction marker that
|
|
46
|
+
// preserves the prefix + last 6 chars (for distinguishing leaks of
|
|
47
|
+
// distinct keys in the same trail). New service prefixes go here AND
|
|
48
|
+
// in extractApiKeyFromText so they stay in sync.
|
|
49
|
+
export function redactCredentials(text) {
|
|
50
|
+
let out = text;
|
|
51
|
+
for (const re of TOKEN_PATTERNS) {
|
|
52
|
+
out = out.replace(re, (m) => {
|
|
53
|
+
const sepIdx = Math.max(m.indexOf("_"), m.indexOf("-"));
|
|
54
|
+
const prefix = sepIdx > 0 ? m.slice(0, sepIdx + 1) : m.slice(0, 3);
|
|
55
|
+
const tail = m.slice(-6);
|
|
56
|
+
return `${prefix}REDACTED…${tail}`;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return out;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=redact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redact.js","sourceRoot":"","sources":["../../src/bot/redact.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,0DAA0D;AAC1D,2CAA2C;AAC3C,EAAE;AACF,mEAAmE;AACnE,8DAA8D;AAC9D,mEAAmE;AACnE,iEAAiE;AACjE,gEAAgE;AAChE,kEAAkE;AAClE,iEAAiE;AACjE,kEAAkE;AAClE,mBAAmB;AACnB,EAAE;AACF,iEAAiE;AACjE,2DAA2D;AAC3D,2EAA2E;AAE3E,MAAM,cAAc,GAA0B;IAC5C,8BAA8B;IAC9B,kCAAkC;IAClC,mCAAmC;IACnC,0BAA0B;IAC1B,sCAAsC;IACtC,yBAAyB;IACzB,iDAAiD;IACjD,qBAAqB;IACrB,kCAAkC;IAClC,yBAAyB;IACzB,iCAAiC;IACjC,0BAA0B;IAC1B,4BAA4B;IAC5B,0BAA0B;IAC1B,mDAAmD;IACnD,4CAA4C;IAC5C,mFAAmF;IACnF,2FAA2F;IAC3F,+BAA+B;IAC/B,0EAA0E;IAC1E,yBAAyB;IACzB,8BAA8B;IAC9B,0BAA0B;IAC1B,0BAA0B;IAC1B,yBAAyB;CAC1B,CAAC;AAEF,8DAA8D;AAC9D,mEAAmE;AACnE,qEAAqE;AACrE,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAChC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,OAAO,GAAG,MAAM,YAAY,IAAI,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface TelegramHeightenedAuthInput {
|
|
2
|
+
service: string;
|
|
3
|
+
digit: string | null;
|
|
4
|
+
windowSeconds: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function sendTelegramHeightenedAuth(input: TelegramHeightenedAuthInput): Promise<boolean>;
|
|
7
|
+
export declare function formatMessage(input: TelegramHeightenedAuthInput): string;
|
|
8
|
+
//# sourceMappingURL=telegram-notify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-notify.d.ts","sourceRoot":"","sources":["../../src/bot/telegram-notify.ts"],"names":[],"mappings":"AA+BA,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAID,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,2BAA2B,GAAG,MAAM,CAexE"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// Telegram fallback for heightened-auth alerts.
|
|
2
|
+
//
|
|
3
|
+
// The API's /v1/notify/heightened-auth fires an email via Gmail SMTP
|
|
4
|
+
// authed as the operator's gmail. When GMAIL_USER == account.email
|
|
5
|
+
// (the harvester case where the operator and the only paired user
|
|
6
|
+
// are the same gmail account), Gmail collapses the self-send to the
|
|
7
|
+
// Sent folder and it never reaches the Inbox. The user never sees
|
|
8
|
+
// the digit.
|
|
9
|
+
//
|
|
10
|
+
// This module sends the digit to a Telegram bot/chat directly from
|
|
11
|
+
// the bot, bypassing email entirely. Opt-in via TELEGRAM_BOT_TOKEN
|
|
12
|
+
// in the bot's env — when unset, this module is a no-op and the
|
|
13
|
+
// email path is the only delivery channel. The harvester's
|
|
14
|
+
// harvester.env already sets the token, so the harvester run is
|
|
15
|
+
// covered automatically.
|
|
16
|
+
//
|
|
17
|
+
// chat_id resolution mirrors the harvester's tools/archived-harvester/
|
|
18
|
+
// telegram.mjs: read ~/.trusty-squire/telegram-chat-id.txt (cached
|
|
19
|
+
// from the first /start), fall back to getUpdates if absent, persist
|
|
20
|
+
// the discovered id. Sharing the cache file with the harvester means
|
|
21
|
+
// no extra one-time setup for the bot-side path on machines where
|
|
22
|
+
// the harvester already runs.
|
|
23
|
+
import { homedir } from "node:os";
|
|
24
|
+
import { join } from "node:path";
|
|
25
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
26
|
+
const TELEGRAM_API = "https://api.telegram.org";
|
|
27
|
+
const CHAT_ID_PATH = join(homedir(), ".trusty-squire", "telegram-chat-id.txt");
|
|
28
|
+
const MAX_MESSAGE_LEN = 4096;
|
|
29
|
+
// Fire-and-forget. Returns true on POST success, false on any failure
|
|
30
|
+
// (missing token, missing chat id, HTTP error). Never throws.
|
|
31
|
+
export async function sendTelegramHeightenedAuth(input) {
|
|
32
|
+
const token = process.env.TELEGRAM_BOT_TOKEN;
|
|
33
|
+
if (token === undefined || token.length === 0)
|
|
34
|
+
return false;
|
|
35
|
+
const chatId = await resolveChatId(token);
|
|
36
|
+
if (chatId === null)
|
|
37
|
+
return false;
|
|
38
|
+
const text = formatMessage(input);
|
|
39
|
+
return await postSendMessage(token, chatId, text);
|
|
40
|
+
}
|
|
41
|
+
// Exported for unit testing.
|
|
42
|
+
export function formatMessage(input) {
|
|
43
|
+
if (input.digit !== null) {
|
|
44
|
+
return (`🔐 Google number-match on ${input.service}\n\n` +
|
|
45
|
+
`Tap *${input.digit}* on your phone — ${input.windowSeconds}-second window.\n\n` +
|
|
46
|
+
`(Trusty Squire bot mid-OAuth handshake.)`);
|
|
47
|
+
}
|
|
48
|
+
return (`🔐 Google challenge on ${input.service}\n\n` +
|
|
49
|
+
`A number-match prompt was detected but the bot couldn't read the digit. ` +
|
|
50
|
+
`Open the Google app on your phone, then tap the number the prompt shows — ` +
|
|
51
|
+
`${input.windowSeconds}-second window.\n\n` +
|
|
52
|
+
`(Trusty Squire bot mid-OAuth handshake.)`);
|
|
53
|
+
}
|
|
54
|
+
async function resolveChatId(token) {
|
|
55
|
+
// Env override wins. Lets the operator pin a specific chat
|
|
56
|
+
// (group/channel) without depending on the cache file, and gives
|
|
57
|
+
// tests a clean injection point.
|
|
58
|
+
const envChatId = process.env.TELEGRAM_CHAT_ID;
|
|
59
|
+
if (envChatId !== undefined && envChatId.length > 0) {
|
|
60
|
+
const n = Number(envChatId);
|
|
61
|
+
if (Number.isFinite(n))
|
|
62
|
+
return n;
|
|
63
|
+
}
|
|
64
|
+
const cached = loadCachedChatId();
|
|
65
|
+
if (cached !== null)
|
|
66
|
+
return cached;
|
|
67
|
+
const fromUpdates = await fetchChatIdFromUpdates(token);
|
|
68
|
+
if (fromUpdates !== null)
|
|
69
|
+
persistChatId(fromUpdates);
|
|
70
|
+
return fromUpdates;
|
|
71
|
+
}
|
|
72
|
+
function loadCachedChatId() {
|
|
73
|
+
try {
|
|
74
|
+
if (!existsSync(CHAT_ID_PATH))
|
|
75
|
+
return null;
|
|
76
|
+
const raw = readFileSync(CHAT_ID_PATH, "utf8").trim();
|
|
77
|
+
const id = Number(raw);
|
|
78
|
+
return Number.isFinite(id) ? id : null;
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function persistChatId(id) {
|
|
85
|
+
try {
|
|
86
|
+
mkdirSync(join(homedir(), ".trusty-squire"), { recursive: true });
|
|
87
|
+
writeFileSync(CHAT_ID_PATH, `${id}\n`);
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
// Non-fatal; next call will re-fetch.
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async function fetchChatIdFromUpdates(token) {
|
|
94
|
+
try {
|
|
95
|
+
const res = await fetch(`${TELEGRAM_API}/bot${token}/getUpdates`);
|
|
96
|
+
if (!res.ok)
|
|
97
|
+
return null;
|
|
98
|
+
const body = (await res.json());
|
|
99
|
+
if (body.ok !== true || !Array.isArray(body.result))
|
|
100
|
+
return null;
|
|
101
|
+
for (let i = body.result.length - 1; i >= 0; i--) {
|
|
102
|
+
const u = body.result[i];
|
|
103
|
+
const id = u?.message?.chat?.id ?? u?.channel_post?.chat?.id;
|
|
104
|
+
if (typeof id === "number")
|
|
105
|
+
return id;
|
|
106
|
+
}
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async function postSendMessage(token, chatId, text) {
|
|
114
|
+
try {
|
|
115
|
+
const truncated = text.length <= MAX_MESSAGE_LEN
|
|
116
|
+
? text
|
|
117
|
+
: text.slice(0, MAX_MESSAGE_LEN - 32) + "\n…[truncated]";
|
|
118
|
+
const res = await fetch(`${TELEGRAM_API}/bot${token}/sendMessage`, {
|
|
119
|
+
method: "POST",
|
|
120
|
+
headers: { "content-type": "application/json" },
|
|
121
|
+
body: JSON.stringify({
|
|
122
|
+
chat_id: chatId,
|
|
123
|
+
text: truncated,
|
|
124
|
+
parse_mode: "Markdown",
|
|
125
|
+
disable_web_page_preview: true,
|
|
126
|
+
}),
|
|
127
|
+
});
|
|
128
|
+
return res.ok;
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=telegram-notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telegram-notify.js","sourceRoot":"","sources":["../../src/bot/telegram-notify.ts"],"names":[],"mappings":"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"}
|
package/dist/skill-cli/cli.js
CHANGED
|
@@ -306,7 +306,7 @@ async function cmdApprove(argv, client, out) {
|
|
|
306
306
|
}
|
|
307
307
|
async function cmdPromote(argv, client, out, opts) {
|
|
308
308
|
const parsed = parseFlags(argv);
|
|
309
|
-
rejectUnknownFlags(parsed, new Set(["run-id", "corpus-dir", "dry-run", "json"]));
|
|
309
|
+
rejectUnknownFlags(parsed, new Set(["run-id", "corpus-dir", "dry-run", "json", "skip-verifier"]));
|
|
310
310
|
requirePositional(parsed, 1, "service");
|
|
311
311
|
const service = parsed.positional[0];
|
|
312
312
|
const runId = parsed.flags["run-id"];
|
|
@@ -320,9 +320,18 @@ async function cmdPromote(argv, client, out, opts) {
|
|
|
320
320
|
const dir = path.join(corpusRoot, service);
|
|
321
321
|
const dryRun = parsed.booleans.has("dry-run");
|
|
322
322
|
const json = parsed.booleans.has("json");
|
|
323
|
+
// --skip-verifier — operator vouches the skill is already validated
|
|
324
|
+
// and lands it directly as active. Default is pending-review (the
|
|
325
|
+
// two-tier registry's staging slot, gated by the verifier worker).
|
|
326
|
+
const skipVerifier = parsed.booleans.has("skip-verifier");
|
|
323
327
|
// Stage 1 — synthesize. Capture-chain verification, step translation,
|
|
324
328
|
// credential-spec inference, schema validation all happen here.
|
|
325
|
-
const result = promoteToSkill({
|
|
329
|
+
const result = promoteToSkill({
|
|
330
|
+
dir,
|
|
331
|
+
service,
|
|
332
|
+
run_id: runId,
|
|
333
|
+
...(skipVerifier ? { status: "active" } : {}),
|
|
334
|
+
});
|
|
326
335
|
if (result.kind !== "ok") {
|
|
327
336
|
const payload = {
|
|
328
337
|
ok: false,
|
|
@@ -815,8 +824,10 @@ function printHelp(out) {
|
|
|
815
824
|
out(`Usage: npx @trusty-squire/mcp skill <subcommand> [args]
|
|
816
825
|
|
|
817
826
|
Subcommands:
|
|
818
|
-
promote <service> --run-id=<id> [--corpus-dir=<path>] [--dry-run] [--json]
|
|
827
|
+
promote <service> --run-id=<id> [--corpus-dir=<path>] [--dry-run] [--json] [--skip-verifier]
|
|
819
828
|
Synthesize a skill from corpus/onboarding/<service>/<run_id>/* and publish.
|
|
829
|
+
Lands as pending-review (verifier-worker gated) by default;
|
|
830
|
+
--skip-verifier publishes directly as active (operator vouching).
|
|
820
831
|
|
|
821
832
|
list [--service=X] [--status=S] [--limit=N] [--json]
|
|
822
833
|
List skills with optional filters.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/skill-cli/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/skill-cli/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision-any.d.ts","sourceRoot":"","sources":["../../src/tools/provision-any.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAQnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAalD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAqClC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,+BAA+B;;;;;;EAE1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AA4IxF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAKJ,iBAAiB,QAAQ,SAAS,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHjE,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;qBAKZ,yBAAyB,QAAQ,SAAS,GAAG,IAAI;CAmCzE,CAAC;
|
|
1
|
+
{"version":3,"file":"provision-any.d.ts","sourceRoot":"","sources":["../../src/tools/provision-any.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAQnB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAalD,KAAK,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEtE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAqClC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,+BAA+B;;;;;;EAE1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AA4IxF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAKJ,iBAAiB,QAAQ,SAAS,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHjE,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;qBAKZ,yBAAyB,QAAQ,SAAS,GAAG,IAAI;CAmCzE,CAAC;AA8bF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,YAAY,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyLzB;AA4PD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAMpE;AAUD,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CACnC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJhB"}
|
|
@@ -382,6 +382,23 @@ async function tryReplayLearnedSkill(client, input, ctx) {
|
|
|
382
382
|
// Surface that the router engaged so check_provision_status's
|
|
383
383
|
// recent_steps log shows the skill attempt before any bot output.
|
|
384
384
|
ctx.stepsSink.push(`[skill-promoter] fetched skill ${skill.skill_id} v${skill.version} for ${serviceSlug}`);
|
|
385
|
+
// Show-once routing (post-Phase-E): when ANY credential in the
|
|
386
|
+
// skill is marked visibility="show_once_at_creation" (Cloudinary
|
|
387
|
+
// api_secret class), replay is structurally impossible — the
|
|
388
|
+
// secret only existed visibly at the moment of original creation
|
|
389
|
+
// and the dashboard masks it permanently after. Skip replay and
|
|
390
|
+
// fall through to fresh-signup-each-time. The bot's universal
|
|
391
|
+
// signup path naturally generates a new email alias → new account
|
|
392
|
+
// → re-captures the secret while it's freshly visible.
|
|
393
|
+
const hasShowOnce = skill.credentials.some((c) => c.visibility === "show_once_at_creation");
|
|
394
|
+
if (hasShowOnce) {
|
|
395
|
+
const showOnceNames = skill.credentials
|
|
396
|
+
.filter((c) => c.visibility === "show_once_at_creation")
|
|
397
|
+
.map((c) => c.name ?? "api_key")
|
|
398
|
+
.join(", ");
|
|
399
|
+
ctx.stepsSink.push(`[skill-promoter] skipping replay — skill has show_once_at_creation credential(s) [${showOnceNames}]; routing to fresh signup`);
|
|
400
|
+
return null;
|
|
401
|
+
}
|
|
385
402
|
const browser = new BrowserController({ humanize: true });
|
|
386
403
|
let dryOutcome;
|
|
387
404
|
try {
|
|
@@ -615,6 +632,13 @@ async function runSignupTask(runId, input, ctx) {
|
|
|
615
632
|
// bugs (Railway token-create no-op) are diagnosable without
|
|
616
633
|
// needing to reproduce the run locally.
|
|
617
634
|
roundUploader: buildRoundUploader(ctx.accountId),
|
|
635
|
+
// Heightened-auth notifier credentials — the agent's
|
|
636
|
+
// notifyHeightenedAuth call (Google number-match) reads these
|
|
637
|
+
// because session.json's machine_token is NOT exported as an
|
|
638
|
+
// env var in MCP installs. Without this plumbing the notify
|
|
639
|
+
// call silently no-ops (rc.12 and earlier).
|
|
640
|
+
machineToken: ctx.machineToken,
|
|
641
|
+
apiBase: ctx.apiBase,
|
|
618
642
|
});
|
|
619
643
|
// Best-effort alias cleanup. Failure is non-fatal — the alias
|
|
620
644
|
// TTL-expires anyway.
|
|
@@ -1140,7 +1164,8 @@ export async function runAutoPromote(args) {
|
|
|
1140
1164
|
}
|
|
1141
1165
|
if (resp.status === 201) {
|
|
1142
1166
|
stepsSink.push(`[auto-promote] published ${serviceSlug} ${result.skill.version} ` +
|
|
1143
|
-
`(skill_id=${result.skill.skill_id}).
|
|
1167
|
+
`(skill_id=${result.skill.skill_id}, status=pending-review). ` +
|
|
1168
|
+
`Verifier worker will validate and promote to active; next ${serviceSlug} signup hits the skill once it does.`);
|
|
1144
1169
|
return;
|
|
1145
1170
|
}
|
|
1146
1171
|
if (resp.status === 200) {
|