@agentdeck/shared 0.2.0 → 0.2.3

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 (99) hide show
  1. package/dist/adapter.d.ts +3 -1
  2. package/dist/adapter.d.ts.map +1 -1
  3. package/dist/adapter.js +24 -0
  4. package/dist/adapter.js.map +1 -1
  5. package/dist/command-builders.d.ts +7 -2
  6. package/dist/command-builders.d.ts.map +1 -1
  7. package/dist/command-builders.js +17 -2
  8. package/dist/command-builders.js.map +1 -1
  9. package/dist/connection-status.d.ts +42 -0
  10. package/dist/connection-status.d.ts.map +1 -0
  11. package/dist/connection-status.js +52 -0
  12. package/dist/connection-status.js.map +1 -0
  13. package/dist/d200h-layout.d.ts +131 -0
  14. package/dist/d200h-layout.d.ts.map +1 -0
  15. package/dist/d200h-layout.js +627 -0
  16. package/dist/d200h-layout.js.map +1 -0
  17. package/dist/design-tokens.d.ts +259 -0
  18. package/dist/design-tokens.d.ts.map +1 -0
  19. package/dist/design-tokens.js +156 -0
  20. package/dist/design-tokens.js.map +1 -0
  21. package/dist/eval-schema.d.ts +26 -2
  22. package/dist/eval-schema.d.ts.map +1 -1
  23. package/dist/eval-schema.js.map +1 -1
  24. package/dist/format-utils.d.ts +25 -0
  25. package/dist/format-utils.d.ts.map +1 -1
  26. package/dist/format-utils.js +45 -0
  27. package/dist/format-utils.js.map +1 -1
  28. package/dist/gateway-protocol.d.ts +1 -1
  29. package/dist/gateway-protocol.js +1 -1
  30. package/dist/index.d.ts +8 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/llm-settings.d.ts +3 -3
  35. package/dist/llm-settings.d.ts.map +1 -1
  36. package/dist/llm-settings.js +3 -3
  37. package/dist/llm-settings.js.map +1 -1
  38. package/dist/net-utils.d.ts +2 -1
  39. package/dist/net-utils.d.ts.map +1 -1
  40. package/dist/net-utils.js +100 -3
  41. package/dist/net-utils.js.map +1 -1
  42. package/dist/pricing.d.ts +45 -0
  43. package/dist/pricing.d.ts.map +1 -0
  44. package/dist/pricing.js +93 -0
  45. package/dist/pricing.js.map +1 -0
  46. package/dist/protocol.d.ts +175 -5
  47. package/dist/protocol.d.ts.map +1 -1
  48. package/dist/protocol.js +11 -1
  49. package/dist/protocol.js.map +1 -1
  50. package/dist/sample.d.ts +152 -0
  51. package/dist/sample.d.ts.map +1 -0
  52. package/dist/sample.js +22 -0
  53. package/dist/sample.js.map +1 -0
  54. package/dist/session-utils.d.ts +82 -2
  55. package/dist/session-utils.d.ts.map +1 -1
  56. package/dist/session-utils.js +205 -10
  57. package/dist/session-utils.js.map +1 -1
  58. package/dist/state-colors.d.ts.map +1 -1
  59. package/dist/state-colors.js +2 -0
  60. package/dist/state-colors.js.map +1 -1
  61. package/dist/states.d.ts +1 -0
  62. package/dist/states.d.ts.map +1 -1
  63. package/dist/states.js +6 -1
  64. package/dist/states.js.map +1 -1
  65. package/dist/svg-renderers/agent-logos.d.ts +17 -5
  66. package/dist/svg-renderers/agent-logos.d.ts.map +1 -1
  67. package/dist/svg-renderers/agent-logos.js +177 -39
  68. package/dist/svg-renderers/agent-logos.js.map +1 -1
  69. package/dist/svg-renderers/session-slot-renderer.d.ts +59 -6
  70. package/dist/svg-renderers/session-slot-renderer.d.ts.map +1 -1
  71. package/dist/svg-renderers/session-slot-renderer.js +398 -209
  72. package/dist/svg-renderers/session-slot-renderer.js.map +1 -1
  73. package/dist/svg-renderers/text-utils.d.ts +14 -0
  74. package/dist/svg-renderers/text-utils.d.ts.map +1 -1
  75. package/dist/svg-renderers/text-utils.js +34 -0
  76. package/dist/svg-renderers/text-utils.js.map +1 -1
  77. package/dist/telemetry-envelope.d.ts +1 -1
  78. package/dist/telemetry-envelope.d.ts.map +1 -1
  79. package/dist/timeline-icons.d.ts +70 -0
  80. package/dist/timeline-icons.d.ts.map +1 -0
  81. package/dist/timeline-icons.js +161 -0
  82. package/dist/timeline-icons.js.map +1 -0
  83. package/dist/timeline-label.d.ts +38 -0
  84. package/dist/timeline-label.d.ts.map +1 -0
  85. package/dist/timeline-label.js +95 -0
  86. package/dist/timeline-label.js.map +1 -0
  87. package/dist/timeline-markdown.d.ts +80 -0
  88. package/dist/timeline-markdown.d.ts.map +1 -0
  89. package/dist/timeline-markdown.js +221 -0
  90. package/dist/timeline-markdown.js.map +1 -0
  91. package/dist/timeline-summarizer.d.ts +24 -0
  92. package/dist/timeline-summarizer.d.ts.map +1 -1
  93. package/dist/timeline-summarizer.js +55 -13
  94. package/dist/timeline-summarizer.js.map +1 -1
  95. package/dist/timeline.d.ts +72 -2
  96. package/dist/timeline.d.ts.map +1 -1
  97. package/dist/timeline.js +187 -10
  98. package/dist/timeline.js.map +1 -1
  99. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"session-slot-renderer.js","sourceRoot":"","sources":["../../src/svg-renderers/session-slot-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-slot-renderer.js","sourceRoot":"","sources":["../../src/svg-renderers/session-slot-renderer.ts"],"names":[],"mappings":"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"}
@@ -12,4 +12,18 @@ export declare function measureTextWidth(text: string, fontSize: number): number
12
12
  export declare function sliceByPx(s: string, maxPx: number, fontSize: number): [string, string];
13
13
  /** Word-wrap text by estimated pixel width (works for all scripts). */
14
14
  export declare function wrapTextByWidth(text: string, maxWidthPx: number, fontSize: number): string[];
15
+ /**
16
+ * Strip character sequences that must never reach a text surface: ANSI escape
17
+ * sequences (PTY-derived goals/activity strings carry them), XML-invalid
18
+ * control characters, and lone surrogates. Safe for non-SVG surfaces too
19
+ * (serial/e-ink/plain text) — it only removes garbage, never visible text.
20
+ */
21
+ export declare function stripUnsafeText(s: string): string;
22
+ /**
23
+ * The one escape function every SVG renderer must use for interpolated text.
24
+ * Escaping alone is NOT enough: a single raw control character (common in
25
+ * PTY-derived session goal/activity strings) makes resvg reject the entire
26
+ * SVG, which downstream turns into a blank frame on TRMNL/D200H panels.
27
+ */
28
+ export declare function escSvgText(s: string): string;
15
29
  //# sourceMappingURL=text-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-utils.d.ts","sourceRoot":"","sources":["../../src/svg-renderers/text-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,8EAA8E;AAC9E,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAS5C;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUtF;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAsC5F"}
1
+ {"version":3,"file":"text-utils.d.ts","sourceRoot":"","sources":["../../src/svg-renderers/text-utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,8EAA8E;AAC9E,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAS5C;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIvE;AAED,oDAAoD;AACpD,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUtF;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAsC5F;AAeD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C"}
@@ -85,4 +85,38 @@ export function wrapTextByWidth(text, maxWidthPx, fontSize) {
85
85
  lines.push(current);
86
86
  return lines;
87
87
  }
88
+ // --- SVG text sanitization ---
89
+ /** ANSI escape sequences (CSI like `\x1b[31m`, OSC, and 2-char `\x1bX` forms). */
90
+ const ANSI_RE = /\x1b(?:\[[0-9;:?<=>]*[ -/]*[@-~]|\][^\x07\x1b]*(?:\x07|\x1b\\)?|[@-_])/g;
91
+ /**
92
+ * Characters XML 1.0 forbids even when escaped: C0 controls (minus \t \n \r),
93
+ * DEL, and the noncharacters U+FFFE/U+FFFF. resvg hard-fails the whole SVG
94
+ * parse on any of these, so they must be stripped, not entity-escaped.
95
+ */
96
+ const XML_INVALID_RE = /[\x00-\x08\x0b\x0c\x0e-\x1f\x7f\ufffe\uffff]/g;
97
+ /** Lone UTF-16 surrogate halves (e.g. an emoji cut by a byte-length slice). */
98
+ const LONE_SURROGATE_RE = /[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/g;
99
+ /**
100
+ * Strip character sequences that must never reach a text surface: ANSI escape
101
+ * sequences (PTY-derived goals/activity strings carry them), XML-invalid
102
+ * control characters, and lone surrogates. Safe for non-SVG surfaces too
103
+ * (serial/e-ink/plain text) — it only removes garbage, never visible text.
104
+ */
105
+ export function stripUnsafeText(s) {
106
+ return String(s).replace(ANSI_RE, '').replace(XML_INVALID_RE, '').replace(LONE_SURROGATE_RE, '');
107
+ }
108
+ /**
109
+ * The one escape function every SVG renderer must use for interpolated text.
110
+ * Escaping alone is NOT enough: a single raw control character (common in
111
+ * PTY-derived session goal/activity strings) makes resvg reject the entire
112
+ * SVG, which downstream turns into a blank frame on TRMNL/D200H panels.
113
+ */
114
+ export function escSvgText(s) {
115
+ return stripUnsafeText(s)
116
+ .replace(/&/g, '&amp;')
117
+ .replace(/</g, '&lt;')
118
+ .replace(/>/g, '&gt;')
119
+ .replace(/"/g, '&quot;')
120
+ .replace(/'/g, '&apos;');
121
+ }
88
122
  //# sourceMappingURL=text-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-utils.js","sourceRoot":"","sources":["../../src/svg-renderers/text-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-utils.js","sourceRoot":"","sources":["../../src/svg-renderers/text-utils.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export interface TelemetryAttributes {
55
55
  /** Assistant response text for turn_response. */
56
56
  'agentdeck.response_text'?: string;
57
57
  /** Task boundary discriminator. */
58
- 'agentdeck.boundary_signal'?: 'todo_complete' | 'clear' | 'session_end' | 'manual';
58
+ 'agentdeck.boundary_signal'?: 'todo_complete' | 'clear' | 'session_end' | 'manual' | 'idle_gap';
59
59
  /** Original event name for raw_step. */
60
60
  'agentdeck.raw_event'?: string;
61
61
  /** Original event payload for raw_step (JSON-serializable). */
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-envelope.d.ts","sourceRoot":"","sources":["../src/telemetry-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;iEACiE;AACjE,MAAM,MAAM,iBAAiB;AAC3B,qFAAqF;AACnF,YAAY;AACd,+FAA+F;GAC7F,eAAe;AACjB,iFAAiF;GAC/E,UAAU;AACZ,sDAAsD;GACpD,WAAW;AACb,kEAAkE;GAChE,aAAa;AACf,6EAA6E;GAC3E,eAAe;AACjB;qDACqD;GACnD,cAAc;AAChB;6EAC6E;GAC3E,UAAU,CAAC;AAEf;;2EAE2E;AAC3E,MAAM,WAAW,mBAAmB;IAElC,wCAAwC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,sBAAsB,CAAC,EAAE,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iDAAiD;IACjD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mCAAmC;IACnC,2BAA2B,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IACnF,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,sEAAsE;IACtE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC9E;AAED;;;uEAGuE;AACvE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB;kDAC8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAID;yDACyD;AACzD,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,WAAW,GACX,YAAY,CAAC;AAEjB;iEACiE;AACjE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB;;;sCAGkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;6EACyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;4EAC4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAW/D"}
1
+ {"version":3,"file":"telemetry-envelope.d.ts","sourceRoot":"","sources":["../src/telemetry-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;iEACiE;AACjE,MAAM,MAAM,iBAAiB;AAC3B,qFAAqF;AACnF,YAAY;AACd,+FAA+F;GAC7F,eAAe;AACjB,iFAAiF;GAC/E,UAAU;AACZ,sDAAsD;GACpD,WAAW;AACb,kEAAkE;GAChE,aAAa;AACf,6EAA6E;GAC3E,eAAe;AACjB;qDACqD;GACnD,cAAc;AAChB;6EAC6E;GAC3E,UAAU,CAAC;AAEf;;2EAE2E;AAC3E,MAAM,WAAW,mBAAmB;IAElC,wCAAwC;IACxC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,sBAAsB,CAAC,EAAE,SAAS,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iDAAiD;IACjD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mCAAmC;IACnC,2BAA2B,CAAC,EAAE,eAAe,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;IAChG,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+DAA+D;IAC/D,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,0EAA0E;IAC1E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,sEAAsE;IACtE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC9E;AAED;;;uEAGuE;AACvE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB;kDAC8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAID;yDACyD;AACzD,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,YAAY,GACZ,UAAU,GACV,WAAW,GACX,YAAY,CAAC;AAEjB;iEACiE;AACjE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB;;;sCAGkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;6EACyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;4EAC4E;AAC5E,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAW/D"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Shared icon-key system for timeline entries.
3
+ *
4
+ * Each platform maps the abstract key to its native form:
5
+ * - Apple: SF Symbols (`checkmark.circle.fill`, etc.)
6
+ * - Android tablet: Material Icons (`Icons.Filled.CheckCircle`)
7
+ * - Android e-ink: ASCII bracket markers (`[OK]`, `[T ]`) — high black coverage,
8
+ * no thin glyph strokes that ghost on partial refresh.
9
+ *
10
+ * This is the single source of truth. If you add a new key, add the platform
11
+ * mapping in the same commit (apple TimelineStripView.swift,
12
+ * android TimelineStrip.kt + EinkTimelinePanel.kt).
13
+ */
14
+ import type { TimelineEntry, TimelineEntryType } from './timeline.js';
15
+ export type TimelineIconKey = 'success' | 'error' | 'running' | 'awaiting' | 'tool' | 'model' | 'user' | 'task' | 'scheduled' | 'memory';
16
+ /**
17
+ * Map a timeline entry to its semantic icon key.
18
+ * Looks at both the entry type and (for tool_request) the approval status.
19
+ */
20
+ export declare function timelineIconKey(entry: Pick<TimelineEntry, 'type' | 'status'>): TimelineIconKey;
21
+ /** All known icon keys, in stable order (used for tests/registries). */
22
+ export declare const TIMELINE_ICON_KEYS: readonly TimelineIconKey[];
23
+ /**
24
+ * True when `entry` is a `task_start` whose matching `task_end` (same `taskId`)
25
+ * has not yet appeared among `siblings`. Lets clients render in-flight task
26
+ * hierarchy markers with the rotating "running" treatment instead of the
27
+ * static `task` icon. Mirrored in Apple `isInFlightTask` and Android
28
+ * `isInFlightTask`.
29
+ */
30
+ export declare function isInFlightTask(entry: Pick<TimelineEntry, 'type' | 'taskId'>, siblings: ReadonlyArray<Pick<TimelineEntry, 'type' | 'taskId'>>): boolean;
31
+ /**
32
+ * Age cap for the rotating "running" treatment on turn rows. Turn-completion
33
+ * signals are best-effort (Stop hook, transcript tail, PTY marker) and can be
34
+ * lost across daemon handoffs — a chat_start older than this stops spinning
35
+ * even without an explicit completion so dead turns don't animate forever.
36
+ * Matches Apple's `chatStartMaxAgeSec` (TimelineStripView.swift). Task
37
+ * hierarchy markers are handled by the daemon-side orphan reaper plus Apple's
38
+ * own in-flight cap.
39
+ */
40
+ export declare const ROTATING_ENTRY_MAX_AGE_MS: number;
41
+ type RotatingSibling = Pick<TimelineEntry, 'type' | 'taskId'> & Partial<Pick<TimelineEntry, 'sessionId' | 'ts'>>;
42
+ /**
43
+ * True when a turn row should rotate its leading icon. Combines the static
44
+ * `running` icon-key (chat_start, unknown types) with the in-flight
45
+ * task-hierarchy signal so an open `task_start` also spins until its
46
+ * `task_end` arrives. `siblings` should be the entries the row sees in its
47
+ * group/list — passing `[]` falls back to icon-key only.
48
+ *
49
+ * A chat_start only spins while its turn is plausibly still open:
50
+ * - no later same-session completion (chat_response / chat_end / model_response),
51
+ * - no later same-session chat_start (a new prompt supersedes the turn even
52
+ * when its completion signal was lost — Stop hooks are best-effort),
53
+ * - younger than ROTATING_ENTRY_MAX_AGE_MS.
54
+ * Mirrored in Apple TimelineStripView.swift and Android TimelineIcons.kt —
55
+ * update all three in the same commit.
56
+ */
57
+ export declare function isRotatingEntry(entry: Pick<TimelineEntry, 'type' | 'status' | 'taskId'> & Partial<Pick<TimelineEntry, 'sessionId' | 'ts'>>, siblings: ReadonlyArray<RotatingSibling>, nowMs?: number): boolean;
58
+ /**
59
+ * E-ink ASCII glyphs — bracket-padded so total width is constant (4 chars)
60
+ * for column alignment on monospace bitmap fonts.
61
+ */
62
+ export declare const EINK_ICON_GLYPHS: Record<TimelineIconKey, string>;
63
+ /**
64
+ * Whether a timeline entry type carries a content body worth showing in the
65
+ * detail pane. task_start/task_end/task_milestone are hierarchy markers —
66
+ * their `raw` is the summary, no extra detail expected.
67
+ */
68
+ export declare function entryHasDetailBody(type: TimelineEntryType): boolean;
69
+ export {};
70
+ //# sourceMappingURL=timeline-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-icons.d.ts","sourceRoot":"","sources":["../src/timeline-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEtE,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,OAAO,GACP,SAAS,GACT,UAAU,GACV,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,WAAW,GACX,QAAQ,CAAC;AAEb;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,eAAe,CAoC9F;AAED,wEAAwE;AACxE,eAAO,MAAM,kBAAkB,EAAE,SAAS,eAAe,EAI/C,CAAC;AAEX;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,EAC7C,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,GAC9D,OAAO,CAOT;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAExD,KAAK,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;AASnD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC,GACtD,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,EAClD,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,EACxC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAiBT;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAW5D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAEnE"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Shared icon-key system for timeline entries.
3
+ *
4
+ * Each platform maps the abstract key to its native form:
5
+ * - Apple: SF Symbols (`checkmark.circle.fill`, etc.)
6
+ * - Android tablet: Material Icons (`Icons.Filled.CheckCircle`)
7
+ * - Android e-ink: ASCII bracket markers (`[OK]`, `[T ]`) — high black coverage,
8
+ * no thin glyph strokes that ghost on partial refresh.
9
+ *
10
+ * This is the single source of truth. If you add a new key, add the platform
11
+ * mapping in the same commit (apple TimelineStripView.swift,
12
+ * android TimelineStrip.kt + EinkTimelinePanel.kt).
13
+ */
14
+ /**
15
+ * Map a timeline entry to its semantic icon key.
16
+ * Looks at both the entry type and (for tool_request) the approval status.
17
+ */
18
+ export function timelineIconKey(entry) {
19
+ switch (entry.type) {
20
+ case 'task_start':
21
+ case 'task_end':
22
+ return 'task';
23
+ case 'task_milestone':
24
+ return 'success';
25
+ case 'chat_start':
26
+ return 'running';
27
+ case 'chat_end':
28
+ case 'chat_response':
29
+ case 'model_response':
30
+ return 'success';
31
+ case 'model_call':
32
+ return 'model';
33
+ case 'tool_request':
34
+ if (entry.status === 'approved')
35
+ return 'success';
36
+ if (entry.status === 'denied')
37
+ return 'error';
38
+ return 'awaiting';
39
+ case 'tool_resolved':
40
+ return 'success';
41
+ case 'tool_exec':
42
+ return 'tool';
43
+ case 'error':
44
+ return 'error';
45
+ case 'user_action':
46
+ return 'user';
47
+ case 'scheduled':
48
+ return 'scheduled';
49
+ case 'memory_recall':
50
+ return 'memory';
51
+ case 'eval_result':
52
+ return entry.status === 'denied' ? 'error' : 'success';
53
+ default:
54
+ return 'running';
55
+ }
56
+ }
57
+ /** All known icon keys, in stable order (used for tests/registries). */
58
+ export const TIMELINE_ICON_KEYS = [
59
+ 'success', 'error', 'running', 'awaiting',
60
+ 'tool', 'model', 'user', 'task',
61
+ 'scheduled', 'memory',
62
+ ];
63
+ /**
64
+ * True when `entry` is a `task_start` whose matching `task_end` (same `taskId`)
65
+ * has not yet appeared among `siblings`. Lets clients render in-flight task
66
+ * hierarchy markers with the rotating "running" treatment instead of the
67
+ * static `task` icon. Mirrored in Apple `isInFlightTask` and Android
68
+ * `isInFlightTask`.
69
+ */
70
+ export function isInFlightTask(entry, siblings) {
71
+ if (entry.type !== 'task_start')
72
+ return false;
73
+ if (!entry.taskId)
74
+ return false;
75
+ for (const s of siblings) {
76
+ if (s.type === 'task_end' && s.taskId === entry.taskId)
77
+ return false;
78
+ }
79
+ return true;
80
+ }
81
+ /**
82
+ * Age cap for the rotating "running" treatment on turn rows. Turn-completion
83
+ * signals are best-effort (Stop hook, transcript tail, PTY marker) and can be
84
+ * lost across daemon handoffs — a chat_start older than this stops spinning
85
+ * even without an explicit completion so dead turns don't animate forever.
86
+ * Matches Apple's `chatStartMaxAgeSec` (TimelineStripView.swift). Task
87
+ * hierarchy markers are handled by the daemon-side orphan reaper plus Apple's
88
+ * own in-flight cap.
89
+ */
90
+ export const ROTATING_ENTRY_MAX_AGE_MS = 10 * 60 * 1000;
91
+ /** Same-session test mirroring the turn-merge rule: both ids equal, or both
92
+ * absent (legacy single-session emitters). */
93
+ function sameRotatingSession(a, b) {
94
+ if (!a && !b)
95
+ return true;
96
+ return !!a && !!b && a === b;
97
+ }
98
+ /**
99
+ * True when a turn row should rotate its leading icon. Combines the static
100
+ * `running` icon-key (chat_start, unknown types) with the in-flight
101
+ * task-hierarchy signal so an open `task_start` also spins until its
102
+ * `task_end` arrives. `siblings` should be the entries the row sees in its
103
+ * group/list — passing `[]` falls back to icon-key only.
104
+ *
105
+ * A chat_start only spins while its turn is plausibly still open:
106
+ * - no later same-session completion (chat_response / chat_end / model_response),
107
+ * - no later same-session chat_start (a new prompt supersedes the turn even
108
+ * when its completion signal was lost — Stop hooks are best-effort),
109
+ * - younger than ROTATING_ENTRY_MAX_AGE_MS.
110
+ * Mirrored in Apple TimelineStripView.swift and Android TimelineIcons.kt —
111
+ * update all three in the same commit.
112
+ */
113
+ export function isRotatingEntry(entry, siblings, nowMs) {
114
+ if (timelineIconKey(entry) === 'running') {
115
+ if (entry.type !== 'chat_start')
116
+ return true;
117
+ const ts = entry.ts;
118
+ if (ts != null) {
119
+ const now = nowMs ?? Date.now();
120
+ if (now - ts > ROTATING_ENTRY_MAX_AGE_MS)
121
+ return false;
122
+ for (const s of siblings) {
123
+ if (s.ts == null || s.ts < ts)
124
+ continue;
125
+ if (!sameRotatingSession(entry.sessionId, s.sessionId))
126
+ continue;
127
+ if (s.type === 'chat_response' || s.type === 'chat_end' || s.type === 'model_response')
128
+ return false;
129
+ if (s.type === 'chat_start' && s.ts > ts)
130
+ return false;
131
+ }
132
+ }
133
+ return true;
134
+ }
135
+ return isInFlightTask(entry, siblings);
136
+ }
137
+ /**
138
+ * E-ink ASCII glyphs — bracket-padded so total width is constant (4 chars)
139
+ * for column alignment on monospace bitmap fonts.
140
+ */
141
+ export const EINK_ICON_GLYPHS = {
142
+ success: '[OK]',
143
+ error: '[!!]',
144
+ running: '[..]',
145
+ awaiting: '[??]',
146
+ tool: '[T ]',
147
+ model: '[M ]',
148
+ user: '[U ]',
149
+ task: '[==]',
150
+ scheduled: '[S ]',
151
+ memory: '[~ ]',
152
+ };
153
+ /**
154
+ * Whether a timeline entry type carries a content body worth showing in the
155
+ * detail pane. task_start/task_end/task_milestone are hierarchy markers —
156
+ * their `raw` is the summary, no extra detail expected.
157
+ */
158
+ export function entryHasDetailBody(type) {
159
+ return type !== 'task_start' && type !== 'task_end' && type !== 'task_milestone';
160
+ }
161
+ //# sourceMappingURL=timeline-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-icons.js","sourceRoot":"","sources":["../src/timeline-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAA6C;IAC3E,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,gBAAgB;YACnB,OAAO,SAAS,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,eAAe,CAAC;QACrB,KAAK,gBAAgB;YACnB,OAAO,SAAS,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,OAAO,CAAC;QACjB,KAAK,cAAc;YACjB,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,SAAS,CAAC;YAClD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ;gBAAE,OAAO,OAAO,CAAC;YAC9C,OAAO,UAAU,CAAC;QACpB,KAAK,eAAe;YAClB,OAAO,SAAS,CAAC;QACnB,KAAK,WAAW;YACd,OAAO,MAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAClB,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU;IACzC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAC/B,WAAW,EAAE,QAAQ;CACb,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA6C,EAC7C,QAA+D;IAE/D,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAKxD;+CAC+C;AAC/C,SAAS,mBAAmB,CAAC,CAAU,EAAE,CAAU;IACjD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAC7B,KACkD,EAClD,QAAwC,EACxC,KAAc;IAEd,IAAI,eAAe,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAC7C,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,GAAG,GAAG,EAAE,GAAG,yBAAyB;gBAAE,OAAO,KAAK,CAAC;YACvD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE;oBAAE,SAAS;gBACxC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;oBAAE,SAAS;gBACjE,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB;oBAAE,OAAO,KAAK,CAAC;gBACrG,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE;oBAAE,OAAO,KAAK,CAAC;YACzD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoC;IAC/D,OAAO,EAAI,MAAM;IACjB,KAAK,EAAM,MAAM;IACjB,OAAO,EAAI,MAAM;IACjB,QAAQ,EAAG,MAAM;IACjB,IAAI,EAAO,MAAM;IACjB,KAAK,EAAM,MAAM;IACjB,IAAI,EAAO,MAAM;IACjB,IAAI,EAAO,MAAM;IACjB,SAAS,EAAE,MAAM;IACjB,MAAM,EAAK,MAAM;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACxD,OAAO,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,gBAAgB,CAAC;AACnF,CAAC"}
@@ -0,0 +1,38 @@
1
+ import type { TimelineEntry } from './timeline.js';
2
+ /** Canonical agent → display-name map. The ONLY place this mapping lives on
3
+ * the TS side; language mirrors copy it verbatim. Never abbreviate
4
+ * "OpenClaw" (see memory `brand-direction.md`). */
5
+ export declare function agentDisplayLabel(agentType: string | undefined | null): string;
6
+ /** Compact agent → display-name for very tight surfaces (LED matrix, ticker
7
+ * when width is scarce). Keeps the brand distinct without the CLI/App suffix. */
8
+ export declare function agentShortLabel(agentType: string | undefined | null): string;
9
+ export interface TimelineRowAttribution {
10
+ /** Resolved agent display name, or undefined when no agent is attributed. */
11
+ agent?: string;
12
+ /** Project / worktree name. */
13
+ project?: string;
14
+ /** Task label — the APME task summary when present, else the task row's
15
+ * own label; undefined for rows outside a task. */
16
+ task?: string;
17
+ /** The already-summarized row body (`entry.raw`). */
18
+ text: string;
19
+ }
20
+ /** Decompose a TimelineEntry into its attributed pieces. Every surface builds
21
+ * its displayed row from this, so agent/project/task/text stay consistent. */
22
+ export declare function timelineRowAttribution(entry: TimelineEntry): TimelineRowAttribution;
23
+ export interface FormatTimelineRowOptions {
24
+ /** Which attribution parts to prepend before the text, in order. Defaults
25
+ * to agent + project (the common glance form). */
26
+ parts?: Array<'agent' | 'project' | 'task'>;
27
+ /** Include the row body text after the attribution. Default true. */
28
+ includeText?: boolean;
29
+ /** Use the compact agent name (ticker/matrix). Default false. */
30
+ short?: boolean;
31
+ /** Separator between attribution parts. Default " · ". */
32
+ separator?: string;
33
+ }
34
+ /** Canonical joined label. Replaces the divergent "[project] Agent" vs
35
+ * "project · tag" conventions with one separator (" · ") and an explicit,
36
+ * caller-chosen part order. Example: "Claude · AgentDeck · Fix eink ticker". */
37
+ export declare function formatTimelineRowLabel(entry: TimelineEntry, opts?: FormatTimelineRowOptions): string;
38
+ //# sourceMappingURL=timeline-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-label.d.ts","sourceRoot":"","sources":["../src/timeline-label.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD;;oDAEoD;AACpD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAkB9E;AAED;kFACkF;AAClF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAM5E;AAED,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;wDACoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;CACd;AAeD;+EAC+E;AAC/E,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,sBAAsB,CAWnF;AAED,MAAM,WAAW,wBAAwB;IACvC;uDACmD;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;IAC5C,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;iFAEiF;AACjF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,IAAI,GAAE,wBAA6B,GAClC,MAAM,CAYR"}
@@ -0,0 +1,95 @@
1
+ // timeline-label.ts — the SINGLE source of truth for turning a TimelineEntry
2
+ // into its attributed, human-readable row text ("agent · project · task ·
3
+ // text").
4
+ //
5
+ // Before this file, shared/src exposed `agentBrandColor` but NO agent
6
+ // display-name function, so every surface (Swift ×5, Kotlin ×2, ESP32 ×4,
7
+ // plugin) hand-rolled the same `claude-code → "Claude"` map and its own
8
+ // separator convention, and they drifted. The mirrors (Swift
9
+ // `SessionFormatters.displayAgentLabel`, Kotlin `EinkFormatUtils`, C++
10
+ // `agent_label.h`) must match `agentDisplayLabel` below exactly.
11
+ //
12
+ // Design: `timelineRowAttribution` returns the STRUCTURED pieces so a
13
+ // space-constrained surface (ESP32 ticker, iPhone) can pick which fields to
14
+ // show, while roomy surfaces render all four. `formatTimelineRowLabel` joins
15
+ // them with the one canonical separator.
16
+ /** Canonical agent → display-name map. The ONLY place this mapping lives on
17
+ * the TS side; language mirrors copy it verbatim. Never abbreviate
18
+ * "OpenClaw" (see memory `brand-direction.md`). */
19
+ export function agentDisplayLabel(agentType) {
20
+ switch (agentType) {
21
+ case 'claude-code': return 'Claude';
22
+ case 'openclaw': return 'OpenClaw';
23
+ case 'codex-cli': return 'Codex CLI';
24
+ case 'codex-app': return 'Codex App';
25
+ case 'opencode': return 'OpenCode';
26
+ case 'antigravity': return 'Antigravity';
27
+ case 'monitor': return 'Monitor';
28
+ case 'daemon': return 'Daemon';
29
+ default:
30
+ if (!agentType)
31
+ return 'Agent';
32
+ // Unknown but non-empty: titlecase the slug so a new agent still reads
33
+ // sensibly instead of collapsing to a generic "Agent".
34
+ return agentType
35
+ .replace(/-/g, ' ')
36
+ .replace(/\b\w/g, (c) => c.toUpperCase());
37
+ }
38
+ }
39
+ /** Compact agent → display-name for very tight surfaces (LED matrix, ticker
40
+ * when width is scarce). Keeps the brand distinct without the CLI/App suffix. */
41
+ export function agentShortLabel(agentType) {
42
+ switch (agentType) {
43
+ case 'codex-cli':
44
+ case 'codex-app': return 'Codex';
45
+ default: return agentDisplayLabel(agentType);
46
+ }
47
+ }
48
+ /** The task pieces vary: a `task_start`/`task_end` row's own `raw` is the task
49
+ * label ("Task 1"); a turn row inside a task carries `taskId` but no inline
50
+ * label, so callers that want a task chip use `taskSummary` when the eval has
51
+ * produced one. Returns the best available task descriptor. */
52
+ function taskDescriptor(entry) {
53
+ const summary = entry.taskSummary?.trim();
54
+ if (summary)
55
+ return summary;
56
+ if (entry.type === 'task_start' || entry.type === 'task_end') {
57
+ return entry.raw?.trim() || undefined;
58
+ }
59
+ return undefined;
60
+ }
61
+ /** Decompose a TimelineEntry into its attributed pieces. Every surface builds
62
+ * its displayed row from this, so agent/project/task/text stay consistent. */
63
+ export function timelineRowAttribution(entry) {
64
+ const agent = entry.agentType ? agentDisplayLabel(entry.agentType) : undefined;
65
+ const project = entry.projectName?.trim() || undefined;
66
+ const task = taskDescriptor(entry);
67
+ const text = (entry.raw ?? '').trim();
68
+ return {
69
+ ...(agent ? { agent } : {}),
70
+ ...(project ? { project } : {}),
71
+ ...(task ? { task } : {}),
72
+ text,
73
+ };
74
+ }
75
+ /** Canonical joined label. Replaces the divergent "[project] Agent" vs
76
+ * "project · tag" conventions with one separator (" · ") and an explicit,
77
+ * caller-chosen part order. Example: "Claude · AgentDeck · Fix eink ticker". */
78
+ export function formatTimelineRowLabel(entry, opts = {}) {
79
+ const { parts = ['agent', 'project'], includeText = true, short = false, separator = ' · ' } = opts;
80
+ const attr = timelineRowAttribution(entry);
81
+ const agentText = short ? agentShortLabel(entry.agentType) : attr.agent;
82
+ const pieces = [];
83
+ for (const p of parts) {
84
+ if (p === 'agent' && agentText)
85
+ pieces.push(agentText);
86
+ else if (p === 'project' && attr.project)
87
+ pieces.push(attr.project);
88
+ else if (p === 'task' && attr.task)
89
+ pieces.push(attr.task);
90
+ }
91
+ if (includeText && attr.text)
92
+ pieces.push(attr.text);
93
+ return pieces.join(separator);
94
+ }
95
+ //# sourceMappingURL=timeline-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-label.js","sourceRoot":"","sources":["../src/timeline-label.ts"],"names":[],"mappings":"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"}