@oratis/lisa 0.8.0 → 0.11.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/README.md +123 -16
- package/README.zh-CN.md +101 -15
- package/completions/_lisa +56 -0
- package/completions/lisa.bash +35 -1
- package/completions/lisa.fish +18 -1
- package/dist/advisor/engine.d.ts +7 -0
- package/dist/advisor/engine.d.ts.map +1 -1
- package/dist/advisor/engine.js +12 -0
- package/dist/advisor/engine.js.map +1 -1
- package/dist/agent.d.ts +14 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +58 -7
- package/dist/agent.js.map +1 -1
- package/dist/agents/managed.d.ts +108 -0
- package/dist/agents/managed.d.ts.map +1 -0
- package/dist/agents/managed.js +241 -0
- package/dist/agents/managed.js.map +1 -0
- package/dist/agents/pty.d.ts +155 -0
- package/dist/agents/pty.d.ts.map +1 -0
- package/dist/agents/pty.js +299 -0
- package/dist/agents/pty.js.map +1 -0
- package/dist/approval.d.ts +13 -0
- package/dist/approval.d.ts.map +1 -1
- package/dist/approval.js +25 -2
- package/dist/approval.js.map +1 -1
- package/dist/autonomy/runs.d.ts +33 -0
- package/dist/autonomy/runs.d.ts.map +1 -0
- package/dist/autonomy/runs.js +106 -0
- package/dist/autonomy/runs.js.map +1 -0
- package/dist/channels/feishu.d.ts.map +1 -1
- package/dist/channels/feishu.js +65 -0
- package/dist/channels/feishu.js.map +1 -1
- package/dist/channels/router.d.ts +7 -0
- package/dist/channels/router.d.ts.map +1 -1
- package/dist/channels/router.js +1 -1
- package/dist/channels/router.js.map +1 -1
- package/dist/cli/agents-pty.d.ts +18 -0
- package/dist/cli/agents-pty.d.ts.map +1 -0
- package/dist/cli/agents-pty.js +182 -0
- package/dist/cli/agents-pty.js.map +1 -0
- package/dist/cli/agents.d.ts +2 -0
- package/dist/cli/agents.d.ts.map +1 -0
- package/dist/cli/agents.js +65 -0
- package/dist/cli/agents.js.map +1 -0
- package/dist/cli/consent.d.ts +2 -0
- package/dist/cli/consent.d.ts.map +1 -0
- package/dist/cli/consent.js +57 -0
- package/dist/cli/consent.js.map +1 -0
- package/dist/cli/model.d.ts +2 -0
- package/dist/cli/model.d.ts.map +1 -0
- package/dist/cli/model.js +121 -0
- package/dist/cli/model.js.map +1 -0
- package/dist/cli/sense.d.ts +2 -0
- package/dist/cli/sense.d.ts.map +1 -0
- package/dist/cli/sense.js +36 -0
- package/dist/cli/sense.js.map +1 -0
- package/dist/cli.js +117 -12
- package/dist/cli.js.map +1 -1
- package/dist/consent/blacklist.d.ts +28 -0
- package/dist/consent/blacklist.d.ts.map +1 -0
- package/dist/consent/blacklist.js +78 -0
- package/dist/consent/blacklist.js.map +1 -0
- package/dist/consent/store.d.ts +45 -0
- package/dist/consent/store.d.ts.map +1 -0
- package/dist/consent/store.js +126 -0
- package/dist/consent/store.js.map +1 -0
- package/dist/control/policy.d.ts +13 -0
- package/dist/control/policy.d.ts.map +1 -0
- package/dist/control/policy.js +57 -0
- package/dist/control/policy.js.map +1 -0
- package/dist/heartbeat/runner.d.ts.map +1 -1
- package/dist/heartbeat/runner.js +70 -14
- package/dist/heartbeat/runner.js.map +1 -1
- package/dist/idle/runner.d.ts.map +1 -1
- package/dist/idle/runner.js +87 -17
- package/dist/idle/runner.js.map +1 -1
- package/dist/integrations/aider/observer.d.ts +21 -1
- package/dist/integrations/aider/observer.d.ts.map +1 -1
- package/dist/integrations/aider/observer.js +110 -1
- package/dist/integrations/aider/observer.js.map +1 -1
- package/dist/integrations/claude-code/liveness.d.ts +10 -0
- package/dist/integrations/claude-code/liveness.d.ts.map +1 -0
- package/dist/integrations/claude-code/liveness.js +62 -0
- package/dist/integrations/claude-code/liveness.js.map +1 -0
- package/dist/integrations/claude-code/watcher.d.ts +39 -4
- package/dist/integrations/claude-code/watcher.d.ts.map +1 -1
- package/dist/integrations/claude-code/watcher.js +94 -57
- package/dist/integrations/claude-code/watcher.js.map +1 -1
- package/dist/integrations/codex/observer.d.ts +19 -6
- package/dist/integrations/codex/observer.d.ts.map +1 -1
- package/dist/integrations/codex/observer.js +228 -4
- package/dist/integrations/codex/observer.js.map +1 -1
- package/dist/integrations/dispatch-ledger.d.ts +30 -1
- package/dist/integrations/dispatch-ledger.d.ts.map +1 -1
- package/dist/integrations/dispatch-ledger.js +75 -9
- package/dist/integrations/dispatch-ledger.js.map +1 -1
- package/dist/integrations/git/branch.d.ts +11 -0
- package/dist/integrations/git/branch.d.ts.map +1 -0
- package/dist/integrations/git/branch.js +49 -0
- package/dist/integrations/git/branch.js.map +1 -0
- package/dist/integrations/git/observer.d.ts +39 -0
- package/dist/integrations/git/observer.d.ts.map +1 -0
- package/dist/integrations/git/observer.js +252 -0
- package/dist/integrations/git/observer.js.map +1 -0
- package/dist/integrations/github-pr/observer.d.ts.map +1 -1
- package/dist/integrations/github-pr/observer.js +7 -2
- package/dist/integrations/github-pr/observer.js.map +1 -1
- package/dist/integrations/hub.d.ts +8 -0
- package/dist/integrations/hub.d.ts.map +1 -1
- package/dist/integrations/hub.js +39 -1
- package/dist/integrations/hub.js.map +1 -1
- package/dist/integrations/managed/observer.d.ts +17 -0
- package/dist/integrations/managed/observer.d.ts.map +1 -0
- package/dist/integrations/managed/observer.js +46 -0
- package/dist/integrations/managed/observer.js.map +1 -0
- package/dist/integrations/opencode/observer.d.ts +53 -5
- package/dist/integrations/opencode/observer.d.ts.map +1 -1
- package/dist/integrations/opencode/observer.js +242 -20
- package/dist/integrations/opencode/observer.js.map +1 -1
- package/dist/integrations/pty/observer.d.ts +25 -0
- package/dist/integrations/pty/observer.d.ts.map +1 -0
- package/dist/integrations/pty/observer.js +48 -0
- package/dist/integrations/pty/observer.js.map +1 -0
- package/dist/integrations/registry.d.ts.map +1 -1
- package/dist/integrations/registry.js +5 -0
- package/dist/integrations/registry.js.map +1 -1
- package/dist/integrations/shell/observer.d.ts +33 -0
- package/dist/integrations/shell/observer.d.ts.map +1 -0
- package/dist/integrations/shell/observer.js +223 -0
- package/dist/integrations/shell/observer.js.map +1 -0
- package/dist/integrations/takoapi/a2a.d.ts +38 -0
- package/dist/integrations/takoapi/a2a.d.ts.map +1 -0
- package/dist/integrations/takoapi/a2a.js +70 -0
- package/dist/integrations/takoapi/a2a.js.map +1 -0
- package/dist/integrations/takoapi/ledger.d.ts +32 -0
- package/dist/integrations/takoapi/ledger.d.ts.map +1 -0
- package/dist/integrations/takoapi/ledger.js +96 -0
- package/dist/integrations/takoapi/ledger.js.map +1 -0
- package/dist/integrations/takoapi/observer.d.ts +39 -0
- package/dist/integrations/takoapi/observer.d.ts.map +1 -0
- package/dist/integrations/takoapi/observer.js +102 -0
- package/dist/integrations/takoapi/observer.js.map +1 -0
- package/dist/integrations/types.d.ts +17 -0
- package/dist/integrations/types.d.ts.map +1 -1
- package/dist/mcp/client.d.ts +5 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +1 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config.d.ts +4 -0
- package/dist/mcp/config.d.ts.map +1 -1
- package/dist/mcp/config.js +34 -0
- package/dist/mcp/config.js.map +1 -1
- package/dist/memory/embedding.d.ts +45 -0
- package/dist/memory/embedding.d.ts.map +1 -0
- package/dist/memory/embedding.js +139 -0
- package/dist/memory/embedding.js.map +1 -0
- package/dist/memory/search_tool.d.ts.map +1 -1
- package/dist/memory/search_tool.js +6 -2
- package/dist/memory/search_tool.js.map +1 -1
- package/dist/memory/vector.d.ts +14 -3
- package/dist/memory/vector.d.ts.map +1 -1
- package/dist/memory/vector.js +50 -0
- package/dist/memory/vector.js.map +1 -1
- package/dist/model/local.d.ts +43 -0
- package/dist/model/local.d.ts.map +1 -0
- package/dist/model/local.js +118 -0
- package/dist/model/local.js.map +1 -0
- package/dist/model/plan-usage.d.ts +41 -0
- package/dist/model/plan-usage.d.ts.map +1 -0
- package/dist/model/plan-usage.js +168 -0
- package/dist/model/plan-usage.js.map +1 -0
- package/dist/model/plans.d.ts +73 -0
- package/dist/model/plans.d.ts.map +1 -0
- package/dist/model/plans.js +246 -0
- package/dist/model/plans.js.map +1 -0
- package/dist/orchestrator/recent-recap.d.ts +2 -0
- package/dist/orchestrator/recent-recap.d.ts.map +1 -0
- package/dist/orchestrator/recent-recap.js +20 -0
- package/dist/orchestrator/recent-recap.js.map +1 -0
- package/dist/providers/anthropic.d.ts +1 -0
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +10 -2
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/fallback.d.ts +23 -0
- package/dist/providers/fallback.d.ts.map +1 -0
- package/dist/providers/fallback.js +29 -0
- package/dist/providers/fallback.js.map +1 -0
- package/dist/providers/gemini.d.ts +2 -0
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +24 -10
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +4 -1
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/registry.d.ts +18 -2
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +56 -9
- package/dist/providers/registry.js.map +1 -1
- package/dist/reflect.d.ts +55 -0
- package/dist/reflect.d.ts.map +1 -1
- package/dist/reflect.js +148 -54
- package/dist/reflect.js.map +1 -1
- package/dist/sense/log.d.ts +9 -0
- package/dist/sense/log.d.ts.map +1 -0
- package/dist/sense/log.js +63 -0
- package/dist/sense/log.js.map +1 -0
- package/dist/sense/screen.d.ts +43 -0
- package/dist/sense/screen.d.ts.map +1 -0
- package/dist/sense/screen.js +107 -0
- package/dist/sense/screen.js.map +1 -0
- package/dist/sense/service.d.ts +16 -0
- package/dist/sense/service.d.ts.map +1 -0
- package/dist/sense/service.js +33 -0
- package/dist/sense/service.js.map +1 -0
- package/dist/sense/types.d.ts +35 -0
- package/dist/sense/types.d.ts.map +1 -0
- package/dist/sense/types.js +11 -0
- package/dist/sense/types.js.map +1 -0
- package/dist/sense/voice.d.ts +28 -0
- package/dist/sense/voice.d.ts.map +1 -0
- package/dist/sense/voice.js +64 -0
- package/dist/sense/voice.js.map +1 -0
- package/dist/soul/git.d.ts.map +1 -1
- package/dist/soul/git.js +35 -16
- package/dist/soul/git.js.map +1 -1
- package/dist/soul/store.d.ts +22 -0
- package/dist/soul/store.d.ts.map +1 -1
- package/dist/soul/store.js +69 -14
- package/dist/soul/store.js.map +1 -1
- package/dist/soul/summary.d.ts +10 -0
- package/dist/soul/summary.d.ts.map +1 -0
- package/dist/soul/summary.js +57 -0
- package/dist/soul/summary.js.map +1 -0
- package/dist/soul/tools.d.ts.map +1 -1
- package/dist/soul/tools.js +13 -24
- package/dist/soul/tools.js.map +1 -1
- package/dist/soul/types.d.ts +9 -0
- package/dist/soul/types.d.ts.map +1 -1
- package/dist/soul/types.js.map +1 -1
- package/dist/subagent.d.ts +7 -0
- package/dist/subagent.d.ts.map +1 -1
- package/dist/subagent.js +3 -1
- package/dist/subagent.js.map +1 -1
- package/dist/tools/dispatch_agent.d.ts +13 -1
- package/dist/tools/dispatch_agent.d.ts.map +1 -1
- package/dist/tools/dispatch_agent.js +56 -12
- package/dist/tools/dispatch_agent.js.map +1 -1
- package/dist/tools/dispatch_status.d.ts +22 -0
- package/dist/tools/dispatch_status.d.ts.map +1 -0
- package/dist/tools/dispatch_status.js +57 -0
- package/dist/tools/dispatch_status.js.map +1 -0
- package/dist/tools/github.d.ts +34 -0
- package/dist/tools/github.d.ts.map +1 -0
- package/dist/tools/github.js +140 -0
- package/dist/tools/github.js.map +1 -0
- package/dist/tools/github_link.d.ts +36 -0
- package/dist/tools/github_link.d.ts.map +1 -0
- package/dist/tools/github_link.js +127 -0
- package/dist/tools/github_link.js.map +1 -0
- package/dist/tools/mcp.d.ts +28 -0
- package/dist/tools/mcp.d.ts.map +1 -0
- package/dist/tools/mcp.js +55 -0
- package/dist/tools/mcp.js.map +1 -0
- package/dist/tools/npm_info.d.ts +21 -0
- package/dist/tools/npm_info.d.ts.map +1 -0
- package/dist/tools/npm_info.js +102 -0
- package/dist/tools/npm_info.js.map +1 -0
- package/dist/tools/registry.d.ts +29 -0
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +75 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run_on_plan.d.ts +46 -0
- package/dist/tools/run_on_plan.d.ts.map +1 -0
- package/dist/tools/run_on_plan.js +89 -0
- package/dist/tools/run_on_plan.js.map +1 -0
- package/dist/tools/takoapi.d.ts +60 -0
- package/dist/tools/takoapi.d.ts.map +1 -0
- package/dist/tools/takoapi.js +181 -0
- package/dist/tools/takoapi.js.map +1 -0
- package/dist/tools/validate.d.ts +22 -0
- package/dist/tools/validate.d.ts.map +1 -0
- package/dist/tools/validate.js +50 -0
- package/dist/tools/validate.js.map +1 -0
- package/dist/voice/dictation.d.ts +51 -0
- package/dist/voice/dictation.d.ts.map +1 -0
- package/dist/voice/dictation.js +70 -0
- package/dist/voice/dictation.js.map +1 -0
- package/dist/web/agent-roster.d.ts +56 -0
- package/dist/web/agent-roster.d.ts.map +1 -0
- package/dist/web/agent-roster.js +109 -0
- package/dist/web/agent-roster.js.map +1 -0
- package/dist/web/devices.d.ts +27 -0
- package/dist/web/devices.d.ts.map +1 -0
- package/dist/web/devices.js +113 -0
- package/dist/web/devices.js.map +1 -0
- package/dist/web/island.d.ts +5 -1
- package/dist/web/island.d.ts.map +1 -1
- package/dist/web/island.js +427 -67
- package/dist/web/island.js.map +1 -1
- package/dist/web/lisa-client.d.ts +20 -0
- package/dist/web/lisa-client.d.ts.map +1 -0
- package/dist/web/lisa-client.js +1323 -0
- package/dist/web/lisa-client.js.map +1 -0
- package/dist/web/lisa-css.d.ts +13 -0
- package/dist/web/lisa-css.d.ts.map +1 -0
- package/dist/web/lisa-css.js +1163 -0
- package/dist/web/lisa-css.js.map +1 -0
- 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 +16 -2091
- package/dist/web/lisa-html.js.map +1 -1
- package/dist/web/push.d.ts +76 -0
- package/dist/web/push.d.ts.map +1 -0
- package/dist/web/push.js +163 -0
- package/dist/web/push.js.map +1 -0
- package/dist/web/server.d.ts +19 -0
- package/dist/web/server.d.ts.map +1 -1
- package/dist/web/server.js +898 -65
- package/dist/web/server.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coding-plan backends (CODING_PLANS.md, Phase 1 — detection + picker).
|
|
3
|
+
*
|
|
4
|
+
* A "coding plan" is a flat-rate subscription (Claude Pro/Max, a ChatGPT plan
|
|
5
|
+
* via Codex, GitHub Copilot) that the user already pays for. LISA can spend that
|
|
6
|
+
* budget on *coding work* by DELEGATING to the vendor's own CLI — never by
|
|
7
|
+
* extracting or replaying its subscription token (Anthropic's terms forbid that,
|
|
8
|
+
* and enforced it against OpenClaw; see docs/CODING_PLANS.md).
|
|
9
|
+
*
|
|
10
|
+
* This module is the Phase-1 slice: *detect* which plan CLIs are installed /
|
|
11
|
+
* logged in, and *select* one as the default delegation target. It performs NO
|
|
12
|
+
* authentication and reads NO secrets — detection is presence-only (binary on
|
|
13
|
+
* PATH / credential file exists), exactly the metadata-not-payload posture of
|
|
14
|
+
* every LISA observer. Actually routing coding work to the selected plan is a
|
|
15
|
+
* later phase that builds on the existing PTY bridge (src/agents/pty.ts).
|
|
16
|
+
*
|
|
17
|
+
* The probe (filesystem / PATH / env) is injectable so detection is unit-testable
|
|
18
|
+
* without a real claude/codex install.
|
|
19
|
+
*/
|
|
20
|
+
import { existsSync, readdirSync } from "node:fs";
|
|
21
|
+
import { homedir } from "node:os";
|
|
22
|
+
import { join } from "node:path";
|
|
23
|
+
export const PLAN_IDS = ["claude", "codex", "copilot"];
|
|
24
|
+
/** The real host probe (filesystem + PATH + env). */
|
|
25
|
+
export function defaultPlanProbe() {
|
|
26
|
+
const env = process.env;
|
|
27
|
+
return {
|
|
28
|
+
home: homedir(),
|
|
29
|
+
platform: process.platform,
|
|
30
|
+
env,
|
|
31
|
+
exists: (p) => {
|
|
32
|
+
try {
|
|
33
|
+
return existsSync(p);
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
readdir: (p) => {
|
|
40
|
+
try {
|
|
41
|
+
return readdirSync(p);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
onPath: (cmd) => onPath(cmd, env),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/** Is `cmd` resolvable on PATH? Absolute/relative paths are checked directly. Pure-ish. */
|
|
51
|
+
export function onPath(cmd, env) {
|
|
52
|
+
if (cmd.includes("/") || cmd.includes("\\")) {
|
|
53
|
+
try {
|
|
54
|
+
return existsSync(cmd);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const isWin = process.platform === "win32";
|
|
61
|
+
const sep = isWin ? ";" : ":";
|
|
62
|
+
const exts = isWin ? ["", ".exe", ".cmd", ".bat"] : [""];
|
|
63
|
+
for (const dir of (env.PATH ?? "").split(sep)) {
|
|
64
|
+
if (!dir)
|
|
65
|
+
continue;
|
|
66
|
+
for (const ext of exts) {
|
|
67
|
+
try {
|
|
68
|
+
if (existsSync(join(dir, cmd + ext)))
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
/* unreadable dir → skip */
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
/** Parse a `plan://<id>` reference into a known PlanId, else null. Pure. */
|
|
79
|
+
export function parsePlanRef(ref) {
|
|
80
|
+
const m = ref.match(/^plan:\/\/(.+)$/i);
|
|
81
|
+
if (!m)
|
|
82
|
+
return null;
|
|
83
|
+
const id = m[1].trim().toLowerCase();
|
|
84
|
+
return PLAN_IDS.includes(id) ? id : null;
|
|
85
|
+
}
|
|
86
|
+
/** Currently selected coding-plan delegation target, if any (LISA_CODING_PLAN). */
|
|
87
|
+
export function selectedPlan(env = process.env) {
|
|
88
|
+
const v = (env.LISA_CODING_PLAN ?? "").trim().toLowerCase();
|
|
89
|
+
return PLAN_IDS.includes(v) ? v : null;
|
|
90
|
+
}
|
|
91
|
+
// ── per-plan detection (presence-only) ───────────────────────────────────────
|
|
92
|
+
function cmpVersionDesc(a, b) {
|
|
93
|
+
const pa = a.split(".").map((n) => parseInt(n, 10) || 0);
|
|
94
|
+
const pb = b.split(".").map((n) => parseInt(n, 10) || 0);
|
|
95
|
+
for (let i = 0; i < 3; i++)
|
|
96
|
+
if ((pb[i] || 0) !== (pa[i] || 0))
|
|
97
|
+
return (pb[i] || 0) - (pa[i] || 0);
|
|
98
|
+
return 0;
|
|
99
|
+
}
|
|
100
|
+
/** Newest app-bundled `claude` binary on macOS (mirrors pty.detectClaudeBinary). */
|
|
101
|
+
function claudeAppBundle(probe) {
|
|
102
|
+
if (probe.platform !== "darwin")
|
|
103
|
+
return null;
|
|
104
|
+
const root = join(probe.home, "Library", "Application Support", "Claude", "claude-code");
|
|
105
|
+
const versions = probe.readdir(root).filter((v) => /^\d+\.\d+\.\d+/.test(v)).sort(cmpVersionDesc);
|
|
106
|
+
for (const v of versions) {
|
|
107
|
+
const bin = join(root, v, "claude.app", "Contents", "MacOS", "claude");
|
|
108
|
+
if (probe.exists(bin))
|
|
109
|
+
return bin;
|
|
110
|
+
}
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
function detectClaude(probe) {
|
|
114
|
+
const override = probe.env.LISA_PTY_CLAUDE_CMD;
|
|
115
|
+
const binary = override
|
|
116
|
+
? probe.onPath(override)
|
|
117
|
+
? override
|
|
118
|
+
: null
|
|
119
|
+
: (claudeAppBundle(probe) ?? (probe.onPath("claude") ? "claude" : null));
|
|
120
|
+
// Login: token env, else credentials file (Linux/Windows). On macOS the creds
|
|
121
|
+
// live in the Keychain (opaque) → unknown rather than "logged out".
|
|
122
|
+
const configDir = probe.env.CLAUDE_CONFIG_DIR
|
|
123
|
+
? probe.env.CLAUDE_CONFIG_DIR
|
|
124
|
+
: join(probe.home, ".claude");
|
|
125
|
+
let loggedIn;
|
|
126
|
+
if (probe.env.CLAUDE_CODE_OAUTH_TOKEN || probe.env.ANTHROPIC_AUTH_TOKEN)
|
|
127
|
+
loggedIn = true;
|
|
128
|
+
else if (probe.exists(join(configDir, ".credentials.json")))
|
|
129
|
+
loggedIn = true;
|
|
130
|
+
else if (probe.platform === "darwin")
|
|
131
|
+
loggedIn = null; // Keychain — can't tell from presence
|
|
132
|
+
else
|
|
133
|
+
loggedIn = false;
|
|
134
|
+
return {
|
|
135
|
+
id: "claude",
|
|
136
|
+
label: "Claude Pro/Max",
|
|
137
|
+
cli: "claude",
|
|
138
|
+
binary,
|
|
139
|
+
available: binary !== null,
|
|
140
|
+
loggedIn,
|
|
141
|
+
detail: hint(binary !== null, loggedIn, "claude", "`claude` (Claude Code)"),
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function detectCodex(probe) {
|
|
145
|
+
const cli = probe.env.LISA_PTY_CODEX_CMD || "codex";
|
|
146
|
+
const binary = probe.onPath(cli) ? cli : null;
|
|
147
|
+
const codexHome = probe.env.CODEX_HOME ? probe.env.CODEX_HOME : join(probe.home, ".codex");
|
|
148
|
+
// auth.json exists → logged in. Absent could mean OS-keyring storage → unknown.
|
|
149
|
+
const loggedIn = probe.exists(join(codexHome, "auth.json")) ? true : binary ? null : false;
|
|
150
|
+
return {
|
|
151
|
+
id: "codex",
|
|
152
|
+
label: "ChatGPT plan (Codex)",
|
|
153
|
+
cli: "codex",
|
|
154
|
+
binary,
|
|
155
|
+
available: binary !== null,
|
|
156
|
+
loggedIn,
|
|
157
|
+
detail: hint(binary !== null, loggedIn, "codex", "`codex` (OpenAI Codex)"),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function detectCopilot(probe) {
|
|
161
|
+
// The delegate target is the standalone agentic `copilot` CLI, which runs a
|
|
162
|
+
// task non-interactively via `copilot -p "<task>"`. The older `gh copilot`
|
|
163
|
+
// (suggest/explain) is NOT agentic and can't run a task, so it doesn't count.
|
|
164
|
+
const binary = probe.onPath("copilot") ? "copilot" : null;
|
|
165
|
+
// Copilot login sits behind GitHub auth — not cheaply checkable without
|
|
166
|
+
// spawning, so: installed → unknown, absent → false.
|
|
167
|
+
const loggedIn = binary ? null : false;
|
|
168
|
+
return {
|
|
169
|
+
id: "copilot",
|
|
170
|
+
label: "GitHub Copilot",
|
|
171
|
+
cli: "copilot",
|
|
172
|
+
binary,
|
|
173
|
+
available: binary !== null,
|
|
174
|
+
loggedIn,
|
|
175
|
+
detail: binary
|
|
176
|
+
? "installed — login state unknown (GitHub auth)"
|
|
177
|
+
: "install the GitHub Copilot CLI (`copilot`) to enable",
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
function hint(available, loggedIn, loginCmd, what) {
|
|
181
|
+
if (!available)
|
|
182
|
+
return `install ${what} to enable`;
|
|
183
|
+
if (loggedIn === true)
|
|
184
|
+
return "ready";
|
|
185
|
+
if (loggedIn === false)
|
|
186
|
+
return `installed — run \`${loginCmd} login\` to sign in`;
|
|
187
|
+
return "installed — login state unknown (stored in the OS keychain)";
|
|
188
|
+
}
|
|
189
|
+
/** Detect one plan's status. */
|
|
190
|
+
export function detectPlan(id, probe = defaultPlanProbe()) {
|
|
191
|
+
switch (id) {
|
|
192
|
+
case "claude":
|
|
193
|
+
return detectClaude(probe);
|
|
194
|
+
case "codex":
|
|
195
|
+
return detectCodex(probe);
|
|
196
|
+
case "copilot":
|
|
197
|
+
return detectCopilot(probe);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/** Detect every known plan. */
|
|
201
|
+
export function detectPlans(probe = defaultPlanProbe()) {
|
|
202
|
+
return PLAN_IDS.map((id) => detectPlan(id, probe));
|
|
203
|
+
}
|
|
204
|
+
// ── delegation (CODING_PLANS Phase 2) ────────────────────────────────────────
|
|
205
|
+
/**
|
|
206
|
+
* The headless dispatch CLI kind a plan delegates through. Each plan id is also
|
|
207
|
+
* its CLI kind in launchAgent: claude → `claude -p`, codex → `codex exec`,
|
|
208
|
+
* copilot → `copilot -p`.
|
|
209
|
+
*/
|
|
210
|
+
export function planDispatchKind(id) {
|
|
211
|
+
return id; // each plan id is also its headless dispatch CLI kind
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Can we delegate coding work to this detected plan right now? Pure. A null
|
|
215
|
+
* (unknown) login passes — on macOS the credential lives in the Keychain and
|
|
216
|
+
* "installed but login unverifiable" should not block; the CLI itself will
|
|
217
|
+
* prompt if truly logged out.
|
|
218
|
+
*/
|
|
219
|
+
export function planPreflight(status) {
|
|
220
|
+
if (!status.available)
|
|
221
|
+
return { ok: false, reason: `${status.cli} isn't installed — ${status.detail}` };
|
|
222
|
+
if (status.loggedIn === false)
|
|
223
|
+
return { ok: false, reason: `${status.cli} is installed but not logged in — ${status.detail}` };
|
|
224
|
+
return { ok: true };
|
|
225
|
+
}
|
|
226
|
+
// ── surfacing (CODING_PLANS Phase 4) ─────────────────────────────────────────
|
|
227
|
+
/** Status glyph: ✓ logged in · ✗ unavailable/logged-out · ? installed, login unknown. Pure. */
|
|
228
|
+
export function planMark(s) {
|
|
229
|
+
if (!s.available || s.loggedIn === false)
|
|
230
|
+
return "✗";
|
|
231
|
+
if (s.loggedIn === true)
|
|
232
|
+
return "✓";
|
|
233
|
+
return "?";
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* One-line coding-plan summary for surfaces like `lisa agents`. Pure. Shows the
|
|
237
|
+
* selected delegation target (★) and each plan's glyph. Headroom/rate-limit
|
|
238
|
+
* numbers are intentionally omitted — they'd need version-fragile parsing of the
|
|
239
|
+
* vendor CLI's output, and a wrong number is worse than none.
|
|
240
|
+
*/
|
|
241
|
+
export function planSummaryLine(statuses, selected) {
|
|
242
|
+
const bits = statuses.map((s) => `${s.label} ${planMark(s)}${s.id === selected ? " ★" : ""}`);
|
|
243
|
+
const head = selected ? `coding plan → ${selected}` : "coding plan → none selected";
|
|
244
|
+
return `${head} · ${bits.join(" · ")}`;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=plans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plans.js","sourceRoot":"","sources":["../../src/model/plans.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recent-recap.d.ts","sourceRoot":"","sources":["../../src/orchestrator/recent-recap.ts"],"names":[],"mappings":"AAaA,wBAAgB,gBAAgB,CAC9B,QAAQ,GAAE,MAAwB,EAClC,GAAG,GAAE,MAAmB,GACvB,MAAM,GAAG,IAAI,CAKf"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Recent agent-fleet recap, ready to inject into Lisa's self-driven runs
|
|
3
|
+
* (PLAN_REVE_v1.0 R5). The orchestrator journal records what every agent did;
|
|
4
|
+
* before this, that record was write-only — reflection and heartbeat never read
|
|
5
|
+
* it. This composes journal + recap so Lisa can factor "what my fleet did" into
|
|
6
|
+
* how she reflects and what she pursues.
|
|
7
|
+
*
|
|
8
|
+
* Returns null when there was no activity in the window, so callers can inject
|
|
9
|
+
* conditionally. Structural metadata only (no prompts/replies/file contents).
|
|
10
|
+
*/
|
|
11
|
+
import { eventsSince } from "./journal.js";
|
|
12
|
+
import { buildRecap, formatRecap } from "./recap.js";
|
|
13
|
+
export function recentAgentRecap(windowMs = 2 * 60 * 60_000, now = Date.now()) {
|
|
14
|
+
const sinceMs = now - windowMs;
|
|
15
|
+
const recap = buildRecap(eventsSince(sinceMs), sinceMs, now);
|
|
16
|
+
if (recap.totalSessions === 0)
|
|
17
|
+
return null;
|
|
18
|
+
return formatRecap(recap);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=recent-recap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recent-recap.js","sourceRoot":"","sources":["../../src/orchestrator/recent-recap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAC9B,WAAmB,CAAC,GAAG,EAAE,GAAG,MAAM,EAClC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,OAAO,GAAG,GAAG,GAAG,QAAQ,CAAC;IAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,MAAM,CAAY;gBAEd,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,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;CAgE9D"}
|
|
@@ -10,8 +10,13 @@ export class AnthropicProvider {
|
|
|
10
10
|
// baseURL overrides the default https://api.anthropic.com — used to
|
|
11
11
|
// route through an Anthropic-compatible proxy (one-api, openrouter,
|
|
12
12
|
// self-hosted relay) when direct access is blocked.
|
|
13
|
+
// authToken sends `Authorization: Bearer …` instead of the default
|
|
14
|
+
// `x-api-key` header — the sanctioned path for an Anthropic-compatible
|
|
15
|
+
// LLM gateway / proxy (matches Claude Code's ANTHROPIC_AUTH_TOKEN). When
|
|
16
|
+
// set it takes precedence over apiKey, so callers pass one or the other.
|
|
13
17
|
this.client = new Anthropic({
|
|
14
18
|
apiKey: opts.apiKey,
|
|
19
|
+
authToken: opts.authToken,
|
|
15
20
|
baseURL: opts.baseURL,
|
|
16
21
|
fetch: proxyAwareFetch,
|
|
17
22
|
});
|
|
@@ -43,12 +48,15 @@ export class AnthropicProvider {
|
|
|
43
48
|
}
|
|
44
49
|
const onText = (delta) => opts.handlers?.onTextDelta?.(delta);
|
|
45
50
|
const onThinking = (delta) => opts.handlers?.onThinkingDelta?.(delta);
|
|
51
|
+
// Second argument is the SDK's per-request options; `signal` aborts the
|
|
52
|
+
// in-flight HTTP stream (the SDK then throws APIUserAbortError).
|
|
53
|
+
const requestOpts = { signal: opts.signal };
|
|
46
54
|
let message;
|
|
47
55
|
if (opts.compaction) {
|
|
48
56
|
const stream = this.client.beta.messages.stream({
|
|
49
57
|
...params,
|
|
50
58
|
...extras,
|
|
51
|
-
});
|
|
59
|
+
}, requestOpts);
|
|
52
60
|
if (opts.handlers?.onTextDelta)
|
|
53
61
|
stream.on("text", onText);
|
|
54
62
|
if (opts.handlers?.onThinkingDelta)
|
|
@@ -56,7 +64,7 @@ export class AnthropicProvider {
|
|
|
56
64
|
message = (await stream.finalMessage());
|
|
57
65
|
}
|
|
58
66
|
else {
|
|
59
|
-
const stream = this.client.messages.stream(params);
|
|
67
|
+
const stream = this.client.messages.stream(params, requestOpts);
|
|
60
68
|
if (opts.handlers?.onTextDelta)
|
|
61
69
|
stream.on("text", onText);
|
|
62
70
|
if (opts.handlers?.onThinkingDelta)
|
|
@@ -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;AAOxD,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,WAAW,CAAC;IACpB,MAAM,CAAY;IAE1B,YAAY,
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fallback provider (PLAN_MODEL_v1.0 M3).
|
|
3
|
+
*
|
|
4
|
+
* Wraps a chain of {model, provider} links. runTurn tries each in order; if one
|
|
5
|
+
* throws (network error, rate limit, provider outage), it moves to the next.
|
|
6
|
+
* Configured by LISA_MODEL_FALLBACK (a comma-separated list of model ids) — the
|
|
7
|
+
* primary model is the chain head, the fallbacks follow.
|
|
8
|
+
*
|
|
9
|
+
* It implements the same Provider interface, so the agent loop is unaware it's
|
|
10
|
+
* talking to a chain rather than a single provider.
|
|
11
|
+
*/
|
|
12
|
+
import type { Provider, ProviderResult, ProviderRunOpts } from "./types.js";
|
|
13
|
+
export interface FallbackLink {
|
|
14
|
+
model: string;
|
|
15
|
+
provider: Provider;
|
|
16
|
+
}
|
|
17
|
+
export declare class FallbackProvider implements Provider {
|
|
18
|
+
private chain;
|
|
19
|
+
readonly name = "fallback";
|
|
20
|
+
constructor(chain: FallbackLink[]);
|
|
21
|
+
runTurn(opts: ProviderRunOpts): Promise<ProviderResult>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/providers/fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,qBAAa,gBAAiB,YAAW,QAAQ;IAEnC,OAAO,CAAC,KAAK;IADzB,QAAQ,CAAC,IAAI,cAAc;gBACP,KAAK,EAAE,YAAY,EAAE;IAInC,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAoB9D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class FallbackProvider {
|
|
2
|
+
chain;
|
|
3
|
+
name = "fallback";
|
|
4
|
+
constructor(chain) {
|
|
5
|
+
this.chain = chain;
|
|
6
|
+
if (chain.length === 0)
|
|
7
|
+
throw new Error("FallbackProvider requires at least one link");
|
|
8
|
+
}
|
|
9
|
+
async runTurn(opts) {
|
|
10
|
+
let lastErr;
|
|
11
|
+
for (let i = 0; i < this.chain.length; i++) {
|
|
12
|
+
const link = this.chain[i];
|
|
13
|
+
try {
|
|
14
|
+
// Each link runs with its own model id; everything else is unchanged.
|
|
15
|
+
return await link.provider.runTurn({ ...opts, model: link.model });
|
|
16
|
+
}
|
|
17
|
+
catch (err) {
|
|
18
|
+
lastErr = err;
|
|
19
|
+
const next = this.chain[i + 1];
|
|
20
|
+
if (next) {
|
|
21
|
+
console.error(`[provider] "${link.model}" failed (${err.message?.slice(0, 120)}) — ` +
|
|
22
|
+
`falling back to "${next.model}"`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
throw lastErr;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/providers/fallback.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,gBAAgB;IAEP;IADX,IAAI,GAAG,UAAU,CAAC;IAC3B,YAAoB,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqB;QACjC,IAAI,OAAgB,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,sEAAsE;gBACtE,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,GAAG,CAAC;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/B,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CACX,eAAe,IAAI,CAAC,KAAK,aAAc,GAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM;wBAC/E,oBAAoB,IAAI,CAAC,KAAK,GAAG,CACpC,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,OAAO,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -2,10 +2,12 @@ import type { Provider, ProviderResult, ProviderRunOpts } from "./types.js";
|
|
|
2
2
|
export declare class GeminiProvider implements Provider {
|
|
3
3
|
readonly name = "gemini";
|
|
4
4
|
private client;
|
|
5
|
+
private readonly clientOpts;
|
|
5
6
|
constructor(opts?: {
|
|
6
7
|
apiKey?: string;
|
|
7
8
|
baseURL?: string;
|
|
8
9
|
});
|
|
10
|
+
private getClient;
|
|
9
11
|
runTurn(opts: ProviderRunOpts): Promise<ProviderResult>;
|
|
10
12
|
}
|
|
11
13
|
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -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":"AA4BA,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;CAyF9D"}
|
package/dist/providers/gemini.js
CHANGED
|
@@ -1,17 +1,29 @@
|
|
|
1
|
-
import { GoogleGenAI } from "@google/genai";
|
|
2
1
|
export class GeminiProvider {
|
|
3
2
|
name = "gemini";
|
|
4
|
-
|
|
3
|
+
// Lazily constructed on first runTurn so that merely importing the provider
|
|
4
|
+
// registry (Anthropic-only users, unit tests) doesn't load @google/genai.
|
|
5
|
+
client = null;
|
|
6
|
+
clientOpts;
|
|
5
7
|
constructor(opts = {}) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
this.client
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
this.clientOpts = opts;
|
|
9
|
+
}
|
|
10
|
+
async getClient() {
|
|
11
|
+
if (!this.client) {
|
|
12
|
+
const { GoogleGenAI } = await import("@google/genai");
|
|
13
|
+
// GoogleGenAI doesn't accept a custom fetch; relies on undici globally,
|
|
14
|
+
// which proxy-bootstrap.ts has already configured. baseURL is supported
|
|
15
|
+
// via httpOptions.
|
|
16
|
+
this.client = new GoogleGenAI({
|
|
17
|
+
apiKey: this.clientOpts.apiKey,
|
|
18
|
+
...(this.clientOpts.baseURL
|
|
19
|
+
? { httpOptions: { baseUrl: this.clientOpts.baseURL } }
|
|
20
|
+
: {}),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return this.client;
|
|
13
24
|
}
|
|
14
25
|
async runTurn(opts) {
|
|
26
|
+
const client = await this.getClient();
|
|
15
27
|
const contents = anthropicToGemini(opts.messages);
|
|
16
28
|
const tools = opts.tools.length > 0
|
|
17
29
|
? [
|
|
@@ -24,10 +36,12 @@ export class GeminiProvider {
|
|
|
24
36
|
},
|
|
25
37
|
]
|
|
26
38
|
: undefined;
|
|
27
|
-
const stream = await
|
|
39
|
+
const stream = await client.models.generateContentStream({
|
|
28
40
|
model: opts.model,
|
|
29
41
|
contents,
|
|
30
42
|
config: {
|
|
43
|
+
// Aborts the in-flight request (the SDK then throws an abort error).
|
|
44
|
+
abortSignal: opts.signal,
|
|
31
45
|
systemInstruction: opts.systemPrompt,
|
|
32
46
|
tools,
|
|
33
47
|
maxOutputTokens: opts.maxTokens ?? 16_000,
|
|
@@ -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":"AAIA,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;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAIA,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;CA8F9D"}
|
package/dist/providers/openai.js
CHANGED
|
@@ -27,7 +27,10 @@ export class OpenAIProvider {
|
|
|
27
27
|
max_tokens: opts.maxTokens ?? 16_000,
|
|
28
28
|
stream: true,
|
|
29
29
|
stream_options: { include_usage: true },
|
|
30
|
-
}
|
|
30
|
+
},
|
|
31
|
+
// Per-request options; `signal` aborts the in-flight HTTP stream
|
|
32
|
+
// (the SDK then throws APIUserAbortError).
|
|
33
|
+
{ signal: opts.signal });
|
|
31
34
|
let text = "";
|
|
32
35
|
const toolCalls = new Map();
|
|
33
36
|
let finish = "stop";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAQ,CAAC;IACjB,MAAM,CAAS;IAEvB,YAAY,OAA8C,EAAE;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,eAAe;SACvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAqB;QACjC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,UAAU,EAAE,CAAC,CAAC,WAAsC;aACrD;SACF,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,28 @@ interface OpenAICompatPreset {
|
|
|
29
29
|
}
|
|
30
30
|
export declare const OPENAI_COMPAT_PRESETS: OpenAICompatPreset[];
|
|
31
31
|
export declare function detectProvider(model: string): ProviderName;
|
|
32
|
+
/**
|
|
33
|
+
* Anthropic auth from env. ANTHROPIC_AUTH_TOKEN (sent as `Authorization: Bearer`,
|
|
34
|
+
* for an Anthropic-compatible gateway/proxy) takes precedence over
|
|
35
|
+
* ANTHROPIC_API_KEY (`x-api-key`), matching Claude Code's precedence. Pure.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveAnthropicAuth(env?: Record<string, string | undefined>): {
|
|
38
|
+
apiKey?: string;
|
|
39
|
+
authToken?: string;
|
|
40
|
+
};
|
|
32
41
|
export declare function makeProvider(name: ProviderName): Provider;
|
|
33
42
|
/**
|
|
34
|
-
* Resolve
|
|
35
|
-
*
|
|
43
|
+
* Resolve the provider for a model, wrapping it in a FallbackProvider when
|
|
44
|
+
* LISA_MODEL_FALLBACK lists alternate models to try if the primary errors.
|
|
45
|
+
* Drop-in for the old single-provider behavior (no env → identical).
|
|
36
46
|
*/
|
|
37
47
|
export declare function providerForModel(model: string): Provider;
|
|
48
|
+
/**
|
|
49
|
+
* Pick the default model when the user didn't pass --model. An explicit local
|
|
50
|
+
* default (LISA_MODEL, e.g. set by `lisa model use`) wins; otherwise auto-detect
|
|
51
|
+
* from the single configured cloud key so a one-key setup works with no flags.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveDefaultModel(): string;
|
|
38
54
|
/** For docs / CLI listing. */
|
|
39
55
|
export declare function listConfiguredProviders(): Array<{
|
|
40
56
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/providers/registry.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,UAAU,kBAAkB;IAC1B,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,EAqFrD,CAAC;AAeF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAqB1D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAIzC;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAkBzD;AA6CD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAQxD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAK5C;AAED,8BAA8B;AAC9B,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAsBtF"}
|