estela 0.1.21 → 0.1.22
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 +110 -95
- package/dist/billing/sessionize.d.ts.map +1 -1
- package/dist/billing/sessionize.js +5 -2
- package/dist/billing/sessionize.js.map +1 -1
- package/dist/billing/sessionize.test.js +26 -0
- package/dist/billing/sessionize.test.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +2 -1
- package/dist/i18n/en.js.map +1 -1
- package/package.json +1 -1
- package/web/app.js +12 -7
package/README.md
CHANGED
|
@@ -1,168 +1,183 @@
|
|
|
1
1
|
# Estela
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
**English** · [Español](https://github.com/jdleonruiz/estela-cli/blob/main/README.es.md)
|
|
4
|
+
|
|
5
|
+
Development time tracking you **don't have to fill in**. Estela reads what your
|
|
6
|
+
AI agents and your Git already wrote to disk and rebuilds where your time went,
|
|
7
|
+
along with what the AI cost.
|
|
6
8
|
|
|
7
9
|
```sh
|
|
8
10
|
npx estela setup
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
Twenty seconds later you have the last few months of your history. No account,
|
|
14
|
+
no card, and nothing leaves your machine.
|
|
13
15
|
|
|
14
16
|
---
|
|
15
17
|
|
|
16
|
-
##
|
|
18
|
+
## Why it exists
|
|
17
19
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
A timer you have to remember to start always fails. And with an AI agent, time
|
|
21
|
+
isn't measured in keystrokes anymore: it goes into writing the prompt, reading
|
|
22
|
+
what comes back, and trying it out.
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
`~/.claude/projects/`
|
|
24
|
-
|
|
24
|
+
But that work **leaves a trail**. Claude Code saves every session in
|
|
25
|
+
`~/.claude/projects/` with its exact model and tokens. Git records when you
|
|
26
|
+
committed and what. Estela reads both and lines them up.
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
What it doesn't do:
|
|
27
29
|
|
|
28
|
-
- **
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
- **
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
- **It doesn't install hooks.** Your `husky` and `lefthook` stay untouched, and
|
|
31
|
+
your commit messages aren't modified. An identifier written into history
|
|
32
|
+
can't be taken back once it's pushed.
|
|
33
|
+
- **It doesn't inspect processes or your terminal.** It reads files that already
|
|
34
|
+
exist.
|
|
35
|
+
- **It doesn't store the content of your prompts.** Only when, how much, and
|
|
36
|
+
with which model.
|
|
37
|
+
- **It doesn't send anything anywhere.** The free plan is entirely local.
|
|
35
38
|
|
|
36
|
-
##
|
|
39
|
+
## Getting started
|
|
37
40
|
|
|
38
|
-
|
|
41
|
+
You need **Node 22.5 or later** (for `node:sqlite`).
|
|
39
42
|
|
|
40
43
|
```sh
|
|
41
|
-
npx estela setup #
|
|
42
|
-
npx estela web #
|
|
43
|
-
npx estela doctor #
|
|
44
|
+
npx estela setup # detects agents and repositories, rebuilds your history
|
|
45
|
+
npx estela web # opens the dashboard at http://localhost:4319
|
|
46
|
+
npx estela doctor # checks your data and flags anything wrong
|
|
44
47
|
npx estela --version
|
|
45
48
|
```
|
|
46
49
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
No Claude Code? It still works: without transcripts, Estela rebuilds your time
|
|
51
|
+
from your commits alone, and marks it as estimated.
|
|
52
|
+
|
|
53
|
+
`npm` doesn't update global installs on its own. If you installed with
|
|
54
|
+
`npm install -g estela`, Estela tells you when there's a newer version (it asks
|
|
55
|
+
npm at most once a day, in the background, without blocking anything); update
|
|
56
|
+
with `npm install -g estela@latest`.
|
|
51
57
|
|
|
52
|
-
`setup` no
|
|
53
|
-
|
|
58
|
+
`setup` asks no questions and doesn't overwrite anything you've set up by hand:
|
|
59
|
+
you can run it again.
|
|
54
60
|
|
|
55
|
-
|
|
61
|
+
Estela speaks English and Spanish, following your system's language. Force one
|
|
62
|
+
with `--lang en` on any command, or `ESTELA_LANG=en` for good.
|
|
56
63
|
|
|
57
|
-
|
|
58
|
-
|
|
64
|
+
## Reporting to a client
|
|
65
|
+
|
|
66
|
+
Projects are created as internal and without a rate, because making one up
|
|
67
|
+
would produce fake numbers from the first minute. When one belongs to a real
|
|
68
|
+
client:
|
|
59
69
|
|
|
60
70
|
```sh
|
|
61
71
|
estela client add --id acme --name "ACME" --currency EUR
|
|
62
|
-
estela project add --id acme-web --client acme --name "
|
|
72
|
+
estela project add --id acme-web --client acme --name "ACME website" --repo ~/dev/acme-web
|
|
63
73
|
estela rate set --project acme-web --rate 50
|
|
64
74
|
|
|
65
|
-
estela author --project acme-web #
|
|
75
|
+
estela author --project acme-web # which email you commit with there
|
|
66
76
|
estela report --project acme-web --cutoff 2026-08-31 --dry-run
|
|
67
77
|
```
|
|
68
78
|
|
|
69
|
-
**`estela author`
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
**`estela author` matters more than it looks.** In a client's repository you
|
|
80
|
+
almost never commit with your global email, and without telling Estela it
|
|
81
|
+
captures three commits out of seventeen hundred.
|
|
82
|
+
|
|
83
|
+
The report backs up your work with hours and commits. It isn't an invoice:
|
|
84
|
+
Estela doesn't issue tax documents, so attach it to your own.
|
|
72
85
|
|
|
73
|
-
##
|
|
86
|
+
## Sharing progress with your client
|
|
74
87
|
|
|
75
88
|
```sh
|
|
76
|
-
estela login --email
|
|
89
|
+
estela login --email you@example.com # once
|
|
77
90
|
estela publish --project acme-web
|
|
78
91
|
```
|
|
79
92
|
|
|
80
|
-
|
|
81
|
-
getestela.dev — no
|
|
82
|
-
**
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
This uploads a read-only dashboard with an unguessable link, hosted on
|
|
94
|
+
getestela.dev — no server of your own needed. It shows hours and commits;
|
|
95
|
+
**never your rate or your AI usage**, because as long as you're the one paying
|
|
96
|
+
for it that spend is yours, and a client who knows which part an AI generated
|
|
97
|
+
has a new argument for negotiating your rate down.
|
|
85
98
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
99
|
+
Publishing again from the same machine reuses the link automatically. From a
|
|
100
|
+
different machine, pass `--token` with the existing one, or your client ends up
|
|
101
|
+
with a dead link. The Free plan allows one published dashboard at a time; Pro
|
|
102
|
+
and Teams have no limit.
|
|
89
103
|
|
|
90
|
-
##
|
|
104
|
+
## What the AI actually costs
|
|
91
105
|
|
|
92
|
-
|
|
93
|
-
|
|
106
|
+
On a flat subscription, your real spend isn't the sum of the tokens: it's the
|
|
107
|
+
fee split across what you used.
|
|
94
108
|
|
|
95
109
|
```sh
|
|
96
110
|
estela subscription add --id max --name "Claude Max" --fee 100
|
|
97
111
|
estela ai-cost
|
|
98
112
|
```
|
|
99
113
|
|
|
100
|
-
|
|
101
|
-
|
|
114
|
+
Cache is counted separately because it's usually most of the bill — ignoring it
|
|
115
|
+
underestimated spend fivefold.
|
|
102
116
|
|
|
103
|
-
##
|
|
117
|
+
## Hours no import will infer
|
|
104
118
|
|
|
105
|
-
|
|
106
|
-
|
|
119
|
+
Meetings, travel, research, and development without an agent that didn't leave
|
|
120
|
+
commits either:
|
|
107
121
|
|
|
108
122
|
```sh
|
|
109
|
-
estela log --project acme-web --hours 1.5 --kind meeting --what "
|
|
123
|
+
estela log --project acme-web --hours 1.5 --kind meeting --what "Weekly check-in"
|
|
110
124
|
```
|
|
111
125
|
|
|
112
|
-
|
|
126
|
+
An import never touches them.
|
|
113
127
|
|
|
114
|
-
##
|
|
128
|
+
## Work without an agent
|
|
115
129
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
130
|
+
If you coded by hand, your commits are still a trail: Estela infers the time
|
|
131
|
+
from them and marks it as **estimated**, so you know which part of your hours is
|
|
132
|
+
measured and which is assumed. The estimate errs on the short side on purpose:
|
|
133
|
+
these hours end up in a report someone pays for.
|
|
120
134
|
|
|
121
|
-
##
|
|
135
|
+
## Plans
|
|
122
136
|
|
|
123
137
|
| | Free | Pro | Teams |
|
|
124
138
|
|---|---|---|---|
|
|
125
|
-
|
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
|
129
|
-
|
|
|
139
|
+
| Everything above, locally | ✓ | ✓ | ✓ |
|
|
140
|
+
| Sync across machines | — | ✓ | ✓ |
|
|
141
|
+
| Hosted dashboards at once | 1 | unlimited | unlimited |
|
|
142
|
+
| **Measured** team hours | — | — | ✓ |
|
|
143
|
+
| AI budget per project | — | — | ✓ |
|
|
130
144
|
|
|
131
|
-
Pro
|
|
132
|
-
|
|
133
|
-
|
|
145
|
+
Pro is one person on several machines; Teams is several people. AI cost is
|
|
146
|
+
reported **per project, never per person**: what each person spends out of their
|
|
147
|
+
own pocket is theirs.
|
|
134
148
|
|
|
135
|
-
|
|
149
|
+
More at [getestela.dev](https://getestela.dev/en/).
|
|
136
150
|
|
|
137
|
-
##
|
|
151
|
+
## Development
|
|
138
152
|
|
|
139
153
|
```sh
|
|
140
154
|
npm install
|
|
141
|
-
npm
|
|
142
|
-
node --test packages/daemon/dist/**/*.test.js
|
|
155
|
+
npm test
|
|
143
156
|
```
|
|
144
157
|
|
|
145
|
-
Node 22
|
|
146
|
-
|
|
147
|
-
|
|
158
|
+
Node 22 and **zero runtime dependencies**, on purpose: nobody installs a program
|
|
159
|
+
that reads their transcripts if they can't audit it, and an empty dependency
|
|
160
|
+
list can be audited in an afternoon.
|
|
148
161
|
|
|
149
|
-
##
|
|
162
|
+
## Open source, closed service
|
|
150
163
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
`npm install estela
|
|
164
|
+
Everything that installs on your machine is open source under the MIT license:
|
|
165
|
+
the CLI, what reads your transcripts and your git, what calculates hours and
|
|
166
|
+
cost, and the dashboard that `estela web` opens. It's exactly what
|
|
167
|
+
`npm install estela` downloads, and you can read it at
|
|
155
168
|
[github.com/jdleonruiz/estela-cli](https://github.com/jdleonruiz/estela-cli).
|
|
169
|
+
Each npm version has a matching tag there.
|
|
156
170
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
171
|
+
What **isn't** here is the paid service: the server that syncs your machines and
|
|
172
|
+
the one behind team projects. That part is closed, and it's what keeps the
|
|
173
|
+
project going.
|
|
160
174
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
175
|
+
The split isn't an accident. The free plan works entirely without an account,
|
|
176
|
+
a card, or a network connection, and that claim is worth nothing if you have to
|
|
177
|
+
take it on faith: with the code in front of you, you can check for yourself that
|
|
178
|
+
nothing leaves your machine.
|
|
164
179
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
180
|
+
The test fixtures are made up on purpose. The cases come from real repositories
|
|
181
|
+
— that's why they cover messes nobody would think of — but neither a client's
|
|
182
|
+
team roster nor how much each of its people commits belongs in a public
|
|
183
|
+
repository.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionize.d.ts","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAKD,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,SAAS,EAAE,CAkCb;AAqCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,MAAM,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAgC,GAC7D,SAAS,EAAE,CAiEb;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"sessionize.d.ts","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAKD,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,OAAO,GAAE,iBAAsB,GAC9B,SAAS,EAAE,CAkCb;AAqCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,MAAM,GAAE,CAAC,KAAK,EAAE,SAAS,KAAK,MAAgC,GAC7D,SAAS,EAAE,CAiEb;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAYtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,YAAY,SAAK,GAChB,SAAS,EAAE,CAcb;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5D,SAAS,EAAE,CAgDb;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,SAAS,SAAS,EAAE,EAClC,WAAW,EAAE,SAAS,SAAS,EAAE,GAChC,SAAS,EAAE,CAKb"}
|
|
@@ -171,11 +171,14 @@ function describeBlock(block) {
|
|
|
171
171
|
const subjects = [...new Set(block.commits.map((c) => c.subject).filter(Boolean))];
|
|
172
172
|
if (subjects.length === 1)
|
|
173
173
|
return subjects[0];
|
|
174
|
-
|
|
174
|
+
// "+1 commits más" salía en la descripción de cualquier bloque con dos asuntos.
|
|
175
|
+
if (subjects.length === 2)
|
|
176
|
+
return (0, index_js_1.tr) `${subjects[0]} (+1 commit más)`;
|
|
177
|
+
if (subjects.length > 2) {
|
|
175
178
|
return (0, index_js_1.tr) `${subjects[0]} (+${subjects.length - 1} commits más)`;
|
|
176
179
|
}
|
|
177
180
|
const branch = block.branch?.replace(/^(feature|feat|fix|chore)\//, "") ?? null;
|
|
178
|
-
return branch ? (0, index_js_1.tr) `Desarrollo en ${branch}` :
|
|
181
|
+
return branch ? (0, index_js_1.tr) `Desarrollo en ${branch}` : (0, index_js_1.tr) `Desarrollo`;
|
|
179
182
|
}
|
|
180
183
|
/**
|
|
181
184
|
* Asocia commits a bloques por solapamiento temporal.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionize.js","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":";;AAgDA,gCAqCC;AAyDD,kDAoEC;AAQD,
|
|
1
|
+
{"version":3,"file":"sessionize.js","sourceRoot":"","sources":["../../src/billing/sessionize.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
7
7
|
const node_test_1 = require("node:test");
|
|
8
|
+
const index_js_1 = require("../i18n/index.js");
|
|
8
9
|
const sessionize_js_1 = require("./sessionize.js");
|
|
9
10
|
// --- Trabajo sin agente ------------------------------------------------------
|
|
10
11
|
function commit(hash, iso, repo = "/r", branch = "main") {
|
|
@@ -133,4 +134,29 @@ function commit(hash, iso, repo = "/r", branch = "main") {
|
|
|
133
134
|
const [fusionado] = (0, sessionize_js_1.groupByBranchAndDay)(bloques, () => "proyecto");
|
|
134
135
|
strict_1.default.equal(fusionado.seconds, suma, "sin solape no se pierde ni un segundo");
|
|
135
136
|
});
|
|
137
|
+
// ── Descripción de un bloque ────────────────────────────────────────────────
|
|
138
|
+
function bloqueCon(asuntos, branch = "main") {
|
|
139
|
+
const at = new Date("2026-09-14T10:00:00Z");
|
|
140
|
+
return {
|
|
141
|
+
startedAt: at, endedAt: at, seconds: 3600, repoPath: "/r", branch, turnCount: 1,
|
|
142
|
+
aiCost: { microUsd: 0 }, models: [], sessionIds: [], unpricedModels: [],
|
|
143
|
+
commits: asuntos.map((subject, i) => ({ ...commit(`h${i}`, "2026-09-14T10:00:00Z"), subject })),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
(0, node_test_1.test)("describeBlock: un commit más va en singular, en los dos idiomas", () => {
|
|
147
|
+
// Salía "(+1 commits más)" / "(+1 more commits)" en cualquier bloque con dos
|
|
148
|
+
// asuntos distintos, y esa descripción es la que acaba en el informe.
|
|
149
|
+
try {
|
|
150
|
+
(0, index_js_1.setLang)("es");
|
|
151
|
+
strict_1.default.equal((0, sessionize_js_1.describeBlock)(bloqueCon(["a", "b"])), "a (+1 commit más)");
|
|
152
|
+
strict_1.default.equal((0, sessionize_js_1.describeBlock)(bloqueCon(["a", "b", "c"])), "a (+2 commits más)");
|
|
153
|
+
(0, index_js_1.setLang)("en");
|
|
154
|
+
strict_1.default.equal((0, sessionize_js_1.describeBlock)(bloqueCon(["a", "b"])), "a (+1 more commit)");
|
|
155
|
+
strict_1.default.equal((0, sessionize_js_1.describeBlock)(bloqueCon(["a", "b", "c"])), "a (+2 more commits)");
|
|
156
|
+
strict_1.default.equal((0, sessionize_js_1.describeBlock)(bloqueCon([], null)), "Development", "sin asuntos ni rama, también traducido");
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
(0, index_js_1.setLang)("es");
|
|
160
|
+
}
|
|
161
|
+
});
|
|
136
162
|
//# sourceMappingURL=sessionize.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionize.test.js","sourceRoot":"","sources":["../../src/billing/sessionize.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sessionize.test.js","sourceRoot":"","sources":["../../src/billing/sessionize.test.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/en.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAimBrC,CAAC"}
|
package/dist/i18n/en.js
CHANGED
|
@@ -37,8 +37,10 @@ exports.EN = {
|
|
|
37
37
|
"Interno (no facturado): IA del periodo {0} USD ": "Internal (not billed): AI for the period {0} USD ",
|
|
38
38
|
"en tarifa API equivalente.": "at equivalent API pricing.",
|
|
39
39
|
// ── billing/sessionize.ts ──
|
|
40
|
+
"{0} (+1 commit más)": "{0} (+1 more commit)",
|
|
40
41
|
"{0} (+{1} commits más)": "{0} (+{1} more commits)",
|
|
41
42
|
"Desarrollo en {0}": "Development on {0}",
|
|
43
|
+
"Desarrollo": "Development",
|
|
42
44
|
// ── billing.ts ──
|
|
43
45
|
"Necesitas una cuenta para esto. Vincúlala con:\n\n": "You need an account for this. Link it with:\n\n",
|
|
44
46
|
" estela login --email tu@correo.com\n": " estela login --email you@example.com\n",
|
|
@@ -48,7 +50,6 @@ exports.EN = {
|
|
|
48
50
|
"Actualiza con nvm (nvm install --lts) o desde https://nodejs.org, y vuelve a intentarlo.\n": "Upgrade with nvm (nvm install --lts) or from https://nodejs.org, then try again.\n",
|
|
49
51
|
// ── cli.ts ──
|
|
50
52
|
"Falta --{0}": "Missing --{0}",
|
|
51
|
-
"Desarrollo": "Development",
|
|
52
53
|
"Reunión": "Meeting",
|
|
53
54
|
"Investigación": "Research",
|
|
54
55
|
"Revisión": "Review",
|
package/dist/i18n/en.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACU,QAAA,EAAE,GAA2B;IACxC,4BAA4B;IAC5B,yDAAyD,EACvD,8DAA8D;IAChE,2EAA2E,EACzE,oFAAoF;IACtF,2BAA2B;IAC3B,2DAA2D,EACzD,0CAA0C;IAC5C,0CAA0C,EACxC,wCAAwC;IAC1C,+EAA+E,EAC7E,4EAA4E;IAC9E,+DAA+D,EAC7D,uDAAuD;IACzD,kFAAkF,EAChF,+EAA+E;IACjF,+DAA+D,EAC7D,yDAAyD;IAC3D,6DAA6D,EAC3D,gEAAgE;IAClE,4DAA4D,EAC1D,yDAAyD;IAC3D,sBAAsB,EACpB,kBAAkB;IACpB,cAAc,EACZ,aAAa;IACf,gBAAgB,EACd,gBAAgB;IAClB,gBAAgB,EACd,gBAAgB;IAClB,yBAAyB,EACvB,yBAAyB;IAC3B,UAAU,EACR,aAAa;IACf,QAAQ,EACN,MAAM;IACR,QAAQ,EACN,MAAM;IACR,SAAS,EACP,QAAQ;IACV,eAAe,EACb,WAAW;IACb,2CAA2C,EACzC,0CAA0C;IAC5C,mBAAmB,EACjB,eAAe;IACjB,iDAAiD,EAC/C,mDAAmD;IACrD,4BAA4B,EAC1B,4BAA4B;IAC9B,8BAA8B;IAC9B,wBAAwB,EACtB,yBAAyB;IAC3B,mBAAmB,EACjB,oBAAoB;IACtB,mBAAmB;IACnB,oDAAoD,EAClD,iDAAiD;IACnD,wCAAwC,EACtC,0CAA0C;IAC5C,yDAAyD,EACvD,+DAA+D;IACjE,eAAe;IACf,iEAAiE,EAC/D,8DAA8D;IAChE,4FAA4F,EAC1F,oFAAoF;IACtF,eAAe;IACf,aAAa,EACX,eAAe;IACjB,
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/web/app.js
CHANGED
|
@@ -22,6 +22,11 @@ const state = {
|
|
|
22
22
|
const KINDS = ["development", "meeting", "research", "review", "travel", "support", "other"]
|
|
23
23
|
.map((kind) => [kind, tr(`kind.${kind}`)]);
|
|
24
24
|
|
|
25
|
+
/** Dólares de IA con el formato del idioma: "$3,97" en español, "$3.97" en inglés. */
|
|
26
|
+
function fmtUsd(microUsd) {
|
|
27
|
+
return fmtMoney(Math.round(microUsd / 1e4), "USD");
|
|
28
|
+
}
|
|
29
|
+
|
|
25
30
|
function fmtTime(iso) {
|
|
26
31
|
return new Date(iso).toLocaleTimeString(localeTag(), { hour: "2-digit", minute: "2-digit" });
|
|
27
32
|
}
|
|
@@ -182,7 +187,7 @@ function renderRowBody(entry) {
|
|
|
182
187
|
: "";
|
|
183
188
|
|
|
184
189
|
const ai = entry.aiMicroUsd > 0
|
|
185
|
-
? `<p class="detail-line">${tr("row.ai", { amount:
|
|
190
|
+
? `<p class="detail-line">${tr("row.ai", { amount: fmtUsd(entry.aiMicroUsd) })}</p>`
|
|
186
191
|
: "";
|
|
187
192
|
|
|
188
193
|
if (entry.invoiced) {
|
|
@@ -373,7 +378,7 @@ function renderSummary() {
|
|
|
373
378
|
? kpi(fmtDuration(s.billableSeconds), tr("summary.kpiBillable"), "kpi-quiet") : ""}
|
|
374
379
|
${kpi(String(s.pendingApproval), tr("summary.kpiPending", { n: s.pendingApproval }),
|
|
375
380
|
s.pendingApproval > 0 ? "kpi-attention" : "")}
|
|
376
|
-
${kpi(
|
|
381
|
+
${kpi(fmtUsd(s.aiMicroUsd), tr("summary.kpiAi"), "kpi-quiet")}`;
|
|
377
382
|
|
|
378
383
|
const parts = [];
|
|
379
384
|
|
|
@@ -634,8 +639,8 @@ function renderAlerts(t) {
|
|
|
634
639
|
? tr("team.alert.budgetOver", { project: p.projectName })
|
|
635
640
|
: tr("team.alert.budgetNear", { project: p.projectName, pct: p.budgetPct }),
|
|
636
641
|
tr("team.alert.budgetDetail", {
|
|
637
|
-
spent:
|
|
638
|
-
budget:
|
|
642
|
+
spent: fmtUsd(p.aiMicroUsd),
|
|
643
|
+
budget: fmtUsd(p.budgetMicroUsd),
|
|
639
644
|
})));
|
|
640
645
|
}
|
|
641
646
|
}
|
|
@@ -679,8 +684,8 @@ function renderTeamKpis(t) {
|
|
|
679
684
|
|
|
680
685
|
return [
|
|
681
686
|
teamKpi(hours, tr("team.kpi.hours"), deltaTxt, delta >= 0 ? "up" : "down"),
|
|
682
|
-
teamKpi(
|
|
683
|
-
tr("team.kpi.perHour", { amount:
|
|
687
|
+
teamKpi(fmtUsd(t.aiMicroUsd), tr("team.kpi.aiCost"),
|
|
688
|
+
tr("team.kpi.perHour", { amount: fmtUsd(perHour * 1e6) })),
|
|
684
689
|
teamKpi(pct + "%", tr("team.kpi.billable"),
|
|
685
690
|
tr("team.kpi.ofTotal", { part: fmtDuration(t.billableSeconds), total: hours })),
|
|
686
691
|
teamKpi(String(open), tr("team.kpi.unmerged", { n: open }),
|
|
@@ -726,7 +731,7 @@ function teamProjectRow(p) {
|
|
|
726
731
|
<div class="td-sub">${esc(p.clientName)}</div></td>
|
|
727
732
|
<td class="th-comp">${compositionBar(p.composition)}</td>
|
|
728
733
|
<td class="num">${fmtDuration(p.seconds)}</td>
|
|
729
|
-
<td class="num money-ai"
|
|
734
|
+
<td class="num money-ai">${fmtUsd(p.aiMicroUsd)}</td>
|
|
730
735
|
<td class="num">${p.amountMinor !== null ? fmtMoney(p.amountMinor, p.currency) : "—"}</td>
|
|
731
736
|
<td><span class="${st[1]}">${esc(st[0])}</span></td>
|
|
732
737
|
</tr>`;
|