instar 1.3.122 → 1.3.123
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/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +16 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +10 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +34 -2
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/providers/adapters/openai-codex/observability/codexModelSwapPolicy.d.ts +83 -0
- package/dist/providers/adapters/openai-codex/observability/codexModelSwapPolicy.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/codexModelSwapPolicy.js +93 -0
- package/dist/providers/adapters/openai-codex/observability/codexModelSwapPolicy.js.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/codexRateLimitReader.d.ts +95 -0
- package/dist/providers/adapters/openai-codex/observability/codexRateLimitReader.d.ts.map +1 -0
- package/dist/providers/adapters/openai-codex/observability/codexRateLimitReader.js +170 -0
- package/dist/providers/adapters/openai-codex/observability/codexRateLimitReader.js.map +1 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +5 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/CapabilityIndex.d.ts.map +1 -1
- package/dist/server/CapabilityIndex.js +11 -0
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +31 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +63 -63
- package/src/scaffold/templates.ts +5 -0
- package/upgrades/1.3.123.md +105 -0
- package/upgrades/side-effects/codex-model-swap.md +134 -0
- package/upgrades/side-effects/codex-usage-visibility.md +107 -0
package/dist/server/routes.js
CHANGED
|
@@ -21,6 +21,7 @@ import { FailureAnalyzer } from '../monitoring/FailureAnalyzer.js';
|
|
|
21
21
|
import { FailureLoopDriver } from '../monitoring/FailureLoopDriver.js';
|
|
22
22
|
import { HumanAsDetectorLog } from '../monitoring/HumanAsDetectorLog.js';
|
|
23
23
|
import { parseVersion, compareVersions } from '../lifeline/versionHandshake.js';
|
|
24
|
+
import { readLatestCodexUsage } from '../providers/adapters/openai-codex/observability/codexRateLimitReader.js';
|
|
24
25
|
import { GATE_ROUTE_VERSION, GATE_ROUTE_MINIMUM_VERSION, getHotPathState, setKillSwitch, getKillSwitch, recordSessionStart, getMode, setMode, } from './stopGate.js';
|
|
25
26
|
import { assembleReminder, } from '../core/UnjustifiedStopGate.js';
|
|
26
27
|
import { dayKeyFor } from '../core/StopGateDb.js';
|
|
@@ -3849,6 +3850,36 @@ export function createRoutes(ctx) {
|
|
|
3849
3850
|
}
|
|
3850
3851
|
res.json({ idleMs, orphans: ctx.tokenLedger.orphans({ idleMs }) });
|
|
3851
3852
|
});
|
|
3853
|
+
// ── Codex usage (the codex `/status` equivalent, read from disk) ─────
|
|
3854
|
+
// Codex has no usage API, but the codex CLI persists the authoritative
|
|
3855
|
+
// account rate-limit windows (primary=5h, secondary=weekly) into each
|
|
3856
|
+
// session rollout's `token_count` events. This route surfaces the freshest
|
|
3857
|
+
// snapshot so an agent can answer "where does codex usage sit?" and so the
|
|
3858
|
+
// model-swap policy can react to an exhausted window — without the
|
|
3859
|
+
// interactive TUI. Read-only; never mutates session state. Always 200 when
|
|
3860
|
+
// wired ("alive"): `available:false` (not 503) means simply no codex data
|
|
3861
|
+
// on disk yet (e.g. a pure-Claude agent).
|
|
3862
|
+
router.get('/codex/usage', async (req, res) => {
|
|
3863
|
+
const codexHome = typeof req.query.codexHome === 'string' && req.query.codexHome
|
|
3864
|
+
? req.query.codexHome
|
|
3865
|
+
: undefined;
|
|
3866
|
+
let usage = null;
|
|
3867
|
+
try {
|
|
3868
|
+
usage = await readLatestCodexUsage({ codexHome });
|
|
3869
|
+
}
|
|
3870
|
+
catch {
|
|
3871
|
+
usage = null;
|
|
3872
|
+
}
|
|
3873
|
+
if (!usage) {
|
|
3874
|
+
res.json({
|
|
3875
|
+
available: false,
|
|
3876
|
+
usage: null,
|
|
3877
|
+
reason: 'no codex rollout with rate-limit data found',
|
|
3878
|
+
});
|
|
3879
|
+
return;
|
|
3880
|
+
}
|
|
3881
|
+
res.json({ available: true, usage });
|
|
3882
|
+
});
|
|
3852
3883
|
// ── Framework-Onboarding Mentor System: issue ledger (read-only) ──
|
|
3853
3884
|
// Signal-only observability. Bearer auth is applied globally by middleware;
|
|
3854
3885
|
// these routes never gate behaviour. See FRAMEWORK-ONBOARDING-MENTOR-SPEC §5.
|