@snoglobe/helios 0.2.1 → 0.3.2
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 +112 -25
- package/dist/acp/server.d.ts.map +1 -1
- package/dist/acp/server.js +2 -1
- package/dist/acp/server.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +2 -1
- package/dist/app.js.map +1 -1
- package/dist/cli/discover.d.ts +12 -0
- package/dist/cli/discover.d.ts.map +1 -0
- package/dist/cli/discover.js +60 -0
- package/dist/cli/discover.js.map +1 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +2 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/export.d.ts.map +1 -1
- package/dist/cli/export.js +2 -1
- package/dist/cli/export.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +12 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/options.d.ts +1 -0
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +1 -0
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/replay.d.ts.map +1 -1
- package/dist/cli/replay.js +2 -1
- package/dist/cli/replay.js.map +1 -1
- package/dist/cli/report.d.ts.map +1 -1
- package/dist/cli/report.js +15 -10
- package/dist/cli/report.js.map +1 -1
- package/dist/cli/research.d.ts +12 -0
- package/dist/cli/research.d.ts.map +1 -0
- package/dist/cli/research.js +60 -0
- package/dist/cli/research.js.map +1 -0
- package/dist/cli/search.d.ts.map +1 -1
- package/dist/cli/search.js +2 -1
- package/dist/cli/search.js.map +1 -1
- package/dist/cli/sessions.d.ts.map +1 -1
- package/dist/cli/sessions.js +2 -1
- package/dist/cli/sessions.js.map +1 -1
- package/dist/core/orchestrator.d.ts +6 -0
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +41 -14
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/hub/client.d.ts.map +1 -1
- package/dist/hub/client.js +3 -2
- package/dist/hub/client.js.map +1 -1
- package/dist/hub/config.d.ts.map +1 -1
- package/dist/hub/config.js +4 -5
- package/dist/hub/config.js.map +1 -1
- package/dist/init.d.ts +3 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +35 -8
- package/dist/init.js.map +1 -1
- package/dist/memory/context-gate.d.ts +0 -4
- package/dist/memory/context-gate.d.ts.map +1 -1
- package/dist/memory/context-gate.js +0 -7
- package/dist/memory/context-gate.js.map +1 -1
- package/dist/memory/experiment-tracker.d.ts +0 -2
- package/dist/memory/experiment-tracker.d.ts.map +1 -1
- package/dist/memory/experiment-tracker.js +0 -4
- package/dist/memory/experiment-tracker.js.map +1 -1
- package/dist/memory/global-memory.d.ts +34 -0
- package/dist/memory/global-memory.d.ts.map +1 -0
- package/dist/memory/global-memory.js +128 -0
- package/dist/memory/global-memory.js.map +1 -0
- package/dist/metrics/store.d.ts +0 -4
- package/dist/metrics/store.d.ts.map +1 -1
- package/dist/metrics/store.js +0 -17
- package/dist/metrics/store.js.map +1 -1
- package/dist/paths.d.ts +8 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +29 -0
- package/dist/paths.js.map +1 -1
- package/dist/providers/claude/provider.d.ts +2 -1
- package/dist/providers/claude/provider.d.ts.map +1 -1
- package/dist/providers/claude/provider.js +83 -16
- package/dist/providers/claude/provider.js.map +1 -1
- package/dist/providers/openai/provider.d.ts +0 -1
- package/dist/providers/openai/provider.d.ts.map +1 -1
- package/dist/providers/openai/provider.js +25 -9
- package/dist/providers/openai/provider.js.map +1 -1
- package/dist/providers/retry.d.ts +6 -0
- package/dist/providers/retry.d.ts.map +1 -1
- package/dist/providers/retry.js +36 -1
- package/dist/providers/retry.js.map +1 -1
- package/dist/remote/config.d.ts.map +1 -1
- package/dist/remote/config.js +2 -6
- package/dist/remote/config.js.map +1 -1
- package/dist/remote/connection-pool.d.ts +3 -1
- package/dist/remote/connection-pool.d.ts.map +1 -1
- package/dist/remote/connection-pool.js +35 -7
- package/dist/remote/connection-pool.js.map +1 -1
- package/dist/remote/executor.d.ts +0 -1
- package/dist/remote/executor.d.ts.map +1 -1
- package/dist/remote/executor.js +0 -4
- package/dist/remote/executor.js.map +1 -1
- package/dist/scheduler/sleep-manager.d.ts.map +1 -1
- package/dist/scheduler/sleep-manager.js +5 -7
- package/dist/scheduler/sleep-manager.js.map +1 -1
- package/dist/scheduler/trigger-scheduler.d.ts.map +1 -1
- package/dist/scheduler/trigger-scheduler.js +2 -2
- package/dist/scheduler/trigger-scheduler.js.map +1 -1
- package/dist/skills/bundled/ablation.md +23 -0
- package/dist/skills/bundled/consult.md +6 -0
- package/dist/skills/bundled/discover.md +45 -0
- package/dist/skills/bundled/paper.md +34 -0
- package/dist/skills/bundled/research.md +44 -0
- package/dist/skills/bundled/writeup.md +57 -0
- package/dist/skills/executor.d.ts +28 -0
- package/dist/skills/executor.d.ts.map +1 -0
- package/dist/skills/executor.js +148 -0
- package/dist/skills/executor.js.map +1 -0
- package/dist/skills/loader.d.ts +17 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +194 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/registry.d.ts +12 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +25 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/types.d.ts +37 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +2 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/store/preferences.d.ts.map +1 -1
- package/dist/store/preferences.js +3 -11
- package/dist/store/preferences.js.map +1 -1
- package/dist/tools/compare-runs.d.ts.map +1 -1
- package/dist/tools/compare-runs.js +3 -2
- package/dist/tools/compare-runs.js.map +1 -1
- package/dist/tools/consult.d.ts +4 -2
- package/dist/tools/consult.d.ts.map +1 -1
- package/dist/tools/consult.js +17 -35
- package/dist/tools/consult.js.map +1 -1
- package/dist/tools/experiment-branch.js +7 -7
- package/dist/tools/experiment-branch.js.map +1 -1
- package/dist/tools/file-ops.d.ts.map +1 -1
- package/dist/tools/file-ops.js +55 -10
- package/dist/tools/file-ops.js.map +1 -1
- package/dist/tools/hub.js +17 -17
- package/dist/tools/hub.js.map +1 -1
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +2 -1
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/sleep.d.ts.map +1 -1
- package/dist/tools/sleep.js +2 -1
- package/dist/tools/sleep.js.map +1 -1
- package/dist/tools/sweep.js +3 -3
- package/dist/tools/sweep.js.map +1 -1
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +5 -6
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/writeup.d.ts +4 -10
- package/dist/tools/writeup.d.ts.map +1 -1
- package/dist/tools/writeup.js +16 -77
- package/dist/tools/writeup.js.map +1 -1
- package/dist/ui/commands.d.ts +2 -0
- package/dist/ui/commands.d.ts.map +1 -1
- package/dist/ui/commands.js +86 -35
- package/dist/ui/commands.js.map +1 -1
- package/dist/ui/components/input-bar.d.ts +3 -1
- package/dist/ui/components/input-bar.d.ts.map +1 -1
- package/dist/ui/components/input-bar.js +2 -2
- package/dist/ui/components/input-bar.js.map +1 -1
- package/dist/ui/components/status-bar.d.ts +3 -1
- package/dist/ui/components/status-bar.d.ts.map +1 -1
- package/dist/ui/components/status-bar.js +14 -2
- package/dist/ui/components/status-bar.js.map +1 -1
- package/dist/ui/format.d.ts +4 -0
- package/dist/ui/format.d.ts.map +1 -1
- package/dist/ui/format.js +8 -0
- package/dist/ui/format.js.map +1 -1
- package/dist/ui/layout.d.ts.map +1 -1
- package/dist/ui/layout.js +40 -7
- package/dist/ui/layout.js.map +1 -1
- package/dist/ui/panels/conversation.js +7 -3
- package/dist/ui/panels/conversation.js.map +1 -1
- package/package.json +2 -2
package/dist/cli/index.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* helios watch <machine:pid> Stream task output + metrics
|
|
13
13
|
* helios replay <session-id> Replay a past session
|
|
14
14
|
* helios report [session-id] Generate experiment writeup
|
|
15
|
+
* helios discover [interests] Background literature discovery
|
|
15
16
|
* helios init Initialize project config
|
|
16
17
|
* helios doctor Diagnose setup
|
|
17
18
|
* helios search "query" Search session histories
|
|
@@ -22,8 +23,9 @@ import { Command } from "@effect/cli";
|
|
|
22
23
|
import { NodeContext, NodeRuntime } from "@effect/platform-node";
|
|
23
24
|
import { Effect } from "effect";
|
|
24
25
|
import { VERSION } from "../version.js";
|
|
25
|
-
import { provider, claudeMode, model, continueSession, resumeSession, print, headless, home, hubUrl, hubKey, agent, files, prompt, } from "./options.js";
|
|
26
|
+
import { provider, claudeMode, model, continueSession, resumeSession, print, headless, debug, home, hubUrl, hubKey, agent, files, prompt, } from "./options.js";
|
|
26
27
|
import { applyEnv } from "./env.js";
|
|
28
|
+
import { debugLog } from "../paths.js";
|
|
27
29
|
import { run } from "./run.js";
|
|
28
30
|
import { auth } from "./auth.js";
|
|
29
31
|
import { sessions } from "./sessions.js";
|
|
@@ -35,15 +37,22 @@ import { doctor } from "./doctor.js";
|
|
|
35
37
|
import { search } from "./search.js";
|
|
36
38
|
import { exportCmd } from "./export.js";
|
|
37
39
|
import { kill } from "./kill.js";
|
|
40
|
+
import { discover } from "./discover.js";
|
|
38
41
|
// ── Root command ─────────────────────────────────────────
|
|
39
42
|
const helios = Command.make("helios", {
|
|
40
43
|
provider, claudeMode, model,
|
|
41
44
|
continueSession, resumeSession,
|
|
42
|
-
print, headless,
|
|
45
|
+
print, headless, debug,
|
|
43
46
|
home, hubUrl, hubKey, agent,
|
|
44
47
|
files, prompt,
|
|
45
48
|
}, (opts) => Effect.gen(function* () {
|
|
46
49
|
// Set env vars before any runtime imports
|
|
50
|
+
if (opts.debug)
|
|
51
|
+
process.env.HELIOS_DEBUG = "1";
|
|
52
|
+
if (process.env.HELIOS_DEBUG === "1") {
|
|
53
|
+
debugLog("cli", "helios starting", { args: process.argv.slice(2) });
|
|
54
|
+
process.stderr.write("[helios] debug mode enabled — logging to ~/.helios/debug.log\n");
|
|
55
|
+
}
|
|
47
56
|
applyEnv({
|
|
48
57
|
home: opts.home,
|
|
49
58
|
hubUrl: opts.hubUrl,
|
|
@@ -61,7 +70,7 @@ const helios = Command.make("helios", {
|
|
|
61
70
|
files: opts.files,
|
|
62
71
|
prompt: opts.prompt,
|
|
63
72
|
});
|
|
64
|
-
})).pipe(Command.withSubcommands([auth, sessions, watch, replay, report, initCmd, doctor, search, exportCmd, kill]));
|
|
73
|
+
})).pipe(Command.withSubcommands([auth, sessions, watch, replay, report, discover, initCmd, doctor, search, exportCmd, kill]));
|
|
65
74
|
// ── Launch ───────────────────────────────────────────────
|
|
66
75
|
const cli = Command.run(helios, {
|
|
67
76
|
name: "helios",
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/options.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare const continueSession: Options.Options<boolean>;
|
|
|
9
9
|
export declare const resumeSession: Options.Options<import("effect/Option").Option<string>>;
|
|
10
10
|
export declare const print: Options.Options<boolean>;
|
|
11
11
|
export declare const headless: Options.Options<boolean>;
|
|
12
|
+
export declare const debug: Options.Options<boolean>;
|
|
12
13
|
export declare const home: Options.Options<import("effect/Option").Option<string>>;
|
|
13
14
|
export declare const hubUrl: Options.Options<import("effect/Option").Option<string>>;
|
|
14
15
|
export declare const hubKey: Options.Options<import("effect/Option").Option<string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAI5C,eAAO,MAAM,QAAQ,sEAIpB,CAAC;AAEF,eAAO,MAAM,UAAU,gEAGtB,CAAC;AAEF,eAAO,MAAM,KAAK,yDAIjB,CAAC;AAIF,eAAO,MAAM,eAAe,0BAI3B,CAAC;AAEF,eAAO,MAAM,aAAa,yDAIzB,CAAC;AAIF,eAAO,MAAM,KAAK,0BAIjB,CAAC;AAEF,eAAO,MAAM,QAAQ,0BAGpB,CAAC;AAIF,eAAO,MAAM,IAAI,yDAGhB,CAAC;AAEF,eAAO,MAAM,MAAM,yDAGlB,CAAC;AAEF,eAAO,MAAM,MAAM,yDAGlB,CAAC;AAEF,eAAO,MAAM,KAAK,yDAGjB,CAAC;AAIF,eAAO,MAAM,KAAK,2BAIjB,CAAC;AAIF,eAAO,MAAM,MAAM,mDAGlB,CAAC"}
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAI5C,eAAO,MAAM,QAAQ,sEAIpB,CAAC;AAEF,eAAO,MAAM,UAAU,gEAGtB,CAAC;AAEF,eAAO,MAAM,KAAK,yDAIjB,CAAC;AAIF,eAAO,MAAM,eAAe,0BAI3B,CAAC;AAEF,eAAO,MAAM,aAAa,yDAIzB,CAAC;AAIF,eAAO,MAAM,KAAK,0BAIjB,CAAC;AAEF,eAAO,MAAM,QAAQ,0BAGpB,CAAC;AAEF,eAAO,MAAM,KAAK,0BAGjB,CAAC;AAIF,eAAO,MAAM,IAAI,yDAGhB,CAAC;AAEF,eAAO,MAAM,MAAM,yDAGlB,CAAC;AAEF,eAAO,MAAM,MAAM,yDAGlB,CAAC;AAEF,eAAO,MAAM,KAAK,yDAGjB,CAAC;AAIF,eAAO,MAAM,KAAK,2BAIjB,CAAC;AAIF,eAAO,MAAM,MAAM,mDAGlB,CAAC"}
|
package/dist/cli/options.js
CHANGED
|
@@ -12,6 +12,7 @@ export const resumeSession = Options.text("resume").pipe(Options.withAlias("r"),
|
|
|
12
12
|
// ── Modes ────────────────────────────────────────────────
|
|
13
13
|
export const print = Options.boolean("print").pipe(Options.withAlias("p"), Options.withDescription("Print response and exit (non-interactive)"), Options.withDefault(false));
|
|
14
14
|
export const headless = Options.boolean("headless").pipe(Options.withDescription("Compact UI — no input field"), Options.withDefault(false));
|
|
15
|
+
export const debug = Options.boolean("debug").pipe(Options.withDescription("Enable debug output (verbose logging to stderr)"), Options.withDefault(false));
|
|
15
16
|
// ── Paths & hub ──────────────────────────────────────────
|
|
16
17
|
export const home = Options.directory("home").pipe(Options.withDescription("Data directory (default: ~/.helios)"), Options.optional);
|
|
17
18
|
export const hubUrl = Options.text("hub-url").pipe(Options.withDescription("AgentHub server URL"), Options.optional);
|
package/dist/cli/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/cli/options.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/replay.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/cli/replay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/cli/replay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAYrD,eAAO,MAAM,MAAM;;;EAmElB,CAAC"}
|
package/dist/cli/replay.js
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { Command, Args, Options } from "@effect/cli";
|
|
6
|
+
import { getAgentId } from "../paths.js";
|
|
6
7
|
const sessionId = Args.text({ name: "session-id" }).pipe(Args.withDescription("Session ID to replay (use 'helios sessions' to find IDs)"));
|
|
7
8
|
const raw = Options.boolean("raw").pipe(Options.withDescription("Output raw text without formatting"), Options.withDefault(false));
|
|
8
9
|
export const replay = Command.make("replay", { sessionId, raw }, ({ sessionId, raw }) => Effect.promise(async () => {
|
|
9
10
|
const { SessionStore } = await import("../store/session-store.js");
|
|
10
|
-
const store = new SessionStore(
|
|
11
|
+
const store = new SessionStore(getAgentId());
|
|
11
12
|
const session = store.getSession(sessionId);
|
|
12
13
|
if (!session) {
|
|
13
14
|
console.error(`Session "${sessionId}" not found. Use 'helios sessions' to list sessions.`);
|
package/dist/cli/replay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/cli/replay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"replay.js","sourceRoot":"","sources":["../../src/cli/replay.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/report.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAcrD,eAAO,MAAM,MAAM;;;EA6ElB,CAAC"}
|
package/dist/cli/report.js
CHANGED
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Effect, Option } from "effect";
|
|
6
6
|
import { Command, Args, Options } from "@effect/cli";
|
|
7
|
+
import { getAgentId } from "../paths.js";
|
|
7
8
|
const sessionId = Args.text({ name: "session-id" }).pipe(Args.withDescription("Session ID to report on (default: most recent)"), Args.optional);
|
|
8
9
|
const provider = Options.choice("provider", ["claude", "openai"]).pipe(Options.withAlias("P"), Options.withDescription("Provider to use for generating the writeup"), Options.optional);
|
|
9
10
|
export const report = Command.make("report", { sessionId, provider }, ({ sessionId: sessionIdOpt, provider: providerOpt }) => Effect.promise(async () => {
|
|
10
11
|
const { SessionStore } = await import("../store/session-store.js");
|
|
11
12
|
const { createRuntime } = await import("../init.js");
|
|
12
|
-
const {
|
|
13
|
-
const agentId =
|
|
13
|
+
const { executeSkill } = await import("../skills/executor.js");
|
|
14
|
+
const agentId = getAgentId();
|
|
14
15
|
const store = new SessionStore(agentId);
|
|
15
16
|
// Resolve session
|
|
16
17
|
const targetId = Option.getOrUndefined(sessionIdOpt);
|
|
@@ -41,21 +42,26 @@ export const report = Command.make("report", { sessionId, provider }, ({ session
|
|
|
41
42
|
const transcript = messages
|
|
42
43
|
.map((m) => `[${m.role}] ${m.content}`)
|
|
43
44
|
.join("\n\n");
|
|
44
|
-
// Create a runtime
|
|
45
|
+
// Create a runtime
|
|
45
46
|
const providerName = Option.getOrUndefined(providerOpt);
|
|
46
47
|
const runtime = await createRuntime({ provider: providerName });
|
|
47
|
-
|
|
48
|
-
if (!activeProvider) {
|
|
48
|
+
if (!runtime.orchestrator.currentProvider) {
|
|
49
49
|
process.stderr.write("No active provider. Authenticate first with 'helios auth login'.\n");
|
|
50
50
|
runtime.cleanup();
|
|
51
51
|
process.exit(1);
|
|
52
52
|
}
|
|
53
|
+
const skill = runtime.skillRegistry.get("writeup");
|
|
54
|
+
if (!skill) {
|
|
55
|
+
process.stderr.write("writeup skill not found.\n");
|
|
56
|
+
runtime.cleanup();
|
|
57
|
+
process.exit(1);
|
|
58
|
+
}
|
|
53
59
|
process.stderr.write("Generating report...\n");
|
|
54
|
-
const session = await activeProvider.createSession({
|
|
55
|
-
systemPrompt: buildWriteupSystemPrompt({ transcript: true }),
|
|
56
|
-
});
|
|
57
60
|
try {
|
|
58
|
-
for await (const event of
|
|
61
|
+
for await (const event of executeSkill(skill, {}, transcript, {
|
|
62
|
+
orchestrator: runtime.orchestrator,
|
|
63
|
+
allTools: runtime.orchestrator.getTools(),
|
|
64
|
+
})) {
|
|
59
65
|
if (event.type === "text" && event.delta) {
|
|
60
66
|
process.stdout.write(event.delta);
|
|
61
67
|
}
|
|
@@ -63,7 +69,6 @@ export const report = Command.make("report", { sessionId, provider }, ({ session
|
|
|
63
69
|
process.stdout.write("\n");
|
|
64
70
|
}
|
|
65
71
|
finally {
|
|
66
|
-
await activeProvider.closeSession(session).catch(() => { });
|
|
67
72
|
runtime.cleanup();
|
|
68
73
|
}
|
|
69
74
|
}));
|
package/dist/cli/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/cli/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `helios research [interests]` — background literature review mode.
|
|
3
|
+
* Slowly browses papers and ingests findings into memory.
|
|
4
|
+
* Runs until Ctrl+C.
|
|
5
|
+
*/
|
|
6
|
+
import { Option } from "effect";
|
|
7
|
+
import { Command } from "@effect/cli";
|
|
8
|
+
export declare const research: Command.Command<"research", never, never, {
|
|
9
|
+
readonly interests: Option.Option<string>;
|
|
10
|
+
readonly delay: Option.Option<number>;
|
|
11
|
+
}>;
|
|
12
|
+
//# sourceMappingURL=research.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research.d.ts","sourceRoot":"","sources":["../../src/cli/research.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAarD,eAAO,MAAM,QAAQ;;;EAiEpB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `helios research [interests]` — background literature review mode.
|
|
3
|
+
* Slowly browses papers and ingests findings into memory.
|
|
4
|
+
* Runs until Ctrl+C.
|
|
5
|
+
*/
|
|
6
|
+
import { Effect, Option } from "effect";
|
|
7
|
+
import { Command, Args, Options } from "@effect/cli";
|
|
8
|
+
const interests = Args.text({ name: "interests" }).pipe(Args.withDescription("Research interests / topics to focus on"), Args.optional);
|
|
9
|
+
const delayOpt = Options.integer("delay").pipe(Options.withAlias("d"), Options.withDescription("Seconds between iterations (default: 60)"), Options.optional);
|
|
10
|
+
export const research = Command.make("research", { interests, delay: delayOpt }, ({ interests: interestsOpt, delay: delayOpt }) => Effect.promise(async () => {
|
|
11
|
+
const { createRuntime } = await import("../init.js");
|
|
12
|
+
const { executeSkill } = await import("../skills/executor.js");
|
|
13
|
+
const runtime = await createRuntime();
|
|
14
|
+
if (!runtime.orchestrator.currentProvider) {
|
|
15
|
+
process.stderr.write("No active provider. Authenticate first with 'helios auth login'.\n");
|
|
16
|
+
runtime.cleanup();
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
const skill = runtime.skillRegistry.get("research");
|
|
20
|
+
if (!skill) {
|
|
21
|
+
process.stderr.write("research skill not found.\n");
|
|
22
|
+
runtime.cleanup();
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
// Override delay if specified
|
|
26
|
+
const delay = Option.getOrUndefined(delayOpt);
|
|
27
|
+
if (delay !== undefined) {
|
|
28
|
+
skill.config.delay_ms = delay * 1000;
|
|
29
|
+
}
|
|
30
|
+
const interestsText = Option.getOrUndefined(interestsOpt) ?? "general ML research";
|
|
31
|
+
process.stderr.write(`Starting background research on: ${interestsText}\n`);
|
|
32
|
+
process.stderr.write(`Delay between iterations: ${Math.round((skill.config.delay_ms ?? 60_000) / 1000)}s\n`);
|
|
33
|
+
process.stderr.write(`Press Ctrl+C to stop.\n\n`);
|
|
34
|
+
const abortController = new AbortController();
|
|
35
|
+
process.on("SIGINT", () => abortController.abort());
|
|
36
|
+
try {
|
|
37
|
+
for await (const event of executeSkill(skill, { interests: interestsText }, `Begin your background research on: ${interestsText}`, {
|
|
38
|
+
orchestrator: runtime.orchestrator,
|
|
39
|
+
allTools: runtime.orchestrator.getTools(),
|
|
40
|
+
signal: abortController.signal,
|
|
41
|
+
})) {
|
|
42
|
+
if (event.type === "text" && event.delta) {
|
|
43
|
+
process.stdout.write(event.delta);
|
|
44
|
+
}
|
|
45
|
+
if (event.type === "error") {
|
|
46
|
+
process.stderr.write(`\nError: ${event.error.message}\n`);
|
|
47
|
+
if (!event.recoverable)
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
if (event.type === "done") {
|
|
51
|
+
process.stdout.write("\n---\n");
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
finally {
|
|
56
|
+
process.stdout.write("\n");
|
|
57
|
+
runtime.cleanup();
|
|
58
|
+
}
|
|
59
|
+
}));
|
|
60
|
+
//# sourceMappingURL=research.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/cli/research.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAiB,MAAM,aAAa,CAAC;AAarD,eAAO,MAAM,MAAM;;;EA8DlB,CAAC"}
|
package/dist/cli/search.js
CHANGED
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { Command, Args, Options } from "@effect/cli";
|
|
6
|
+
import { getAgentId } from "../paths.js";
|
|
6
7
|
const query = Args.text({ name: "query" }).pipe(Args.withDescription("Text to search for across all sessions"));
|
|
7
8
|
const limit = Options.integer("limit").pipe(Options.withAlias("n"), Options.withDescription("Max results to show"), Options.withDefault(20));
|
|
8
9
|
export const search = Command.make("search", { query, limit }, ({ query, limit }) => Effect.promise(async () => {
|
|
9
10
|
const { getDb } = await import("../store/database.js");
|
|
10
11
|
const { truncate } = await import("../ui/format.js");
|
|
11
12
|
const db = getDb();
|
|
12
|
-
const agentId =
|
|
13
|
+
const agentId = getAgentId();
|
|
13
14
|
// Search messages with LIKE (SQLite doesn't have full-text by default)
|
|
14
15
|
const rows = db.prepare(`SELECT m.session_id, m.role, m.content, m.timestamp, s.provider
|
|
15
16
|
FROM messages m
|
package/dist/cli/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/cli/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/cli/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/cli/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAS/C,eAAO,MAAM,QAAQ;;EA4CpB,CAAC"}
|
package/dist/cli/sessions.js
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { Effect } from "effect";
|
|
5
5
|
import { Command, Options } from "@effect/cli";
|
|
6
|
+
import { getAgentId } from "../paths.js";
|
|
6
7
|
const limit = Options.integer("limit").pipe(Options.withAlias("n"), Options.withDescription("Number of sessions to show"), Options.withDefault(20));
|
|
7
8
|
export const sessions = Command.make("sessions", { limit }, ({ limit }) => Effect.promise(async () => {
|
|
8
9
|
const { SessionStore } = await import("../store/session-store.js");
|
|
9
|
-
const store = new SessionStore(
|
|
10
|
+
const store = new SessionStore(getAgentId());
|
|
10
11
|
const summaries = store.listSessionSummaries(limit);
|
|
11
12
|
if (summaries.length === 0) {
|
|
12
13
|
console.log("No sessions found.");
|
package/dist/cli/sessions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/cli/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/cli/sessions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACzC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,eAAe,CAAC,4BAA4B,CAAC,EACrD,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CACxB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAClC,UAAU,EACV,EAAE,KAAK,EAAE,EACT,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACZ,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;IACxB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAEpD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAEnE,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QACb,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACd,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;QACf,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;QACtB,eAAe,CAChB,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAE7B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;YACb,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC9B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAC9B,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC,gBAAgB,IAAI,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,uBAAuB,SAAS,CAAC,MAAM,eAAe,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC,CAAC,CACL,CAAC"}
|
|
@@ -35,11 +35,17 @@ export declare class Orchestrator {
|
|
|
35
35
|
startSession(config?: Partial<SessionConfig>): Promise<Session>;
|
|
36
36
|
resumeSession(sessionId: string): Promise<Session>;
|
|
37
37
|
send(message: string, attachments?: Attachment[]): AsyncGenerator<AgentEvent>;
|
|
38
|
+
/** Optional secondary abort controller (e.g. for looping skills). */
|
|
39
|
+
private _activeAbort;
|
|
40
|
+
/** Register an AbortController to be aborted on interrupt(). */
|
|
41
|
+
setActiveAbort(controller: AbortController | null): void;
|
|
38
42
|
interrupt(): void;
|
|
39
43
|
get currentSession(): Session | null;
|
|
40
44
|
get currentProvider(): ModelProvider | null;
|
|
41
45
|
get currentState(): import("./state-machine.js").AgentState;
|
|
42
46
|
get totalCostUsd(): number;
|
|
47
|
+
/** Record cost from external sources (e.g. skill executor). */
|
|
48
|
+
addCost(costUsd: number, inputTokens?: number, outputTokens?: number): void;
|
|
43
49
|
get currentModel(): string | null;
|
|
44
50
|
setModel(model: string): Promise<void>;
|
|
45
51
|
fetchModels(): Promise<ModelInfo[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,OAAO,EACP,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AgentStateMachine } from "./state-machine.js";
|
|
2
2
|
import { SessionStore } from "../store/session-store.js";
|
|
3
3
|
import { savePreferences } from "../store/preferences.js";
|
|
4
|
+
import { debugLog } from "../paths.js";
|
|
4
5
|
export class Orchestrator {
|
|
5
6
|
providers = new Map();
|
|
6
7
|
activeProvider = null;
|
|
@@ -47,12 +48,14 @@ export class Orchestrator {
|
|
|
47
48
|
const provider = this.providers.get(name);
|
|
48
49
|
if (!provider)
|
|
49
50
|
throw new Error(`Provider "${name}" not registered`);
|
|
51
|
+
debugLog("orchestrator", "switching provider", name);
|
|
50
52
|
// Clean up old session before switching
|
|
51
53
|
if (this.activeSession && this.activeProvider) {
|
|
52
54
|
await this.activeProvider.closeSession(this.activeSession).catch(() => { });
|
|
53
55
|
this.activeSession = null;
|
|
54
56
|
}
|
|
55
57
|
await provider.authenticate();
|
|
58
|
+
debugLog("orchestrator", "authenticated", name);
|
|
56
59
|
this.activeProvider = provider;
|
|
57
60
|
savePreferences({ lastProvider: name });
|
|
58
61
|
}
|
|
@@ -102,6 +105,7 @@ export class Orchestrator {
|
|
|
102
105
|
await this.switchProvider(this.config.defaultProvider);
|
|
103
106
|
}
|
|
104
107
|
const session = await this.ensureSession();
|
|
108
|
+
debugLog("orchestrator", "send", { provider: this.activeProvider.name, model: this.activeProvider.currentModel, session: session.id, messageLen: message.length });
|
|
105
109
|
this.sessionStore.updateLastActive(session.id);
|
|
106
110
|
this.sessionStore.addMessage(session.id, "user", message);
|
|
107
111
|
// Prepend sticky notes to the message so the model always sees them
|
|
@@ -113,23 +117,26 @@ export class Orchestrator {
|
|
|
113
117
|
}
|
|
114
118
|
}
|
|
115
119
|
let fullResponse = "";
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (event.type === "done") {
|
|
121
|
-
if (event.usage?.costUsd) {
|
|
122
|
-
this._totalCostUsd += event.usage.costUsd;
|
|
123
|
-
}
|
|
124
|
-
if (event.usage?.inputTokens) {
|
|
125
|
-
this._lastInputTokens = event.usage.inputTokens;
|
|
120
|
+
try {
|
|
121
|
+
for await (const event of this.activeProvider.send(session, augmentedMessage, this.tools, attachments)) {
|
|
122
|
+
if (event.type === "text" && event.delta) {
|
|
123
|
+
fullResponse += event.delta;
|
|
126
124
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
if (event.type === "done") {
|
|
126
|
+
debugLog("orchestrator", "done", event.usage ?? {});
|
|
127
|
+
if (event.usage) {
|
|
128
|
+
this.addCost(event.usage.costUsd ?? 0, event.usage.inputTokens, event.usage.outputTokens);
|
|
129
|
+
}
|
|
130
|
+
if (event.usage?.inputTokens) {
|
|
131
|
+
this._lastInputTokens = event.usage.inputTokens;
|
|
132
|
+
}
|
|
130
133
|
}
|
|
134
|
+
yield event;
|
|
131
135
|
}
|
|
132
|
-
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
debugLog("orchestrator", "ERROR", { message: err instanceof Error ? err.message : String(err), stack: err instanceof Error ? err.stack : undefined });
|
|
139
|
+
throw err;
|
|
133
140
|
}
|
|
134
141
|
// Check if context window is filling up — trigger checkpoint if needed
|
|
135
142
|
yield* this.maybeCheckpoint(session);
|
|
@@ -137,10 +144,20 @@ export class Orchestrator {
|
|
|
137
144
|
this.sessionStore.addMessage(session.id, "assistant", fullResponse);
|
|
138
145
|
}
|
|
139
146
|
}
|
|
147
|
+
/** Optional secondary abort controller (e.g. for looping skills). */
|
|
148
|
+
_activeAbort = null;
|
|
149
|
+
/** Register an AbortController to be aborted on interrupt(). */
|
|
150
|
+
setActiveAbort(controller) {
|
|
151
|
+
this._activeAbort = controller;
|
|
152
|
+
}
|
|
140
153
|
interrupt() {
|
|
141
154
|
if (this.activeProvider && this.activeSession) {
|
|
142
155
|
this.activeProvider.interrupt(this.activeSession);
|
|
143
156
|
}
|
|
157
|
+
if (this._activeAbort) {
|
|
158
|
+
this._activeAbort.abort();
|
|
159
|
+
this._activeAbort = null;
|
|
160
|
+
}
|
|
144
161
|
}
|
|
145
162
|
get currentSession() {
|
|
146
163
|
return this.activeSession;
|
|
@@ -154,6 +171,13 @@ export class Orchestrator {
|
|
|
154
171
|
get totalCostUsd() {
|
|
155
172
|
return this._totalCostUsd;
|
|
156
173
|
}
|
|
174
|
+
/** Record cost from external sources (e.g. skill executor). */
|
|
175
|
+
addCost(costUsd, inputTokens, outputTokens) {
|
|
176
|
+
this._totalCostUsd += costUsd;
|
|
177
|
+
if (this.activeSession) {
|
|
178
|
+
this.sessionStore.addCost(this.activeSession.id, costUsd, inputTokens ?? 0, outputTokens ?? 0);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
157
181
|
get currentModel() {
|
|
158
182
|
return this.activeProvider?.currentModel ?? null;
|
|
159
183
|
}
|
|
@@ -219,6 +243,9 @@ export class Orchestrator {
|
|
|
219
243
|
if (event.type === "text" && event.delta) {
|
|
220
244
|
gist += event.delta;
|
|
221
245
|
}
|
|
246
|
+
if (event.type === "done" && event.usage) {
|
|
247
|
+
this.addCost(event.usage.costUsd ?? 0, event.usage.inputTokens, event.usage.outputTokens);
|
|
248
|
+
}
|
|
222
249
|
}
|
|
223
250
|
}
|
|
224
251
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AASvC,MAAM,OAAO,YAAY;IACf,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC7C,cAAc,GAAyB,IAAI,CAAC;IAC5C,aAAa,GAAmB,IAAI,CAAC;IACrC,KAAK,GAAqB,EAAE,CAAC;IAC7B,aAAa,GAAG,CAAC,CAAC;IAClB,gBAAgB,GAAG,CAAC,CAAC;IACrB,YAAY,GAAuB,IAAI,CAAC;IACxC,cAAc,GAAyB,IAAI,CAAC;IAC3C,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACvC,YAAY,CAAe;IAC3B,MAAM,CAAqB;IAEpC,YAAY,MAA0B;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,gBAAgB,CAAC,QAAuB;QACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,IAAoB;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,KAAuB;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,cAAc,CAAC,IAAiB;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,OAAsB;QACrC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;IAChC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,WAAW,CAAC,IAAa;QACvB,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAClD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAyB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,kBAAkB,CAAC,CAAC;QACpE,QAAQ,CAAC,cAAc,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;QAErD,wCAAwC;QACxC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC3E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC9B,QAAQ,CAAC,cAAc,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,eAAe,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAClD,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA+B;QAChD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,aAAa,GAAkB;YACnC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,GAAG,MAAM;SACV,CAAC;QAEF,MAAM,OAAO,GACX,MAAM,IAAI,CAAC,cAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAE7B,oCAAoC;QACpC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,SAAS,aAAa,CAAC,CAAC;QAEjE,wCAAwC;QACxC,MAAM,YAAY,GAAG,MAAM,CAAC,UAAiC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtE,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;QAED,6EAA6E;QAC7E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAe,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAE7B,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CAAC,OAAe,EAAE,WAA0B;QACrD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAe,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,cAAe,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrK,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAE1D,oEAAoE;QACpE,IAAI,gBAAgB,GAAG,OAAO,CAAC;QAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,QAAQ,EAAE,CAAC;gBACb,gBAAgB,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,cAAe,CAAC,IAAI,CACjD,OAAO,EACP,gBAAgB,EAChB,IAAI,CAAC,KAAK,EACV,WAAW,CACZ,EAAE,CAAC;gBACF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzC,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC;gBAC9B,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBACpD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC5F,CAAC;oBACD,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;wBAC7B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACtJ,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,uEAAuE;QACvE,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,UAAU,CAC1B,OAAO,CAAC,EAAE,EACV,WAAW,EACX,YAAY,CACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qEAAqE;IAC7D,YAAY,GAA2B,IAAI,CAAC;IAEpD,gEAAgE;IAChE,cAAc,CAAC,UAAkC;QAC/C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,+DAA+D;IAC/D,OAAO,CAAC,OAAe,EAAE,WAAoB,EAAE,YAAqB;QAClE,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC;QAC9B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,aAAa,CAAC,EAAE,EACrB,OAAO,EACP,WAAW,IAAI,CAAC,EAChB,YAAY,IAAI,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,cAAc,EAAE,YAAY,IAAI,IAAI,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,cAAe,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1C,mDAAmD;QACnD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,cAAe,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,cAAe,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,cAAe,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;QACD,0CAA0C;QAC1C,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,cAAe,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,cAAe,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,EAAE,eAAe,IAAI,IAAI,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAuB;QAC9C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,cAAe,CAAC,eAAe,GAAG,MAAM,CAAC;IAChD,CAAC;IAED,qFAAqF;IACrF,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,CAAC,eAAe,CAAC,OAAgB;QAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAEvD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjF,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,sEAAsE;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAExD,yCAAyC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAEnE,2CAA2C;QAC3C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAE1B,MAAM;YACJ,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,qFAAqF;YAC3F,KAAK,EAAE,qFAAqF;SAC7F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAAgB;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAe,CAAC;QACtC,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC7E,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC;gBACtB,CAAC;gBACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;YACrD,IAAI,GAAG,0BAA0B,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,sBAAsB,GAAG;;;;;;;;iDAQkB,CAAC"}
|
package/dist/hub/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/hub/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/hub/client.ts"],"names":[],"mappings":"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"}
|