aura-code 0.5.0 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/agent/context.d.ts +4 -0
- package/dist/agent/context.js +38 -0
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/loop.js +16 -0
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/system-prompt.js +9 -1
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/cli/display.js +6 -1
- package/dist/cli/display.js.map +1 -1
- package/dist/cli/index.js +71 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/config/defaults.js +8 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/dream/dream.d.ts +25 -2
- package/dist/dream/dream.js +36 -6
- package/dist/dream/dream.js.map +1 -1
- package/dist/dream/okf.d.ts +10 -0
- package/dist/dream/okf.js +280 -0
- package/dist/dream/okf.js.map +1 -0
- package/dist/dream/parser.d.ts +60 -0
- package/dist/dream/parser.js +176 -0
- package/dist/dream/parser.js.map +1 -0
- package/dist/dream/reconcile.d.ts +69 -0
- package/dist/dream/reconcile.js +303 -0
- package/dist/dream/reconcile.js.map +1 -0
- package/dist/machina/index.d.ts +16 -0
- package/dist/machina/index.js +61 -0
- package/dist/machina/index.js.map +1 -0
- package/dist/machina/render-html.d.ts +2 -0
- package/dist/machina/render-html.js +189 -0
- package/dist/machina/render-html.js.map +1 -0
- package/dist/machina/render-terminal.d.ts +2 -0
- package/dist/machina/render-terminal.js +92 -0
- package/dist/machina/render-terminal.js.map +1 -0
- package/dist/machina/spec.d.ts +61 -0
- package/dist/machina/spec.js +124 -0
- package/dist/machina/spec.js.map +1 -0
- package/dist/machina/verify.d.ts +27 -0
- package/dist/machina/verify.js +85 -0
- package/dist/machina/verify.js.map +1 -0
- package/dist/providers/anthropic.js +1 -1
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/factory.d.ts +33 -0
- package/dist/providers/factory.js +27 -0
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/google.js +1 -1
- package/dist/providers/google.js.map +1 -1
- package/dist/providers/openai-compatible.js +1 -1
- package/dist/providers/openai-compatible.js.map +1 -1
- package/dist/rem/graph.d.ts +72 -0
- package/dist/rem/graph.js +139 -0
- package/dist/rem/graph.js.map +1 -0
- package/dist/rem/index.d.ts +16 -0
- package/dist/rem/index.js +60 -0
- package/dist/rem/index.js.map +1 -0
- package/dist/rem/render-html.d.ts +2 -0
- package/dist/rem/render-html.js +189 -0
- package/dist/rem/render-html.js.map +1 -0
- package/dist/rem/render-terminal.d.ts +4 -0
- package/dist/rem/render-terminal.js +94 -0
- package/dist/rem/render-terminal.js.map +1 -0
- package/dist/research/council.d.ts +3 -2
- package/dist/research/council.js +47 -9
- package/dist/research/council.js.map +1 -1
- package/dist/tools/browser.js +8 -10
- package/dist/tools/browser.js.map +1 -1
- package/dist/tools/gmail-tool.d.ts +5 -1
- package/dist/tools/gmail-tool.js +151 -11
- package/dist/tools/gmail-tool.js.map +1 -1
- package/dist/tools/telegram-bot.js +6 -8
- package/dist/tools/telegram-bot.js.map +1 -1
- package/dist/tools/web-search.d.ts +20 -0
- package/dist/tools/web-search.js +134 -38
- package/dist/tools/web-search.js.map +1 -1
- package/dist/viz/reader.d.ts +33 -0
- package/dist/viz/reader.js +343 -0
- package/dist/viz/reader.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.renderRemTerminal = renderRemTerminal;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
/**
|
|
9
|
+
* Renders a `RemGraph` as terminal text using Aura's existing warm palette
|
|
10
|
+
* (the same hex set used throughout src/cli/index.ts) so `:rem` looks native
|
|
11
|
+
* next to `:dream`, `:design`, etc.
|
|
12
|
+
*
|
|
13
|
+
* Layout, top to bottom:
|
|
14
|
+
* 1. A timeline strip — one row per night, oldest→newest, with a small bar
|
|
15
|
+
* sized by episode count.
|
|
16
|
+
* 2. "What keeps coming up" — top tags ranked by total occurrence, with a
|
|
17
|
+
* horizontal bar and the count of distinct nights it appeared in.
|
|
18
|
+
* 3. Per-night detail — for the most recent N nights, which tags fired.
|
|
19
|
+
*
|
|
20
|
+
* Deliberately not a literal node-and-edge ASCII graph (boxes-and-arrows in
|
|
21
|
+
* a terminal degrade badly past ~6 nodes); a ranked/timeline view answers
|
|
22
|
+
* the actual question ("what keeps coming up, and when") more legibly than
|
|
23
|
+
* a force-directed layout would in 80 columns.
|
|
24
|
+
*/
|
|
25
|
+
const C = {
|
|
26
|
+
heading: chalk_1.default.hex('#cc785c').bold,
|
|
27
|
+
text: chalk_1.default.hex('#ede0cc'),
|
|
28
|
+
muted: chalk_1.default.hex('#8a7768'),
|
|
29
|
+
dim: chalk_1.default.hex('#4e3d30'),
|
|
30
|
+
good: chalk_1.default.hex('#5a9e6e'),
|
|
31
|
+
warn: chalk_1.default.hex('#b15439'),
|
|
32
|
+
};
|
|
33
|
+
const BAR_CHAR = '█';
|
|
34
|
+
const BAR_WIDTH = 24;
|
|
35
|
+
function bar(value, max, width = BAR_WIDTH) {
|
|
36
|
+
if (max <= 0)
|
|
37
|
+
return '';
|
|
38
|
+
const filled = Math.max(1, Math.round((value / max) * width));
|
|
39
|
+
return BAR_CHAR.repeat(Math.min(filled, width));
|
|
40
|
+
}
|
|
41
|
+
function renderRemTerminal(graph, opts = {}) {
|
|
42
|
+
const recentNights = opts.recentNights ?? 5;
|
|
43
|
+
const lines = [];
|
|
44
|
+
if (graph.nights.length === 0) {
|
|
45
|
+
return C.muted('\n No dreams yet. Run :dream after some work.\n');
|
|
46
|
+
}
|
|
47
|
+
lines.push('');
|
|
48
|
+
lines.push(C.heading(` Rem — ${graph.nights.length} night(s), ${graph.topTags.length} recurring tag(s)`));
|
|
49
|
+
lines.push('');
|
|
50
|
+
// ── 1. Timeline strip ──────────────────────────────────────────────────
|
|
51
|
+
lines.push(C.muted(' Timeline'));
|
|
52
|
+
const maxEpisodes = Math.max(...graph.nights.map(n => n.episodeCount), 1);
|
|
53
|
+
for (const night of graph.nights) {
|
|
54
|
+
const tagCount = new Set(night.occurrences.map(o => o.tag)).size;
|
|
55
|
+
lines.push(` ${C.text(night.date)} ${C.dim(bar(night.episodeCount, maxEpisodes, 16))} ` +
|
|
56
|
+
C.muted(`${night.episodeCount} ep · ${tagCount} tag(s)`));
|
|
57
|
+
}
|
|
58
|
+
lines.push('');
|
|
59
|
+
// ── 2. Top tags ranked by total occurrence ─────────────────────────────
|
|
60
|
+
lines.push(C.muted(' What keeps coming up'));
|
|
61
|
+
const maxCount = graph.topTags[0]?.count ?? 1;
|
|
62
|
+
for (const t of graph.topTags.slice(0, 12)) {
|
|
63
|
+
const label = `[${t.tag}]`.padEnd(20);
|
|
64
|
+
lines.push(` ${C.heading(label)} ${C.text(bar(t.count, maxCount))} ` +
|
|
65
|
+
C.muted(`${t.count}× across ${t.nights} night(s)`));
|
|
66
|
+
}
|
|
67
|
+
lines.push('');
|
|
68
|
+
// ── 3. Per-night detail for the most recent nights ─────────────────────
|
|
69
|
+
const recent = graph.nights.slice(-recentNights).reverse();
|
|
70
|
+
lines.push(C.muted(` Recent detail (last ${recent.length})`));
|
|
71
|
+
for (const night of recent) {
|
|
72
|
+
lines.push(` ${C.heading(night.date)}`);
|
|
73
|
+
if (night.occurrences.length === 0) {
|
|
74
|
+
lines.push(` ${C.muted('(no tagged lessons/threads)')}`);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
const byTag = new Map();
|
|
78
|
+
for (const occ of night.occurrences) {
|
|
79
|
+
if (!byTag.has(occ.tag))
|
|
80
|
+
byTag.set(occ.tag, []);
|
|
81
|
+
byTag.get(occ.tag).push(occ.text);
|
|
82
|
+
}
|
|
83
|
+
for (const [tag, texts] of byTag) {
|
|
84
|
+
const sample = texts[0].length > 72 ? texts[0].slice(0, 69) + '...' : texts[0];
|
|
85
|
+
const more = texts.length > 1 ? C.muted(` (+${texts.length - 1} more)`) : '';
|
|
86
|
+
lines.push(` ${C.warn(`[${tag}]`)} ${C.text(sample)}${more}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
lines.push('');
|
|
90
|
+
lines.push(C.muted(' :rem --html writes a visual graph to dreams/rem.html'));
|
|
91
|
+
lines.push('');
|
|
92
|
+
return lines.join('\n');
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=render-terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-terminal.js","sourceRoot":"","sources":["../../src/rem/render-terminal.ts"],"names":[],"mappings":";;;;;AAuCA,8CA6DC;AApGD,kDAA0B;AAG1B;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,GAAG;IACR,OAAO,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI;IAClC,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC1B,KAAK,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC3B,GAAG,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IACzB,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,eAAK,CAAC,GAAG,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,QAAQ,GAAG,GAAG,CAAC;AACrB,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,SAAS,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,KAAK,GAAG,SAAS;IACxD,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAe,EAAE,OAAkC,EAAE;IACrF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,MAAM,cAAc,KAAK,CAAC,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC;IAC3G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI;YAC/E,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,YAAY,SAAS,QAAQ,SAAS,CAAC,CACzD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG;YAC1D,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,MAAM,WAAW,CAAC,CACnD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0EAA0E;IAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAChD,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;IAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -7,12 +7,13 @@ export interface CouncilResult {
|
|
|
7
7
|
htmlPath: string;
|
|
8
8
|
topic: string;
|
|
9
9
|
panelSize: number;
|
|
10
|
+
panelModel: string;
|
|
10
11
|
agentFailures: number;
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
13
14
|
* Run an Ecclesia: `panelSize` independent agents research the topic
|
|
14
|
-
*
|
|
15
|
-
*
|
|
15
|
+
* sequentially, then one synthesis call on the caller's active provider
|
|
16
|
+
* reconciles their findings into a verdict.
|
|
16
17
|
*/
|
|
17
18
|
export declare function runCouncil(opts: {
|
|
18
19
|
projectRoot: string;
|
package/dist/research/council.js
CHANGED
|
@@ -48,17 +48,28 @@ const factory_js_1 = require("../providers/factory.js");
|
|
|
48
48
|
*
|
|
49
49
|
* Cost design, deliberately conservative (see compaction/dream incidents):
|
|
50
50
|
* - The N panel agents run SEQUENTIALLY, each a short findings-only pass
|
|
51
|
-
* (not a full polished report)
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
51
|
+
* (not a full polished report). Local models produce catastrophic factual
|
|
52
|
+
* errors (e.g. hallucinated Djokovic stats), so Ollama is not a
|
|
53
|
+
* supported default.
|
|
54
|
+
* - Only the final synthesis step is reasoning-heavy; it runs as a single
|
|
55
|
+
* call on the caller's active provider.
|
|
55
56
|
* - Per-agent turns are capped well below :research's full budget.
|
|
56
57
|
*
|
|
58
|
+
* Panel model resolution (in priority order):
|
|
59
|
+
* 1. `opts.panelModel` — explicit caller override (CLI: `--panel <model>`).
|
|
60
|
+
* 2. `AURA_PANEL_MODEL` env var — global default for cheap-panel setups.
|
|
61
|
+
* 3. The synthesis provider's own model — the user's already-configured
|
|
62
|
+
* and authenticated model, whatever it is. This works for every user
|
|
63
|
+
* without assuming Xiaomi / OpenAI / any specific provider.
|
|
64
|
+
*
|
|
65
|
+
* Cost note: option 3 means a 5-agent council costs ~5× a single :research
|
|
66
|
+
* pass on whatever the user is paying for. Users who want cheaper runs can
|
|
67
|
+
* set AURA_PANEL_MODEL globally, or pass `--panel <fast-model>` per call.
|
|
68
|
+
*
|
|
57
69
|
* Output: dated `.md` + `.html` under `<projectRoot>/council/`.
|
|
58
70
|
*/
|
|
59
71
|
const COUNCIL_DIRNAME = 'council';
|
|
60
72
|
const DEFAULT_PANEL_SIZE = 5;
|
|
61
|
-
const DEFAULT_PANEL_MODEL = 'ollama/qwen2.5-coder:3b';
|
|
62
73
|
const FOOTER = '\n---\n\n*Ecclesia — five voices, one verdict. Inspired by DeerFlow.*\n';
|
|
63
74
|
function councilDir(projectRoot) {
|
|
64
75
|
return path.join(projectRoot, COUNCIL_DIRNAME);
|
|
@@ -162,15 +173,42 @@ ${bodyHtml}
|
|
|
162
173
|
</body>
|
|
163
174
|
</html>`;
|
|
164
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Pick which model the panel agents run on.
|
|
178
|
+
*
|
|
179
|
+
* Priority:
|
|
180
|
+
* 1. `override` — explicit `opts.panelModel` (set by `--panel <model>`)
|
|
181
|
+
* 2. `AURA_PANEL_MODEL` env var — global default for cheap-panel setups
|
|
182
|
+
* 3. The synthesis provider's `.model` — the user's authenticated, working
|
|
183
|
+
* model. Means the council just works for whoever ran `:provider`,
|
|
184
|
+
* without assuming any specific vendor.
|
|
185
|
+
*
|
|
186
|
+
* If none of these yield a model, throw with a clear message rather than
|
|
187
|
+
* passing `undefined` to `createProvider` (which historically produced
|
|
188
|
+
* opaque "400 Not supported model" errors).
|
|
189
|
+
*/
|
|
190
|
+
function resolvePanelModel(synthesisProvider, override) {
|
|
191
|
+
if (override && override.trim())
|
|
192
|
+
return override.trim();
|
|
193
|
+
const env = process.env.AURA_PANEL_MODEL;
|
|
194
|
+
if (env && env.trim())
|
|
195
|
+
return env.trim();
|
|
196
|
+
// LLMProvider.model — the configured model id for that provider instance.
|
|
197
|
+
const fromProvider = synthesisProvider.model;
|
|
198
|
+
if (fromProvider && fromProvider.trim())
|
|
199
|
+
return fromProvider.trim();
|
|
200
|
+
throw new Error('Could not resolve a panel model. Pass --panel <model>, ' +
|
|
201
|
+
'set AURA_PANEL_MODEL, or configure a provider via :provider first.');
|
|
202
|
+
}
|
|
165
203
|
/**
|
|
166
204
|
* Run an Ecclesia: `panelSize` independent agents research the topic
|
|
167
|
-
*
|
|
168
|
-
*
|
|
205
|
+
* sequentially, then one synthesis call on the caller's active provider
|
|
206
|
+
* reconciles their findings into a verdict.
|
|
169
207
|
*/
|
|
170
208
|
async function runCouncil(opts) {
|
|
171
209
|
const { projectRoot, topic, synthesisProvider, context, permissions, display, } = opts;
|
|
172
210
|
const panelSize = Math.max(1, opts.panelSize ?? DEFAULT_PANEL_SIZE);
|
|
173
|
-
const panelModel = opts.panelModel
|
|
211
|
+
const panelModel = resolvePanelModel(synthesisProvider, opts.panelModel);
|
|
174
212
|
const findings = [];
|
|
175
213
|
let agentFailures = 0;
|
|
176
214
|
// Sequential by design — see module doc. Each agent is independent: no
|
|
@@ -220,6 +258,6 @@ async function runCouncil(opts) {
|
|
|
220
258
|
const htmlOut = wrapHtml(topic, mdToHtml(`${verdictBody}${rawFindingsSection}`), date, panelSize);
|
|
221
259
|
const htmlPath = path.join(dir, `${date}-${slug}.html`);
|
|
222
260
|
fs.writeFileSync(htmlPath, htmlOut);
|
|
223
|
-
return { path: mdPath, htmlPath, topic, panelSize, agentFailures };
|
|
261
|
+
return { path: mdPath, htmlPath, topic, panelSize, panelModel, agentFailures };
|
|
224
262
|
}
|
|
225
263
|
//# sourceMappingURL=council.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"council.js","sourceRoot":"","sources":["../../src/research/council.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"council.js","sourceRoot":"","sources":["../../src/research/council.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/browser.js
CHANGED
|
@@ -97,22 +97,20 @@ async function ensurePage() {
|
|
|
97
97
|
return page;
|
|
98
98
|
}
|
|
99
99
|
function findChrome() {
|
|
100
|
-
const
|
|
101
|
-
const candidates = [
|
|
102
|
-
'google-chrome',
|
|
103
|
-
'google-chrome-stable',
|
|
104
|
-
'chromium-browser',
|
|
105
|
-
'chromium',
|
|
100
|
+
const knownPaths = [
|
|
106
101
|
'/usr/bin/google-chrome',
|
|
102
|
+
'/usr/bin/google-chrome-stable',
|
|
107
103
|
'/usr/bin/chromium-browser',
|
|
104
|
+
'/snap/bin/chromium',
|
|
105
|
+
'/snap/bin/google-chrome',
|
|
108
106
|
];
|
|
109
|
-
for (const
|
|
107
|
+
for (const p of knownPaths) {
|
|
110
108
|
try {
|
|
111
|
-
|
|
112
|
-
return
|
|
109
|
+
require('fs').accessSync(p, require('fs').constants.X_OK);
|
|
110
|
+
return p;
|
|
113
111
|
}
|
|
114
112
|
catch {
|
|
115
|
-
// not
|
|
113
|
+
// not executable, try next
|
|
116
114
|
}
|
|
117
115
|
}
|
|
118
116
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/tools/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/tools/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { ToolDefinition } from '../providers/types.js';
|
|
2
2
|
export interface GmailInput {
|
|
3
|
-
action: 'list' | 'send' | 'read';
|
|
3
|
+
action: 'list' | 'send' | 'read' | 'setup' | 'setup_finish' | 'setup_status';
|
|
4
4
|
to?: string;
|
|
5
5
|
subject?: string;
|
|
6
6
|
body?: string;
|
|
7
7
|
max_results?: number;
|
|
8
8
|
message_id?: string;
|
|
9
|
+
client_id?: string;
|
|
10
|
+
client_secret?: string;
|
|
11
|
+
code?: string;
|
|
12
|
+
email?: string;
|
|
9
13
|
}
|
|
10
14
|
export declare const GMAIL_DEFINITION: ToolDefinition;
|
|
11
15
|
export declare function gmailTool(input: GmailInput): Promise<string>;
|
package/dist/tools/gmail-tool.js
CHANGED
|
@@ -40,29 +40,85 @@ const path = __importStar(require("path"));
|
|
|
40
40
|
const os = __importStar(require("os"));
|
|
41
41
|
exports.GMAIL_DEFINITION = {
|
|
42
42
|
name: 'gmail',
|
|
43
|
-
description: 'Read and write emails via Gmail API. Uses
|
|
44
|
-
'Actions: list
|
|
43
|
+
description: 'Read and write emails via Gmail API. Uses OAuth from ~/.hermes/google_token.json. ' +
|
|
44
|
+
'Actions: list, read, send (require an existing token — use setup_status to check). ' +
|
|
45
|
+
'setup (step 1: takes client_id + client_secret, returns a URL for the user to open and ' +
|
|
46
|
+
'approve, never echoes secrets back). setup_finish (step 2: takes the "code" from the ' +
|
|
47
|
+
'redirect URL, exchanges it for tokens, and saves them — never returns the token itself). ' +
|
|
48
|
+
'setup_status (checks whether a working token already exists, with no secret values shown).',
|
|
45
49
|
parameters: {
|
|
46
50
|
type: 'object',
|
|
47
51
|
properties: {
|
|
48
|
-
action: { type: 'string', description: 'Action: list, read, send' },
|
|
52
|
+
action: { type: 'string', description: 'Action: list, read, send, setup, setup_finish, setup_status' },
|
|
49
53
|
to: { type: 'string', description: 'Recipient email (for send)' },
|
|
50
54
|
subject: { type: 'string', description: 'Email subject (for send/read)' },
|
|
51
55
|
body: { type: 'string', description: 'Email body text (for send)' },
|
|
52
56
|
max_results: { type: 'number', description: 'Max results for list (default: 10)' },
|
|
53
57
|
message_id: { type: 'string', description: 'Gmail message ID to read (for read)' },
|
|
58
|
+
client_id: { type: 'string', description: 'Google OAuth client ID (for setup)' },
|
|
59
|
+
client_secret: { type: 'string', description: 'Google OAuth client secret (for setup)' },
|
|
60
|
+
code: { type: 'string', description: 'Authorization code from the redirect URL (for setup_finish)' },
|
|
61
|
+
email: { type: 'string', description: 'The Gmail address being connected (for setup_finish)' },
|
|
54
62
|
},
|
|
55
63
|
required: ['action'],
|
|
56
64
|
},
|
|
57
65
|
};
|
|
58
66
|
const TOKEN_PATH = path.join(os.homedir(), '.hermes', 'google_token.json');
|
|
67
|
+
const SETUP_STATE_PATH = path.join(os.homedir(), '.hermes', '.gmail_setup_state.json');
|
|
68
|
+
const REDIRECT_URI = 'http://localhost:8080/';
|
|
69
|
+
const SETUP_SCOPES = [
|
|
70
|
+
'https://www.googleapis.com/auth/gmail.readonly',
|
|
71
|
+
'https://www.googleapis.com/auth/gmail.send',
|
|
72
|
+
'https://www.googleapis.com/auth/gmail.modify',
|
|
73
|
+
].join(' ');
|
|
59
74
|
function loadToken() {
|
|
60
75
|
if (!fs.existsSync(TOKEN_PATH))
|
|
61
76
|
throw new Error(`Google token not found at ${TOKEN_PATH}`);
|
|
62
77
|
return JSON.parse(fs.readFileSync(TOKEN_PATH, 'utf8'));
|
|
63
78
|
}
|
|
64
79
|
function saveToken(token) {
|
|
65
|
-
fs.
|
|
80
|
+
fs.mkdirSync(path.dirname(TOKEN_PATH), { recursive: true });
|
|
81
|
+
fs.writeFileSync(TOKEN_PATH, JSON.stringify(token, null, 2), { mode: 0o600 });
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Setup is split into two steps because OAuth requires a human to approve
|
|
85
|
+
* access in a browser between them. The client_id/client_secret given in
|
|
86
|
+
* step 1 are held ONLY in memory between the two tool calls (never written to
|
|
87
|
+
* disk, never echoed back) — they're persisted to TOKEN_PATH only once the
|
|
88
|
+
* full token exchange in setup_finish succeeds. If the user never completes
|
|
89
|
+
* step 2, nothing is left on disk.
|
|
90
|
+
*
|
|
91
|
+
* Critically: at no point does this tool return token, refresh_token,
|
|
92
|
+
* client_secret, or any other credential value as part of its string result.
|
|
93
|
+
* Those values exist only inside this process and inside TOKEN_PATH on disk —
|
|
94
|
+
* never in the text that flows back into the conversation.
|
|
95
|
+
*/
|
|
96
|
+
let pendingSetup = null;
|
|
97
|
+
function saveSetupState(s) {
|
|
98
|
+
// Held in-memory primarily; this on-disk copy only survives a process
|
|
99
|
+
// restart between step 1 and step 2 of the SAME setup attempt, and is
|
|
100
|
+
// deleted as soon as setup_finish succeeds or fails terminally.
|
|
101
|
+
fs.mkdirSync(path.dirname(SETUP_STATE_PATH), { recursive: true });
|
|
102
|
+
fs.writeFileSync(SETUP_STATE_PATH, JSON.stringify(s), { mode: 0o600 });
|
|
103
|
+
}
|
|
104
|
+
function loadSetupState() {
|
|
105
|
+
if (pendingSetup)
|
|
106
|
+
return pendingSetup;
|
|
107
|
+
if (!fs.existsSync(SETUP_STATE_PATH))
|
|
108
|
+
return null;
|
|
109
|
+
try {
|
|
110
|
+
return JSON.parse(fs.readFileSync(SETUP_STATE_PATH, 'utf8'));
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function clearSetupState() {
|
|
117
|
+
pendingSetup = null;
|
|
118
|
+
try {
|
|
119
|
+
fs.unlinkSync(SETUP_STATE_PATH);
|
|
120
|
+
}
|
|
121
|
+
catch { /* already gone */ }
|
|
66
122
|
}
|
|
67
123
|
async function refreshAccess(token) {
|
|
68
124
|
const tokenUri = token.token_uri || 'https://oauth2.googleapis.com/token';
|
|
@@ -92,12 +148,9 @@ async function refreshAccess(token) {
|
|
|
92
148
|
async function getValidToken() {
|
|
93
149
|
const token = loadToken();
|
|
94
150
|
if (token.token) {
|
|
95
|
-
// If expiry present and still valid, use it
|
|
96
151
|
if (token.expiry && Date.now() < new Date(token.expiry).getTime() + 60000) {
|
|
97
152
|
return token.token;
|
|
98
153
|
}
|
|
99
|
-
// Try the token anyway; if 401, we'll refresh on auth error below
|
|
100
|
-
token.token;
|
|
101
154
|
}
|
|
102
155
|
if (!token.refresh_token)
|
|
103
156
|
throw new Error('No refresh_token available to obtain a new access token');
|
|
@@ -116,7 +169,6 @@ async function gmailApi(path, init) {
|
|
|
116
169
|
},
|
|
117
170
|
});
|
|
118
171
|
if (res.status === 401) {
|
|
119
|
-
// Refresh and retry once
|
|
120
172
|
const tokenData = loadToken();
|
|
121
173
|
if (tokenData.refresh_token) {
|
|
122
174
|
token = await refreshAccess(tokenData);
|
|
@@ -149,7 +201,6 @@ function extractPlainBody(msg) {
|
|
|
149
201
|
const plain = msg.payload.parts.find((p) => p.mimeType === 'text/plain');
|
|
150
202
|
if (plain?.body?.data)
|
|
151
203
|
return decodeBase64Url(plain.body.data);
|
|
152
|
-
// multipart container without direct data
|
|
153
204
|
for (const p of msg.payload.parts) {
|
|
154
205
|
if (p.parts) {
|
|
155
206
|
const nested = p.parts.find((n) => n.mimeType === 'text/plain' && n.body?.data);
|
|
@@ -165,6 +216,97 @@ function extractPlainBody(msg) {
|
|
|
165
216
|
async function gmailTool(input) {
|
|
166
217
|
try {
|
|
167
218
|
switch (input.action) {
|
|
219
|
+
case 'setup_status': {
|
|
220
|
+
if (!fs.existsSync(TOKEN_PATH))
|
|
221
|
+
return 'Not connected. No Gmail token found. Run setup to connect.';
|
|
222
|
+
try {
|
|
223
|
+
const t = loadToken();
|
|
224
|
+
const valid = !!t.refresh_token;
|
|
225
|
+
return valid
|
|
226
|
+
? `Connected${t.email ? ` as ${t.email}` : ''}. Token file present with a refresh token.`
|
|
227
|
+
: 'Token file exists but has no refresh_token — re-run setup.';
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
return 'Token file exists but could not be parsed — re-run setup.';
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
case 'setup': {
|
|
234
|
+
if (!input.client_id || !input.client_secret) {
|
|
235
|
+
return 'Error: setup requires client_id and client_secret (from Google Cloud Console → APIs & Services → Credentials → OAuth client ID, type "Desktop app").';
|
|
236
|
+
}
|
|
237
|
+
// Held only in memory + a short-lived local state file; never echoed.
|
|
238
|
+
pendingSetup = { client_id: input.client_id, client_secret: input.client_secret };
|
|
239
|
+
saveSetupState(pendingSetup);
|
|
240
|
+
const params = new URLSearchParams({
|
|
241
|
+
client_id: input.client_id,
|
|
242
|
+
redirect_uri: REDIRECT_URI,
|
|
243
|
+
response_type: 'code',
|
|
244
|
+
scope: SETUP_SCOPES,
|
|
245
|
+
access_type: 'offline',
|
|
246
|
+
prompt: 'consent',
|
|
247
|
+
});
|
|
248
|
+
const url = `https://accounts.google.com/o/oauth2/v2/auth?${params.toString()}`;
|
|
249
|
+
return (`Step 1 of 2: open this URL, sign in, and approve access:\n\n${url}\n\n` +
|
|
250
|
+
`You'll be redirected to a localhost address that fails to load — that's expected, ` +
|
|
251
|
+
`nothing is listening there. Copy the "code=" value from that URL's address bar ` +
|
|
252
|
+
`(everything after "code=" and before the next "&", if any), then tell me to finish ` +
|
|
253
|
+
`setup with that code and your Gmail address. I will not display the code, the ` +
|
|
254
|
+
`client secret, or the resulting token back to you — only a success or failure message.`);
|
|
255
|
+
}
|
|
256
|
+
case 'setup_finish': {
|
|
257
|
+
const state = loadSetupState();
|
|
258
|
+
if (!state) {
|
|
259
|
+
return 'Error: no setup in progress. Run the setup action first (with client_id and client_secret) to get a fresh authorization URL.';
|
|
260
|
+
}
|
|
261
|
+
if (!input.code) {
|
|
262
|
+
return 'Error: setup_finish requires the "code" value copied from the redirect URL.';
|
|
263
|
+
}
|
|
264
|
+
const body = new URLSearchParams({
|
|
265
|
+
code: input.code,
|
|
266
|
+
client_id: state.client_id,
|
|
267
|
+
client_secret: state.client_secret,
|
|
268
|
+
redirect_uri: REDIRECT_URI,
|
|
269
|
+
grant_type: 'authorization_code',
|
|
270
|
+
});
|
|
271
|
+
let res;
|
|
272
|
+
try {
|
|
273
|
+
res = await fetch('https://oauth2.googleapis.com/token', {
|
|
274
|
+
method: 'POST',
|
|
275
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
276
|
+
body: body.toString(),
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
catch (e) {
|
|
280
|
+
return `Setup failed: could not reach Google's token endpoint (${e?.message ?? String(e)}). The authorization code is single-use — you'll need to run setup again to get a fresh one.`;
|
|
281
|
+
}
|
|
282
|
+
if (!res.ok) {
|
|
283
|
+
// Do not include res text verbatim if it might contain the code/secret echoed back;
|
|
284
|
+
// Google's error responses for this endpoint don't, but we keep this conservative.
|
|
285
|
+
clearSetupState();
|
|
286
|
+
return `Setup failed: Google rejected the authorization code (HTTP ${res.status}). The code is single-use and may have expired or been used already — run setup again for a fresh URL.`;
|
|
287
|
+
}
|
|
288
|
+
const data = (await res.json());
|
|
289
|
+
if (!data.refresh_token) {
|
|
290
|
+
clearSetupState();
|
|
291
|
+
return ('Setup partially failed: Google did not return a refresh_token, which means future ' +
|
|
292
|
+
'tokens cannot be auto-renewed. This usually happens when access was already granted ' +
|
|
293
|
+
'previously. Remove the app at https://myaccount.google.com/permissions and run setup ' +
|
|
294
|
+
'again to force a fresh consent.');
|
|
295
|
+
}
|
|
296
|
+
const tokenFile = {
|
|
297
|
+
token: data.access_token,
|
|
298
|
+
refresh_token: data.refresh_token,
|
|
299
|
+
token_uri: 'https://oauth2.googleapis.com/token',
|
|
300
|
+
client_id: state.client_id,
|
|
301
|
+
client_secret: state.client_secret,
|
|
302
|
+
scopes: (data.scope ?? SETUP_SCOPES).split(' '),
|
|
303
|
+
expiry: data.expires_in ? new Date(Date.now() + data.expires_in * 1000).toISOString() : undefined,
|
|
304
|
+
email: input.email,
|
|
305
|
+
};
|
|
306
|
+
saveToken(tokenFile);
|
|
307
|
+
clearSetupState();
|
|
308
|
+
return `✓ Gmail connected${input.email ? ` for ${input.email}` : ''}. You can now use list, read, and send.`;
|
|
309
|
+
}
|
|
168
310
|
case 'list': {
|
|
169
311
|
const max = input.max_results ?? 10;
|
|
170
312
|
const data = (await gmailApi(`/users/me/messages?maxResults=${max}${input.subject ? `&q=subject:${encodeURIComponent(input.subject)}` : ''}`));
|
|
@@ -196,10 +338,8 @@ async function gmailTool(input) {
|
|
|
196
338
|
return 'Error: subject is required for send';
|
|
197
339
|
if (!input.body)
|
|
198
340
|
return 'Error: body is required for send';
|
|
199
|
-
// Determine content type — HTML if body contains HTML tags, otherwise plain text
|
|
200
341
|
const isHtml = /<html|<body|<div|<p|<br|<table|<h[1-6]/i.test(input.body);
|
|
201
342
|
const contentType = isHtml ? 'text/html; charset=UTF-8' : 'text/plain; charset=UTF-8';
|
|
202
|
-
// Get sender email from token or use default
|
|
203
343
|
const tokenData = loadToken();
|
|
204
344
|
const fromEmail = tokenData.email || 'milodule3@gmail.com';
|
|
205
345
|
const raw = Buffer.from(`From: ${fromEmail}\r\nTo: ${input.to}\r\nSubject: ${input.subject}\r\nMIME-Version: 1.0\r\nContent-Type: ${contentType}\r\n\r\n${input.body}`).toString('base64url');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-tool.js","sourceRoot":"","sources":["../../src/tools/gmail-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gmail-tool.js","sourceRoot":"","sources":["../../src/tools/gmail-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,14 +112,12 @@ function createLLMProvider() {
|
|
|
112
112
|
const globalCfg = (0, global_config_js_1.loadGlobalConfig)();
|
|
113
113
|
const apiKey = process.env.AURA_API_KEY
|
|
114
114
|
?? (0, factory_js_1.getApiKeyForModel)(TASK_MODEL);
|
|
115
|
-
const baseUrl =
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
// too bypasses that check entirely, which is exactly how a MiMo model
|
|
122
|
-
// string previously ended up paired with a DeepSeek endpoint.
|
|
115
|
+
const baseUrl = (0, factory_js_1.resolveTaskModelBaseUrl)({
|
|
116
|
+
taskModel: TASK_MODEL,
|
|
117
|
+
envBaseUrl: process.env.AURA_BASE_URL,
|
|
118
|
+
fileConfig,
|
|
119
|
+
globalCfg,
|
|
120
|
+
});
|
|
123
121
|
return (0, factory_js_1.createProvider)({
|
|
124
122
|
model: TASK_MODEL,
|
|
125
123
|
apiKey,
|