@hexidecibel/companion 0.0.1

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 (109) hide show
  1. package/dist/__tests__/task-parser.test.d.ts +2 -0
  2. package/dist/__tests__/task-parser.test.d.ts.map +1 -0
  3. package/dist/__tests__/task-parser.test.js +79 -0
  4. package/dist/__tests__/task-parser.test.js.map +1 -0
  5. package/dist/anthropic-usage.d.ts +5 -0
  6. package/dist/anthropic-usage.d.ts.map +1 -0
  7. package/dist/anthropic-usage.js +112 -0
  8. package/dist/anthropic-usage.js.map +1 -0
  9. package/dist/cert-generator.d.ts +15 -0
  10. package/dist/cert-generator.d.ts.map +1 -0
  11. package/dist/cert-generator.js +298 -0
  12. package/dist/cert-generator.js.map +1 -0
  13. package/dist/config.d.ts +4 -0
  14. package/dist/config.d.ts.map +1 -0
  15. package/dist/config.js +122 -0
  16. package/dist/config.js.map +1 -0
  17. package/dist/encryption.d.ts +28 -0
  18. package/dist/encryption.d.ts.map +1 -0
  19. package/dist/encryption.js +95 -0
  20. package/dist/encryption.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +211 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/input-injector.d.ts +21 -0
  26. package/dist/input-injector.d.ts.map +1 -0
  27. package/dist/input-injector.js +126 -0
  28. package/dist/input-injector.js.map +1 -0
  29. package/dist/mdns.d.ts +11 -0
  30. package/dist/mdns.d.ts.map +1 -0
  31. package/dist/mdns.js +93 -0
  32. package/dist/mdns.js.map +1 -0
  33. package/dist/parser.d.ts +43 -0
  34. package/dist/parser.d.ts.map +1 -0
  35. package/dist/parser.js +800 -0
  36. package/dist/parser.js.map +1 -0
  37. package/dist/push.d.ts +38 -0
  38. package/dist/push.d.ts.map +1 -0
  39. package/dist/push.js +359 -0
  40. package/dist/push.js.map +1 -0
  41. package/dist/qr-server.d.ts +13 -0
  42. package/dist/qr-server.d.ts.map +1 -0
  43. package/dist/qr-server.js +421 -0
  44. package/dist/qr-server.js.map +1 -0
  45. package/dist/scaffold/generator.d.ts +11 -0
  46. package/dist/scaffold/generator.d.ts.map +1 -0
  47. package/dist/scaffold/generator.js +206 -0
  48. package/dist/scaffold/generator.js.map +1 -0
  49. package/dist/scaffold/templates/index.d.ts +5 -0
  50. package/dist/scaffold/templates/index.d.ts.map +1 -0
  51. package/dist/scaffold/templates/index.js +22 -0
  52. package/dist/scaffold/templates/index.js.map +1 -0
  53. package/dist/scaffold/templates/node-express.d.ts +3 -0
  54. package/dist/scaffold/templates/node-express.d.ts.map +1 -0
  55. package/dist/scaffold/templates/node-express.js +218 -0
  56. package/dist/scaffold/templates/node-express.js.map +1 -0
  57. package/dist/scaffold/templates/python-fastapi.d.ts +3 -0
  58. package/dist/scaffold/templates/python-fastapi.d.ts.map +1 -0
  59. package/dist/scaffold/templates/python-fastapi.js +302 -0
  60. package/dist/scaffold/templates/python-fastapi.js.map +1 -0
  61. package/dist/scaffold/templates/react-mui-website.d.ts +3 -0
  62. package/dist/scaffold/templates/react-mui-website.d.ts.map +1 -0
  63. package/dist/scaffold/templates/react-mui-website.js +405 -0
  64. package/dist/scaffold/templates/react-mui-website.js.map +1 -0
  65. package/dist/scaffold/templates/react-typescript.d.ts +3 -0
  66. package/dist/scaffold/templates/react-typescript.d.ts.map +1 -0
  67. package/dist/scaffold/templates/react-typescript.js +275 -0
  68. package/dist/scaffold/templates/react-typescript.js.map +1 -0
  69. package/dist/scaffold/types.d.ts +55 -0
  70. package/dist/scaffold/types.d.ts.map +1 -0
  71. package/dist/scaffold/types.js +3 -0
  72. package/dist/scaffold/types.js.map +1 -0
  73. package/dist/subagent-watcher.d.ts +24 -0
  74. package/dist/subagent-watcher.d.ts.map +1 -0
  75. package/dist/subagent-watcher.js +307 -0
  76. package/dist/subagent-watcher.js.map +1 -0
  77. package/dist/tls.d.ts +10 -0
  78. package/dist/tls.d.ts.map +1 -0
  79. package/dist/tls.js +77 -0
  80. package/dist/tls.js.map +1 -0
  81. package/dist/tmux-manager.d.ts +71 -0
  82. package/dist/tmux-manager.d.ts.map +1 -0
  83. package/dist/tmux-manager.js +243 -0
  84. package/dist/tmux-manager.js.map +1 -0
  85. package/dist/tool-config.d.ts +33 -0
  86. package/dist/tool-config.d.ts.map +1 -0
  87. package/dist/tool-config.js +211 -0
  88. package/dist/tool-config.js.map +1 -0
  89. package/dist/types.d.ts +218 -0
  90. package/dist/types.d.ts.map +1 -0
  91. package/dist/types.js +3 -0
  92. package/dist/types.js.map +1 -0
  93. package/dist/watcher.d.ts +63 -0
  94. package/dist/watcher.d.ts.map +1 -0
  95. package/dist/watcher.js +596 -0
  96. package/dist/watcher.js.map +1 -0
  97. package/dist/watcher.test.d.ts +2 -0
  98. package/dist/watcher.test.d.ts.map +1 -0
  99. package/dist/watcher.test.js +110 -0
  100. package/dist/watcher.test.js.map +1 -0
  101. package/dist/websocket.d.ts +62 -0
  102. package/dist/websocket.d.ts.map +1 -0
  103. package/dist/websocket.js +1695 -0
  104. package/dist/websocket.js.map +1 -0
  105. package/package.json +71 -0
  106. package/scripts/build.sh +23 -0
  107. package/scripts/install-remote.sh +18 -0
  108. package/scripts/install.sh +558 -0
  109. package/scripts/uninstall.sh +113 -0
@@ -0,0 +1,218 @@
1
+ export interface DaemonConfig {
2
+ port: number;
3
+ token: string;
4
+ tls: boolean;
5
+ certPath?: string;
6
+ keyPath?: string;
7
+ tmuxSession: string;
8
+ codeHome: string;
9
+ mdnsEnabled: boolean;
10
+ fcmCredentialsPath?: string;
11
+ pushDelayMs: number;
12
+ autoApproveTools: string[];
13
+ anthropicAdminApiKey?: string;
14
+ }
15
+ export interface QuestionOption {
16
+ label: string;
17
+ description: string;
18
+ }
19
+ export interface Question {
20
+ question: string;
21
+ header: string;
22
+ options: QuestionOption[];
23
+ multiSelect: boolean;
24
+ }
25
+ export interface ConversationMessage {
26
+ id: string;
27
+ type: 'user' | 'assistant' | 'system';
28
+ content: string;
29
+ timestamp: number;
30
+ toolCalls?: ToolCall[];
31
+ options?: QuestionOption[];
32
+ questions?: Question[];
33
+ isWaitingForChoice?: boolean;
34
+ multiSelect?: boolean;
35
+ }
36
+ export interface ToolCall {
37
+ id: string;
38
+ name: string;
39
+ input: Record<string, unknown>;
40
+ output?: string;
41
+ status: 'pending' | 'running' | 'completed' | 'error';
42
+ startedAt?: number;
43
+ completedAt?: number;
44
+ }
45
+ export interface ConversationHighlight {
46
+ id: string;
47
+ type: 'user' | 'assistant';
48
+ content: string;
49
+ timestamp: number;
50
+ options?: QuestionOption[];
51
+ questions?: Question[];
52
+ isWaitingForChoice?: boolean;
53
+ multiSelect?: boolean;
54
+ toolCalls?: ToolCall[];
55
+ }
56
+ export interface ActivityDetail {
57
+ summary: string;
58
+ toolName?: string;
59
+ input?: string;
60
+ output?: string;
61
+ timestamp: number;
62
+ }
63
+ export interface SessionStatus {
64
+ isRunning: boolean;
65
+ isWaitingForInput: boolean;
66
+ lastActivity: number;
67
+ conversationId?: string;
68
+ projectPath?: string;
69
+ currentActivity?: string;
70
+ recentActivity?: ActivityDetail[];
71
+ }
72
+ export interface TmuxSession {
73
+ id: string;
74
+ name: string;
75
+ projectPath?: string;
76
+ conversationPath?: string;
77
+ lastActivity: number;
78
+ isWaitingForInput: boolean;
79
+ messageCount: number;
80
+ }
81
+ export interface WebSocketMessage {
82
+ type: string;
83
+ token?: string;
84
+ payload?: unknown;
85
+ requestId?: string;
86
+ }
87
+ export interface WebSocketResponse {
88
+ type: string;
89
+ success: boolean;
90
+ payload?: unknown;
91
+ error?: string;
92
+ requestId?: string;
93
+ sessionId?: string;
94
+ }
95
+ export interface RegisteredDevice {
96
+ token: string;
97
+ deviceId: string;
98
+ registeredAt: number;
99
+ lastSeen: number;
100
+ }
101
+ export interface ConversationFile {
102
+ path: string;
103
+ projectPath: string;
104
+ lastModified: number;
105
+ }
106
+ export interface TmuxSessionConfig {
107
+ name: string;
108
+ workingDir: string;
109
+ startCli: boolean;
110
+ lastUsed: number;
111
+ }
112
+ export interface SessionSummary {
113
+ id: string;
114
+ name: string;
115
+ projectPath: string;
116
+ status: 'idle' | 'working' | 'waiting' | 'error';
117
+ lastActivity: number;
118
+ currentActivity?: string;
119
+ }
120
+ export interface ServerSummary {
121
+ sessions: SessionSummary[];
122
+ totalSessions: number;
123
+ waitingCount: number;
124
+ workingCount: number;
125
+ }
126
+ export interface SessionUsage {
127
+ sessionId: string;
128
+ sessionName: string;
129
+ totalInputTokens: number;
130
+ totalOutputTokens: number;
131
+ totalCacheCreationTokens: number;
132
+ totalCacheReadTokens: number;
133
+ messageCount: number;
134
+ currentContextTokens: number;
135
+ }
136
+ export interface UsageStats {
137
+ sessions: SessionUsage[];
138
+ totalInputTokens: number;
139
+ totalOutputTokens: number;
140
+ totalCacheCreationTokens: number;
141
+ totalCacheReadTokens: number;
142
+ periodStart: number;
143
+ periodEnd: number;
144
+ }
145
+ export interface AnthropicUsageBucket {
146
+ started_at: string;
147
+ ended_at: string;
148
+ model?: string;
149
+ workspace_id?: string | null;
150
+ api_key_id?: string | null;
151
+ service_tier?: string;
152
+ context_window?: string;
153
+ uncached_input_tokens: number;
154
+ cache_creation_input_tokens: number;
155
+ cache_read_input_tokens: number;
156
+ output_tokens: number;
157
+ web_search_requests?: number;
158
+ }
159
+ export interface AnthropicUsageResponse {
160
+ data: AnthropicUsageBucket[];
161
+ has_more: boolean;
162
+ next_page?: string;
163
+ }
164
+ export interface ApiUsageStats {
165
+ periodStart: string;
166
+ periodEnd: string;
167
+ totalInputTokens: number;
168
+ totalOutputTokens: number;
169
+ totalCacheCreationTokens: number;
170
+ totalCacheReadTokens: number;
171
+ byModel: Record<string, {
172
+ inputTokens: number;
173
+ outputTokens: number;
174
+ cacheCreationTokens: number;
175
+ cacheReadTokens: number;
176
+ }>;
177
+ estimatedCostUsd: number;
178
+ }
179
+ export interface SubAgent {
180
+ agentId: string;
181
+ slug: string;
182
+ sessionId: string;
183
+ status: 'running' | 'completed' | 'error';
184
+ startedAt: number;
185
+ completedAt?: number;
186
+ description?: string;
187
+ subagentType?: string;
188
+ messageCount: number;
189
+ lastActivity: number;
190
+ currentActivity?: string;
191
+ }
192
+ export interface AgentTree {
193
+ sessionId: string;
194
+ agents: SubAgent[];
195
+ totalAgents: number;
196
+ runningCount: number;
197
+ completedCount: number;
198
+ }
199
+ export interface CompactionEvent {
200
+ sessionId: string;
201
+ sessionName: string;
202
+ projectPath: string;
203
+ summary: string;
204
+ timestamp: number;
205
+ }
206
+ export interface TaskItem {
207
+ id: string;
208
+ subject: string;
209
+ description: string;
210
+ status: 'pending' | 'in_progress' | 'completed';
211
+ activeForm?: string;
212
+ owner?: string;
213
+ blockedBy?: string[];
214
+ blocks?: string[];
215
+ createdAt: number;
216
+ updatedAt: number;
217
+ }
218
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IAErB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IAEH,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAGD,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,63 @@
1
+ import { EventEmitter } from 'events';
2
+ import { ConversationFile, ConversationMessage, SessionStatus, TmuxSession } from './types';
3
+ export declare class SessionWatcher extends EventEmitter {
4
+ private codeHome;
5
+ private watcher;
6
+ private conversations;
7
+ private activeSessionId;
8
+ private lastMessageCount;
9
+ private isWaitingForInput;
10
+ private initialLoadComplete;
11
+ private startTime;
12
+ private tmuxProjectPaths;
13
+ private tmuxFilterEnabled;
14
+ private debounceTimers;
15
+ private static readonly DEBOUNCE_MS;
16
+ constructor(codeHome: string);
17
+ refreshTmuxPaths(): Promise<void>;
18
+ private isFromTmuxSession;
19
+ start(): void;
20
+ stop(): void;
21
+ private handleFileChange;
22
+ private processFileChange;
23
+ private extractProjectPath;
24
+ private smartDecodePath;
25
+ private generateSessionId;
26
+ getActiveConversation(): ConversationFile | null;
27
+ getMessages(sessionId?: string): ConversationMessage[];
28
+ getStatus(sessionId?: string): SessionStatus;
29
+ getSessions(): TmuxSession[];
30
+ getActiveSessionId(): string | null;
31
+ setActiveSession(sessionId: string): boolean;
32
+ clearActiveSession(): void;
33
+ isWaiting(): boolean;
34
+ /**
35
+ * Check the active session for pending approval tools and emit if found.
36
+ * Called externally when auto-approve is toggled on to retroactively approve.
37
+ */
38
+ checkAndEmitPendingApproval(): void;
39
+ getServerSummary(tmuxSessions?: Array<{
40
+ name: string;
41
+ workingDir?: string;
42
+ }>): Promise<{
43
+ sessions: Array<{
44
+ id: string;
45
+ name: string;
46
+ projectPath: string;
47
+ status: 'idle' | 'working' | 'waiting' | 'error';
48
+ lastActivity: number;
49
+ currentActivity?: string;
50
+ taskSummary?: {
51
+ total: number;
52
+ pending: number;
53
+ inProgress: number;
54
+ completed: number;
55
+ activeTask?: string;
56
+ };
57
+ }>;
58
+ totalSessions: number;
59
+ waitingCount: number;
60
+ workingCount: number;
61
+ }>;
62
+ }
63
+ //# sourceMappingURL=watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"watcher.d.ts","sourceRoot":"","sources":["../src/watcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyB5F,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAO;gBAE9B,QAAQ,EAAE,MAAM;IAQtB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkDvC,OAAO,CAAC,iBAAiB;IAczB,KAAK,IAAI,IAAI;IAgCb,IAAI,IAAI,IAAI;IAYZ,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,iBAAiB;IAgLzB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,eAAe;IA8CvB,OAAO,CAAC,iBAAiB;IAazB,qBAAqB,IAAI,gBAAgB,GAAG,IAAI;IAYhD,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAYtD,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa;IAkC5C,WAAW,IAAI,WAAW,EAAE;IAqB5B,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAInC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IA+B5C,kBAAkB,IAAI,IAAI;IAqB1B,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,2BAA2B,IAAI,IAAI;IAkB7B,gBAAgB,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC;QAC3F,QAAQ,EAAE,KAAK,CAAC;YACd,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,EAAE,MAAM,CAAC;YACpB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;YACjD,YAAY,EAAE,MAAM,CAAC;YACrB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE;gBACZ,KAAK,EAAE,MAAM,CAAC;gBACd,OAAO,EAAE,MAAM,CAAC;gBAChB,UAAU,EAAE,MAAM,CAAC;gBACnB,SAAS,EAAE,MAAM,CAAC;gBAClB,UAAU,CAAC,EAAE,MAAM,CAAC;aACrB,CAAC;SACH,CAAC,CAAC;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CAwEH"}