@agentdeck/bridge 1.0.19 → 1.0.21

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 (192) hide show
  1. package/dist/adapters/openclaw.d.ts +55 -1
  2. package/dist/adapters/openclaw.d.ts.map +1 -1
  3. package/dist/adapters/openclaw.js +278 -45
  4. package/dist/adapters/openclaw.js.map +1 -1
  5. package/dist/adb-reverse.d.ts +26 -3
  6. package/dist/adb-reverse.d.ts.map +1 -1
  7. package/dist/adb-reverse.js +26 -5
  8. package/dist/adb-reverse.js.map +1 -1
  9. package/dist/apme/adapters/codex-turn-manager.js +6 -1
  10. package/dist/apme/adapters/codex-turn-manager.js.map +1 -1
  11. package/dist/apme/adapters/openclaw-hook.d.ts +45 -1
  12. package/dist/apme/adapters/openclaw-hook.d.ts.map +1 -1
  13. package/dist/apme/adapters/openclaw-hook.js +84 -4
  14. package/dist/apme/adapters/openclaw-hook.js.map +1 -1
  15. package/dist/apme/claude-transcript-reader.d.ts +76 -0
  16. package/dist/apme/claude-transcript-reader.d.ts.map +1 -1
  17. package/dist/apme/claude-transcript-reader.js +152 -1
  18. package/dist/apme/claude-transcript-reader.js.map +1 -1
  19. package/dist/apme/collector.d.ts +63 -5
  20. package/dist/apme/collector.d.ts.map +1 -1
  21. package/dist/apme/collector.js +147 -10
  22. package/dist/apme/collector.js.map +1 -1
  23. package/dist/apme/store.d.ts +23 -1
  24. package/dist/apme/store.d.ts.map +1 -1
  25. package/dist/apme/store.js +81 -2
  26. package/dist/apme/store.js.map +1 -1
  27. package/dist/apme/types.d.ts +1 -1
  28. package/dist/apme/types.d.ts.map +1 -1
  29. package/dist/apme/types.js.map +1 -1
  30. package/dist/auth.d.ts +37 -0
  31. package/dist/auth.d.ts.map +1 -1
  32. package/dist/auth.js +23 -0
  33. package/dist/auth.js.map +1 -1
  34. package/dist/bridge-core.d.ts.map +1 -1
  35. package/dist/bridge-core.js +6 -1
  36. package/dist/bridge-core.js.map +1 -1
  37. package/dist/claude-interrupt-marker.d.ts +31 -0
  38. package/dist/claude-interrupt-marker.d.ts.map +1 -0
  39. package/dist/claude-interrupt-marker.js +58 -0
  40. package/dist/claude-interrupt-marker.js.map +1 -0
  41. package/dist/claude-turn-watchdog.d.ts +93 -0
  42. package/dist/claude-turn-watchdog.d.ts.map +1 -0
  43. package/dist/claude-turn-watchdog.js +173 -0
  44. package/dist/claude-turn-watchdog.js.map +1 -0
  45. package/dist/cli.d.ts +6 -0
  46. package/dist/cli.d.ts.map +1 -1
  47. package/dist/cli.js +399 -115
  48. package/dist/cli.js.map +1 -1
  49. package/dist/codex-hook-silence.d.ts +52 -0
  50. package/dist/codex-hook-silence.d.ts.map +1 -0
  51. package/dist/codex-hook-silence.js +80 -0
  52. package/dist/codex-hook-silence.js.map +1 -0
  53. package/dist/daemon-port.d.ts +90 -0
  54. package/dist/daemon-port.d.ts.map +1 -0
  55. package/dist/daemon-port.js +119 -0
  56. package/dist/daemon-port.js.map +1 -0
  57. package/dist/daemon-server.d.ts +14 -1
  58. package/dist/daemon-server.d.ts.map +1 -1
  59. package/dist/daemon-server.js +297 -69
  60. package/dist/daemon-server.js.map +1 -1
  61. package/dist/daemon-settings.d.ts +46 -0
  62. package/dist/daemon-settings.d.ts.map +1 -0
  63. package/dist/daemon-settings.js +85 -0
  64. package/dist/daemon-settings.js.map +1 -0
  65. package/dist/daemon-takeover.d.ts +75 -0
  66. package/dist/daemon-takeover.d.ts.map +1 -0
  67. package/dist/daemon-takeover.js +137 -0
  68. package/dist/daemon-takeover.js.map +1 -0
  69. package/dist/daemon.js +1 -1
  70. package/dist/index.d.ts +4 -1
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +90 -12
  73. package/dist/index.js.map +1 -1
  74. package/dist/kiro-diagnostics.d.ts +90 -0
  75. package/dist/kiro-diagnostics.d.ts.map +1 -0
  76. package/dist/kiro-diagnostics.js +278 -0
  77. package/dist/kiro-diagnostics.js.map +1 -0
  78. package/dist/kiro-session.d.ts +113 -0
  79. package/dist/kiro-session.d.ts.map +1 -0
  80. package/dist/kiro-session.js +688 -0
  81. package/dist/kiro-session.js.map +1 -0
  82. package/dist/kiro-timeline-feed.d.ts +45 -0
  83. package/dist/kiro-timeline-feed.d.ts.map +1 -0
  84. package/dist/kiro-timeline-feed.js +116 -0
  85. package/dist/kiro-timeline-feed.js.map +1 -0
  86. package/dist/kiro-transcript-timeline.d.ts +57 -0
  87. package/dist/kiro-transcript-timeline.d.ts.map +1 -0
  88. package/dist/kiro-transcript-timeline.js +183 -0
  89. package/dist/kiro-transcript-timeline.js.map +1 -0
  90. package/dist/linux-service.d.ts +2 -1
  91. package/dist/linux-service.d.ts.map +1 -1
  92. package/dist/linux-service.js +8 -3
  93. package/dist/linux-service.js.map +1 -1
  94. package/dist/mdns-discover.d.ts +27 -0
  95. package/dist/mdns-discover.d.ts.map +1 -1
  96. package/dist/mdns-discover.js +60 -7
  97. package/dist/mdns-discover.js.map +1 -1
  98. package/dist/mdns.d.ts.map +1 -1
  99. package/dist/mdns.js +16 -3
  100. package/dist/mdns.js.map +1 -1
  101. package/dist/modules/adb-module.d.ts.map +1 -1
  102. package/dist/modules/adb-module.js +5 -2
  103. package/dist/modules/adb-module.js.map +1 -1
  104. package/dist/modules/index.d.ts +2 -1
  105. package/dist/modules/index.d.ts.map +1 -1
  106. package/dist/modules/index.js +1 -0
  107. package/dist/modules/index.js.map +1 -1
  108. package/dist/modules/types.d.ts +34 -9
  109. package/dist/modules/types.d.ts.map +1 -1
  110. package/dist/modules/types.js +34 -1
  111. package/dist/modules/types.js.map +1 -1
  112. package/dist/network-posture.d.ts +67 -0
  113. package/dist/network-posture.d.ts.map +1 -0
  114. package/dist/network-posture.js +100 -0
  115. package/dist/network-posture.js.map +1 -0
  116. package/dist/observed-steering.d.ts +14 -0
  117. package/dist/observed-steering.d.ts.map +1 -1
  118. package/dist/observed-steering.js +18 -0
  119. package/dist/observed-steering.js.map +1 -1
  120. package/dist/observed-turn-watchdogs.d.ts +84 -0
  121. package/dist/observed-turn-watchdogs.d.ts.map +1 -0
  122. package/dist/observed-turn-watchdogs.js +134 -0
  123. package/dist/observed-turn-watchdogs.js.map +1 -0
  124. package/dist/openclaw-session.d.ts +10 -0
  125. package/dist/openclaw-session.d.ts.map +1 -1
  126. package/dist/openclaw-session.js +12 -0
  127. package/dist/openclaw-session.js.map +1 -1
  128. package/dist/passive-observer.d.ts +19 -0
  129. package/dist/passive-observer.d.ts.map +1 -1
  130. package/dist/passive-observer.js +208 -24
  131. package/dist/passive-observer.js.map +1 -1
  132. package/dist/pixoo/micro-glyphs.d.ts +1 -1
  133. package/dist/pixoo/micro-glyphs.d.ts.map +1 -1
  134. package/dist/pixoo/micro-glyphs.js +2 -0
  135. package/dist/pixoo/micro-glyphs.js.map +1 -1
  136. package/dist/pixoo/official-dot-glyphs.generated.d.ts +1 -1
  137. package/dist/pixoo/official-dot-glyphs.generated.d.ts.map +1 -1
  138. package/dist/pixoo/official-dot-glyphs.generated.js +47 -0
  139. package/dist/pixoo/official-dot-glyphs.generated.js.map +1 -1
  140. package/dist/pixoo/pixoo-discover.d.ts +8 -1
  141. package/dist/pixoo/pixoo-discover.d.ts.map +1 -1
  142. package/dist/pixoo/pixoo-discover.js +15 -8
  143. package/dist/pixoo/pixoo-discover.js.map +1 -1
  144. package/dist/pixoo/pixoo-renderer.d.ts +4 -2
  145. package/dist/pixoo/pixoo-renderer.d.ts.map +1 -1
  146. package/dist/pixoo/pixoo-renderer.js +105 -36
  147. package/dist/pixoo/pixoo-renderer.js.map +1 -1
  148. package/dist/pixoo/pixoo-settings.d.ts +19 -2
  149. package/dist/pixoo/pixoo-settings.d.ts.map +1 -1
  150. package/dist/pixoo/pixoo-settings.js +22 -4
  151. package/dist/pixoo/pixoo-settings.js.map +1 -1
  152. package/dist/pixoo/pixoo-sprites.d.ts.map +1 -1
  153. package/dist/pixoo/pixoo-sprites.js +2 -0
  154. package/dist/pixoo/pixoo-sprites.js.map +1 -1
  155. package/dist/session-aggregator.d.ts +9 -1
  156. package/dist/session-aggregator.d.ts.map +1 -1
  157. package/dist/session-aggregator.js +1 -1
  158. package/dist/session-aggregator.js.map +1 -1
  159. package/dist/session-registry.d.ts +71 -3
  160. package/dist/session-registry.d.ts.map +1 -1
  161. package/dist/session-registry.js +126 -19
  162. package/dist/session-registry.js.map +1 -1
  163. package/dist/state-machine.d.ts +38 -1
  164. package/dist/state-machine.d.ts.map +1 -1
  165. package/dist/state-machine.js +112 -8
  166. package/dist/state-machine.js.map +1 -1
  167. package/dist/subagent-timeline.d.ts +38 -7
  168. package/dist/subagent-timeline.d.ts.map +1 -1
  169. package/dist/subagent-timeline.js +154 -23
  170. package/dist/subagent-timeline.js.map +1 -1
  171. package/dist/timeline-store.d.ts.map +1 -1
  172. package/dist/timeline-store.js +26 -1
  173. package/dist/timeline-store.js.map +1 -1
  174. package/dist/tui/renderer.d.ts.map +1 -1
  175. package/dist/tui/renderer.js +13 -1
  176. package/dist/tui/renderer.js.map +1 -1
  177. package/dist/tui/terrarium.d.ts.map +1 -1
  178. package/dist/tui/terrarium.js +10 -5
  179. package/dist/tui/terrarium.js.map +1 -1
  180. package/dist/utils/redact-secrets.d.ts +3 -0
  181. package/dist/utils/redact-secrets.d.ts.map +1 -0
  182. package/dist/utils/redact-secrets.js +29 -0
  183. package/dist/utils/redact-secrets.js.map +1 -0
  184. package/dist/version-check.d.ts +8 -0
  185. package/dist/version-check.d.ts.map +1 -1
  186. package/dist/version-check.js +27 -0
  187. package/dist/version-check.js.map +1 -1
  188. package/dist/windows-service.d.ts +2 -1
  189. package/dist/windows-service.d.ts.map +1 -1
  190. package/dist/windows-service.js +6 -3
  191. package/dist/windows-service.js.map +1 -1
  192. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiro-session.js","sourceRoot":"","sources":["../src/kiro-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Feeds an observed Kiro session's activity into the daemon's live timeline.
3
+ *
4
+ * #218 taught the Detail view to read Kiro's own transcript on demand, which
5
+ * fixed the per-session query and nothing else: the main TIMELINE is not a
6
+ * query, it is a STREAM that hook-driven agents push rows into as they work.
7
+ * Kiro pushes nothing — no `kiro_*` hook has ever reached this daemon — so a
8
+ * Kiro session appeared in the session list (HUD) while the timeline beside it
9
+ * stayed empty. Answering "why is it in one and not the other" is answering
10
+ * "one is pulled, the other is pushed".
11
+ *
12
+ * This is the missing producer. On every passive-observer refresh it reads
13
+ * whatever is new in each Kiro session's transcript and emits it as ordinary
14
+ * timeline rows, so the strip fills the way it does for every other agent.
15
+ *
16
+ * **A first sighting emits the last turn, and only that.** Emitting nothing at
17
+ * all was the first version and it was wrong in practice: a hook-driven agent
18
+ * accumulates rows continuously, so a daemon restart costs it little, while a
19
+ * Kiro session that had been talking for an hour came back with a visible
20
+ * session row and a blank strip beside it — which reads as broken, not as
21
+ * "history you missed". One turn is enough context to say what the session is
22
+ * doing without replaying days of conversation into a bounded activity log.
23
+ */
24
+ import type { TimelineEntry } from '@agentdeck/shared';
25
+ export type KiroRowReader = (sessionId: string, opts: {
26
+ since?: number;
27
+ limit?: number;
28
+ }) => TimelineEntry[];
29
+ export declare class KiroTimelineFeed {
30
+ private readonly readRows;
31
+ /** sessionId → newest row timestamp already accounted for. */
32
+ private readonly watermark;
33
+ constructor(readRows?: KiroRowReader);
34
+ /**
35
+ * Rows to emit for this tick, oldest-first across all sessions.
36
+ *
37
+ * `sessionIds` is the CURRENT set of observed Kiro sessions; anything absent
38
+ * from it is forgotten, so a finished session's watermark does not outlive it.
39
+ */
40
+ pump(sessionIds: string[]): TimelineEntry[];
41
+ /** Tracked session count — for tests and diagnostics. */
42
+ get size(): number;
43
+ private enforceCeiling;
44
+ }
45
+ //# sourceMappingURL=kiro-timeline-feed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiro-timeline-feed.d.ts","sourceRoot":"","sources":["../src/kiro-timeline-feed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAYvD,MAAM,MAAM,aAAa,GAAG,CAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KACrC,aAAa,EAAE,CAAC;AAgBrB,qBAAa,gBAAgB;IAIf,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAHrC,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAE1B,QAAQ,GAAE,aAAsC;IAE7E;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAuC3C,yDAAyD;IACzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,cAAc;CAUvB"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Feeds an observed Kiro session's activity into the daemon's live timeline.
3
+ *
4
+ * #218 taught the Detail view to read Kiro's own transcript on demand, which
5
+ * fixed the per-session query and nothing else: the main TIMELINE is not a
6
+ * query, it is a STREAM that hook-driven agents push rows into as they work.
7
+ * Kiro pushes nothing — no `kiro_*` hook has ever reached this daemon — so a
8
+ * Kiro session appeared in the session list (HUD) while the timeline beside it
9
+ * stayed empty. Answering "why is it in one and not the other" is answering
10
+ * "one is pulled, the other is pushed".
11
+ *
12
+ * This is the missing producer. On every passive-observer refresh it reads
13
+ * whatever is new in each Kiro session's transcript and emits it as ordinary
14
+ * timeline rows, so the strip fills the way it does for every other agent.
15
+ *
16
+ * **A first sighting emits the last turn, and only that.** Emitting nothing at
17
+ * all was the first version and it was wrong in practice: a hook-driven agent
18
+ * accumulates rows continuously, so a daemon restart costs it little, while a
19
+ * Kiro session that had been talking for an hour came back with a visible
20
+ * session row and a blank strip beside it — which reads as broken, not as
21
+ * "history you missed". One turn is enough context to say what the session is
22
+ * doing without replaying days of conversation into a bounded activity log.
23
+ */
24
+ import { kiroTimelineForSession } from './kiro-transcript-timeline.js';
25
+ import { debug } from './logger.js';
26
+ /** Rows read per session per tick. A Kiro turn is one prompt + one reply, so
27
+ * this is many turns' worth of headroom for a poll measured in seconds. */
28
+ const ROWS_PER_TICK = 8;
29
+ /** Watermarks kept for at most this many sessions, newest-first. A daemon that
30
+ * runs for weeks must not grow a map keyed by every session it ever saw. */
31
+ const MAX_TRACKED = 64;
32
+ /**
33
+ * The last prompt and everything that answered it.
34
+ *
35
+ * Walks back to the newest `chat_start` rather than taking a fixed count: a
36
+ * Kiro turn is one prompt followed by however many reply records the agent
37
+ * happened to write, and cutting by count would show a reply with no question.
38
+ */
39
+ function tailTurn(rows) {
40
+ for (let i = rows.length - 1; i >= 0; i--) {
41
+ if (rows[i].type === 'chat_start')
42
+ return rows.slice(i);
43
+ }
44
+ return rows.slice(-2);
45
+ }
46
+ export class KiroTimelineFeed {
47
+ readRows;
48
+ /** sessionId → newest row timestamp already accounted for. */
49
+ watermark = new Map();
50
+ constructor(readRows = kiroTimelineForSession) {
51
+ this.readRows = readRows;
52
+ }
53
+ /**
54
+ * Rows to emit for this tick, oldest-first across all sessions.
55
+ *
56
+ * `sessionIds` is the CURRENT set of observed Kiro sessions; anything absent
57
+ * from it is forgotten, so a finished session's watermark does not outlive it.
58
+ */
59
+ pump(sessionIds) {
60
+ const live = new Set(sessionIds);
61
+ for (const id of [...this.watermark.keys()]) {
62
+ if (!live.has(id))
63
+ this.watermark.delete(id);
64
+ }
65
+ const out = [];
66
+ for (const id of sessionIds) {
67
+ const since = this.watermark.get(id);
68
+ let rows;
69
+ try {
70
+ rows = this.readRows(id, { since, limit: ROWS_PER_TICK });
71
+ }
72
+ catch (err) {
73
+ debug('daemon', `kiro-feed read failed for ${id}: ${String(err)}`);
74
+ continue;
75
+ }
76
+ if (rows.length === 0) {
77
+ // Seed an empty session at 0 so its first real row is emitted rather
78
+ // than swallowed as "history".
79
+ if (since === undefined)
80
+ this.watermark.set(id, 0);
81
+ continue;
82
+ }
83
+ const newest = rows[rows.length - 1].ts;
84
+ if (since === undefined) {
85
+ // First sighting: show the last turn so the strip is not blank beside
86
+ // a live session row, and mark everything older as history.
87
+ this.watermark.set(id, newest);
88
+ const lastTurn = tailTurn(rows);
89
+ debug('daemon', `kiro-feed seeded ${id} at ${newest} (+${lastTurn.length} row(s))`);
90
+ out.push(...lastTurn);
91
+ continue;
92
+ }
93
+ this.watermark.set(id, newest);
94
+ out.push(...rows);
95
+ }
96
+ this.enforceCeiling();
97
+ return out.sort((a, b) => (a.ts < b.ts ? -1 : a.ts > b.ts ? 1 : 0));
98
+ }
99
+ /** Tracked session count — for tests and diagnostics. */
100
+ get size() {
101
+ return this.watermark.size;
102
+ }
103
+ enforceCeiling() {
104
+ if (this.watermark.size <= MAX_TRACKED)
105
+ return;
106
+ // Oldest watermark first: the least recently active session is the one
107
+ // least likely to produce the next row.
108
+ const byAge = [...this.watermark.entries()].sort((a, b) => (a[1] < b[1] ? -1 : a[1] > b[1] ? 1 : 0));
109
+ for (const [id] of byAge) {
110
+ if (this.watermark.size <= MAX_TRACKED)
111
+ break;
112
+ this.watermark.delete(id);
113
+ }
114
+ }
115
+ }
116
+ //# sourceMappingURL=kiro-timeline-feed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiro-timeline-feed.js","sourceRoot":"","sources":["../src/kiro-timeline-feed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Detail-view timeline rows for a passively-observed Kiro session, read from
3
+ * Kiro's own transcript.
4
+ *
5
+ * Why this exists: an observed Kiro session shows up in `sessions_list` (so the
6
+ * deck and the boards can render it) but produces **no timeline rows at all**.
7
+ * Two independent reasons, both measured on 2026-08-17:
8
+ *
9
+ * - No `kiro_*` hook has ever reached this daemon. The v3 hook file is
10
+ * installed, but the count in the daemon log is zero — v2 has no global
11
+ * standalone hook surface at all, so a v2 session is process/store observed
12
+ * and silent by construction.
13
+ * - The existing fallback (`transcriptTimelineForSession`) searches
14
+ * `~/.claude/projects/**` only, so for a Kiro session it can never hit.
15
+ *
16
+ * The result was a Detail view that stayed empty no matter what the session
17
+ * did. Fixing the id normalization (#216) was necessary and not sufficient:
18
+ * ids matched afterwards, and there was still nothing to match them against.
19
+ *
20
+ * Scope: Kiro CLI **v3**, whose sessions are JSONL under
21
+ * `KIRO_HOME/sessions/**\/<uuid>.jsonl`. v2 keeps its conversations in
22
+ * `kiro-cli/data.sqlite3` and is NOT read here — a v2 session returns nothing,
23
+ * exactly as before, rather than a guess.
24
+ *
25
+ * The record shapes below were read off a real transcript, never invented.
26
+ * This repo has a specific history of Kiro parsers written against imagined
27
+ * fixtures that passed their tests and matched nothing real, so the test file
28
+ * for this module pins the measured shape:
29
+ *
30
+ * {"version":"v1","kind":"Prompt","data":{"message_id":…,
31
+ * "content":[{"kind":"text","data":"hi"}],"meta":{"timestamp":1786933404}}}
32
+ * {"version":"v1","kind":"AssistantMessage","data":{"message_id":…,
33
+ * "content":[{"kind":"thinking",…},{"kind":"text","data":"Hi! …"}]}}
34
+ * {"version":"v1","kind":"ToolResults","data":{"content":[{"kind":"toolResult",…}]}}
35
+ *
36
+ * Two properties of that shape drive the code:
37
+ * - `meta.timestamp` is in **SECONDS**, and TimelineEntry.ts is milliseconds.
38
+ * - Only `Prompt` carries a timestamp. An `AssistantMessage` has none, so its
39
+ * row is stamped with the prompt it answers — the turn's time, which is the
40
+ * only defensible reading — plus a 1 ms nudge so it sorts after it.
41
+ */
42
+ import type { TimelineEntry } from '@agentdeck/shared';
43
+ export interface KiroTimelineOptions {
44
+ /** Epoch-ms lower bound; rows at or before it are dropped. */
45
+ since?: number;
46
+ /** Newest N rows kept. */
47
+ limit?: number;
48
+ /** Injectable for tests. */
49
+ sessionsRoot?: string;
50
+ }
51
+ /**
52
+ * Chat rows for one Kiro session, oldest-first. Returns `[]` for anything it
53
+ * cannot read — a missing transcript, a v2 session, an unparseable line — so
54
+ * the caller falls back to "no recent activity" rather than to a guess.
55
+ */
56
+ export declare function kiroTimelineForSession(sessionId: string, opts?: KiroTimelineOptions): TimelineEntry[];
57
+ //# sourceMappingURL=kiro-transcript-timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiro-transcript-timeline.d.ts","sourceRoot":"","sources":["../src/kiro-transcript-timeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAUvD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA0CD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,mBAAwB,GAC7B,aAAa,EAAE,CA4EjB"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Detail-view timeline rows for a passively-observed Kiro session, read from
3
+ * Kiro's own transcript.
4
+ *
5
+ * Why this exists: an observed Kiro session shows up in `sessions_list` (so the
6
+ * deck and the boards can render it) but produces **no timeline rows at all**.
7
+ * Two independent reasons, both measured on 2026-08-17:
8
+ *
9
+ * - No `kiro_*` hook has ever reached this daemon. The v3 hook file is
10
+ * installed, but the count in the daemon log is zero — v2 has no global
11
+ * standalone hook surface at all, so a v2 session is process/store observed
12
+ * and silent by construction.
13
+ * - The existing fallback (`transcriptTimelineForSession`) searches
14
+ * `~/.claude/projects/**` only, so for a Kiro session it can never hit.
15
+ *
16
+ * The result was a Detail view that stayed empty no matter what the session
17
+ * did. Fixing the id normalization (#216) was necessary and not sufficient:
18
+ * ids matched afterwards, and there was still nothing to match them against.
19
+ *
20
+ * Scope: Kiro CLI **v3**, whose sessions are JSONL under
21
+ * `KIRO_HOME/sessions/**\/<uuid>.jsonl`. v2 keeps its conversations in
22
+ * `kiro-cli/data.sqlite3` and is NOT read here — a v2 session returns nothing,
23
+ * exactly as before, rather than a guess.
24
+ *
25
+ * The record shapes below were read off a real transcript, never invented.
26
+ * This repo has a specific history of Kiro parsers written against imagined
27
+ * fixtures that passed their tests and matched nothing real, so the test file
28
+ * for this module pins the measured shape:
29
+ *
30
+ * {"version":"v1","kind":"Prompt","data":{"message_id":…,
31
+ * "content":[{"kind":"text","data":"hi"}],"meta":{"timestamp":1786933404}}}
32
+ * {"version":"v1","kind":"AssistantMessage","data":{"message_id":…,
33
+ * "content":[{"kind":"thinking",…},{"kind":"text","data":"Hi! …"}]}}
34
+ * {"version":"v1","kind":"ToolResults","data":{"content":[{"kind":"toolResult",…}]}}
35
+ *
36
+ * Two properties of that shape drive the code:
37
+ * - `meta.timestamp` is in **SECONDS**, and TimelineEntry.ts is milliseconds.
38
+ * - Only `Prompt` carries a timestamp. An `AssistantMessage` has none, so its
39
+ * row is stamped with the prompt it answers — the turn's time, which is the
40
+ * only defensible reading — plus a 1 ms nudge so it sorts after it.
41
+ */
42
+ import { readFileSync, readdirSync, statSync } from 'fs';
43
+ import { join } from 'path';
44
+ import { rawSessionId } from '@agentdeck/shared';
45
+ import { kiroV3SessionsRoot } from './kiro-session.js';
46
+ import { debug } from './logger.js';
47
+ /** Cap on transcript bytes read, matching the Claude reader's posture. */
48
+ const MAX_TRANSCRIPT_BYTES = 2 * 1024 * 1024;
49
+ /** Directories scanned under the sessions root (workspace-hash dirs + `cli`). */
50
+ const MAX_SCAN_DIRS = 250;
51
+ /** Locate `<uuid>.jsonl` under the v3 sessions root. */
52
+ function locateKiroTranscript(uuid, root) {
53
+ let entries;
54
+ try {
55
+ entries = readdirSync(root, { withFileTypes: true, encoding: 'utf-8' }).slice(0, MAX_SCAN_DIRS);
56
+ }
57
+ catch {
58
+ return null;
59
+ }
60
+ for (const entry of entries) {
61
+ if (!entry.isDirectory() || entry.isSymbolicLink())
62
+ continue;
63
+ const candidate = join(root, entry.name, `${uuid}.jsonl`);
64
+ try {
65
+ const st = statSync(candidate);
66
+ if (st.isFile() && st.size <= MAX_TRANSCRIPT_BYTES)
67
+ return candidate;
68
+ }
69
+ catch {
70
+ // not in this directory
71
+ }
72
+ }
73
+ return null;
74
+ }
75
+ function textOf(content) {
76
+ if (typeof content === 'string')
77
+ return content;
78
+ if (!Array.isArray(content))
79
+ return '';
80
+ const parts = [];
81
+ for (const block of content) {
82
+ if (!block || typeof block !== 'object')
83
+ continue;
84
+ const b = block;
85
+ // `thinking` blocks carry an object and are not user-facing; `text` blocks
86
+ // carry the string. Anything else (toolResult…) is not a chat row.
87
+ if (b.kind === 'text' && typeof b.data === 'string')
88
+ parts.push(b.data);
89
+ }
90
+ return parts.join('\n').trim();
91
+ }
92
+ function firstLine(text, cap = 120) {
93
+ const line = text.replace(/\s+/g, ' ').trim();
94
+ return line.length > cap ? `${line.slice(0, cap - 1)}…` : line;
95
+ }
96
+ /**
97
+ * Chat rows for one Kiro session, oldest-first. Returns `[]` for anything it
98
+ * cannot read — a missing transcript, a v2 session, an unparseable line — so
99
+ * the caller falls back to "no recent activity" rather than to a guess.
100
+ */
101
+ export function kiroTimelineForSession(sessionId, opts = {}) {
102
+ const uuid = rawSessionId(sessionId);
103
+ if (!uuid)
104
+ return [];
105
+ const root = opts.sessionsRoot ?? kiroV3SessionsRoot();
106
+ const path = locateKiroTranscript(uuid, root);
107
+ if (!path) {
108
+ debug('daemon', `kiro-timeline: no v3 transcript for ${uuid}`);
109
+ return [];
110
+ }
111
+ let raw;
112
+ try {
113
+ raw = readFileSync(path, 'utf-8');
114
+ }
115
+ catch (err) {
116
+ debug('daemon', `kiro-timeline read failed: ${String(err)}`);
117
+ return [];
118
+ }
119
+ const rows = [];
120
+ // Carried across records: an AssistantMessage has no timestamp of its own, so
121
+ // it is stamped with the prompt it answers.
122
+ let turnTs = 0;
123
+ // Kiro writes SEVERAL AssistantMessage records for one prompt (a reply that
124
+ // continues after a tool call is a second record). Giving them all
125
+ // `turnTs + 1` made them collide: the timeline's ts-based dedup folded them
126
+ // into one row, and — worse — the feed's watermark could not tell a new
127
+ // record from the one it had already seen, so everything after the first
128
+ // reply of a turn was silently dropped. Each record gets its own offset.
129
+ let replyIndex = 0;
130
+ for (const line of raw.split('\n')) {
131
+ if (!line.trim())
132
+ continue;
133
+ let rec;
134
+ try {
135
+ rec = JSON.parse(line);
136
+ }
137
+ catch {
138
+ continue; // a truncated tail line is normal on a live session
139
+ }
140
+ const content = rec.data?.content;
141
+ if (rec.kind === 'Prompt') {
142
+ const stamp = rec.data?.meta?.timestamp;
143
+ // Seconds on the wire, milliseconds in TimelineEntry.
144
+ if (typeof stamp === 'number' && Number.isFinite(stamp))
145
+ turnTs = stamp * 1000;
146
+ replyIndex = 0;
147
+ const text = textOf(content);
148
+ if (!turnTs || !text)
149
+ continue;
150
+ rows.push({
151
+ ts: turnTs,
152
+ type: 'chat_start',
153
+ raw: firstLine(text),
154
+ detail: text.slice(0, 4000),
155
+ agentType: 'kiro-cli',
156
+ sessionId: uuid,
157
+ });
158
+ }
159
+ else if (rec.kind === 'AssistantMessage') {
160
+ const text = textOf(content);
161
+ if (!turnTs || !text)
162
+ continue;
163
+ replyIndex += 1;
164
+ rows.push({
165
+ // Sorts after its prompt and after any earlier reply in the same turn;
166
+ // the record carries no time of its own.
167
+ ts: turnTs + replyIndex,
168
+ type: 'chat_response',
169
+ raw: firstLine(text),
170
+ detail: text.slice(0, 4000),
171
+ agentType: 'kiro-cli',
172
+ sessionId: uuid,
173
+ summaryKind: 'heuristic',
174
+ });
175
+ }
176
+ }
177
+ const since = opts.since;
178
+ const filtered = since == null ? rows : rows.filter((r) => r.ts > since);
179
+ filtered.sort((a, b) => (a.ts < b.ts ? -1 : a.ts > b.ts ? 1 : 0));
180
+ const limit = opts.limit ?? 16;
181
+ return filtered.slice(-limit);
182
+ }
183
+ //# sourceMappingURL=kiro-transcript-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiro-transcript-timeline.js","sourceRoot":"","sources":["../src/kiro-transcript-timeline.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export declare function buildUnitFile(opts?: {
30
30
  node?: string;
31
31
  cliJs?: string;
32
32
  dataDirOverride?: string;
33
+ extraArgs?: string[];
33
34
  }): string;
34
35
  /**
35
36
  * True if `systemctl --user` is usable (systemd present + a user D-Bus session).
@@ -42,7 +43,7 @@ export declare function unitExists(): boolean;
42
43
  * Write the unit file and enable it. Throws if systemctl fails (e.g. no user
43
44
  * D-Bus session).
44
45
  */
45
- export declare function installUnit(): void;
46
+ export declare function installUnit(extraArgs?: string[]): void;
46
47
  /** Start the unit now (so no re-login is required). */
47
48
  export declare function startUnit(): void;
48
49
  /** Stop the unit (best-effort). */
@@ -1 +1 @@
1
- {"version":3,"file":"linux-service.d.ts","sourceRoot":"","sources":["../src/linux-service.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAO/C,wBAAgB,mBAAmB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AA6BD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAc3D;AAYD,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wDAAwD;AACxD,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgCxG;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAYtC;AAED,kDAAkD;AAClD,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAYlC;AAED,uDAAuD;AACvD,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,mCAAmC;AACnC,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,IAAI,CAIlC"}
1
+ {"version":3,"file":"linux-service.d.ts","sourceRoot":"","sources":["../src/linux-service.ts"],"names":[],"mappings":"AAuBA,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAO/C,wBAAgB,mBAAmB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAGrE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AA6BD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAc3D;AAYD,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3E;AAED,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,wDAAwD;AACxD,wBAAgB,UAAU,IAAI,MAAM,CAGnC;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAqC9H;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAYtC;AAED,kDAAkD;AAClD,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,GAAE,MAAM,EAAO,GAAG,IAAI,CAY1D;AAED,uDAAuD;AACvD,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAED,mCAAmC;AACnC,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,IAAI,CAIlC"}
@@ -123,6 +123,11 @@ export function buildUnitFile(opts) {
123
123
  const envLine = override
124
124
  ? `Environment=${escapeUnitEnvAssignment('AGENTDECK_DATA_DIR', override)}\n`
125
125
  : '';
126
+ // Posture flags (`--local` / `--loopback`) ride ExecStart argv, the same
127
+ // channel the LaunchAgent and Scheduled Task writers use — an enterprise
128
+ // install is an autostart install, so the posture must survive login.
129
+ // Validated like every other unit word: systemd word-splits ExecStart=.
130
+ const extra = (opts?.extraArgs ?? []).map((a) => ` ${escapeExecWord(a)}`).join('');
126
131
  // Both ExecStart words quoted so paths with spaces survive; --foreground so
127
132
  // the unit process IS the daemon (lets Restart=on-failure track it).
128
133
  return `[Unit]
@@ -132,7 +137,7 @@ Wants=network-online.target
132
137
 
133
138
  [Service]
134
139
  Type=simple
135
- ExecStart=${escapeExecWord(node)} ${escapeExecWord(cliJs)} daemon start --foreground
140
+ ExecStart=${escapeExecWord(node)} ${escapeExecWord(cliJs)} daemon start --foreground${extra}
136
141
  WorkingDirectory=${escapeSpecifiers(workingDir)}
137
142
  ${envLine}Restart=on-failure
138
143
  RestartSec=5
@@ -167,10 +172,10 @@ export function unitExists() {
167
172
  * Write the unit file and enable it. Throws if systemctl fails (e.g. no user
168
173
  * D-Bus session).
169
174
  */
170
- export function installUnit() {
175
+ export function installUnit(extraArgs = []) {
171
176
  // Build (and thereby validate any AGENTDECK_DATA_DIR override) BEFORE any
172
177
  // side effect, so a rejected install leaves no stray directory behind.
173
- const unit = buildUnitFile();
178
+ const unit = buildUnitFile({ extraArgs });
174
179
  // Ensure the unit's WorkingDirectory exists — on a fresh install ~/.agentdeck
175
180
  // (or the AGENTDECK_DATA_DIR override) may not exist yet, and systemd fails at
176
181
  // the CHDIR step before Node starts if it's missing.
@@ -1 +1 @@
1
- {"version":3,"file":"linux-service.js","sourceRoot":"","sources":["../src/linux-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux-service.js","sourceRoot":"","sources":["../src/linux-service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAC/C,MAAM,SAAS,GAAG,GAAG,YAAY,UAAU,CAAC;AAE5C,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,wEAAwE;AACxE,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;AACzE,CAAC;AAED,yEAAyE;AACzE,EAAE;AACF,6EAA6E;AAC7E,0EAA0E;AAC1E,+DAA+D;AAC/D,6EAA6E;AAC7E,6EAA6E;AAC7E,sCAAsC;AACtC,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,+EAA+E;AAC/E,iEAAiE;AAEjE,yEAAyE;AACzE,SAAS,kBAAkB,CAAC,KAAa,EAAE,IAAY;IACrD,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,uCAAuC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;YACzE,sDAAsD,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,yFAAyF;YACzF,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,oFAAoF,KAAK,OAAO;YAChG,8EAA8E,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,KAAa;IACjE,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,IAAI,IAAI,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AAC9D,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC3C,OAAO,IAAI,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;AAC5E,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,UAAU;IACxB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7E,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,WAAW;IACzB,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAwF;IACpH,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,mBAAmB,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;IAC9D,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,IAAI,EAAE,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAC/E,IAAI,QAAQ;QAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IAC7D,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,OAAO,GAAG,QAAQ;QACtB,CAAC,CAAC,eAAe,uBAAuB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,IAAI;QAC5E,CAAC,CAAC,EAAE,CAAC;IACP,yEAAyE;IACzE,yEAAyE;IACzE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,4EAA4E;IAC5E,qEAAqE;IACrE,OAAO;;;;;;;YAOG,cAAc,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,6BAA6B,KAAK;mBACxE,gBAAgB,CAAC,UAAU,CAAC;EAC7C,OAAO;;;;;CAKR,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,2EAA2E;QAC3E,2EAA2E;QAC3E,0BAA0B;QAC1B,QAAQ,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,8EAA8E;QAC9E,MAAM,SAAS,GAAG,OAAO,CAAE,CAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,UAAU;IACxB,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,YAAsB,EAAE;IAClD,0EAA0E;IAC1E,uEAAuE;IACvE,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1C,8EAA8E;IAC9E,+EAA+E;IAC/E,qDAAqD;IACrD,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,QAAQ,CAAC,2BAA2B,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACtE,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,SAAS;IACvB,QAAQ,CAAC,0BAA0B,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,QAAQ;IACtB,QAAQ,CAAC,yBAAyB,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC;QAAC,QAAQ,CAAC,kCAAkC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/G,IAAI,CAAC;QAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC/D,IAAI,CAAC;QAAC,QAAQ,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACpG,CAAC"}
@@ -3,10 +3,37 @@ export interface DiscoveredDaemon {
3
3
  port: number;
4
4
  token?: string;
5
5
  projectName?: string;
6
+ /** TXT `host` — the daemon's short hostname, for display and selection. */
7
+ hostLabel?: string;
8
+ /** TXT `user` — the short hash identifying the OS user the daemon runs as
9
+ * (see `mdnsUserTag`). Never an account name. */
10
+ userTag?: string;
6
11
  /** Daemon advertises same-socket reverse control (always true for confirmed
7
12
  * candidates — daemons without it are filtered during the /health confirm). */
8
13
  sameSocketControl?: boolean;
9
14
  }
15
+ /**
16
+ * Selection rank, lowest first. Callers take the head of the discovered list,
17
+ * so "first seen" WAS the entire identity filter — and on an office subnet the
18
+ * first answer is an arbitrary colleague's daemon
19
+ * (docs/ENTERPRISE-ROADMAP.md §2.2).
20
+ */
21
+ export declare function daemonSelectionRank(d: DiscoveredDaemon, opts: {
22
+ hostHint?: string;
23
+ selfTag?: string;
24
+ }): number;
25
+ /**
26
+ * Order discovered daemons by how likely each is to be the one this user meant.
27
+ *
28
+ * A preference, never a filter: attaching to another user's daemon across
29
+ * machines is a legitimate thing to ask for (it is what `--daemon-host` exists
30
+ * for), so a daemon is only ever demoted here, never dropped. Stable within a
31
+ * rank, and the comparator is three-way rather than a subtraction.
32
+ */
33
+ export declare function sortDiscoveredDaemons(daemons: DiscoveredDaemon[], opts?: {
34
+ hostHint?: string;
35
+ selfTag?: string;
36
+ }): DiscoveredDaemon[];
10
37
  /**
11
38
  * Browse the LAN for AgentDeck daemons. Collects services for `timeoutMs`, then
12
39
  * confirms each via `/health` (keeps only `mode === 'daemon'`). A `hostHint`
@@ -1 +1 @@
1
- {"version":3,"file":"mdns-discover.d.ts","sourceRoot":"","sources":["../src/mdns-discover.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;oFACgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAmBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0DnH"}
1
+ {"version":3,"file":"mdns-discover.d.ts","sourceRoot":"","sources":["../src/mdns-discover.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;sDACkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;oFACgF;IAChF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAUD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,gBAAgB,EACnB,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5C,MAAM,CAMR;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,gBAAgB,EAAE,CAOpB;AAmBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4EnH"}