@songsid/agend 2.3.0-beta.13 → 2.3.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/codex-metadata.d.ts +8 -0
- package/dist/backend/codex-metadata.js +74 -17
- package/dist/backend/codex-metadata.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/fleet-manager.js +7 -13
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/web-appearance/SKILL.md +3 -2
- package/dist/topic-commands.d.ts +10 -0
- package/dist/topic-commands.js +27 -15
- package/dist/topic-commands.js.map +1 -1
- package/dist/ui/panel-chat.js +18 -11
- package/dist/ui/shared/app.css +2 -11
- package/dist/ui/shared/card-strings.js +3 -3
- package/dist/ui/shared/identity-card.js +21 -21
- package/dist/ui/shared/ui-icons.js +0 -1
- package/dist/ui/shared/ui-menu.js +12 -5
- package/dist/web-api.d.ts +0 -3
- package/dist/web-api.js +62 -13
- package/dist/web-api.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
export declare const CODEX_MODELS_CACHE_MAX_BYTES: number;
|
|
2
|
+
export declare const FILE_CACHE_MAX = 256;
|
|
3
|
+
export declare const FILE_SETTLED_MS = 1000;
|
|
4
|
+
/** The wall clock the files' times are compared with (a seam for tests: a file's ctime can't be set back). */
|
|
5
|
+
export declare const codexMetadataClock: {
|
|
6
|
+
now: () => number;
|
|
7
|
+
};
|
|
8
|
+
/** For tests: forget every cached file. */
|
|
9
|
+
export declare function resetCodexMetadataCache(): void;
|
|
2
10
|
/** The persistent short path only; never creates or migrates a home. */
|
|
3
11
|
export declare function codexShortHomeFor(instanceDir: string): string;
|
|
4
12
|
/** Read the existing home before or after migration, without performing it. */
|
|
@@ -6,6 +6,37 @@ import { dirname, join, resolve } from "node:path";
|
|
|
6
6
|
import { parse as parseToml } from "smol-toml";
|
|
7
7
|
import { getAgendHome } from "../paths.js";
|
|
8
8
|
export const CODEX_MODELS_CACHE_MAX_BYTES = 5 * 1024 * 1024;
|
|
9
|
+
/**
|
|
10
|
+
* #1956 item 2: what a codex file says, read and parsed once per version of the file. The fleet's status asks for every
|
|
11
|
+
* codex instance's effort levels on every build (every open dashboard, every 10 s), and each ask parsed the whole
|
|
12
|
+
* models_cache.json (hundreds of KB) again. The key is the file's stat — inode, size, mtime and ctime in nanoseconds —
|
|
13
|
+
* so a rewritten or replaced file (or a chmod) is read again on the next ask. A file that can't be stat'd is never
|
|
14
|
+
* cached (the caller answers as before), and a parse that throws is not kept (it is retried, as before).
|
|
15
|
+
* "Racy" files (git's rule): a filesystem's clock is coarse, so two writes inside one tick can leave the same size,
|
|
16
|
+
* mtime and ctime. A file is trusted from the cache only once its last change (the later of mtime and ctime: a chmod or a
|
|
17
|
+
* touch moves only ctime) was at least FILE_SETTLED_MS old when it was read; one changed more recently than that is read
|
|
18
|
+
* again on every ask until it has settled.
|
|
19
|
+
*/
|
|
20
|
+
const fileCache = new Map();
|
|
21
|
+
export const FILE_CACHE_MAX = 256;
|
|
22
|
+
export const FILE_SETTLED_MS = 1000;
|
|
23
|
+
/** The wall clock the files' times are compared with (a seam for tests: a file's ctime can't be set back). */
|
|
24
|
+
export const codexMetadataClock = { now: () => Date.now() };
|
|
25
|
+
function stamped(kind, path, stat, read) {
|
|
26
|
+
const key = `${kind}:${path}`, stamp = `${stat.ino}:${stat.size}:${stat.mtimeNs}:${stat.ctimeNs}`;
|
|
27
|
+
const hit = fileCache.get(key);
|
|
28
|
+
if (hit && hit.settled && hit.stamp === stamp)
|
|
29
|
+
return hit.value;
|
|
30
|
+
// The wall clock against the file's own times (both realtime).
|
|
31
|
+
const settled = codexMetadataClock.now() - Math.max(Number(stat.mtimeMs), Number(stat.ctimeMs)) >= FILE_SETTLED_MS;
|
|
32
|
+
const value = read();
|
|
33
|
+
if (fileCache.size >= FILE_CACHE_MAX && !fileCache.has(key))
|
|
34
|
+
fileCache.clear();
|
|
35
|
+
fileCache.set(key, { stamp, value, settled });
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
/** For tests: forget every cached file. */
|
|
39
|
+
export function resetCodexMetadataCache() { fileCache.clear(); }
|
|
9
40
|
/** The persistent short path only; never creates or migrates a home. */
|
|
10
41
|
export function codexShortHomeFor(instanceDir) {
|
|
11
42
|
const hash = createHash("sha256").update(resolve(instanceDir)).digest("hex").slice(0, 8);
|
|
@@ -62,16 +93,32 @@ function readCodexModelEffortLevelsSync(homes) {
|
|
|
62
93
|
return { model, levels: null };
|
|
63
94
|
const isolatedCache = join(homes.isolatedHome, "models_cache.json");
|
|
64
95
|
const cachePath = existsSync(isolatedCache) ? isolatedCache : join(homes.sharedHome, "models_cache.json");
|
|
65
|
-
|
|
96
|
+
const stat = statSync(cachePath, { bigint: true });
|
|
97
|
+
if (stat.size > BigInt(CODEX_MODELS_CACHE_MAX_BYTES))
|
|
66
98
|
return { model, levels: null };
|
|
67
|
-
|
|
68
|
-
|
|
99
|
+
// Each model's levels, as the first entry with its slug lists them (null: no models list at all).
|
|
100
|
+
const bySlug = stamped("models", cachePath, stat, () => {
|
|
101
|
+
const parsed = JSON.parse(readFileSync(cachePath, "utf-8"));
|
|
102
|
+
if (!Array.isArray(parsed.models))
|
|
103
|
+
return null;
|
|
104
|
+
const out = new Map();
|
|
105
|
+
for (const m of parsed.models) {
|
|
106
|
+
if (!m || typeof m !== "object")
|
|
107
|
+
continue;
|
|
108
|
+
const slug = m.slug;
|
|
109
|
+
if (typeof slug !== "string" || out.has(slug))
|
|
110
|
+
continue;
|
|
111
|
+
const levels = m.supported_reasoning_levels
|
|
112
|
+
?.map(l => l?.effort)
|
|
113
|
+
.filter((e) => typeof e === "string" && canonical.has(e));
|
|
114
|
+
out.set(slug, levels?.length ? levels : null);
|
|
115
|
+
}
|
|
116
|
+
return out;
|
|
117
|
+
});
|
|
118
|
+
if (!bySlug)
|
|
69
119
|
return { model, levels: null };
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
?.map(l => l?.effort)
|
|
73
|
-
.filter((e) => typeof e === "string" && canonical.has(e));
|
|
74
|
-
return { model, levels: levels?.length ? levels : null };
|
|
120
|
+
const levels = bySlug.get(model) ?? null;
|
|
121
|
+
return { model, levels: levels ? [...levels] : null };
|
|
75
122
|
}
|
|
76
123
|
catch {
|
|
77
124
|
return { model, levels: null };
|
|
@@ -80,20 +127,30 @@ function readCodexModelEffortLevelsSync(homes) {
|
|
|
80
127
|
const isTable = (v) => !!v && typeof v === "object" && !Array.isArray(v);
|
|
81
128
|
/** A TOML file's root table; undefined when there is no file, null when it cannot be read or parsed. */
|
|
82
129
|
function readTomlTable(path) {
|
|
83
|
-
let
|
|
130
|
+
let stat;
|
|
84
131
|
try {
|
|
85
|
-
|
|
132
|
+
stat = statSync(path, { bigint: true });
|
|
86
133
|
}
|
|
87
134
|
catch (err) {
|
|
88
135
|
return err.code === "ENOENT" ? undefined : null;
|
|
89
136
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
137
|
+
// #1956: parsed once per version of the file (see stamped); callers only read the table.
|
|
138
|
+
return stamped("toml", path, stat, () => {
|
|
139
|
+
let text;
|
|
140
|
+
try {
|
|
141
|
+
text = readFileSync(path, "utf-8");
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
return err.code === "ENOENT" ? undefined : null;
|
|
145
|
+
}
|
|
146
|
+
try {
|
|
147
|
+
const parsed = parseToml(text);
|
|
148
|
+
return isTable(parsed) ? parsed : null;
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
});
|
|
97
154
|
}
|
|
98
155
|
/**
|
|
99
156
|
* #1813 review: the model a config table sets — its ROOT `model` key, read through the TOML structure (a `model = …`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-metadata.js","sourceRoot":"","sources":["../../src/backend/codex-metadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codex-metadata.js","sourceRoot":"","sources":["../../src/backend/codex-metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { CostGuardConfig, HangDetectorConfig, DailySummaryConfig, FleetConf
|
|
|
2
2
|
export declare function deepMergeGeneric<T extends object>(target: T, source: Partial<T>): T;
|
|
3
3
|
export declare function getTmuxSession(): string;
|
|
4
4
|
export declare const DEFAULT_COST_GUARD: CostGuardConfig;
|
|
5
|
-
/** #1854: matches the stuck detector's DEFAULT_STUCK_TIMEOUT_MS (src/daemon.ts, 10 min);
|
|
5
|
+
/** #1854: matches the stuck detector's DEFAULT_STUCK_TIMEOUT_MS (src/daemon.ts, 10 min); factual-ui-1854.test.ts holds them together. */
|
|
6
6
|
export declare const DEFAULT_HANG_DETECTOR: HangDetectorConfig;
|
|
7
7
|
export declare const DEFAULT_DAILY_SUMMARY: DailySummaryConfig;
|
|
8
8
|
/** Product-level context protection for cross-instance message bodies (12 KiB). */
|
package/dist/config.js
CHANGED
|
@@ -31,7 +31,7 @@ export const DEFAULT_COST_GUARD = {
|
|
|
31
31
|
warn_at_percentage: 80,
|
|
32
32
|
timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
33
33
|
};
|
|
34
|
-
/** #1854: matches the stuck detector's DEFAULT_STUCK_TIMEOUT_MS (src/daemon.ts, 10 min);
|
|
34
|
+
/** #1854: matches the stuck detector's DEFAULT_STUCK_TIMEOUT_MS (src/daemon.ts, 10 min); factual-ui-1854.test.ts holds them together. */
|
|
35
35
|
export const DEFAULT_HANG_DETECTOR = {
|
|
36
36
|
enabled: true,
|
|
37
37
|
timeout_minutes: 10,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGlF,MAAM,UAAU,gBAAgB,CAAmB,MAAS,EAAE,MAAkB;IAC9E,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAA6B,CAAC;IACxD,MAAM,YAAY,GAAG,MAAiC,CAAC;IAEvD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,IACE,SAAS,KAAK,IAAI;YAClB,OAAO,SAAS,KAAK,QAAQ;YAC7B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACzB,OAAO,SAAS,KAAK,QAAQ;YAC7B,SAAS,KAAK,IAAI;YAClB,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EACzB,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAC5B,SAAmB,EACnB,SAA4B,CAC7B,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAsB,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAoB;IACjD,eAAe,EAAE,CAAC,EAAE,eAAe;IACnC,kBAAkB,EAAE,EAAE;IACtB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ;CAC3D,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/fleet-manager.js
CHANGED
|
@@ -74,7 +74,7 @@ import { routeToolCall } from "./channel/tool-router.js";
|
|
|
74
74
|
import { Scheduler } from "./scheduler/index.js";
|
|
75
75
|
import { escapeTelegramHtml, scheduleClock, scheduleRetryLabel } from "./scheduler/retry-label.js";
|
|
76
76
|
import { DEFAULT_SCHEDULER_CONFIG } from "./scheduler/index.js";
|
|
77
|
-
import { TopicCommands, saveCommandForBackend, parseSaveFilename, parsePauseWakeCommand, parseCompactCommand, SAVE_FILENAME_RE, resolveInstanceContext, forgetInstanceContext,
|
|
77
|
+
import { TopicCommands, saveCommandForBackend, parseSaveFilename, parsePauseWakeCommand, parseCompactCommand, SAVE_FILENAME_RE, resolveInstanceContext, forgetInstanceContext, readStatuslineJson, statuslineModel } from "./topic-commands.js";
|
|
78
78
|
import { DailySummary } from "./daily-summary.js";
|
|
79
79
|
import { WebhookEmitter } from "./webhook-emitter.js";
|
|
80
80
|
import { TmuxControlClient } from "./tmux-control.js";
|
|
@@ -21830,15 +21830,9 @@ Plus the operational skills (fleet-health, instance-lifecycle, scheduling, sessi
|
|
|
21830
21830
|
this.logger.debug({ err }, "bots unreadable (getUiStatus)");
|
|
21831
21831
|
}
|
|
21832
21832
|
const instances = names.map(name => {
|
|
21833
|
-
|
|
21834
|
-
|
|
21835
|
-
|
|
21836
|
-
const data = JSON.parse(readFileSync(statusFile, "utf-8"));
|
|
21837
|
-
cost = data.cost?.total_cost_usd ?? 0;
|
|
21838
|
-
}
|
|
21839
|
-
catch (err) {
|
|
21840
|
-
this.logger.debug({ err, name }, "statusline.json read failed (getUiStatus)");
|
|
21841
|
-
}
|
|
21833
|
+
// #1956: read once for this instance; its cost, context and model come from it.
|
|
21834
|
+
const statusline = readStatuslineJson(this.dataDir, name);
|
|
21835
|
+
const cost = statusline?.cost?.total_cost_usd ?? 0;
|
|
21842
21836
|
// Align with /ctx: statusline for claude-code, pane scrape for kiro/grok/codex.
|
|
21843
21837
|
const classic = classicOnly.includes(name);
|
|
21844
21838
|
const backend = classic
|
|
@@ -21846,14 +21840,14 @@ Plus the operational skills (fleet-health, instance-lifecycle, scheduling, sessi
|
|
|
21846
21840
|
: (this.fleetConfig?.instances[name]?.backend
|
|
21847
21841
|
?? this.fleetConfig?.defaults?.backend
|
|
21848
21842
|
?? "claude-code");
|
|
21849
|
-
const { context } = resolveInstanceContext(this.dataDir, name, backend, { source: this.getPaneContextSource(name) });
|
|
21843
|
+
const { context } = resolveInstanceContext(this.dataDir, name, backend, { source: this.getPaneContextSource(name), statusline });
|
|
21850
21844
|
// context_pct: null when unavailable, not 0
|
|
21851
21845
|
const context_pct = context ?? null;
|
|
21852
21846
|
// Model: Only Claude Code has live statusline; others use the effective resolver.
|
|
21853
|
-
//
|
|
21847
|
+
// statuslineModel gives the /ctx-aligned display_name+id combo for Claude (readStatuslineModel's rule).
|
|
21854
21848
|
// Non-Claude backends must NOT read statusline.json model (may be stale from previous Claude run).
|
|
21855
21849
|
const resolved = this.resolveInstanceModel(name);
|
|
21856
|
-
const liveModel = backend === "claude-code" ?
|
|
21850
|
+
const liveModel = backend === "claude-code" ? statuslineModel(statusline) : null;
|
|
21857
21851
|
// Display value: live model for Claude, resolved.display for others (includes "auto (default)" for Kiro)
|
|
21858
21852
|
const model = liveModel ?? resolved.display;
|
|
21859
21853
|
// model_source: "live" when Claude statusline succeeded, else the resolver's source
|