@extrovert.dev/mcp 0.1.0-pre.3

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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +313 -0
  3. package/dist/bin.d.ts +13 -0
  4. package/dist/bin.d.ts.map +1 -0
  5. package/dist/bin.js +89 -0
  6. package/dist/bin.js.map +1 -0
  7. package/dist/client.d.ts +956 -0
  8. package/dist/client.d.ts.map +1 -0
  9. package/dist/client.js +1354 -0
  10. package/dist/client.js.map +1 -0
  11. package/dist/config.d.ts +51 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +53 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/contract.d.ts +62 -0
  16. package/dist/contract.d.ts.map +1 -0
  17. package/dist/contract.js +78 -0
  18. package/dist/contract.js.map +1 -0
  19. package/dist/extract.d.ts +25 -0
  20. package/dist/extract.d.ts.map +1 -0
  21. package/dist/extract.js +131 -0
  22. package/dist/extract.js.map +1 -0
  23. package/dist/fixtures.d.ts +676 -0
  24. package/dist/fixtures.d.ts.map +1 -0
  25. package/dist/fixtures.js +2685 -0
  26. package/dist/fixtures.js.map +1 -0
  27. package/dist/http.d.ts +18 -0
  28. package/dist/http.d.ts.map +1 -0
  29. package/dist/http.js +124 -0
  30. package/dist/http.js.map +1 -0
  31. package/dist/index.d.ts +17 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +18 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/server.d.ts +20 -0
  36. package/dist/server.d.ts.map +1 -0
  37. package/dist/server.js +36 -0
  38. package/dist/server.js.map +1 -0
  39. package/dist/stdio.d.ts +8 -0
  40. package/dist/stdio.d.ts.map +1 -0
  41. package/dist/stdio.js +22 -0
  42. package/dist/stdio.js.map +1 -0
  43. package/dist/tools.d.ts +27 -0
  44. package/dist/tools.d.ts.map +1 -0
  45. package/dist/tools.js +2752 -0
  46. package/dist/tools.js.map +1 -0
  47. package/dist/types.d.ts +1037 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +83 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Runtime configuration, resolved from environment variables.
3
+ *
4
+ * The MCP host (Claude Desktop / Claude Code / Cursor) passes these via the
5
+ * server's `env` block. The agent key is a scoped agent key — never an
6
+ * org-wide master key (spec §14: "No org-wide key ever reaches an MCP host").
7
+ */
8
+ export interface ExtrovertConfig {
9
+ /** Base URL of the Extrovert REST API, e.g. `https://api.extrovert.dev`. */
10
+ apiBaseUrl: string;
11
+ /**
12
+ * Scoped agent key (`pk_agent_...`) or enrollment key (`pk_enroll_...`).
13
+ * Sent as `Authorization: Bearer <key>`. May be empty when the host intends
14
+ * to call `redeem_enrollment` first to obtain a scoped key at runtime.
15
+ */
16
+ apiKey: string;
17
+ /** Per-request timeout in milliseconds for non-blocking calls. */
18
+ requestTimeoutMs: number;
19
+ /** Upper bound (ms) the server will allow a `wait_for_email` to block. */
20
+ maxWaitMs: number;
21
+ /**
22
+ * When true, the server serves deterministic offline fixtures so every tool is
23
+ * exercisable without the backend. Set `EXTROVERT_MOCK=1` to force.
24
+ */
25
+ mock: boolean;
26
+ /**
27
+ * The review policy the OFFLINE fixture store enforces (`EXTROVERT_MOCK_REVIEW_POLICY`).
28
+ *
29
+ * Defaults to `require_review`, matching what a real account gets, so an offline
30
+ * agent meets the same 422 `intent_required` the live API would raise instead of
31
+ * being taught that a bare send just sends. Set `allow_direct` only when a test
32
+ * or demo genuinely needs a delivered message rather than a queued review.
33
+ */
34
+ mockReviewPolicy: ReviewPolicy;
35
+ }
36
+ /** Mirrors `ReviewPolicy` in ./types (duplicated to keep config dependency-free). */
37
+ type ReviewPolicy = "require_review" | "auto_send_graduated" | "allow_direct";
38
+ /**
39
+ * Resolve config from `process.env`. Accepts an override map for testing.
40
+ *
41
+ * Env vars (per task spec):
42
+ * EXTROVERT_API_BASE_URL — base URL of the REST API
43
+ * EXTROVERT_API_KEY — scoped agent/enrollment key
44
+ * EXTROVERT_REQUEST_TIMEOUT_MS, EXTROVERT_MAX_WAIT_MS, EXTROVERT_MOCK — tuning
45
+ * EXTROVERT_MOCK_REVIEW_POLICY — the policy the offline store enforces
46
+ */
47
+ export declare function loadConfig(env?: NodeJS.ProcessEnv): ExtrovertConfig;
48
+ export declare const SERVER_NAME = "extrovert";
49
+ export declare const SERVER_VERSION = "0.1.0-pre.3";
50
+ export {};
51
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;;;;;;OAOG;IACH,gBAAgB,EAAE,YAAY,CAAC;CAChC;AAED,qFAAqF;AACrF,KAAK,YAAY,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,cAAc,CAAC;AA0B9E;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAahF;AAED,eAAO,MAAM,WAAW,cAAc,CAAC;AACvC,eAAO,MAAM,cAAc,gBAAgB,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Runtime configuration, resolved from environment variables.
3
+ *
4
+ * The MCP host (Claude Desktop / Claude Code / Cursor) passes these via the
5
+ * server's `env` block. The agent key is a scoped agent key — never an
6
+ * org-wide master key (spec §14: "No org-wide key ever reaches an MCP host").
7
+ */
8
+ const REVIEW_POLICIES = ["require_review", "auto_send_graduated", "allow_direct"];
9
+ function parseReviewPolicy(value) {
10
+ const v = (value ?? "").trim().toLowerCase();
11
+ // An unrecognized value resolves to the require_review FLOOR rather than being
12
+ // ignored: a typo must never silently unsupervise a mailbox.
13
+ return REVIEW_POLICIES.includes(v) ? v : "require_review";
14
+ }
15
+ const DEFAULT_API_BASE_URL = "https://api.extrovert.dev";
16
+ const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
17
+ const DEFAULT_MAX_WAIT_MS = 300_000; // 5 minutes — OTP windows are 5–10 min.
18
+ function parseBool(value) {
19
+ if (!value)
20
+ return false;
21
+ return ["1", "true", "yes", "on"].includes(value.trim().toLowerCase());
22
+ }
23
+ function parseIntEnv(value, fallback) {
24
+ if (!value)
25
+ return fallback;
26
+ const n = Number.parseInt(value, 10);
27
+ return Number.isFinite(n) && n > 0 ? n : fallback;
28
+ }
29
+ /**
30
+ * Resolve config from `process.env`. Accepts an override map for testing.
31
+ *
32
+ * Env vars (per task spec):
33
+ * EXTROVERT_API_BASE_URL — base URL of the REST API
34
+ * EXTROVERT_API_KEY — scoped agent/enrollment key
35
+ * EXTROVERT_REQUEST_TIMEOUT_MS, EXTROVERT_MAX_WAIT_MS, EXTROVERT_MOCK — tuning
36
+ * EXTROVERT_MOCK_REVIEW_POLICY — the policy the offline store enforces
37
+ */
38
+ export function loadConfig(env = process.env) {
39
+ const apiKey = (env.EXTROVERT_API_KEY ?? "").trim();
40
+ const explicitMock = parseBool(env.EXTROVERT_MOCK);
41
+ const apiBaseUrl = (env.EXTROVERT_API_BASE_URL ?? DEFAULT_API_BASE_URL).trim().replace(/\/+$/, "");
42
+ return {
43
+ apiBaseUrl,
44
+ apiKey,
45
+ requestTimeoutMs: parseIntEnv(env.EXTROVERT_REQUEST_TIMEOUT_MS, DEFAULT_REQUEST_TIMEOUT_MS),
46
+ maxWaitMs: parseIntEnv(env.EXTROVERT_MAX_WAIT_MS, DEFAULT_MAX_WAIT_MS),
47
+ mock: explicitMock,
48
+ mockReviewPolicy: parseReviewPolicy(env.EXTROVERT_MOCK_REVIEW_POLICY),
49
+ };
50
+ }
51
+ export const SERVER_NAME = "extrovert";
52
+ export const SERVER_VERSION = "0.1.0-pre.3";
53
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAkCH,MAAM,eAAe,GAA4B,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,cAAc,CAAC,CAAC;AAE3G,SAAS,iBAAiB,CAAC,KAAyB;IAClD,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,+EAA+E;IAC/E,6DAA6D;IAC7D,OAAQ,eAAqC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACrG,CAAC;AAED,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AACzD,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAC1C,MAAM,mBAAmB,GAAG,OAAO,CAAC,CAAC,wCAAwC;AAE7E,SAAS,SAAS,CAAC,KAAyB;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB,EAAE,QAAgB;IAC9D,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC7D,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,sBAAsB,IAAI,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEnG,OAAO;QACL,UAAU;QACV,MAAM;QACN,gBAAgB,EAAE,WAAW,CAAC,GAAG,CAAC,4BAA4B,EAAE,0BAA0B,CAAC;QAC3F,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;QACtE,IAAI,EAAE,YAAY;QAClB,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * The Extrovert Review-Loop **open contract** (HITL D14, spec §11) — MCP mirror.
3
+ *
4
+ * The MCP server is a thin, stateless mirror of the agent plane; this module
5
+ * mirrors the SDK's published contract surface so an MCP host pins the SAME
6
+ * provisional 0.x version + manifest the SDK and openapi do. It defines no new
7
+ * wire shapes — the §11 shapes already live in `./types` (ReviewIntent,
8
+ * ReviewFeedback, Rule, ReviewEvent, …); here we name the `diff_json` object and
9
+ * publish the version + manifest.
10
+ *
11
+ * D14: this is an SDK + skill contract, versioned WITH the SDK — NOT a wire
12
+ * protocol and NOT a standalone protocol endpoint. {@link CONTRACT_VERSION} is a
13
+ * PROVISIONAL, pre-1.0 (0.x) version aligned to the SDK package version, the MCP
14
+ * `SERVER_VERSION`, and the openapi `info.version`.
15
+ */
16
+ /**
17
+ * One structured hunk of a `diff_json` (spec §11 "Diff (`diff_json`)"). A single
18
+ * deterministic field change computed server-side in Go ($0 LLM).
19
+ */
20
+ export interface DiffHunk {
21
+ field: string;
22
+ op: string;
23
+ before?: string;
24
+ after?: string;
25
+ }
26
+ /**
27
+ * §11 "Diff (`diff_json`)". The structured proposed-vs-sent diff computed
28
+ * deterministically in Go ($0 LLM). The named publication of the `diff_json`
29
+ * object on `ReviewFeedback` / `ReviewTurn` (which keep their permissive
30
+ * `Record<string, unknown>` wire type for back-compat).
31
+ */
32
+ export interface DiffJson {
33
+ fields_changed: string[];
34
+ hunks: DiffHunk[];
35
+ }
36
+ export type { ReviewIntent, ReviewFeedback, Rule, ReviewEvent } from "./types.js";
37
+ /**
38
+ * The published version of the Extrovert Review-Loop open contract (D14).
39
+ * `0.1.0-pre.3` — PROVISIONAL, pre-1.0; aligned to the SDK package version + the MCP
40
+ * `SERVER_VERSION` + the openapi `info.version`.
41
+ */
42
+ export declare const CONTRACT_VERSION: "0.1.0-pre.3";
43
+ /** The stability posture of a published contract version. */
44
+ export type ContractStability = "provisional" | "stable";
45
+ /** The machine-readable manifest of the open contract (D14) — mirrors the SDK. */
46
+ export interface ContractManifest {
47
+ readonly name: "extrovert.review-loop";
48
+ readonly version: string;
49
+ readonly stability: ContractStability;
50
+ readonly kind: "sdk+skill-contract";
51
+ readonly spec_ref: "hitl-spec.md#11";
52
+ readonly core_shapes: readonly string[];
53
+ readonly shapes: readonly string[];
54
+ readonly skills: readonly string[];
55
+ }
56
+ /**
57
+ * The published manifest. Mirrors the SDK `CONTRACT_MANIFEST` (the MCP surface is
58
+ * a subset of the SDK's, so `shapes` lists the agent-plane shapes the MCP server
59
+ * actually returns). `core_shapes` is the five canonical §11 shapes.
60
+ */
61
+ export declare const CONTRACT_MANIFEST: ContractManifest;
62
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAYD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAG,aAAsB,CAAC;AAEvD,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEzD,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBAkDtB,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * The Extrovert Review-Loop **open contract** (HITL D14, spec §11) — MCP mirror.
3
+ *
4
+ * The MCP server is a thin, stateless mirror of the agent plane; this module
5
+ * mirrors the SDK's published contract surface so an MCP host pins the SAME
6
+ * provisional 0.x version + manifest the SDK and openapi do. It defines no new
7
+ * wire shapes — the §11 shapes already live in `./types` (ReviewIntent,
8
+ * ReviewFeedback, Rule, ReviewEvent, …); here we name the `diff_json` object and
9
+ * publish the version + manifest.
10
+ *
11
+ * D14: this is an SDK + skill contract, versioned WITH the SDK — NOT a wire
12
+ * protocol and NOT a standalone protocol endpoint. {@link CONTRACT_VERSION} is a
13
+ * PROVISIONAL, pre-1.0 (0.x) version aligned to the SDK package version, the MCP
14
+ * `SERVER_VERSION`, and the openapi `info.version`.
15
+ */
16
+ /**
17
+ * The published version of the Extrovert Review-Loop open contract (D14).
18
+ * `0.1.0-pre.3` — PROVISIONAL, pre-1.0; aligned to the SDK package version + the MCP
19
+ * `SERVER_VERSION` + the openapi `info.version`.
20
+ */
21
+ export const CONTRACT_VERSION = "0.1.0-pre.3";
22
+ /**
23
+ * The published manifest. Mirrors the SDK `CONTRACT_MANIFEST` (the MCP surface is
24
+ * a subset of the SDK's, so `shapes` lists the agent-plane shapes the MCP server
25
+ * actually returns). `core_shapes` is the five canonical §11 shapes.
26
+ */
27
+ export const CONTRACT_MANIFEST = {
28
+ name: "extrovert.review-loop",
29
+ version: CONTRACT_VERSION,
30
+ stability: "provisional",
31
+ kind: "sdk+skill-contract",
32
+ spec_ref: "hitl-spec.md#11",
33
+ core_shapes: ["ReviewIntent", "ReviewFeedback", "DiffJson", "Rule", "ReviewEvent"],
34
+ shapes: [
35
+ // §11 core
36
+ "ReviewIntent",
37
+ "ReviewFeedback",
38
+ "ReviewFeedbackComment",
39
+ "DiffJson",
40
+ "DiffHunk",
41
+ "Rule",
42
+ "ReviewEvent",
43
+ // submit / states (M1/M2)
44
+ "ReviewMode",
45
+ "ReviewState",
46
+ "Review",
47
+ "ReviewTurn",
48
+ "SubmitForReviewResult",
49
+ "QueuedForReviewResult",
50
+ "SentResult",
51
+ // realtime (M3)
52
+ "ReviewEventReason",
53
+ "ReviewEventsResult",
54
+ "ReviewEventCursor",
55
+ // category registry (M4)
56
+ "Category",
57
+ // graduation + risk dial (M6)
58
+ "AccountRiskDial",
59
+ "EffectiveRiskDial",
60
+ "CategoryRiskDial",
61
+ "RiskDial",
62
+ "GraduationStatus",
63
+ // reconciliation + pacing (M7)
64
+ "ScanBacklogStatus",
65
+ "CategoryPacingState",
66
+ "PacingItem",
67
+ // rules + audit (M4) — "Rule" is already listed in the §11-core block above.
68
+ "RuleAuditEntry",
69
+ // BYO reviewer decision (M8)
70
+ "ReviewerAction",
71
+ "ReviewDecisionContext",
72
+ "ReviewerDecisionResult",
73
+ ],
74
+ // The complete Review Loop behavior lives in the send skill; writing-rule
75
+ // governance remains independently installable and part of this contract.
76
+ skills: ["extrovert-send-email", "extrovert-writing-rules"],
77
+ };
78
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoCH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAsB,CAAC;AAiBvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqB;IACjD,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,gBAAgB;IACzB,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE,oBAAoB;IAC1B,QAAQ,EAAE,iBAAiB;IAC3B,WAAW,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC;IAClF,MAAM,EAAE;QACN,WAAW;QACX,cAAc;QACd,gBAAgB;QAChB,uBAAuB;QACvB,UAAU;QACV,UAAU;QACV,MAAM;QACN,aAAa;QACb,0BAA0B;QAC1B,YAAY;QACZ,aAAa;QACb,QAAQ;QACR,YAAY;QACZ,uBAAuB;QACvB,uBAAuB;QACvB,YAAY;QACZ,gBAAgB;QAChB,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;QACnB,yBAAyB;QACzB,UAAU;QACV,8BAA8B;QAC9B,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,+BAA+B;QAC/B,mBAAmB;QACnB,qBAAqB;QACrB,YAAY;QACZ,6EAA6E;QAC7E,gBAAgB;QAChB,6BAA6B;QAC7B,gBAAgB;QAChB,uBAAuB;QACvB,wBAAwB;KACzB;IACD,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,EAAE,CAAC,sBAAsB,EAAE,yBAAyB,CAAC;CACnD,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * OTP code + verification-link extraction.
3
+ *
4
+ * Handles general transactional and agentic mail (sign-in codes, magic links,
5
+ * "verify your email" buttons). This is the structured payload `wait_for_email`
6
+ * returns alongside the matched message (spec §6).
7
+ */
8
+ /**
9
+ * Extract a one-time code. Returns the normalized code (alphanumeric, optional
10
+ * internal hyphens stripped) or undefined. Length-bounded 4–12 like the Go port.
11
+ */
12
+ export declare function extractOtpCode(rawBody: string): string | undefined;
13
+ /**
14
+ * Extract a verification / click-through link. Prefers an href whose URL or
15
+ * surrounding anchor text hints at verification (mirrors the Go preference for
16
+ * the specific click URL over the first href), then falls back to the first
17
+ * https URL in the body.
18
+ */
19
+ export declare function extractVerificationLink(rawBody: string, linkHint?: string): string | undefined;
20
+ /** Convenience: extract both signals from a message body in one pass. */
21
+ export declare function extractSignals(rawBody: string, linkHint?: string): {
22
+ otp_code?: string;
23
+ verification_link?: string;
24
+ };
25
+ //# sourceMappingURL=extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAwBH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAmBlE;AAcD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAoC9F;AAqBD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAOA"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * OTP code + verification-link extraction.
3
+ *
4
+ * Handles general transactional and agentic mail (sign-in codes, magic links,
5
+ * "verify your email" buttons). This is the structured payload `wait_for_email`
6
+ * returns alongside the matched message (spec §6).
7
+ */
8
+ /** Strip HTML tags so code/link patterns aren't split across markup. */
9
+ function stripTags(input) {
10
+ return input.replace(/<[^>]+>/g, " ");
11
+ }
12
+ /** Collapse runs of whitespace to single spaces. */
13
+ function normalizeWhitespace(input) {
14
+ return input.replace(/\s+/g, " ").trim();
15
+ }
16
+ /**
17
+ * Labelled-code patterns, tried in order. Mirrors the Go `OTP:` heuristic but
18
+ * widened to the phrasings real providers use. The capture group is the code.
19
+ */
20
+ const LABELLED_CODE_PATTERNS = [
21
+ /(?:one[-\s]?time\s+(?:pass)?code|verification\s+code|security\s+code|login\s+code|sign[-\s]?in\s+code|access\s+code|confirmation\s+code|auth(?:entication)?\s+code|your\s+code|OTP|2FA|PIN)\s*(?:is|:|=|->)?\s*[\s>]*([A-Z0-9][A-Z0-9-]{3,11}[A-Z0-9])/i,
22
+ /\bcode\b[^A-Za-z0-9]{0,6}([0-9]{4,8})\b/i,
23
+ ];
24
+ /** Bare numeric codes, used only as a fallback when no label is present. */
25
+ const BARE_NUMERIC_PATTERN = /\b(\d{4,8})\b/;
26
+ /**
27
+ * Extract a one-time code. Returns the normalized code (alphanumeric, optional
28
+ * internal hyphens stripped) or undefined. Length-bounded 4–12 like the Go port.
29
+ */
30
+ export function extractOtpCode(rawBody) {
31
+ const text = normalizeWhitespace(stripTags(rawBody));
32
+ for (const pattern of LABELLED_CODE_PATTERNS) {
33
+ const m = pattern.exec(text);
34
+ if (m && m[1]) {
35
+ const cleaned = cleanCode(m[1]);
36
+ if (cleaned.length >= 4 && cleaned.length <= 12)
37
+ return cleaned;
38
+ }
39
+ }
40
+ // Fallback: a standalone 4–8 digit number near a verby hint, to avoid
41
+ // matching arbitrary numbers (prices, dates) in marketing mail.
42
+ if (/\b(verify|confirm|sign[-\s]?in|log[-\s]?in|authenticate|code|otp)\b/i.test(text)) {
43
+ const m = BARE_NUMERIC_PATTERN.exec(text);
44
+ if (m && m[1])
45
+ return cleanCode(m[1]);
46
+ }
47
+ return undefined;
48
+ }
49
+ /** Keep only alphanumerics — drops surrounding markup/punctuation. */
50
+ function cleanCode(code) {
51
+ return code.replace(/[^A-Za-z0-9]/g, "");
52
+ }
53
+ /** Words that strongly signal a "click to verify / confirm" action link. */
54
+ const VERIFY_HINT = /(verify|confirm|activate|magic|sign[-_]?in|login|authenticate|reset|unlock|click)/i;
55
+ /** Match href="..." (Go `hrefRe`) and bare URLs. */
56
+ const HREF_PATTERN = /href\s*=\s*["']([^"']+)["']/gi;
57
+ const BARE_URL_PATTERN = /\bhttps?:\/\/[^\s"'<>)]+/gi;
58
+ /**
59
+ * Extract a verification / click-through link. Prefers an href whose URL or
60
+ * surrounding anchor text hints at verification (mirrors the Go preference for
61
+ * the specific click URL over the first href), then falls back to the first
62
+ * https URL in the body.
63
+ */
64
+ export function extractVerificationLink(rawBody, linkHint) {
65
+ const hrefs = [];
66
+ for (const m of rawBody.matchAll(HREF_PATTERN)) {
67
+ if (m[1])
68
+ hrefs.push(m[1].trim());
69
+ }
70
+ // Match the Go API's link_hint extension: it is a preference, not a filter.
71
+ // If no link contains the hint, continue through the ordinary heuristics.
72
+ const normalizedHint = linkHint?.trim().toLowerCase();
73
+ if (normalizedHint) {
74
+ const hintedHref = hrefs.find((u) => decodeEntities(u).toLowerCase().includes(normalizedHint));
75
+ if (hintedHref)
76
+ return decodeEntities(hintedHref);
77
+ const hintedBare = rawBody
78
+ .match(BARE_URL_PATTERN)
79
+ ?.find((u) => decodeEntities(u).toLowerCase().includes(normalizedHint));
80
+ if (hintedBare)
81
+ return decodeEntities(hintedBare);
82
+ }
83
+ // 1) Prefer hrefs whose URL itself looks like a verification link.
84
+ const byUrlHint = hrefs.find((u) => VERIFY_HINT.test(u));
85
+ if (byUrlHint)
86
+ return decodeEntities(byUrlHint);
87
+ // 2) Prefer an href whose anchor text hints verification.
88
+ const anchorHint = findHrefByAnchorText(rawBody);
89
+ if (anchorHint)
90
+ return decodeEntities(anchorHint);
91
+ // 3) First href at all.
92
+ if (hrefs[0])
93
+ return decodeEntities(hrefs[0]);
94
+ // 4) Bare URL fallback (plain-text emails).
95
+ const bare = rawBody.match(BARE_URL_PATTERN);
96
+ const hinted = bare?.find((u) => VERIFY_HINT.test(u));
97
+ if (hinted)
98
+ return decodeEntities(hinted);
99
+ if (bare && bare[0])
100
+ return decodeEntities(bare[0]);
101
+ return undefined;
102
+ }
103
+ const ANCHOR_PATTERN = /<a\b[^>]*href\s*=\s*["']([^"']+)["'][^>]*>(.*?)<\/a>/gis;
104
+ function findHrefByAnchorText(html) {
105
+ for (const m of html.matchAll(ANCHOR_PATTERN)) {
106
+ const href = m[1];
107
+ const text = m[2] ? stripTags(m[2]) : "";
108
+ if (href && VERIFY_HINT.test(text))
109
+ return href.trim();
110
+ }
111
+ return undefined;
112
+ }
113
+ /** Decode the handful of HTML entities that appear inside URLs. */
114
+ function decodeEntities(url) {
115
+ return url
116
+ .replace(/&amp;/g, "&")
117
+ .replace(/&#38;/g, "&")
118
+ .replace(/&#x26;/gi, "&");
119
+ }
120
+ /** Convenience: extract both signals from a message body in one pass. */
121
+ export function extractSignals(rawBody, linkHint) {
122
+ const result = {};
123
+ const otp = extractOtpCode(rawBody);
124
+ if (otp)
125
+ result.otp_code = otp;
126
+ const link = extractVerificationLink(rawBody, linkHint);
127
+ if (link)
128
+ result.verification_link = link;
129
+ return result;
130
+ }
131
+ //# sourceMappingURL=extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}