@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.
Files changed (48) hide show
  1. package/dist/bin.js +8 -0
  2. package/dist/bin.js.map +1 -1
  3. package/dist/bot/agent.d.ts +39 -0
  4. package/dist/bot/agent.d.ts.map +1 -1
  5. package/dist/bot/agent.js +1341 -20
  6. package/dist/bot/agent.js.map +1 -1
  7. package/dist/bot/browser.d.ts +13 -0
  8. package/dist/bot/browser.d.ts.map +1 -1
  9. package/dist/bot/browser.js +573 -31
  10. package/dist/bot/browser.js.map +1 -1
  11. package/dist/bot/captcha-solver-2captcha.d.ts +42 -0
  12. package/dist/bot/captcha-solver-2captcha.d.ts.map +1 -0
  13. package/dist/bot/captcha-solver-2captcha.js +144 -0
  14. package/dist/bot/captcha-solver-2captcha.js.map +1 -0
  15. package/dist/bot/index.d.ts +2 -0
  16. package/dist/bot/index.d.ts.map +1 -1
  17. package/dist/bot/index.js +2 -0
  18. package/dist/bot/index.js.map +1 -1
  19. package/dist/bot/llm-client.d.ts +2 -1
  20. package/dist/bot/llm-client.d.ts.map +1 -1
  21. package/dist/bot/llm-client.js +19 -2
  22. package/dist/bot/llm-client.js.map +1 -1
  23. package/dist/bot/notify-api.d.ts +2 -0
  24. package/dist/bot/notify-api.d.ts.map +1 -1
  25. package/dist/bot/notify-api.js +13 -5
  26. package/dist/bot/notify-api.js.map +1 -1
  27. package/dist/bot/promote-to-skill.d.ts +9 -0
  28. package/dist/bot/promote-to-skill.d.ts.map +1 -1
  29. package/dist/bot/promote-to-skill.js +98 -7
  30. package/dist/bot/promote-to-skill.js.map +1 -1
  31. package/dist/bot/read-otp.d.ts +14 -0
  32. package/dist/bot/read-otp.d.ts.map +1 -0
  33. package/dist/bot/read-otp.js +96 -0
  34. package/dist/bot/read-otp.js.map +1 -0
  35. package/dist/bot/redact.d.ts +2 -0
  36. package/dist/bot/redact.d.ts.map +1 -0
  37. package/dist/bot/redact.js +61 -0
  38. package/dist/bot/redact.js.map +1 -0
  39. package/dist/bot/telegram-notify.d.ts +8 -0
  40. package/dist/bot/telegram-notify.d.ts.map +1 -0
  41. package/dist/bot/telegram-notify.js +134 -0
  42. package/dist/bot/telegram-notify.js.map +1 -0
  43. package/dist/skill-cli/cli.js +14 -3
  44. package/dist/skill-cli/cli.js.map +1 -1
  45. package/dist/tools/provision-any.d.ts.map +1 -1
  46. package/dist/tools/provision-any.js +26 -1
  47. package/dist/tools/provision-any.js.map +1 -1
  48. 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,2 @@
1
+ export declare function redactCredentials(text: string): string;
2
+ //# sourceMappingURL=redact.d.ts.map
@@ -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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"}
@@ -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({ dir, service, run_id: runId });
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;AAiaF,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,CA+IhB"}
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}). Next ${serviceSlug} signup will hit the skill.`);
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) {