ai-spend-agent 0.9.6 → 0.9.7
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 +13 -1
- package/dist/index.js +9 -7
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -29,9 +29,21 @@ provider evidence. Remove it with `npx aibill statusline uninstall`.
|
|
|
29
29
|
It reads supported local Claude Code, Codex, and Gemini CLI financial metadata,
|
|
30
30
|
labels API-equivalent estimates, and can optionally add official OpenAI or
|
|
31
31
|
Anthropic provider-reported cost
|
|
32
|
-
through an environment-variable reference.
|
|
32
|
+
through an environment-variable reference.
|
|
33
33
|
aibill never sits in the inference path and never stores, prints, or proxies provider credentials.
|
|
34
34
|
|
|
35
|
+
**Telemetry: anonymous command counts, disclosed at first run.** Terminal
|
|
36
|
+
analysis stays on your machine — transcripts, prompts, file names, and dollar
|
|
37
|
+
amounts are never uploaded. Separately, the CLI counts *which* commands run:
|
|
38
|
+
anonymous, never your arguments, paths, content, dollars, or your email.
|
|
39
|
+
Nothing is sent before a one-time notice has been printed on an interactive
|
|
40
|
+
run, so a machine that has never seen that notice (CI, scripts, pipes) never
|
|
41
|
+
sends anything. One command turns it off — `aibill telemetry off` (or
|
|
42
|
+
`DO_NOT_TRACK`, `CI`, or `AI_SPEND_NO_TELEMETRY`) — `aibill telemetry` prints
|
|
43
|
+
the exact last payload verbatim, and while it is on every receipt says so in
|
|
44
|
+
place of "nothing uploaded". Full scope and the never-list:
|
|
45
|
+
[`docs/TELEMETRY.md`](https://github.com/futurastudio/ai-spend-agent/blob/main/docs/TELEMETRY.md).
|
|
46
|
+
|
|
35
47
|
Connector validation (`live_verified`, `fixture_verified`, `untested`, or
|
|
36
48
|
`failed`) and each number's financial evidence (`verified`, `estimated`,
|
|
37
49
|
`detected_unverified`, or `missing`) are separate status axes. Run `npx aibill
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ import { buildImproveExperience } from "./improveExperience.js";
|
|
|
18
18
|
import { appendAcceptedProjectOutcome, appendProjectApprovalEvent, createProjectAccountabilityOwnership, loadProjectAccountabilityState, projectAccountabilityStatePath, upsertConfirmedProjectOwnership } from "./projectAccountabilityState.js";
|
|
19
19
|
import { fetchGitHubAcceptedOutcomeV0 } from "./githubAcceptedOutcome.js";
|
|
20
20
|
import { decideReportAutoOpen, openReportInBrowser, platformOpenCommand } from "./reportOpener.js";
|
|
21
|
-
import { generateActionPlanMarkdown, generateApplyArtifactMarkdown, generateCommandSummary, generateDemoPackageMarkdown, generateHtmlReport, generateMarkdownReport, generatePlainEnglishSummary, generatePolicyConfigDraftMarkdown, generateReceiptCompanionHtml, generateReportCardCaption, generateReportCardSvg, generateVerificationPlanMarkdown, groupByDimensions, shellPathPointer } from "@agent-finops/report";
|
|
21
|
+
import { generateActionPlanMarkdown, generateApplyArtifactMarkdown, generateCommandSummary, generateDemoPackageMarkdown, generateHtmlReport, generateMarkdownReport, generatePlainEnglishSummary, generatePolicyConfigDraftMarkdown, generateReceiptCompanionHtml, generateReportCardCaption, generateReportCardSvg, generateVerificationPlanMarkdown, groupByDimensions, shellPathPointer, spendReportTotalLine } from "@agent-finops/report";
|
|
22
22
|
// One shared v2 sharded store instance for BOTH evidence kinds: the v1
|
|
23
23
|
// monolithic qualitative adapter re-probed git privacy on every read (176
|
|
24
24
|
// spawned git processes per warm run with $HOME itself a git repo) and
|
|
@@ -4019,12 +4019,14 @@ async function reportCommand(args, runtime = {}) {
|
|
|
4019
4019
|
: []),
|
|
4020
4020
|
{
|
|
4021
4021
|
label: "Total",
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4026
|
-
|
|
4027
|
-
|
|
4022
|
+
// B1: the row is rendered by the report package from this exact
|
|
4023
|
+
// input, so the terminal summary and the report.md/report.html this
|
|
4024
|
+
// command just wrote cannot disagree about whether the money is zero
|
|
4025
|
+
// or unknown. The local branch used to fall straight through to
|
|
4026
|
+
// `formatOptionalUsd(summary.totalUsd)` — and `analyzeSpend` returns
|
|
4027
|
+
// a plain 0 for a window where nothing could be priced, so `report`
|
|
4028
|
+
// printed "$0.00" beside artifacts that said "Unavailable".
|
|
4029
|
+
value: spendReportTotalLine(reportInput)
|
|
4028
4030
|
},
|
|
4029
4031
|
{
|
|
4030
4032
|
label: "Privacy",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-spend-agent",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"funding": "https://asktilden.com",
|
|
5
5
|
"description": "Local-first financial accountability CLI: Claude Code/Codex attribution, provenance, and next actions, plus experimental Gemini CLI cost evidence.",
|
|
6
6
|
"type": "module",
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"prepack": "npm run build"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@agent-finops/core": "0.9.
|
|
59
|
-
"@agent-finops/report": "0.9.
|
|
58
|
+
"@agent-finops/core": "0.9.7",
|
|
59
|
+
"@agent-finops/report": "0.9.7",
|
|
60
60
|
"yocto-spinner": "^1.2.0"
|
|
61
61
|
}
|
|
62
62
|
}
|