@ascenda-one/history-import 0.1.27 → 0.1.28
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 +7 -7
- package/dist/activeTimeFigures.js +10 -9
- package/dist/activeTimeFigures.js.map +1 -1
- package/dist/activeUnion.js.map +1 -1
- package/dist/cli.js +339 -89
- package/dist/daySlice.js +7 -7
- package/dist/extractors/claudeCode.js +2 -2
- package/dist/extractors/cursor.js +8 -9
- package/dist/extractors/cursor.js.map +1 -1
- package/dist/handoffActiveTime.js +3 -3
- package/dist/localHandoff.js +1 -2
- package/dist/localHandoff.js.map +1 -1
- package/dist/ship.js +6 -2
- package/dist/ship.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -56,14 +56,14 @@ command (same pattern as hooks pairing) and this CLI does the reading.
|
|
|
56
56
|
| `scan` (per-store inventory, content never opened) | implemented |
|
|
57
57
|
| `fix-retention` (Claude `cleanupPeriodDays`, merge-not-clobber) | implemented |
|
|
58
58
|
| Staging/snapshot (copy-then-parse, WAL-aware, **torn down by the run that makes it**) | implemented |
|
|
59
|
-
| `archive` (durable content-addressed copy, dedup, verify, restore, prune) | **implemented
|
|
60
|
-
| **Claude Code extractor** (human-prompt/tool-result split, session folds incl. recursive subagent transcripts, after-hours, compaction, tool failures, context-window peak, human-corrected edits, correction cadence, gap-split active minutes, epoch marker) | **implemented
|
|
59
|
+
| `archive` (durable content-addressed copy, dedup, verify, restore, prune) | **implemented; exercised against a real multi-GB store** |
|
|
60
|
+
| **Claude Code extractor** (human-prompt/tool-result split, session folds incl. recursive subagent transcripts, after-hours, compaction, tool failures, context-window peak, human-corrected edits, correction cadence, gap-split active minutes, epoch marker) | **implemented; exercised end to end against the ingest API** |
|
|
61
61
|
| **Codex extractor** (`~/.codex/sessions` and `archived_sessions` rollouts: `user_message` prompts, per-turn model mix, issued tool calls, tool and runtime failures, cumulative tokens, context peak against the window the rollout itself records, compaction items, long turns, gap-split active minutes, epoch marker) | **implemented; fixture-tested and run against a developer machine's rollouts** |
|
|
62
|
-
| **Active-time split** (hands-on vs agent-supervising, per session, per local day and per project digest; autonomy bands off the transcript's own `permissionMode`) | **implemented
|
|
62
|
+
| **Active-time split** (hands-on vs agent-supervising, per session, per local day and per project digest; autonomy bands off the transcript's own `permissionMode`) | **implemented; exercised against a real store** |
|
|
63
63
|
| **Tool-call counting, all four stores** (`tool_use` items / tool-call `response_item`s / `toolFormerData` / `toolInvocationSerialized`, one `ai_tool_call_started` per call) | **implemented; exercised end to end against all four stores on a developer machine** |
|
|
64
|
-
| **Batch shipper** (`POST /v1/tool-events/batch`, salted hashes, stable importKey) | **implemented
|
|
65
|
-
| **Cursor extractor** (composerHeaders + bubble aggregation via SQL-side `json_extract`, prompt text never parsed into the process, subagent-composer folding, epoch marker) | **implemented
|
|
66
|
-
| **VS Code extractor** (Timeline-history Chat-Edit day×workspace aggregation, Copilot chatSessions folding, workspace identity via `workspace.json` longest-prefix match, epoch marker) | **implemented
|
|
64
|
+
| **Batch shipper** (`POST /v1/tool-events/batch`, salted hashes, stable importKey) | **implemented; exercised end to end against the ingest API** |
|
|
65
|
+
| **Cursor extractor** (composerHeaders + bubble aggregation via SQL-side `json_extract`, prompt text never parsed into the process, subagent-composer folding, epoch marker) | **implemented; exercised end to end against the ingest API** |
|
|
66
|
+
| **VS Code extractor** (Timeline-history Chat-Edit day×workspace aggregation, Copilot chatSessions folding, workspace identity via `workspace.json` longest-prefix match, epoch marker) | **implemented; exercised end to end against the ingest API** |
|
|
67
67
|
| `import [--ship]` end to end | **implemented; exercised end to end against all three stores, dry run and `--ship`, on a developer machine** |
|
|
68
68
|
| git extractor | stub — throws with a pointer |
|
|
69
69
|
| zsh `EXTENDED_HISTORY` apply | snippet only |
|
|
@@ -352,7 +352,7 @@ grants the lease. Without that grant every event of a backfill is rejected
|
|
|
352
352
|
the case a re-run is. The source record is the stable identity, so it is the
|
|
353
353
|
whole key; a re-run with a fresh `extractionId` over the same records
|
|
354
354
|
therefore still dedups, and the first run's extraction stays on record.
|
|
355
|
-
|
|
355
|
+
The backend's ingest tests pin this on its side.
|
|
356
356
|
- **The key survives a changing store.** `ordinal` numbers an event only
|
|
357
357
|
among events sharing its whole identity — store, session, kind, instant —
|
|
358
358
|
so it separates genuine same-millisecond duplicates without encoding the
|
|
@@ -8,17 +8,18 @@ import { ASCENDA_ELAPSED_QUANTITIES } from "@ascenda-one/tool-contract";
|
|
|
8
8
|
* {@link ProjectElapsedActive}, one nesting level apart under one spelling. Both
|
|
9
9
|
* are deliberate — the sums are kept because agent-hours is a real quantity and
|
|
10
10
|
* because removing them would silently change every existing reader — and until
|
|
11
|
-
* this table nothing mechanical told them apart
|
|
12
|
-
*
|
|
11
|
+
* this table nothing mechanical told them apart: two figures sharing a name
|
|
12
|
+
* with nothing on either distinguishing them.
|
|
13
13
|
*
|
|
14
14
|
* The vocabulary itself is vendored in
|
|
15
15
|
* `packages/tool-contract/contracts/active-time-quantities.v1.json`, so a name
|
|
16
16
|
* used here that the backend does not own fails a build rather than a dashboard.
|
|
17
17
|
*
|
|
18
|
-
* **The assignments are not vendored
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
18
|
+
* **The assignments are not vendored.** The contract fixes which quantity
|
|
19
|
+
* names exist, not which field carries which one; the backend and the desktop
|
|
20
|
+
* app each keep their own field-to-quantity table by hand. A reassignment here
|
|
21
|
+
* is a change to what the collector puts on the wire, so it needs the same
|
|
22
|
+
* change on the reading side.
|
|
22
23
|
*/
|
|
23
24
|
export const ACTIVE_TIME_FIGURES = {
|
|
24
25
|
// One session cannot overlap itself, so its figures are already elapsed.
|
|
@@ -30,9 +31,9 @@ export const ACTIVE_TIME_FIGURES = {
|
|
|
30
31
|
"CodexHandoffSession.activeMinutes": "coverage",
|
|
31
32
|
"CodexHandoffSession.handsOnMinutes": "hands_on",
|
|
32
33
|
"CodexHandoffSession.agentSupervisingMinutes": "supervising",
|
|
33
|
-
// Summed over sessions, from the sessions' own minute figures.
|
|
34
|
-
//
|
|
35
|
-
//
|
|
34
|
+
// Summed over sessions, from the sessions' own minute figures. Sessions
|
|
35
|
+
// overlap, so these routinely exceed the wall clock of the period they
|
|
36
|
+
// describe, which is why they are agent-hours and not time.
|
|
36
37
|
"HandoffProjectDigest.handsOnMinutes": "hands_on_agent_hours",
|
|
37
38
|
"HandoffProjectDigest.agentSupervisingMinutes": "supervising_agent_hours",
|
|
38
39
|
// The same time unioned instead of added up. This is the figure to render as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activeTimeFigures.js","sourceRoot":"","sources":["../src/activeTimeFigures.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAE3B,MAAM,4BAA4B,CAAC;AAEpC
|
|
1
|
+
{"version":3,"file":"activeTimeFigures.js","sourceRoot":"","sources":["../src/activeTimeFigures.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAE3B,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwD;IACtF,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,8BAA8B,EAAE,UAAU;IAC1C,+BAA+B,EAAE,UAAU;IAC3C,wCAAwC,EAAE,aAAa;IAEvD,mCAAmC,EAAE,UAAU;IAC/C,oCAAoC,EAAE,UAAU;IAChD,6CAA6C,EAAE,aAAa;IAE5D,wEAAwE;IACxE,uEAAuE;IACvE,4DAA4D;IAC5D,qCAAqC,EAAE,sBAAsB;IAC7D,8CAA8C,EAAE,yBAAyB;IAEzE,6EAA6E;IAC7E,4EAA4E;IAC5E,mBAAmB;IACnB,qCAAqC,EAAE,UAAU;IACjD,8CAA8C,EAAE,aAAa;IAE7D,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,OAAO;IACP,8CAA8C,EAAE,gBAAgB;IAEhE,0EAA0E;IAC1E,wDAAwD;IACxD,kCAAkC,EAAE,UAAU;IAC9C,2CAA2C,EAAE,aAAa;IAC1D,wCAAwC,EAAE,sBAAsB;IAChE,iDAAiD,EAAE,yBAAyB;IAE5E,8EAA8E;IAC9E,qEAAqE;IACrE,2EAA2E;IAC3E,mEAAmE;IACnE,4EAA4E;IAC5E,QAAQ;IACR,+BAA+B,EAAE,UAAU;IAC3C,gCAAgC,EAAE,UAAU;IAC5C,yCAAyC,EAAE,aAAa;CACzD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAqC;IACvE,8BAA8B,EAAE,sDAAsD;IACtF,mCAAmC,EAAE,sDAAsD;IAC3F,wCAAwC,EAAE,sDAAsD;CACjG,CAAC;AAEF,6EAA6E;AAC7E,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,KAAa;IACrD,OAAO,mBAAmB,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;AAClD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,QAAmC;IAC3D,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC;AAC9C,CAAC"}
|
package/dist/activeUnion.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activeUnion.js","sourceRoot":"","sources":["../src/activeUnion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"activeUnion.js","sourceRoot":"","sources":["../src/activeUnion.ts"],"names":[],"mappings":"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"}
|