ai-hist-mcp 0.15.0 → 0.15.2

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.
Files changed (2) hide show
  1. package/README.md +38 -4
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -11,12 +11,13 @@ loads the native addon directly, scans provider files, or invokes a CLI.
11
11
 
12
12
  Tools: `search_history`, `recent_history`, `list_sessions`,
13
13
  `discover_sessions`, `hydrate_session`, `get_session`, `get_session_events`,
14
- `get_session_relationships`, `get_session_tree`, `get_session_tool_calls`,
15
- `get_session_file_edits`, `history_stats`, and
14
+ `get_session_relationships`, `get_session_tree`, `get_session_thread`,
15
+ `get_session_tool_calls`, `get_session_file_edits`, `history_stats`, and
16
16
  `sync`. Search, recent history, session listing, discovery, statistics, and sync accept a
17
17
  `scope` of `local`, `remote`, or `all`; scope defaults to `local`.
18
- `get_session`, `get_session_events`, `get_session_relationships`, and
19
- `get_session_tree` address one session by identity and take no `scope`.
18
+ `get_session`, `get_session_events`, `get_session_relationships`,
19
+ `get_session_tree`, and `get_session_thread` address one session by identity
20
+ and take no `scope`.
20
21
  `get_session_tool_calls` and `get_session_file_edits` are bounded, cursor-paged
21
22
  reads that require both a `source` and a `session_id`, because provider session
22
23
  IDs collide.
@@ -31,6 +32,39 @@ sync tools are therefore annotated as open-world writes.
31
32
  discovered identity and optionally its related provider-native sessions from
32
33
  local provider evidence, so it stays annotated as a local, closed-world write.
33
34
 
35
+ `get_session_thread` is the *lifecycle* fan-out for one session: the commits it
36
+ shipped plus the pull requests, reviews, incidents, tickets, Slack threads,
37
+ hotfixes and follow-up sessions the cloud has stitched to it. It complements
38
+ `get_session_tree` — that one is the *subagent* fan-out — and an agent may call
39
+ both. It is cloud-only and never cached: a thread exists once the cloud has
40
+ ingested lens events, and it changes as PRs and incidents land, so every call
41
+ fetches. With no stored cloud session it returns `UNSUPPORTED_OPERATION` with
42
+ the same `no remote provider connectors are configured` message the sibling
43
+ connectors use, without making a request. Tenancy is derived from the token
44
+ server-side; there is no org parameter. `kinds` filters `link_kind`, `since`
45
+ bounds link event time, and `limit` (1-500, default 100) with `cursor` pages the
46
+ links; outcomes come back whole on every page.
47
+
48
+ Credentials come from whichever store holds a session: the native `ai-hist
49
+ login` store (`RELAYHISTORY_HOME`, else `~/.agentworkforce/relayhistory`) is
50
+ read first, then this SDK's own `~/.config/ai-hist/auth.json`. With more than
51
+ one stage stored and no `AI_HIST_BASE_URL` naming one, the tool refuses to
52
+ guess rather than answer about the wrong org.
53
+
54
+ A native-store session must meet the same bar the engine's `cloud` connector
55
+ applies to recall — an `rth_at_` access token, an expiry at least 60s away, and
56
+ a recorded org for provenance. A session missing a token prefix or an org is one the
57
+ connector itself reports as unconfigured, so the tool reports it the same way
58
+ and names the missing precondition rather than issuing a request that would
59
+ fail. `ai-hist login` restores them.
60
+
61
+ Expiry is the exception, because rotation exists to repair it: a rejected
62
+ session with a refresh token is rotated once and the new pair persisted over
63
+ the file it came from, in that store's own schema, so the CLI and the MCP stay
64
+ in step. A pair another process rotated first is adopted rather than spending
65
+ the one-time refresh token again. Only a session with nothing left to rotate
66
+ reports expiry as unconfigured.
67
+
34
68
  `get_session_relationships` and `get_session_tree` read the delegation topology
35
69
  recorded by hydration and sync: who delegated to whom, what evidence
36
70
  established the link, whether the child has a stable identity, and whether its
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-hist-mcp",
3
- "version": "0.15.0",
3
+ "version": "0.15.2",
4
4
  "description": "Thin npx wrapper for the ai-hist stdio MCP server.",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -22,7 +22,7 @@
22
22
  "access": "public"
23
23
  },
24
24
  "dependencies": {
25
- "ai-hist": "0.15.0"
25
+ "ai-hist": "0.15.2"
26
26
  },
27
27
  "engines": {
28
28
  "node": ">=20"