@oratis/lisa 0.12.0 → 0.14.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/agent.d.ts +2 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +20 -1
- package/dist/agent.js.map +1 -1
- package/dist/autonomy/state.d.ts +14 -0
- package/dist/autonomy/state.d.ts.map +1 -0
- package/dist/autonomy/state.js +54 -0
- package/dist/autonomy/state.js.map +1 -0
- package/dist/cli/mail.d.ts +2 -0
- package/dist/cli/mail.d.ts.map +1 -0
- package/dist/cli/mail.js +209 -0
- package/dist/cli/mail.js.map +1 -0
- package/dist/cli/pair.d.ts +1 -5
- package/dist/cli/pair.d.ts.map +1 -1
- package/dist/cli/pair.js +58 -20
- package/dist/cli/pair.js.map +1 -1
- package/dist/cli.js +15 -14
- package/dist/cli.js.map +1 -1
- package/dist/consent/store.d.ts +2 -2
- package/dist/consent/store.d.ts.map +1 -1
- package/dist/consent/store.js +3 -2
- package/dist/consent/store.js.map +1 -1
- package/dist/edition.d.ts +24 -0
- package/dist/edition.d.ts.map +1 -0
- package/dist/edition.js +19 -0
- package/dist/edition.js.map +1 -0
- package/dist/heartbeat/runner.d.ts.map +1 -1
- package/dist/heartbeat/runner.js +8 -0
- package/dist/heartbeat/runner.js.map +1 -1
- package/dist/idle/runner.d.ts.map +1 -1
- package/dist/idle/runner.js +7 -0
- package/dist/idle/runner.js.map +1 -1
- package/dist/mail/accounts.d.ts +20 -0
- package/dist/mail/accounts.d.ts.map +1 -0
- package/dist/mail/accounts.js +113 -0
- package/dist/mail/accounts.js.map +1 -0
- package/dist/mail/alerts.d.ts +29 -0
- package/dist/mail/alerts.d.ts.map +1 -0
- package/dist/mail/alerts.js +40 -0
- package/dist/mail/alerts.js.map +1 -0
- package/dist/mail/classify.d.ts +26 -0
- package/dist/mail/classify.d.ts.map +1 -0
- package/dist/mail/classify.js +191 -0
- package/dist/mail/classify.js.map +1 -0
- package/dist/mail/connectors/gmail.d.ts +55 -0
- package/dist/mail/connectors/gmail.d.ts.map +1 -0
- package/dist/mail/connectors/gmail.js +87 -0
- package/dist/mail/connectors/gmail.js.map +1 -0
- package/dist/mail/connectors/imap.d.ts +13 -0
- package/dist/mail/connectors/imap.d.ts.map +1 -0
- package/dist/mail/connectors/imap.js +136 -0
- package/dist/mail/connectors/imap.js.map +1 -0
- package/dist/mail/digest.d.ts +21 -0
- package/dist/mail/digest.d.ts.map +1 -0
- package/dist/mail/digest.js +89 -0
- package/dist/mail/digest.js.map +1 -0
- package/dist/mail/google-oauth.d.ts +50 -0
- package/dist/mail/google-oauth.d.ts.map +1 -0
- package/dist/mail/google-oauth.js +74 -0
- package/dist/mail/google-oauth.js.map +1 -0
- package/dist/mail/hosts.d.ts +3 -0
- package/dist/mail/hosts.d.ts.map +1 -0
- package/dist/mail/hosts.js +19 -0
- package/dist/mail/hosts.js.map +1 -0
- package/dist/mail/scheduler.d.ts +9 -0
- package/dist/mail/scheduler.d.ts.map +1 -0
- package/dist/mail/scheduler.js +21 -0
- package/dist/mail/scheduler.js.map +1 -0
- package/dist/mail/service.d.ts +32 -0
- package/dist/mail/service.d.ts.map +1 -0
- package/dist/mail/service.js +129 -0
- package/dist/mail/service.js.map +1 -0
- package/dist/mail/store.d.ts +7 -0
- package/dist/mail/store.d.ts.map +1 -0
- package/dist/mail/store.js +58 -0
- package/dist/mail/store.js.map +1 -0
- package/dist/mail/types.d.ts +114 -0
- package/dist/mail/types.d.ts.map +1 -0
- package/dist/mail/types.js +26 -0
- package/dist/mail/types.js.map +1 -0
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +43 -21
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +67 -64
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +77 -71
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/registry.d.ts +10 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +26 -0
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/stream-retry.d.ts +37 -0
- package/dist/providers/stream-retry.d.ts.map +1 -0
- package/dist/providers/stream-retry.js +92 -0
- package/dist/providers/stream-retry.js.map +1 -0
- package/dist/providers/types.d.ts +3 -0
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/subagent.d.ts +2 -0
- package/dist/subagent.d.ts.map +1 -1
- package/dist/subagent.js +1 -0
- package/dist/subagent.js.map +1 -1
- package/dist/web/cloudAuth.d.ts +57 -0
- package/dist/web/cloudAuth.d.ts.map +1 -0
- package/dist/web/cloudAuth.js +139 -0
- package/dist/web/cloudAuth.js.map +1 -0
- package/dist/web/island.d.ts.map +1 -1
- package/dist/web/island.js +1 -0
- package/dist/web/island.js.map +1 -1
- package/dist/web/lisa-client.d.ts +1 -1
- package/dist/web/lisa-client.d.ts.map +1 -1
- package/dist/web/lisa-client.js +703 -40
- package/dist/web/lisa-client.js.map +1 -1
- package/dist/web/lisa-css.d.ts +1 -1
- package/dist/web/lisa-css.d.ts.map +1 -1
- package/dist/web/lisa-css.js +568 -43
- package/dist/web/lisa-css.js.map +1 -1
- package/dist/web/lisa-html.d.ts +1 -1
- package/dist/web/lisa-html.d.ts.map +1 -1
- package/dist/web/lisa-html.js +71 -21
- package/dist/web/lisa-html.js.map +1 -1
- package/dist/web/pairing.d.ts +37 -0
- package/dist/web/pairing.d.ts.map +1 -0
- package/dist/web/pairing.js +79 -0
- package/dist/web/pairing.js.map +1 -0
- package/dist/web/push.d.ts +12 -1
- package/dist/web/push.d.ts.map +1 -1
- package/dist/web/push.js +19 -4
- package/dist/web/push.js.map +1 -1
- package/dist/web/qr-svg.d.ts +11 -0
- package/dist/web/qr-svg.d.ts.map +1 -0
- package/dist/web/qr-svg.js +41 -0
- package/dist/web/qr-svg.js.map +1 -0
- package/dist/web/server.d.ts +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +342 -12
- package/dist/web/server.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mail/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DailyDigest } from "./types.js";
|
|
2
|
+
export declare function saveDigest(d: DailyDigest): void;
|
|
3
|
+
export declare function latestDigest(): DailyDigest | null;
|
|
4
|
+
export declare function loadSeen(accountId: string): Set<string>;
|
|
5
|
+
/** Record uids as seen; keeps the most recent SEEN_CAP. */
|
|
6
|
+
export declare function markSeen(accountId: string, uids: string[]): void;
|
|
7
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/mail/store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAc9C,wBAAgB,UAAU,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAK/C;AAED,wBAAgB,YAAY,IAAI,WAAW,GAAG,IAAI,CAMjD;AAUD,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAOvD;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAQhE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mail persistence: the latest/dated digests + per-account seen-UID tracking
|
|
3
|
+
* (for incremental sweeps and alert dedup). All under ~/.lisa/mail/, mode 0600.
|
|
4
|
+
*/
|
|
5
|
+
import fs from "node:fs";
|
|
6
|
+
import os from "node:os";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
function lisaHome() {
|
|
9
|
+
return process.env.LISA_HOME ?? path.join(os.homedir(), ".lisa");
|
|
10
|
+
}
|
|
11
|
+
function mailDir() {
|
|
12
|
+
return path.join(lisaHome(), "mail");
|
|
13
|
+
}
|
|
14
|
+
function ensure(dir) {
|
|
15
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
16
|
+
}
|
|
17
|
+
// ── digests ──
|
|
18
|
+
export function saveDigest(d) {
|
|
19
|
+
const dir = path.join(mailDir(), "digests");
|
|
20
|
+
ensure(dir);
|
|
21
|
+
fs.writeFileSync(path.join(dir, `${d.date}.json`), JSON.stringify(d, null, 2), { mode: 0o600 });
|
|
22
|
+
fs.writeFileSync(path.join(mailDir(), "latest-digest.json"), JSON.stringify(d, null, 2), { mode: 0o600 });
|
|
23
|
+
}
|
|
24
|
+
export function latestDigest() {
|
|
25
|
+
try {
|
|
26
|
+
return JSON.parse(fs.readFileSync(path.join(mailDir(), "latest-digest.json"), "utf8"));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// ── seen UIDs (dedup) ──
|
|
33
|
+
const SEEN_CAP = 5000;
|
|
34
|
+
function seenPath(accountId) {
|
|
35
|
+
return path.join(mailDir(), "seen", `${accountId}.json`);
|
|
36
|
+
}
|
|
37
|
+
export function loadSeen(accountId) {
|
|
38
|
+
try {
|
|
39
|
+
const arr = JSON.parse(fs.readFileSync(seenPath(accountId), "utf8"));
|
|
40
|
+
return new Set(Array.isArray(arr) ? arr : []);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return new Set();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Record uids as seen; keeps the most recent SEEN_CAP. */
|
|
47
|
+
export function markSeen(accountId, uids) {
|
|
48
|
+
if (uids.length === 0)
|
|
49
|
+
return;
|
|
50
|
+
const dir = path.join(mailDir(), "seen");
|
|
51
|
+
ensure(dir);
|
|
52
|
+
const existing = loadSeen(accountId);
|
|
53
|
+
for (const u of uids)
|
|
54
|
+
existing.add(u);
|
|
55
|
+
const trimmed = [...existing].slice(-SEEN_CAP);
|
|
56
|
+
fs.writeFileSync(seenPath(accountId), JSON.stringify(trimmed), { mode: 0o600 });
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/mail/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mail module — shared types.
|
|
3
|
+
*
|
|
4
|
+
* v1 is READ-ONLY: connect mailboxes, read, classify, grade, digest, alert. No
|
|
5
|
+
* send / archive / delete.
|
|
6
|
+
*
|
|
7
|
+
* PRIVACY: classification runs on METADATA + a BOUNDED SNIPPET only — never full
|
|
8
|
+
* bodies. Full bodies are not persisted and not sent to the model. Secrets
|
|
9
|
+
* (IMAP password / OAuth refresh token) live in a separate 0600 file, never in
|
|
10
|
+
* the accounts list. Everything is gated on the `mail` consent signal.
|
|
11
|
+
*/
|
|
12
|
+
export type MailProvider = "imap" | "gmail";
|
|
13
|
+
/** A connected mailbox. NO secrets here (see MailSecret + the 0600 secrets file). */
|
|
14
|
+
export interface MailAccount {
|
|
15
|
+
/** Stable slug, e.g. "qq-3f9a1c". */
|
|
16
|
+
id: string;
|
|
17
|
+
provider: MailProvider;
|
|
18
|
+
/** The address, e.g. "me@qq.com". */
|
|
19
|
+
email: string;
|
|
20
|
+
/** User-facing label; defaults to the address. */
|
|
21
|
+
label?: string;
|
|
22
|
+
/** IMAP host (imap provider only), e.g. "imap.qq.com". */
|
|
23
|
+
host?: string;
|
|
24
|
+
/** IMAP port; default 993 (implicit TLS). */
|
|
25
|
+
port?: number;
|
|
26
|
+
addedAt: number;
|
|
27
|
+
lastSweepAt?: number;
|
|
28
|
+
enabled: boolean;
|
|
29
|
+
}
|
|
30
|
+
/** Per-account secret, stored only in ~/.lisa/mail/secrets.json (mode 0600). */
|
|
31
|
+
export interface MailSecret {
|
|
32
|
+
/** IMAP app-password / authorization code. */
|
|
33
|
+
password?: string;
|
|
34
|
+
/** OAuth (gmail). */
|
|
35
|
+
refreshToken?: string;
|
|
36
|
+
accessToken?: string;
|
|
37
|
+
/** Access-token expiry, epoch ms. */
|
|
38
|
+
expiry?: number;
|
|
39
|
+
clientId?: string;
|
|
40
|
+
clientSecret?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Raw, minimally-fetched message: METADATA + a bounded snippet. Never the full
|
|
44
|
+
* body. This is the most that ever leaves the mailbox into LISA.
|
|
45
|
+
*/
|
|
46
|
+
export interface RawMail {
|
|
47
|
+
/** Account-scoped UID (stable per mailbox). */
|
|
48
|
+
uid: string;
|
|
49
|
+
accountId: string;
|
|
50
|
+
/** Display form, e.g. "Jane Doe <jane@x.com>". */
|
|
51
|
+
from: string;
|
|
52
|
+
fromAddress: string;
|
|
53
|
+
to?: string;
|
|
54
|
+
subject: string;
|
|
55
|
+
/** Epoch ms. */
|
|
56
|
+
date: number;
|
|
57
|
+
/** First ~N chars of the text body, bounded + whitespace-collapsed. */
|
|
58
|
+
snippet: string;
|
|
59
|
+
/** IMAP flags, e.g. ["\\Seen"]. */
|
|
60
|
+
flags?: string[];
|
|
61
|
+
mailbox: string;
|
|
62
|
+
}
|
|
63
|
+
export type MailCategory = "urgent" | "personal" | "work" | "finance" | "calendar" | "security" | "newsletter" | "promotion" | "social" | "notification" | "spam" | "other";
|
|
64
|
+
export declare const MAIL_CATEGORIES: MailCategory[];
|
|
65
|
+
/** 0 ignore · 1 fyi · 2 should-read · 3 needs-you-now. */
|
|
66
|
+
export type MailImportance = 0 | 1 | 2 | 3;
|
|
67
|
+
/** A classified message — the unit the digest + alerts operate on. */
|
|
68
|
+
export interface MailItem {
|
|
69
|
+
uid: string;
|
|
70
|
+
accountId: string;
|
|
71
|
+
from: string;
|
|
72
|
+
fromAddress: string;
|
|
73
|
+
subject: string;
|
|
74
|
+
date: number;
|
|
75
|
+
snippet: string;
|
|
76
|
+
category: MailCategory;
|
|
77
|
+
importance: MailImportance;
|
|
78
|
+
/** One-line model-written reason / summary. */
|
|
79
|
+
reason: string;
|
|
80
|
+
/** Heuristic signals that informed the grade (transparency). */
|
|
81
|
+
signals: string[];
|
|
82
|
+
classifiedAt: number;
|
|
83
|
+
}
|
|
84
|
+
export interface DigestBucket {
|
|
85
|
+
category: MailCategory;
|
|
86
|
+
count: number;
|
|
87
|
+
/** A few representative items (capped). */
|
|
88
|
+
items: MailItem[];
|
|
89
|
+
}
|
|
90
|
+
export interface DailyDigest {
|
|
91
|
+
/** Local YYYY-MM-DD the digest covers. */
|
|
92
|
+
date: string;
|
|
93
|
+
generatedAt: number;
|
|
94
|
+
accountIds: string[];
|
|
95
|
+
total: number;
|
|
96
|
+
unread: number;
|
|
97
|
+
/** importance >= 2, newest first. */
|
|
98
|
+
needsYou: MailItem[];
|
|
99
|
+
buckets: DigestBucket[];
|
|
100
|
+
/** Short narrative (templated, or model-written by the service). */
|
|
101
|
+
summary: string;
|
|
102
|
+
}
|
|
103
|
+
/** Fetches raw mail for one account. Injectable so the service is unit-testable. */
|
|
104
|
+
export interface MailConnector {
|
|
105
|
+
/** Messages received since `sinceMs` (capped at `limit`), metadata + snippet
|
|
106
|
+
* only, newest first. */
|
|
107
|
+
listSince(opts: {
|
|
108
|
+
sinceMs: number;
|
|
109
|
+
limit: number;
|
|
110
|
+
}): Promise<RawMail[]>;
|
|
111
|
+
/** Close any open connection. Idempotent. */
|
|
112
|
+
close(): Promise<void>;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;IACvB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,gFAAgF;AAChF,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,UAAU,GACV,MAAM,GACN,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,cAAc,GACd,MAAM,GACN,OAAO,CAAC;AAEZ,eAAO,MAAM,eAAe,EAAE,YAAY,EAazC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3C,sEAAsE;AACtE,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B;8BAC0B;IAC1B,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,6CAA6C;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mail module — shared types.
|
|
3
|
+
*
|
|
4
|
+
* v1 is READ-ONLY: connect mailboxes, read, classify, grade, digest, alert. No
|
|
5
|
+
* send / archive / delete.
|
|
6
|
+
*
|
|
7
|
+
* PRIVACY: classification runs on METADATA + a BOUNDED SNIPPET only — never full
|
|
8
|
+
* bodies. Full bodies are not persisted and not sent to the model. Secrets
|
|
9
|
+
* (IMAP password / OAuth refresh token) live in a separate 0600 file, never in
|
|
10
|
+
* the accounts list. Everything is gated on the `mail` consent signal.
|
|
11
|
+
*/
|
|
12
|
+
export const MAIL_CATEGORIES = [
|
|
13
|
+
"urgent",
|
|
14
|
+
"personal",
|
|
15
|
+
"work",
|
|
16
|
+
"finance",
|
|
17
|
+
"calendar",
|
|
18
|
+
"security",
|
|
19
|
+
"newsletter",
|
|
20
|
+
"promotion",
|
|
21
|
+
"social",
|
|
22
|
+
"notification",
|
|
23
|
+
"spam",
|
|
24
|
+
"other",
|
|
25
|
+
];
|
|
26
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mail/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuEH,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,QAAQ;IACR,UAAU;IACV,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,YAAY;IACZ,WAAW;IACX,QAAQ;IACR,cAAc;IACd,MAAM;IACN,OAAO;CACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAQpB,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,MAAM,CAAY;gBAEd,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;IAmB1E,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA+F9D"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Anthropic from "@anthropic-ai/sdk";
|
|
2
2
|
import { proxyAwareFetch } from "../proxy-bootstrap.js";
|
|
3
|
+
import { withStreamRetry } from "./stream-retry.js";
|
|
3
4
|
export class AnthropicProvider {
|
|
4
5
|
name = "anthropic";
|
|
5
6
|
client;
|
|
@@ -28,11 +29,20 @@ export class AnthropicProvider {
|
|
|
28
29
|
description: t.description,
|
|
29
30
|
input_schema: t.inputSchema,
|
|
30
31
|
}));
|
|
32
|
+
// Cache the large, stable system prefix (soul + skills + memory) for 1h so it
|
|
33
|
+
// stays warm across normal think-time gaps in a bursty personal session,
|
|
34
|
+
// instead of paying a cold re-write every time the 5-min default expires. The
|
|
35
|
+
// conversational tail (withCacheBreakpoint) stays at the cheaper 5-min default.
|
|
36
|
+
// Heavy-continuous users can opt back to 5-min writes via LISA_CACHE_TTL=5m.
|
|
37
|
+
// GA on Sonnet 4.6 / Opus 4.x — see docs/PLAN_MODEL_TUNING_v1.0.md.
|
|
38
|
+
const systemCache = process.env.LISA_CACHE_TTL === "5m"
|
|
39
|
+
? { type: "ephemeral" }
|
|
40
|
+
: { type: "ephemeral", ttl: "1h" };
|
|
31
41
|
const params = {
|
|
32
42
|
model: opts.model,
|
|
33
43
|
max_tokens: opts.maxTokens ?? 16_000,
|
|
34
44
|
system: [
|
|
35
|
-
{ type: "text", text: opts.systemPrompt, cache_control:
|
|
45
|
+
{ type: "text", text: opts.systemPrompt, cache_control: systemCache },
|
|
36
46
|
],
|
|
37
47
|
tools,
|
|
38
48
|
messages,
|
|
@@ -41,6 +51,15 @@ export class AnthropicProvider {
|
|
|
41
51
|
if (opts.thinking) {
|
|
42
52
|
params.thinking = { type: "adaptive" };
|
|
43
53
|
}
|
|
54
|
+
// Optional thinking-depth / token-spend lever (GA on Sonnet 4.6). Omitted ⇒
|
|
55
|
+
// the API default of "high". Dispatched subagents pass "low" for cheap
|
|
56
|
+
// parallel work; a global LISA_EFFORT can override for power users.
|
|
57
|
+
if (opts.effort) {
|
|
58
|
+
params.output_config = {
|
|
59
|
+
...params.output_config,
|
|
60
|
+
effort: opts.effort,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
44
63
|
const extras = {};
|
|
45
64
|
if (opts.compaction) {
|
|
46
65
|
extras.betas = ["compact-2026-01-12"];
|
|
@@ -51,26 +70,29 @@ export class AnthropicProvider {
|
|
|
51
70
|
// Second argument is the SDK's per-request options; `signal` aborts the
|
|
52
71
|
// in-flight HTTP stream (the SDK then throws APIUserAbortError).
|
|
53
72
|
const requestOpts = { signal: opts.signal };
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
stream
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
73
|
+
// Retry transient empty-stream failures ("request ended without sending any
|
|
74
|
+
// chunks" and proxy-induced connection drops). The SDK's request-level
|
|
75
|
+
// retries don't cover these — they're thrown while iterating a 200 stream —
|
|
76
|
+
// so without this a momentary proxy/network blip surfaces as a hard error.
|
|
77
|
+
// Safe because we only retry while no delta has been forwarded yet.
|
|
78
|
+
const message = await withStreamRetry({ signal: opts.signal }, async (markEmitted) => {
|
|
79
|
+
const stream = opts.compaction
|
|
80
|
+
? this.client.beta.messages.stream({ ...params, ...extras }, requestOpts)
|
|
81
|
+
: this.client.messages.stream(params, requestOpts);
|
|
82
|
+
if (opts.handlers?.onTextDelta) {
|
|
83
|
+
stream.on("text", (t) => {
|
|
84
|
+
markEmitted();
|
|
85
|
+
onText(t);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (opts.handlers?.onThinkingDelta) {
|
|
89
|
+
stream.on("thinking", (t) => {
|
|
90
|
+
markEmitted();
|
|
91
|
+
onThinking(t);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
return (await stream.finalMessage());
|
|
95
|
+
});
|
|
74
96
|
return {
|
|
75
97
|
content: message.content,
|
|
76
98
|
stopReason: message.stop_reason ?? "end_turn",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5E,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,IAAI,YAAY;IAGzB,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;gBAEvD,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;YAI9C,SAAS;IAgBjB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA4F9D"}
|
package/dist/providers/gemini.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { withStreamRetry } from "./stream-retry.js";
|
|
1
2
|
export class GeminiProvider {
|
|
2
3
|
name = "gemini";
|
|
3
4
|
// Lazily constructed on first runTurn so that merely importing the provider
|
|
@@ -36,74 +37,76 @@ export class GeminiProvider {
|
|
|
36
37
|
},
|
|
37
38
|
]
|
|
38
39
|
: undefined;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
40
|
+
// Per-attempt state lives inside the retry closure so it resets cleanly on
|
|
41
|
+
// a transient empty-stream retry (see withStreamRetry).
|
|
42
|
+
return withStreamRetry({ signal: opts.signal }, async (markEmitted) => {
|
|
43
|
+
const stream = await client.models.generateContentStream({
|
|
44
|
+
model: opts.model,
|
|
45
|
+
contents,
|
|
46
|
+
config: {
|
|
47
|
+
// Aborts the in-flight request (the SDK then throws an abort error).
|
|
48
|
+
abortSignal: opts.signal,
|
|
49
|
+
systemInstruction: opts.systemPrompt,
|
|
50
|
+
tools,
|
|
51
|
+
maxOutputTokens: opts.maxTokens ?? 16_000,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
let text = "";
|
|
55
|
+
const toolCalls = [];
|
|
56
|
+
let inputTokens = 0;
|
|
57
|
+
let outputTokens = 0;
|
|
58
|
+
for await (const chunk of stream) {
|
|
59
|
+
const cand = chunk.candidates?.[0];
|
|
60
|
+
const parts = cand?.content?.parts ?? [];
|
|
61
|
+
for (const p of parts) {
|
|
62
|
+
if (typeof p.text === "string" && p.text.length > 0) {
|
|
63
|
+
markEmitted();
|
|
64
|
+
text += p.text;
|
|
65
|
+
opts.handlers?.onTextDelta?.(p.text);
|
|
66
|
+
}
|
|
67
|
+
if (p.functionCall) {
|
|
68
|
+
toolCalls.push({
|
|
69
|
+
id: p.functionCall.id ?? `call_${p.functionCall.name}_${Math.random().toString(36).slice(2)}`,
|
|
70
|
+
name: p.functionCall.name ?? "",
|
|
71
|
+
args: (p.functionCall.args ?? {}),
|
|
72
|
+
});
|
|
73
|
+
}
|
|
64
74
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
});
|
|
75
|
+
// usageMetadata is on the final chunk
|
|
76
|
+
const usage = chunk.usageMetadata;
|
|
77
|
+
if (usage) {
|
|
78
|
+
inputTokens = usage.promptTokenCount ?? 0;
|
|
79
|
+
outputTokens = usage.candidatesTokenCount ?? 0;
|
|
71
80
|
}
|
|
72
81
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
inputTokens = usage.promptTokenCount ?? 0;
|
|
77
|
-
outputTokens = usage.candidatesTokenCount ?? 0;
|
|
82
|
+
const content = [];
|
|
83
|
+
if (text) {
|
|
84
|
+
content.push({ type: "text", text, citations: null });
|
|
78
85
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
cacheReadTokens: 0,
|
|
104
|
-
cacheWriteTokens: 0,
|
|
105
|
-
},
|
|
106
|
-
};
|
|
86
|
+
for (const tc of toolCalls) {
|
|
87
|
+
content.push({
|
|
88
|
+
type: "tool_use",
|
|
89
|
+
id: tc.id,
|
|
90
|
+
name: tc.name,
|
|
91
|
+
input: tc.args,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Gemini finish reasons: STOP, MAX_TOKENS, SAFETY, RECITATION, OTHER, BLOCKLIST,
|
|
95
|
+
// PROHIBITED_CONTENT, SPII, MALFORMED_FUNCTION_CALL, IMAGE_SAFETY.
|
|
96
|
+
// Tool calls are signaled by the presence of functionCall parts, NOT a
|
|
97
|
+
// distinct finishReason — so we infer from toolCalls.length.
|
|
98
|
+
const stopReason = toolCalls.length > 0 ? "tool_use" : "end_turn";
|
|
99
|
+
return {
|
|
100
|
+
content,
|
|
101
|
+
stopReason,
|
|
102
|
+
usage: {
|
|
103
|
+
inputTokens,
|
|
104
|
+
outputTokens,
|
|
105
|
+
cacheReadTokens: 0,
|
|
106
|
+
cacheWriteTokens: 0,
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
});
|
|
107
110
|
}
|
|
108
111
|
}
|
|
109
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;IAQtD,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAmG9D"}
|