@a5c-ai/agent-runtime 5.0.1-staging.016f0b0e8119
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 +23 -0
- package/dist/apiResult.d.ts +19 -0
- package/dist/apiResult.d.ts.map +1 -0
- package/dist/apiResult.js +16 -0
- package/dist/background/state.d.ts +14 -0
- package/dist/background/state.d.ts.map +1 -0
- package/dist/background/state.js +25 -0
- package/dist/backgroundProcessRegistry.d.ts +66 -0
- package/dist/backgroundProcessRegistry.d.ts.map +1 -0
- package/dist/backgroundProcessRegistry.js +202 -0
- package/dist/cost/claudeCodeParser.d.ts +81 -0
- package/dist/cost/claudeCodeParser.d.ts.map +1 -0
- package/dist/cost/claudeCodeParser.js +232 -0
- package/dist/cost/collector.d.ts +42 -0
- package/dist/cost/collector.d.ts.map +1 -0
- package/dist/cost/collector.js +105 -0
- package/dist/cost/effectCost.d.ts +23 -0
- package/dist/cost/effectCost.d.ts.map +1 -0
- package/dist/cost/effectCost.js +26 -0
- package/dist/cost/index.d.ts +19 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +39 -0
- package/dist/cost/journal.d.ts +40 -0
- package/dist/cost/journal.d.ts.map +1 -0
- package/dist/cost/journal.js +137 -0
- package/dist/cost/types.d.ts +164 -0
- package/dist/cost/types.d.ts.map +1 -0
- package/dist/cost/types.js +228 -0
- package/dist/daemon/automationExecutor.d.ts +16 -0
- package/dist/daemon/automationExecutor.d.ts.map +1 -0
- package/dist/daemon/automationExecutor.js +222 -0
- package/dist/daemon/config.d.ts +8 -0
- package/dist/daemon/config.d.ts.map +1 -0
- package/dist/daemon/config.js +209 -0
- package/dist/daemon/daemonLog.d.ts +13 -0
- package/dist/daemon/daemonLog.d.ts.map +1 -0
- package/dist/daemon/daemonLog.js +64 -0
- package/dist/daemon/fileWatcher.d.ts +9 -0
- package/dist/daemon/fileWatcher.d.ts.map +1 -0
- package/dist/daemon/fileWatcher.js +141 -0
- package/dist/daemon/index.d.ts +13 -0
- package/dist/daemon/index.d.ts.map +1 -0
- package/dist/daemon/index.js +22 -0
- package/dist/daemon/lifecycle.d.ts +12 -0
- package/dist/daemon/lifecycle.d.ts.map +1 -0
- package/dist/daemon/lifecycle.js +257 -0
- package/dist/daemon/loop.d.ts +21 -0
- package/dist/daemon/loop.d.ts.map +1 -0
- package/dist/daemon/loop.js +196 -0
- package/dist/daemon/timerScheduler.d.ts +13 -0
- package/dist/daemon/timerScheduler.d.ts.map +1 -0
- package/dist/daemon/timerScheduler.js +122 -0
- package/dist/daemon/types.d.ts +93 -0
- package/dist/daemon/types.d.ts.map +1 -0
- package/dist/daemon/types.js +25 -0
- package/dist/daemon/webhookListener.d.ts +6 -0
- package/dist/daemon/webhookListener.d.ts.map +1 -0
- package/dist/daemon/webhookListener.js +110 -0
- package/dist/execution/index.d.ts +8 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +12 -0
- package/dist/execution/modes/docker.d.ts +21 -0
- package/dist/execution/modes/docker.d.ts.map +1 -0
- package/dist/execution/modes/docker.js +125 -0
- package/dist/execution/modes/index.d.ts +10 -0
- package/dist/execution/modes/index.d.ts.map +1 -0
- package/dist/execution/modes/index.js +14 -0
- package/dist/execution/modes/kubernetes.d.ts +29 -0
- package/dist/execution/modes/kubernetes.d.ts.map +1 -0
- package/dist/execution/modes/kubernetes.js +121 -0
- package/dist/execution/modes/local.d.ts +23 -0
- package/dist/execution/modes/local.d.ts.map +1 -0
- package/dist/execution/modes/local.js +102 -0
- package/dist/execution/modes/ssh.d.ts +23 -0
- package/dist/execution/modes/ssh.d.ts.map +1 -0
- package/dist/execution/modes/ssh.js +134 -0
- package/dist/execution/provider.d.ts +32 -0
- package/dist/execution/provider.d.ts.map +1 -0
- package/dist/execution/provider.js +90 -0
- package/dist/execution/types.d.ts +105 -0
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/execution/types.js +9 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/observability/health.d.ts +19 -0
- package/dist/observability/health.d.ts.map +1 -0
- package/dist/observability/health.js +129 -0
- package/dist/observability/index.d.ts +6 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +20 -0
- package/dist/observability/runStatus.d.ts +44 -0
- package/dist/observability/runStatus.d.ts.map +1 -0
- package/dist/observability/runStatus.js +169 -0
- package/dist/observability/timeline.d.ts +11 -0
- package/dist/observability/timeline.d.ts.map +1 -0
- package/dist/observability/timeline.js +176 -0
- package/dist/observability/types.d.ts +62 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +8 -0
- package/dist/observability/webhooks.d.ts +68 -0
- package/dist/observability/webhooks.d.ts.map +1 -0
- package/dist/observability/webhooks.js +132 -0
- package/dist/resources/budget-tracker.d.ts +56 -0
- package/dist/resources/budget-tracker.d.ts.map +1 -0
- package/dist/resources/budget-tracker.js +131 -0
- package/dist/resources/concurrency-guard.d.ts +55 -0
- package/dist/resources/concurrency-guard.d.ts.map +1 -0
- package/dist/resources/concurrency-guard.js +132 -0
- package/dist/resources/index.d.ts +12 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +20 -0
- package/dist/resources/manager.d.ts +49 -0
- package/dist/resources/manager.d.ts.map +1 -0
- package/dist/resources/manager.js +111 -0
- package/dist/resources/timeout-cascade.d.ts +56 -0
- package/dist/resources/timeout-cascade.d.ts.map +1 -0
- package/dist/resources/timeout-cascade.js +145 -0
- package/dist/resources/types.d.ts +108 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +9 -0
- package/dist/session/context.d.ts +22 -0
- package/dist/session/context.d.ts.map +1 -0
- package/dist/session/context.js +113 -0
- package/dist/session/continuityState.d.ts +39 -0
- package/dist/session/continuityState.d.ts.map +1 -0
- package/dist/session/continuityState.js +164 -0
- package/dist/session/cost.d.ts +63 -0
- package/dist/session/cost.d.ts.map +1 -0
- package/dist/session/cost.js +194 -0
- package/dist/session/discovery.d.ts +22 -0
- package/dist/session/discovery.d.ts.map +1 -0
- package/dist/session/discovery.js +35 -0
- package/dist/session/history.d.ts +30 -0
- package/dist/session/history.d.ts.map +1 -0
- package/dist/session/history.js +143 -0
- package/dist/session/index.d.ts +20 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +78 -0
- package/dist/session/memoryExtraction.d.ts +65 -0
- package/dist/session/memoryExtraction.d.ts.map +1 -0
- package/dist/session/memoryExtraction.js +201 -0
- package/dist/session/parse.d.ts +45 -0
- package/dist/session/parse.d.ts.map +1 -0
- package/dist/session/parse.js +170 -0
- package/dist/session/persistence.d.ts +46 -0
- package/dist/session/persistence.d.ts.map +1 -0
- package/dist/session/persistence.js +180 -0
- package/dist/session/types.d.ts +267 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +45 -0
- package/dist/session/write.d.ts +61 -0
- package/dist/session/write.d.ts.map +1 -0
- package/dist/session/write.js +213 -0
- package/dist/telemetry/audit-log.d.ts +56 -0
- package/dist/telemetry/audit-log.d.ts.map +1 -0
- package/dist/telemetry/audit-log.js +59 -0
- package/dist/telemetry/index.d.ts +9 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +15 -0
- package/dist/telemetry/provider.d.ts +39 -0
- package/dist/telemetry/provider.d.ts.map +1 -0
- package/dist/telemetry/provider.js +91 -0
- package/dist/telemetry/span-tree.d.ts +46 -0
- package/dist/telemetry/span-tree.d.ts.map +1 -0
- package/dist/telemetry/span-tree.js +93 -0
- package/dist/telemetry/types.d.ts +85 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +21 -0
- package/package.json +90 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cost tracking journal helpers for Babysitter SDK.
|
|
4
|
+
*
|
|
5
|
+
* Provides functions to append COST_TRACKED events to the run journal,
|
|
6
|
+
* extract cost events from a journal, and compute aggregated cost statistics.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.COST_TRACKED_EVENT_TYPE = void 0;
|
|
10
|
+
exports.appendCostEvent = appendCostEvent;
|
|
11
|
+
exports.extractCostEvents = extractCostEvents;
|
|
12
|
+
exports.computeRunCostStats = computeRunCostStats;
|
|
13
|
+
const babysitter_sdk_1 = require("@a5c-ai/babysitter-sdk");
|
|
14
|
+
const types_1 = require("./types");
|
|
15
|
+
/** Journal event type constant for cost tracking events. */
|
|
16
|
+
exports.COST_TRACKED_EVENT_TYPE = "COST_TRACKED";
|
|
17
|
+
/**
|
|
18
|
+
* Append a COST_TRACKED event to a run's journal.
|
|
19
|
+
*
|
|
20
|
+
* Computes the USD cost (if not already set) before persisting so that the
|
|
21
|
+
* journal record is self-contained.
|
|
22
|
+
*
|
|
23
|
+
* @param runDir - Absolute path to the run directory.
|
|
24
|
+
* @param costData - Token usage and metadata for the cost event.
|
|
25
|
+
* @returns The append result with seq, ulid, filename, checksum, path, and recordedAt.
|
|
26
|
+
*/
|
|
27
|
+
async function appendCostEvent(runDir, costData) {
|
|
28
|
+
// Pre-compute costUsd if the caller did not supply it.
|
|
29
|
+
const enriched = { ...costData };
|
|
30
|
+
if (enriched.costUsd == null) {
|
|
31
|
+
const computed = (0, types_1.calculateCostUsd)(enriched.model, enriched.inputTokens, enriched.outputTokens, enriched.cacheCreationTokens, enriched.cacheReadTokens);
|
|
32
|
+
if (computed !== undefined) {
|
|
33
|
+
enriched.costUsd = computed;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Set timestamp if missing.
|
|
37
|
+
if (!enriched.timestamp) {
|
|
38
|
+
enriched.timestamp = new Date().toISOString();
|
|
39
|
+
}
|
|
40
|
+
return (0, babysitter_sdk_1.appendEvent)({
|
|
41
|
+
runDir,
|
|
42
|
+
eventType: exports.COST_TRACKED_EVENT_TYPE,
|
|
43
|
+
event: enriched,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Filter journal events to only COST_TRACKED entries.
|
|
48
|
+
*
|
|
49
|
+
* @param events - Full journal event list (as returned by `loadJournal`).
|
|
50
|
+
* @returns Subset of events whose type is COST_TRACKED.
|
|
51
|
+
*/
|
|
52
|
+
function extractCostEvents(events) {
|
|
53
|
+
return events.filter((e) => e.type === exports.COST_TRACKED_EVENT_TYPE);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Compute aggregated cost statistics for a run from its journal events.
|
|
57
|
+
*
|
|
58
|
+
* Extracts COST_TRACKED events, then accumulates totals with per-model and
|
|
59
|
+
* per-task-kind breakdowns.
|
|
60
|
+
*
|
|
61
|
+
* @param runId - The run identifier (included in the returned stats object).
|
|
62
|
+
* @param events - Full journal event list for the run.
|
|
63
|
+
* @returns Aggregated cost stats for the run.
|
|
64
|
+
*/
|
|
65
|
+
function computeRunCostStats(runId, events) {
|
|
66
|
+
const costEvents = extractCostEvents(events);
|
|
67
|
+
const stats = {
|
|
68
|
+
runId,
|
|
69
|
+
date: costEvents.length > 0 ? costEvents[0].recordedAt : new Date().toISOString(),
|
|
70
|
+
eventCount: costEvents.length,
|
|
71
|
+
totalInputTokens: 0,
|
|
72
|
+
totalOutputTokens: 0,
|
|
73
|
+
totalCacheCreation: 0,
|
|
74
|
+
totalCacheRead: 0,
|
|
75
|
+
totalCostUsd: 0,
|
|
76
|
+
byModel: {},
|
|
77
|
+
byKind: {},
|
|
78
|
+
};
|
|
79
|
+
for (const event of costEvents) {
|
|
80
|
+
const data = event.data;
|
|
81
|
+
const inputTokens = data.inputTokens ?? 0;
|
|
82
|
+
const outputTokens = data.outputTokens ?? 0;
|
|
83
|
+
const cacheCreationTokens = data.cacheCreationTokens ?? 0;
|
|
84
|
+
const cacheReadTokens = data.cacheReadTokens ?? 0;
|
|
85
|
+
// Resolve per-event cost: use pre-computed value or calculate on the fly.
|
|
86
|
+
const eventCost = data.costUsd ??
|
|
87
|
+
(0, types_1.calculateCostUsd)(data.model, inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens) ??
|
|
88
|
+
0;
|
|
89
|
+
// --- Run-level totals ---
|
|
90
|
+
stats.totalInputTokens += inputTokens;
|
|
91
|
+
stats.totalOutputTokens += outputTokens;
|
|
92
|
+
stats.totalCacheCreation += cacheCreationTokens;
|
|
93
|
+
stats.totalCacheRead += cacheReadTokens;
|
|
94
|
+
stats.totalCostUsd += eventCost;
|
|
95
|
+
// --- Per-model breakdown ---
|
|
96
|
+
const model = data.model ?? "unknown";
|
|
97
|
+
if (!stats.byModel[model]) {
|
|
98
|
+
stats.byModel[model] = {
|
|
99
|
+
model,
|
|
100
|
+
eventCount: 0,
|
|
101
|
+
inputTokens: 0,
|
|
102
|
+
outputTokens: 0,
|
|
103
|
+
cacheCreationTokens: 0,
|
|
104
|
+
cacheReadTokens: 0,
|
|
105
|
+
costUsd: 0,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
const ms = stats.byModel[model];
|
|
109
|
+
ms.eventCount += 1;
|
|
110
|
+
ms.inputTokens += inputTokens;
|
|
111
|
+
ms.outputTokens += outputTokens;
|
|
112
|
+
ms.cacheCreationTokens += cacheCreationTokens;
|
|
113
|
+
ms.cacheReadTokens += cacheReadTokens;
|
|
114
|
+
ms.costUsd += eventCost;
|
|
115
|
+
// --- Per-kind breakdown ---
|
|
116
|
+
const kind = data.taskKind ?? "unknown";
|
|
117
|
+
if (!stats.byKind[kind]) {
|
|
118
|
+
stats.byKind[kind] = {
|
|
119
|
+
kind,
|
|
120
|
+
eventCount: 0,
|
|
121
|
+
costUsd: 0,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
const ks = stats.byKind[kind];
|
|
125
|
+
ks.eventCount += 1;
|
|
126
|
+
ks.costUsd += eventCost;
|
|
127
|
+
}
|
|
128
|
+
// Round totals to 6 decimal places to avoid floating-point drift.
|
|
129
|
+
stats.totalCostUsd = Math.round(stats.totalCostUsd * 1_000_000) / 1_000_000;
|
|
130
|
+
for (const ms of Object.values(stats.byModel)) {
|
|
131
|
+
ms.costUsd = Math.round(ms.costUsd * 1_000_000) / 1_000_000;
|
|
132
|
+
}
|
|
133
|
+
for (const ks of Object.values(stats.byKind)) {
|
|
134
|
+
ks.costUsd = Math.round(ks.costUsd * 1_000_000) / 1_000_000;
|
|
135
|
+
}
|
|
136
|
+
return stats;
|
|
137
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cost tracking type definitions and pricing constants for Babysitter SDK.
|
|
3
|
+
*
|
|
4
|
+
* Covers Anthropic Claude API token usage structures as seen in Claude Code
|
|
5
|
+
* session JSONL files, plus aggregation interfaces for run-level and
|
|
6
|
+
* cross-run cost reporting.
|
|
7
|
+
*
|
|
8
|
+
* Pricing source: https://docs.anthropic.com/en/docs/about-claude/pricing
|
|
9
|
+
* Last verified: 2026-04-05
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Token/cost data for a single API interaction (assistant message).
|
|
13
|
+
*
|
|
14
|
+
* Field names mirror the Anthropic API usage response shape, converted to
|
|
15
|
+
* camelCase for SDK consistency.
|
|
16
|
+
*/
|
|
17
|
+
export interface CostEventData {
|
|
18
|
+
/** Model identifier, e.g. "claude-opus-4-6", "claude-sonnet-4-6". */
|
|
19
|
+
model: string;
|
|
20
|
+
/** Base (non-cached) input tokens. */
|
|
21
|
+
inputTokens: number;
|
|
22
|
+
/** Output (completion) tokens. */
|
|
23
|
+
outputTokens: number;
|
|
24
|
+
/** Total cache-creation input tokens (sum of 5m + 1h buckets). */
|
|
25
|
+
cacheCreationTokens: number;
|
|
26
|
+
/** Tokens read from prompt cache (cache hits). */
|
|
27
|
+
cacheReadTokens: number;
|
|
28
|
+
/** Ephemeral 5-minute cache-creation input tokens. */
|
|
29
|
+
cacheCreation5mTokens: number;
|
|
30
|
+
/** Extended 1-hour cache-creation input tokens. */
|
|
31
|
+
cacheCreation1hTokens: number;
|
|
32
|
+
/** Service tier reported by the API (e.g. "standard"). */
|
|
33
|
+
serviceTier?: string;
|
|
34
|
+
/** Effect ID that produced this usage, when tracked inside a run. */
|
|
35
|
+
effectId?: string;
|
|
36
|
+
/** Task kind (e.g. "orchestrator_task", "node", "breakpoint"). */
|
|
37
|
+
taskKind?: string;
|
|
38
|
+
/** Wall-clock duration of the API call in milliseconds. */
|
|
39
|
+
durationMs?: number;
|
|
40
|
+
/** Computed cost in USD for this single event. */
|
|
41
|
+
costUsd?: number;
|
|
42
|
+
/** ISO-8601 timestamp of the event. */
|
|
43
|
+
timestamp?: string;
|
|
44
|
+
}
|
|
45
|
+
/** Per-model cost aggregation within a run. */
|
|
46
|
+
export interface ModelCostStats {
|
|
47
|
+
model: string;
|
|
48
|
+
eventCount: number;
|
|
49
|
+
inputTokens: number;
|
|
50
|
+
outputTokens: number;
|
|
51
|
+
cacheCreationTokens: number;
|
|
52
|
+
cacheReadTokens: number;
|
|
53
|
+
costUsd: number;
|
|
54
|
+
}
|
|
55
|
+
/** Per-task-kind cost aggregation within a run. */
|
|
56
|
+
export interface KindCostStats {
|
|
57
|
+
kind: string;
|
|
58
|
+
eventCount: number;
|
|
59
|
+
costUsd: number;
|
|
60
|
+
}
|
|
61
|
+
/** Cost summary for a single run. */
|
|
62
|
+
export interface RunCostStats {
|
|
63
|
+
runId: string;
|
|
64
|
+
date: string;
|
|
65
|
+
eventCount: number;
|
|
66
|
+
totalInputTokens: number;
|
|
67
|
+
totalOutputTokens: number;
|
|
68
|
+
totalCacheCreation: number;
|
|
69
|
+
totalCacheRead: number;
|
|
70
|
+
totalCostUsd: number;
|
|
71
|
+
byModel: Record<string, ModelCostStats>;
|
|
72
|
+
byKind: Record<string, KindCostStats>;
|
|
73
|
+
}
|
|
74
|
+
/** Aggregate cost summary across multiple runs. */
|
|
75
|
+
export interface AggregateCostStats {
|
|
76
|
+
totalRuns: number;
|
|
77
|
+
totalEvents: number;
|
|
78
|
+
totalInputTokens: number;
|
|
79
|
+
totalOutputTokens: number;
|
|
80
|
+
totalCacheCreation: number;
|
|
81
|
+
totalCacheRead: number;
|
|
82
|
+
totalCostUsd: number;
|
|
83
|
+
/** Overall cost including all token categories across all runs. */
|
|
84
|
+
overallCostUsd: number;
|
|
85
|
+
runs: RunCostStats[];
|
|
86
|
+
}
|
|
87
|
+
/** Per-million-token pricing for a single model. All values in USD. */
|
|
88
|
+
export interface ModelPricing {
|
|
89
|
+
/** Base (non-cached) input tokens, per 1M tokens. */
|
|
90
|
+
inputPer1M: number;
|
|
91
|
+
/** Output tokens, per 1M tokens. */
|
|
92
|
+
outputPer1M: number;
|
|
93
|
+
/**
|
|
94
|
+
* Cache-creation tokens, per 1M tokens.
|
|
95
|
+
*
|
|
96
|
+
* This is the blended/default rate used when the 5m vs 1h breakdown is
|
|
97
|
+
* unavailable. Defaults to the 5-minute cache write rate (1.25x input).
|
|
98
|
+
*/
|
|
99
|
+
cacheCreationPer1M: number;
|
|
100
|
+
/** Cache-read (hit) tokens, per 1M tokens (0.1x input). */
|
|
101
|
+
cacheReadPer1M: number;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Pricing table for known Claude models.
|
|
105
|
+
*
|
|
106
|
+
* Keys use the API model identifier format (e.g. "claude-opus-4-6").
|
|
107
|
+
* Pricing sourced from https://docs.anthropic.com/en/docs/about-claude/pricing
|
|
108
|
+
*
|
|
109
|
+
* Cache-creation rates default to the 5-minute write multiplier (1.25x input).
|
|
110
|
+
* For fine-grained 5m vs 1h cost splits, use {@link MODEL_PRICING_EXTENDED}.
|
|
111
|
+
*/
|
|
112
|
+
export declare const MODEL_PRICING: Record<string, ModelPricing>;
|
|
113
|
+
/**
|
|
114
|
+
* Extended pricing with separate 5-minute and 1-hour cache write rates.
|
|
115
|
+
*
|
|
116
|
+
* Use this when the event data provides the `cacheCreation5mTokens` /
|
|
117
|
+
* `cacheCreation1hTokens` breakdown (available via the `cache_creation`
|
|
118
|
+
* sub-object in the Anthropic API response).
|
|
119
|
+
*/
|
|
120
|
+
export interface ModelPricingExtended extends ModelPricing {
|
|
121
|
+
/** 5-minute cache write, per 1M tokens (1.25x input). */
|
|
122
|
+
cacheCreation5mPer1M: number;
|
|
123
|
+
/** 1-hour cache write, per 1M tokens (2x input). */
|
|
124
|
+
cacheCreation1hPer1M: number;
|
|
125
|
+
}
|
|
126
|
+
export declare const MODEL_PRICING_EXTENDED: Record<string, ModelPricingExtended>;
|
|
127
|
+
/**
|
|
128
|
+
* Calculate the USD cost for a single API interaction.
|
|
129
|
+
*
|
|
130
|
+
* Uses the blended cache-creation rate from {@link MODEL_PRICING}.
|
|
131
|
+
* For fine-grained 5m/1h splits, use {@link calculateCostUsdExtended}.
|
|
132
|
+
*
|
|
133
|
+
* @returns Cost in USD, or `undefined` if the model is unknown.
|
|
134
|
+
*/
|
|
135
|
+
export declare function calculateCostUsd(model: string, inputTokens: number, outputTokens: number, cacheCreationTokens: number, cacheReadTokens: number): number | undefined;
|
|
136
|
+
/**
|
|
137
|
+
* Calculate the USD cost with separate 5-minute and 1-hour cache write rates.
|
|
138
|
+
*
|
|
139
|
+
* Use when the Anthropic API response includes the `cache_creation` sub-object
|
|
140
|
+
* with `ephemeral_5m_input_tokens` and `ephemeral_1h_input_tokens`.
|
|
141
|
+
*
|
|
142
|
+
* @returns Cost in USD, or `undefined` if the model is unknown.
|
|
143
|
+
*/
|
|
144
|
+
export declare function calculateCostUsdExtended(model: string, inputTokens: number, outputTokens: number, cacheCreation5mTokens: number, cacheCreation1hTokens: number, cacheReadTokens: number): number | undefined;
|
|
145
|
+
/** Options for the cost:stats CLI command. */
|
|
146
|
+
export interface CostStatsOptions {
|
|
147
|
+
/** Show stats for a specific run. */
|
|
148
|
+
runId?: string;
|
|
149
|
+
/** Aggregate stats across all runs. */
|
|
150
|
+
all?: boolean;
|
|
151
|
+
/** Output JSON instead of a table. */
|
|
152
|
+
json?: boolean;
|
|
153
|
+
/** Custom runs directory. */
|
|
154
|
+
runsDir?: string;
|
|
155
|
+
/** Filter to a specific model. */
|
|
156
|
+
model?: string;
|
|
157
|
+
/** Filter to a specific task kind. */
|
|
158
|
+
kind?: string;
|
|
159
|
+
/** Only show runs after this ISO-8601 date. */
|
|
160
|
+
since?: string;
|
|
161
|
+
/** Only show runs before this ISO-8601 date. */
|
|
162
|
+
until?: string;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cost/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Cost tracking type definitions and pricing constants for Babysitter SDK.
|
|
4
|
+
*
|
|
5
|
+
* Covers Anthropic Claude API token usage structures as seen in Claude Code
|
|
6
|
+
* session JSONL files, plus aggregation interfaces for run-level and
|
|
7
|
+
* cross-run cost reporting.
|
|
8
|
+
*
|
|
9
|
+
* Pricing source: https://docs.anthropic.com/en/docs/about-claude/pricing
|
|
10
|
+
* Last verified: 2026-04-05
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.MODEL_PRICING_EXTENDED = exports.MODEL_PRICING = void 0;
|
|
14
|
+
exports.calculateCostUsd = calculateCostUsd;
|
|
15
|
+
exports.calculateCostUsdExtended = calculateCostUsdExtended;
|
|
16
|
+
/**
|
|
17
|
+
* Pricing table for known Claude models.
|
|
18
|
+
*
|
|
19
|
+
* Keys use the API model identifier format (e.g. "claude-opus-4-6").
|
|
20
|
+
* Pricing sourced from https://docs.anthropic.com/en/docs/about-claude/pricing
|
|
21
|
+
*
|
|
22
|
+
* Cache-creation rates default to the 5-minute write multiplier (1.25x input).
|
|
23
|
+
* For fine-grained 5m vs 1h cost splits, use {@link MODEL_PRICING_EXTENDED}.
|
|
24
|
+
*/
|
|
25
|
+
exports.MODEL_PRICING = {
|
|
26
|
+
// --- Opus family ---
|
|
27
|
+
"claude-opus-4-6": {
|
|
28
|
+
inputPer1M: 5,
|
|
29
|
+
outputPer1M: 25,
|
|
30
|
+
cacheCreationPer1M: 6.25, // 1.25x input
|
|
31
|
+
cacheReadPer1M: 0.5, // 0.1x input
|
|
32
|
+
},
|
|
33
|
+
"claude-opus-4-5": {
|
|
34
|
+
inputPer1M: 5,
|
|
35
|
+
outputPer1M: 25,
|
|
36
|
+
cacheCreationPer1M: 6.25,
|
|
37
|
+
cacheReadPer1M: 0.5,
|
|
38
|
+
},
|
|
39
|
+
"claude-opus-4-1": {
|
|
40
|
+
inputPer1M: 15,
|
|
41
|
+
outputPer1M: 75,
|
|
42
|
+
cacheCreationPer1M: 18.75,
|
|
43
|
+
cacheReadPer1M: 1.5,
|
|
44
|
+
},
|
|
45
|
+
"claude-opus-4-0": {
|
|
46
|
+
inputPer1M: 15,
|
|
47
|
+
outputPer1M: 75,
|
|
48
|
+
cacheCreationPer1M: 18.75,
|
|
49
|
+
cacheReadPer1M: 1.5,
|
|
50
|
+
},
|
|
51
|
+
// --- Sonnet family ---
|
|
52
|
+
"claude-sonnet-4-6": {
|
|
53
|
+
inputPer1M: 3,
|
|
54
|
+
outputPer1M: 15,
|
|
55
|
+
cacheCreationPer1M: 3.75,
|
|
56
|
+
cacheReadPer1M: 0.3,
|
|
57
|
+
},
|
|
58
|
+
"claude-sonnet-4-5": {
|
|
59
|
+
inputPer1M: 3,
|
|
60
|
+
outputPer1M: 15,
|
|
61
|
+
cacheCreationPer1M: 3.75,
|
|
62
|
+
cacheReadPer1M: 0.3,
|
|
63
|
+
},
|
|
64
|
+
"claude-sonnet-4-0": {
|
|
65
|
+
inputPer1M: 3,
|
|
66
|
+
outputPer1M: 15,
|
|
67
|
+
cacheCreationPer1M: 3.75,
|
|
68
|
+
cacheReadPer1M: 0.3,
|
|
69
|
+
},
|
|
70
|
+
// --- Haiku family ---
|
|
71
|
+
"claude-haiku-4-5": {
|
|
72
|
+
inputPer1M: 1,
|
|
73
|
+
outputPer1M: 5,
|
|
74
|
+
cacheCreationPer1M: 1.25,
|
|
75
|
+
cacheReadPer1M: 0.1,
|
|
76
|
+
},
|
|
77
|
+
"claude-haiku-3-5": {
|
|
78
|
+
inputPer1M: 0.8,
|
|
79
|
+
outputPer1M: 4,
|
|
80
|
+
cacheCreationPer1M: 1,
|
|
81
|
+
cacheReadPer1M: 0.08,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
exports.MODEL_PRICING_EXTENDED = {
|
|
85
|
+
"claude-opus-4-6": {
|
|
86
|
+
inputPer1M: 5,
|
|
87
|
+
outputPer1M: 25,
|
|
88
|
+
cacheCreationPer1M: 6.25,
|
|
89
|
+
cacheCreation5mPer1M: 6.25,
|
|
90
|
+
cacheCreation1hPer1M: 10,
|
|
91
|
+
cacheReadPer1M: 0.5,
|
|
92
|
+
},
|
|
93
|
+
"claude-opus-4-5": {
|
|
94
|
+
inputPer1M: 5,
|
|
95
|
+
outputPer1M: 25,
|
|
96
|
+
cacheCreationPer1M: 6.25,
|
|
97
|
+
cacheCreation5mPer1M: 6.25,
|
|
98
|
+
cacheCreation1hPer1M: 10,
|
|
99
|
+
cacheReadPer1M: 0.5,
|
|
100
|
+
},
|
|
101
|
+
"claude-opus-4-1": {
|
|
102
|
+
inputPer1M: 15,
|
|
103
|
+
outputPer1M: 75,
|
|
104
|
+
cacheCreationPer1M: 18.75,
|
|
105
|
+
cacheCreation5mPer1M: 18.75,
|
|
106
|
+
cacheCreation1hPer1M: 30,
|
|
107
|
+
cacheReadPer1M: 1.5,
|
|
108
|
+
},
|
|
109
|
+
"claude-opus-4-0": {
|
|
110
|
+
inputPer1M: 15,
|
|
111
|
+
outputPer1M: 75,
|
|
112
|
+
cacheCreationPer1M: 18.75,
|
|
113
|
+
cacheCreation5mPer1M: 18.75,
|
|
114
|
+
cacheCreation1hPer1M: 30,
|
|
115
|
+
cacheReadPer1M: 1.5,
|
|
116
|
+
},
|
|
117
|
+
"claude-sonnet-4-6": {
|
|
118
|
+
inputPer1M: 3,
|
|
119
|
+
outputPer1M: 15,
|
|
120
|
+
cacheCreationPer1M: 3.75,
|
|
121
|
+
cacheCreation5mPer1M: 3.75,
|
|
122
|
+
cacheCreation1hPer1M: 6,
|
|
123
|
+
cacheReadPer1M: 0.3,
|
|
124
|
+
},
|
|
125
|
+
"claude-sonnet-4-5": {
|
|
126
|
+
inputPer1M: 3,
|
|
127
|
+
outputPer1M: 15,
|
|
128
|
+
cacheCreationPer1M: 3.75,
|
|
129
|
+
cacheCreation5mPer1M: 3.75,
|
|
130
|
+
cacheCreation1hPer1M: 6,
|
|
131
|
+
cacheReadPer1M: 0.3,
|
|
132
|
+
},
|
|
133
|
+
"claude-sonnet-4-0": {
|
|
134
|
+
inputPer1M: 3,
|
|
135
|
+
outputPer1M: 15,
|
|
136
|
+
cacheCreationPer1M: 3.75,
|
|
137
|
+
cacheCreation5mPer1M: 3.75,
|
|
138
|
+
cacheCreation1hPer1M: 6,
|
|
139
|
+
cacheReadPer1M: 0.3,
|
|
140
|
+
},
|
|
141
|
+
"claude-haiku-4-5": {
|
|
142
|
+
inputPer1M: 1,
|
|
143
|
+
outputPer1M: 5,
|
|
144
|
+
cacheCreationPer1M: 1.25,
|
|
145
|
+
cacheCreation5mPer1M: 1.25,
|
|
146
|
+
cacheCreation1hPer1M: 2,
|
|
147
|
+
cacheReadPer1M: 0.1,
|
|
148
|
+
},
|
|
149
|
+
"claude-haiku-3-5": {
|
|
150
|
+
inputPer1M: 0.8,
|
|
151
|
+
outputPer1M: 4,
|
|
152
|
+
cacheCreationPer1M: 1,
|
|
153
|
+
cacheCreation5mPer1M: 1,
|
|
154
|
+
cacheCreation1hPer1M: 1.6,
|
|
155
|
+
cacheReadPer1M: 0.08,
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
/**
|
|
159
|
+
* Resolve pricing for a model identifier.
|
|
160
|
+
*
|
|
161
|
+
* Handles common variations: the API may return "claude-opus-4-6-20260301"
|
|
162
|
+
* or similar dated suffixes. We strip the date and try progressively
|
|
163
|
+
* shorter prefixes until we find a match.
|
|
164
|
+
*/
|
|
165
|
+
function resolvePricing(model) {
|
|
166
|
+
// Direct match first.
|
|
167
|
+
if (exports.MODEL_PRICING[model])
|
|
168
|
+
return exports.MODEL_PRICING[model];
|
|
169
|
+
// Strip date suffix (e.g. "claude-opus-4-6-20260301" -> "claude-opus-4-6").
|
|
170
|
+
const withoutDate = model.replace(/-\d{8}$/, "");
|
|
171
|
+
if (exports.MODEL_PRICING[withoutDate])
|
|
172
|
+
return exports.MODEL_PRICING[withoutDate];
|
|
173
|
+
// Try prefix matching (longest first).
|
|
174
|
+
const keys = Object.keys(exports.MODEL_PRICING).sort((a, b) => b.length - a.length);
|
|
175
|
+
for (const key of keys) {
|
|
176
|
+
if (withoutDate.startsWith(key))
|
|
177
|
+
return exports.MODEL_PRICING[key];
|
|
178
|
+
}
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Calculate the USD cost for a single API interaction.
|
|
183
|
+
*
|
|
184
|
+
* Uses the blended cache-creation rate from {@link MODEL_PRICING}.
|
|
185
|
+
* For fine-grained 5m/1h splits, use {@link calculateCostUsdExtended}.
|
|
186
|
+
*
|
|
187
|
+
* @returns Cost in USD, or `undefined` if the model is unknown.
|
|
188
|
+
*/
|
|
189
|
+
function calculateCostUsd(model, inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens) {
|
|
190
|
+
const pricing = resolvePricing(model);
|
|
191
|
+
if (!pricing)
|
|
192
|
+
return undefined;
|
|
193
|
+
const cost = (inputTokens / 1_000_000) * pricing.inputPer1M +
|
|
194
|
+
(outputTokens / 1_000_000) * pricing.outputPer1M +
|
|
195
|
+
(cacheCreationTokens / 1_000_000) * pricing.cacheCreationPer1M +
|
|
196
|
+
(cacheReadTokens / 1_000_000) * pricing.cacheReadPer1M;
|
|
197
|
+
return Math.round(cost * 1_000_000) / 1_000_000; // 6 decimal places
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Calculate the USD cost with separate 5-minute and 1-hour cache write rates.
|
|
201
|
+
*
|
|
202
|
+
* Use when the Anthropic API response includes the `cache_creation` sub-object
|
|
203
|
+
* with `ephemeral_5m_input_tokens` and `ephemeral_1h_input_tokens`.
|
|
204
|
+
*
|
|
205
|
+
* @returns Cost in USD, or `undefined` if the model is unknown.
|
|
206
|
+
*/
|
|
207
|
+
function calculateCostUsdExtended(model, inputTokens, outputTokens, cacheCreation5mTokens, cacheCreation1hTokens, cacheReadTokens) {
|
|
208
|
+
const pricing = exports.MODEL_PRICING_EXTENDED[model] ?? (() => {
|
|
209
|
+
// Fall back to base pricing with derived 1h rate (2x input).
|
|
210
|
+
const base = resolvePricing(model);
|
|
211
|
+
if (!base)
|
|
212
|
+
return undefined;
|
|
213
|
+
return {
|
|
214
|
+
...base,
|
|
215
|
+
cacheCreation5mPer1M: base.cacheCreationPer1M,
|
|
216
|
+
cacheCreation1hPer1M: base.inputPer1M * 2,
|
|
217
|
+
};
|
|
218
|
+
})();
|
|
219
|
+
if (!pricing)
|
|
220
|
+
return undefined;
|
|
221
|
+
const ext = pricing;
|
|
222
|
+
const cost = (inputTokens / 1_000_000) * ext.inputPer1M +
|
|
223
|
+
(outputTokens / 1_000_000) * ext.outputPer1M +
|
|
224
|
+
(cacheCreation5mTokens / 1_000_000) * ext.cacheCreation5mPer1M +
|
|
225
|
+
(cacheCreation1hTokens / 1_000_000) * ext.cacheCreation1hPer1M +
|
|
226
|
+
(cacheReadTokens / 1_000_000) * ext.cacheReadPer1M;
|
|
227
|
+
return Math.round(cost * 1_000_000) / 1_000_000;
|
|
228
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared automation-rule execution path for daemon timer and webhook triggers.
|
|
3
|
+
*/
|
|
4
|
+
import type { AutomationExecutionRecord } from "@a5c-ai/agent-comm-mux";
|
|
5
|
+
import type { AutomationTriggerEvent } from "./types";
|
|
6
|
+
type StoredAutomationExecutionRecord = Omit<AutomationExecutionRecord, "status" | "reason"> & {
|
|
7
|
+
readonly status: AutomationExecutionRecord["status"] | "skipped";
|
|
8
|
+
readonly skipReason?: string;
|
|
9
|
+
};
|
|
10
|
+
export interface ExecuteAutomationTriggerOptions {
|
|
11
|
+
backlogFilePath?: string;
|
|
12
|
+
now?: () => string;
|
|
13
|
+
}
|
|
14
|
+
export declare function executeAutomationTrigger(event: AutomationTriggerEvent, options?: ExecuteAutomationTriggerOptions): Promise<StoredAutomationExecutionRecord>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=automationExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"automationExecutor.d.ts","sourceRoot":"","sources":["../../src/daemon/automationExecutor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EACV,yBAAyB,EAY1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AA8CtD,KAAK,+BAA+B,GAAG,IAAI,CAAC,yBAAyB,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAAG;IAC5F,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AASF,MAAM,WAAW,+BAA+B;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AA4LD,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,sBAAsB,EAC7B,OAAO,GAAE,+BAAoC,GAC5C,OAAO,CAAC,+BAA+B,CAAC,CA4E1C"}
|