@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.
- package/LICENSE +21 -0
- package/README.md +313 -0
- package/dist/bin.d.ts +13 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +89 -0
- package/dist/bin.js.map +1 -0
- package/dist/client.d.ts +956 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1354 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +51 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +53 -0
- package/dist/config.js.map +1 -0
- package/dist/contract.d.ts +62 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +78 -0
- package/dist/contract.js.map +1 -0
- package/dist/extract.d.ts +25 -0
- package/dist/extract.d.ts.map +1 -0
- package/dist/extract.js +131 -0
- package/dist/extract.js.map +1 -0
- package/dist/fixtures.d.ts +676 -0
- package/dist/fixtures.d.ts.map +1 -0
- package/dist/fixtures.js +2685 -0
- package/dist/fixtures.js.map +1 -0
- package/dist/http.d.ts +18 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +124 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +20 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +36 -0
- package/dist/server.js.map +1 -0
- package/dist/stdio.d.ts +8 -0
- package/dist/stdio.d.ts.map +1 -0
- package/dist/stdio.js +22 -0
- package/dist/stdio.js.map +1 -0
- package/dist/tools.d.ts +27 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +2752 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +1037 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +83 -0
- package/dist/types.js.map +1 -0
- 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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"}
|
package/dist/config.d.ts
ADDED
|
@@ -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"}
|
package/dist/contract.js
ADDED
|
@@ -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"}
|
package/dist/extract.js
ADDED
|
@@ -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(/&/g, "&")
|
|
117
|
+
.replace(/&/g, "&")
|
|
118
|
+
.replace(/&/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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"}
|