funolio-agent 1.0.75 → 1.1.65

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 (236) hide show
  1. package/dist/auth/credential-reader.d.ts.map +1 -1
  2. package/dist/auth/credential-reader.js +4 -3
  3. package/dist/auth/credential-reader.js.map +1 -1
  4. package/dist/auth/token-refresh.d.ts +8 -0
  5. package/dist/auth/token-refresh.d.ts.map +1 -1
  6. package/dist/auth/token-refresh.js +82 -52
  7. package/dist/auth/token-refresh.js.map +1 -1
  8. package/dist/auto-organizer.d.ts.map +1 -1
  9. package/dist/auto-organizer.js +6 -7
  10. package/dist/auto-organizer.js.map +1 -1
  11. package/dist/bench-prefix.d.ts +16 -0
  12. package/dist/bench-prefix.d.ts.map +1 -0
  13. package/dist/bench-prefix.js +25 -0
  14. package/dist/bench-prefix.js.map +1 -0
  15. package/dist/bot-manager.d.ts.map +1 -1
  16. package/dist/bot-manager.js +23 -14
  17. package/dist/bot-manager.js.map +1 -1
  18. package/dist/chat-sync.d.ts +42 -0
  19. package/dist/chat-sync.d.ts.map +1 -0
  20. package/dist/chat-sync.js +95 -0
  21. package/dist/chat-sync.js.map +1 -0
  22. package/dist/clerk-model.d.ts +7 -0
  23. package/dist/clerk-model.d.ts.map +1 -1
  24. package/dist/clerk-model.js +42 -8
  25. package/dist/clerk-model.js.map +1 -1
  26. package/dist/cli-bootstrap-history.d.ts +10 -0
  27. package/dist/cli-bootstrap-history.d.ts.map +1 -0
  28. package/dist/cli-bootstrap-history.js +112 -0
  29. package/dist/cli-bootstrap-history.js.map +1 -0
  30. package/dist/cli-models.d.ts +8 -0
  31. package/dist/cli-models.d.ts.map +1 -0
  32. package/dist/cli-models.js +91 -0
  33. package/dist/cli-models.js.map +1 -0
  34. package/dist/cli-session-epoch.d.ts +13 -3
  35. package/dist/cli-session-epoch.d.ts.map +1 -1
  36. package/dist/cli-session-epoch.js +53 -4
  37. package/dist/cli-session-epoch.js.map +1 -1
  38. package/dist/codex-app-server-manager.d.ts +64 -4
  39. package/dist/codex-app-server-manager.d.ts.map +1 -1
  40. package/dist/codex-app-server-manager.js +755 -55
  41. package/dist/codex-app-server-manager.js.map +1 -1
  42. package/dist/commands/pool.d.ts +32 -0
  43. package/dist/commands/pool.d.ts.map +1 -1
  44. package/dist/commands/pool.js +145 -66
  45. package/dist/commands/pool.js.map +1 -1
  46. package/dist/commands/start.d.ts +21 -0
  47. package/dist/commands/start.d.ts.map +1 -1
  48. package/dist/commands/start.js +484 -63
  49. package/dist/commands/start.js.map +1 -1
  50. package/dist/commands/status.d.ts.map +1 -1
  51. package/dist/commands/status.js +5 -2
  52. package/dist/commands/status.js.map +1 -1
  53. package/dist/config.d.ts +1 -0
  54. package/dist/config.d.ts.map +1 -1
  55. package/dist/config.js +170 -58
  56. package/dist/config.js.map +1 -1
  57. package/dist/context-window.d.ts +37 -1
  58. package/dist/context-window.d.ts.map +1 -1
  59. package/dist/context-window.js +202 -16
  60. package/dist/context-window.js.map +1 -1
  61. package/dist/live-activity.d.ts +3 -1
  62. package/dist/live-activity.d.ts.map +1 -1
  63. package/dist/live-activity.js.map +1 -1
  64. package/dist/local-chat-execution.d.ts +114 -0
  65. package/dist/local-chat-execution.d.ts.map +1 -0
  66. package/dist/local-chat-execution.js +349 -0
  67. package/dist/local-chat-execution.js.map +1 -0
  68. package/dist/local-cli-pty-manager.d.ts +138 -3
  69. package/dist/local-cli-pty-manager.d.ts.map +1 -1
  70. package/dist/local-cli-pty-manager.js +1415 -111
  71. package/dist/local-cli-pty-manager.js.map +1 -1
  72. package/dist/local-conversation-gateway.d.ts +110 -0
  73. package/dist/local-conversation-gateway.d.ts.map +1 -0
  74. package/dist/local-conversation-gateway.js +175 -0
  75. package/dist/local-conversation-gateway.js.map +1 -0
  76. package/dist/local-data.d.ts +235 -5
  77. package/dist/local-data.d.ts.map +1 -1
  78. package/dist/local-data.js +1066 -87
  79. package/dist/local-data.js.map +1 -1
  80. package/dist/local-db.d.ts +6 -0
  81. package/dist/local-db.d.ts.map +1 -1
  82. package/dist/local-db.js +376 -4
  83. package/dist/local-db.js.map +1 -1
  84. package/dist/local-funnel.d.ts.map +1 -1
  85. package/dist/local-funnel.js +6 -5
  86. package/dist/local-funnel.js.map +1 -1
  87. package/dist/local-server.d.ts +30 -0
  88. package/dist/local-server.d.ts.map +1 -1
  89. package/dist/local-server.js +2898 -319
  90. package/dist/local-server.js.map +1 -1
  91. package/dist/managed-process-registry.d.ts +59 -0
  92. package/dist/managed-process-registry.d.ts.map +1 -0
  93. package/dist/managed-process-registry.js +390 -0
  94. package/dist/managed-process-registry.js.map +1 -0
  95. package/dist/mcp/claude-config-writer.d.ts +5 -5
  96. package/dist/mcp/claude-config-writer.d.ts.map +1 -1
  97. package/dist/mcp/claude-config-writer.js +19 -11
  98. package/dist/mcp/claude-config-writer.js.map +1 -1
  99. package/dist/mcp/index.d.ts +4 -2
  100. package/dist/mcp/index.d.ts.map +1 -1
  101. package/dist/mcp/index.js.map +1 -1
  102. package/dist/mcp/sync-cli-config.d.ts +42 -4
  103. package/dist/mcp/sync-cli-config.d.ts.map +1 -1
  104. package/dist/mcp/sync-cli-config.js +497 -17
  105. package/dist/mcp/sync-cli-config.js.map +1 -1
  106. package/dist/message-loop.d.ts.map +1 -1
  107. package/dist/message-loop.js +43 -1
  108. package/dist/message-loop.js.map +1 -1
  109. package/dist/mqtt-client.d.ts +34 -0
  110. package/dist/mqtt-client.d.ts.map +1 -1
  111. package/dist/mqtt-client.js +270 -45
  112. package/dist/mqtt-client.js.map +1 -1
  113. package/dist/mqtt-data-relay.d.ts +44 -0
  114. package/dist/mqtt-data-relay.d.ts.map +1 -0
  115. package/dist/mqtt-data-relay.js +106 -0
  116. package/dist/mqtt-data-relay.js.map +1 -0
  117. package/dist/orchestration/capabilities.d.ts +13 -0
  118. package/dist/orchestration/capabilities.d.ts.map +1 -0
  119. package/dist/orchestration/capabilities.js +152 -0
  120. package/dist/orchestration/capabilities.js.map +1 -0
  121. package/dist/orchestration/dispatch-executor.d.ts +83 -0
  122. package/dist/orchestration/dispatch-executor.d.ts.map +1 -0
  123. package/dist/orchestration/dispatch-executor.js +266 -0
  124. package/dist/orchestration/dispatch-executor.js.map +1 -0
  125. package/dist/orchestration/dispatch-hint.d.ts +134 -0
  126. package/dist/orchestration/dispatch-hint.d.ts.map +1 -0
  127. package/dist/orchestration/dispatch-hint.js +247 -0
  128. package/dist/orchestration/dispatch-hint.js.map +1 -0
  129. package/dist/orchestration/dispatch-runner.d.ts +106 -0
  130. package/dist/orchestration/dispatch-runner.d.ts.map +1 -0
  131. package/dist/orchestration/dispatch-runner.js +604 -0
  132. package/dist/orchestration/dispatch-runner.js.map +1 -0
  133. package/dist/orchestration/dispatch-tools.d.ts +167 -0
  134. package/dist/orchestration/dispatch-tools.d.ts.map +1 -0
  135. package/dist/orchestration/dispatch-tools.js +328 -0
  136. package/dist/orchestration/dispatch-tools.js.map +1 -0
  137. package/dist/orchestration/front-door-policy.d.ts +35 -10
  138. package/dist/orchestration/front-door-policy.d.ts.map +1 -1
  139. package/dist/orchestration/front-door-policy.js +30 -267
  140. package/dist/orchestration/front-door-policy.js.map +1 -1
  141. package/dist/orchestration/orchestrator-dispatch-prompt.d.ts +43 -0
  142. package/dist/orchestration/orchestrator-dispatch-prompt.d.ts.map +1 -0
  143. package/dist/orchestration/orchestrator-dispatch-prompt.js +267 -0
  144. package/dist/orchestration/orchestrator-dispatch-prompt.js.map +1 -0
  145. package/dist/orchestration/orchestrator-operating-prompt.d.ts +14 -0
  146. package/dist/orchestration/orchestrator-operating-prompt.d.ts.map +1 -1
  147. package/dist/orchestration/orchestrator-operating-prompt.js +157 -31
  148. package/dist/orchestration/orchestrator-operating-prompt.js.map +1 -1
  149. package/dist/orchestration/plan-import.d.ts +39 -0
  150. package/dist/orchestration/plan-import.d.ts.map +1 -0
  151. package/dist/orchestration/plan-import.js +547 -0
  152. package/dist/orchestration/plan-import.js.map +1 -0
  153. package/dist/orchestration/worker-operating-prompt.d.ts +2 -0
  154. package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -1
  155. package/dist/orchestration/worker-operating-prompt.js +36 -46
  156. package/dist/orchestration/worker-operating-prompt.js.map +1 -1
  157. package/dist/orchestrator.d.ts +195 -3
  158. package/dist/orchestrator.d.ts.map +1 -1
  159. package/dist/orchestrator.js +1970 -432
  160. package/dist/orchestrator.js.map +1 -1
  161. package/dist/providers/anthropic.d.ts.map +1 -1
  162. package/dist/providers/anthropic.js +8 -4
  163. package/dist/providers/anthropic.js.map +1 -1
  164. package/dist/providers/claude-cli.d.ts.map +1 -1
  165. package/dist/providers/claude-cli.js +28 -3
  166. package/dist/providers/claude-cli.js.map +1 -1
  167. package/dist/providers/codex-cli.d.ts +10 -6
  168. package/dist/providers/codex-cli.d.ts.map +1 -1
  169. package/dist/providers/codex-cli.js +190 -17
  170. package/dist/providers/codex-cli.js.map +1 -1
  171. package/dist/providers/google.d.ts.map +1 -1
  172. package/dist/providers/google.js +15 -5
  173. package/dist/providers/google.js.map +1 -1
  174. package/dist/providers/index.d.ts +15 -1
  175. package/dist/providers/index.d.ts.map +1 -1
  176. package/dist/providers/index.js.map +1 -1
  177. package/dist/providers/openai.d.ts +1 -1
  178. package/dist/providers/openai.d.ts.map +1 -1
  179. package/dist/providers/openai.js +13 -5
  180. package/dist/providers/openai.js.map +1 -1
  181. package/dist/server-adapter.d.ts +8 -0
  182. package/dist/server-adapter.d.ts.map +1 -1
  183. package/dist/server-adapter.js +7 -0
  184. package/dist/server-adapter.js.map +1 -1
  185. package/dist/service-mode.d.ts +1 -1
  186. package/dist/service-mode.d.ts.map +1 -1
  187. package/dist/service-mode.js +64 -1
  188. package/dist/service-mode.js.map +1 -1
  189. package/dist/service-setup-only.d.ts +8 -0
  190. package/dist/service-setup-only.d.ts.map +1 -0
  191. package/dist/service-setup-only.js +37 -0
  192. package/dist/service-setup-only.js.map +1 -0
  193. package/dist/slash-commands.d.ts +21 -0
  194. package/dist/slash-commands.d.ts.map +1 -0
  195. package/dist/slash-commands.js +99 -0
  196. package/dist/slash-commands.js.map +1 -0
  197. package/dist/subagent/index.d.ts +4 -2
  198. package/dist/subagent/index.d.ts.map +1 -1
  199. package/dist/subagent/index.js.map +1 -1
  200. package/dist/summarization-pipeline.d.ts.map +1 -1
  201. package/dist/summarization-pipeline.js +1 -9
  202. package/dist/summarization-pipeline.js.map +1 -1
  203. package/dist/token-counter.d.ts.map +1 -1
  204. package/dist/token-counter.js +11 -4
  205. package/dist/token-counter.js.map +1 -1
  206. package/dist/tool-filter.d.ts.map +1 -1
  207. package/dist/tool-filter.js +10 -6
  208. package/dist/tool-filter.js.map +1 -1
  209. package/dist/tools/admin-tools.d.ts.map +1 -1
  210. package/dist/tools/admin-tools.js +13 -4
  211. package/dist/tools/admin-tools.js.map +1 -1
  212. package/dist/tools/run-command.d.ts.map +1 -1
  213. package/dist/tools/run-command.js +5 -1
  214. package/dist/tools/run-command.js.map +1 -1
  215. package/dist/tools/search-conversation-history.d.ts.map +1 -1
  216. package/dist/tools/search-conversation-history.js +12 -2
  217. package/dist/tools/search-conversation-history.js.map +1 -1
  218. package/dist/tools/todo-tasks.d.ts.map +1 -1
  219. package/dist/tools/todo-tasks.js +77 -5
  220. package/dist/tools/todo-tasks.js.map +1 -1
  221. package/dist/usage-log.d.ts +62 -0
  222. package/dist/usage-log.d.ts.map +1 -0
  223. package/dist/usage-log.js +98 -0
  224. package/dist/usage-log.js.map +1 -0
  225. package/dist/wizard-state.d.ts +13 -0
  226. package/dist/wizard-state.d.ts.map +1 -1
  227. package/dist/wizard-state.js +61 -3
  228. package/dist/wizard-state.js.map +1 -1
  229. package/dist/wizard-support.d.ts.map +1 -1
  230. package/dist/wizard-support.js +27 -1
  231. package/dist/wizard-support.js.map +1 -1
  232. package/dist/workflow-engine.d.ts +40 -1
  233. package/dist/workflow-engine.d.ts.map +1 -1
  234. package/dist/workflow-engine.js +753 -93
  235. package/dist/workflow-engine.js.map +1 -1
  236. package/package.json +2 -2
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.LocalChatExecution = void 0;
37
+ const data = __importStar(require("./local-data"));
38
+ const context_window_1 = require("./context-window");
39
+ const chat_sync_1 = require("./chat-sync");
40
+ // ---------------------------------------------------------------------------
41
+ // Helpers
42
+ // ---------------------------------------------------------------------------
43
+ function localTimestamp() {
44
+ return new Date().toISOString().replace('T', ' ').replace('Z', '');
45
+ }
46
+ function parseChatAttachmentInputs(raw) {
47
+ if (!Array.isArray(raw))
48
+ return [];
49
+ return raw.flatMap((entry) => {
50
+ const filename = String(entry?.filename || '').trim();
51
+ const mimeType = String(entry?.mimeType || entry?.mime_type || '').trim();
52
+ const dataUrl = typeof entry?.dataUrl === 'string'
53
+ ? entry.dataUrl
54
+ : typeof entry?.data_url === 'string'
55
+ ? entry.data_url
56
+ : undefined;
57
+ const sizeBytes = Number(entry?.sizeBytes ?? entry?.size_bytes ?? 0);
58
+ if (!filename || !mimeType || !Number.isFinite(sizeBytes) || sizeBytes < 0)
59
+ return [];
60
+ return [{ id: typeof entry?.id === 'string' ? entry.id : undefined, filename, mimeType, sizeBytes, dataUrl }];
61
+ });
62
+ }
63
+ function toJobStatus(raw) {
64
+ return raw;
65
+ }
66
+ function normalizeRequestedBotIds(botId, botIds) {
67
+ const ordered = [
68
+ typeof botId === 'string' ? botId : '',
69
+ ...(Array.isArray(botIds) ? botIds : []),
70
+ ];
71
+ const seen = new Set();
72
+ const normalized = [];
73
+ for (const value of ordered) {
74
+ const id = String(value || '').trim();
75
+ if (!id || seen.has(id))
76
+ continue;
77
+ seen.add(id);
78
+ normalized.push(id);
79
+ }
80
+ return normalized;
81
+ }
82
+ function normalizeOrchestrationEnabled(params) {
83
+ if (typeof params.orchestrationEnabled === 'boolean')
84
+ return params.orchestrationEnabled;
85
+ if (typeof params.orchestrate === 'boolean')
86
+ return params.orchestrate;
87
+ return true;
88
+ }
89
+ function getJobOutput(job) {
90
+ if (!job.assistant_message_id)
91
+ return undefined;
92
+ const msg = data.getMessage(job.assistant_message_id);
93
+ const content = typeof msg?.content === 'string' ? msg.content.trim() : '';
94
+ if (!content)
95
+ return undefined;
96
+ if (job.status === 'completed') {
97
+ return { content };
98
+ }
99
+ if (job.status === 'failed' || job.status === 'cancelled' || job.status === 'interrupted') {
100
+ return { partialContent: content };
101
+ }
102
+ return undefined;
103
+ }
104
+ // ---------------------------------------------------------------------------
105
+ // Implementation
106
+ // ---------------------------------------------------------------------------
107
+ class LocalChatExecution {
108
+ deps;
109
+ constructor(deps) {
110
+ this.deps = deps;
111
+ }
112
+ async createJob(params) {
113
+ const { message, conversationId, botId, botIds, attachments, pinnedMessageIds, topicId, projectId, } = params;
114
+ if (!message || !String(message).trim()) {
115
+ throw new Error('message is required');
116
+ }
117
+ const requestedBotIds = normalizeRequestedBotIds(botId, botIds);
118
+ const requestedPrimaryBotId = requestedBotIds[0];
119
+ const primaryProfile = requestedPrimaryBotId
120
+ ? data.getAgentProfile(requestedPrimaryBotId)
121
+ : data.getDefaultAgentProfile();
122
+ if (!primaryProfile) {
123
+ throw new Error('No bot configured. Create one first.');
124
+ }
125
+ const targetProfiles = requestedBotIds.length > 0
126
+ ? requestedBotIds.map((id) => data.getAgentProfile(id)).filter(Boolean)
127
+ : [primaryProfile];
128
+ if (requestedBotIds.length > 0 && targetProfiles.length !== requestedBotIds.length) {
129
+ throw new Error('One or more requested bots were not found.');
130
+ }
131
+ const orchestrationEnabled = normalizeOrchestrationEnabled(params);
132
+ const useSplitMultiBotJobs = targetProfiles.length > 1 && orchestrationEnabled === false;
133
+ const incomingAttachments = parseChatAttachmentInputs(attachments);
134
+ const createdConversation = !conversationId;
135
+ let convId = conversationId ? String(conversationId) : '';
136
+ if (convId) {
137
+ for (const targetProfile of targetProfiles) {
138
+ const latestJob = data.getLatestConversationBotChatJob(convId, targetProfile.id);
139
+ if (latestJob && (latestJob.status === 'queued' || latestJob.status === 'running')) {
140
+ throw new Error('This bot already has a pending response in this conversation.');
141
+ }
142
+ }
143
+ }
144
+ if (!convId) {
145
+ let topicProjectId = null;
146
+ if (topicId) {
147
+ const topic = data.getTopic(String(topicId));
148
+ topicProjectId = topic?.project_id ?? null;
149
+ }
150
+ const requestedProjectId = (projectId ? String(projectId) : null) || topicProjectId;
151
+ const conv = data.createConversation(primaryProfile.id, '', 'local', {
152
+ projectId: requestedProjectId,
153
+ botIds: requestedBotIds.length > 0 ? requestedBotIds : [primaryProfile.id],
154
+ initialBotId: primaryProfile.id,
155
+ });
156
+ convId = conv.id;
157
+ }
158
+ if (convId) {
159
+ data.syncConversationParticipants(convId, requestedBotIds.length > 0 ? requestedBotIds : [primaryProfile.id], { initialBotId: primaryProfile.id, replace: true });
160
+ }
161
+ if (topicId && convId) {
162
+ try {
163
+ data.upsertConversationTopicSegment(convId, String(topicId));
164
+ }
165
+ catch { /* best effort */ }
166
+ }
167
+ if (!topicId && projectId && convId) {
168
+ const selectedProject = data.getProject(String(projectId));
169
+ if (selectedProject) {
170
+ data.updateConversation(convId, {
171
+ projectId: selectedProject.id,
172
+ projectName: selectedProject.name,
173
+ });
174
+ }
175
+ }
176
+ const persistedAttachments = incomingAttachments.length > 0 && this.deps.persistInlineAttachments
177
+ ? this.deps.persistInlineAttachments(convId, incomingAttachments)
178
+ : [];
179
+ const savedUserMessage = data.addMessage(convId, 'user', String(message), undefined, undefined, undefined, undefined, undefined, persistedAttachments.length > 0 ? JSON.stringify(persistedAttachments) : null);
180
+ (0, context_window_1.incrementTurnCount)(convId);
181
+ const conv = data.getConversation(convId);
182
+ if (conv && !conv.title?.trim() && (conv.turn_count || 0) <= 1) {
183
+ const shortTitle = String(message).slice(0, 60).replace(/\n/g, ' ').trim();
184
+ data.updateConversation(convId, { title: shortTitle || 'New Chat' });
185
+ }
186
+ const jobProfiles = useSplitMultiBotJobs ? targetProfiles : [primaryProfile];
187
+ const jobs = jobProfiles.map((targetProfile) => {
188
+ const assistantMessage = data.addMessage(convId, 'assistant', '', targetProfile.model || undefined, undefined, targetProfile.id, targetProfile.name);
189
+ const job = data.createChatJob({
190
+ conversationId: convId,
191
+ userMessageId: savedUserMessage.id,
192
+ assistantMessageId: assistantMessage.id,
193
+ botId: targetProfile.id,
194
+ status: 'queued',
195
+ requestJson: JSON.stringify({
196
+ pinnedMessageIds: Array.isArray(pinnedMessageIds) ? pinnedMessageIds : [],
197
+ attachments: incomingAttachments.length > 0 ? incomingAttachments : null,
198
+ topicId: topicId ? String(topicId) : null,
199
+ projectId: projectId ? String(projectId) : null,
200
+ orchestrationEnabled: orchestrationEnabled !== false,
201
+ botIds: requestedBotIds.length > 0 ? requestedBotIds : [primaryProfile.id],
202
+ }),
203
+ });
204
+ return {
205
+ id: job.id,
206
+ botId: job.bot_id,
207
+ status: toJobStatus(job.status),
208
+ assistantMessageId: assistantMessage.id,
209
+ };
210
+ });
211
+ const syncRevision = data.bumpConversationSyncRevision(convId, localTimestamp());
212
+ if (createdConversation) {
213
+ (0, chat_sync_1.emitChatSyncEvent)({
214
+ change: 'conversation.created',
215
+ conversationId: convId,
216
+ revision: syncRevision,
217
+ });
218
+ }
219
+ (0, chat_sync_1.emitChatSyncEvent)({
220
+ change: 'message.created',
221
+ conversationId: convId,
222
+ messageId: savedUserMessage.id,
223
+ revision: syncRevision,
224
+ });
225
+ for (const job of jobs) {
226
+ (0, chat_sync_1.emitChatSyncEvent)({
227
+ change: 'message.created',
228
+ conversationId: convId,
229
+ messageId: job.assistantMessageId,
230
+ revision: syncRevision,
231
+ });
232
+ (0, chat_sync_1.emitChatSyncEvent)({
233
+ change: 'job.created',
234
+ conversationId: convId,
235
+ jobId: job.id,
236
+ jobStatus: job.status,
237
+ revision: syncRevision,
238
+ });
239
+ }
240
+ this.deps.runQueuedChatJobs();
241
+ return {
242
+ conversationId: convId,
243
+ jobs: jobs.map(({ assistantMessageId: _assistantMessageId, ...job }) => job),
244
+ };
245
+ }
246
+ async listJobs(conversationId) {
247
+ const thirtyMinAgo = new Date(Date.now() - 30 * 60 * 1000)
248
+ .toISOString()
249
+ .replace('T', ' ')
250
+ .replace('Z', '');
251
+ const rows = data.getDb().prepare(`
252
+ SELECT id, bot_id, status, error, created_at, completed_at
253
+ FROM chat_job
254
+ WHERE conversation_id = ?
255
+ AND status IN ('pending', 'queued', 'running', 'completed', 'failed')
256
+ AND datetime(created_at) >= datetime(?)
257
+ ORDER BY datetime(created_at) DESC
258
+ `).all(conversationId, thirtyMinAgo);
259
+ return {
260
+ jobs: rows.map((row) => ({
261
+ id: row.id,
262
+ botId: row.bot_id,
263
+ status: toJobStatus(row.status),
264
+ error: row.error,
265
+ createdAt: row.created_at,
266
+ completedAt: row.completed_at,
267
+ })),
268
+ };
269
+ }
270
+ async *streamJob(jobId) {
271
+ const POLL_INTERVAL_MS = 500;
272
+ const MAX_POLLS = 600; // 5 minutes max
273
+ const streamId = `local-${jobId}`;
274
+ let seq = 0;
275
+ let lastStatus;
276
+ for (let i = 0; i < MAX_POLLS; i++) {
277
+ const job = data.getChatJob(jobId);
278
+ if (!job) {
279
+ yield { type: 'error', rawType: 'error', error: 'Job not found', seq: ++seq, streamId };
280
+ return;
281
+ }
282
+ if (job.status !== lastStatus) {
283
+ lastStatus = job.status;
284
+ yield { type: 'status', rawType: 'status', jobId: job.id, status: job.status, seq: ++seq, streamId, ts: job.updated_at };
285
+ }
286
+ if (job.status === 'completed') {
287
+ const msg = data.getMessage(job.assistant_message_id);
288
+ if (msg?.content) {
289
+ yield { type: 'text', rawType: 'text', text: msg.content, seq: ++seq, streamId };
290
+ }
291
+ yield { type: 'done', rawType: 'done', jobId: job.id, seq: ++seq, streamId, ts: job.completed_at || job.updated_at };
292
+ return;
293
+ }
294
+ if (job.status === 'failed') {
295
+ yield { type: 'error', rawType: 'error', error: job.error || 'Job failed', seq: ++seq, streamId, ts: job.completed_at || job.updated_at };
296
+ return;
297
+ }
298
+ if (job.status === 'cancelled') {
299
+ yield { type: 'cancelled', rawType: 'cancelled', jobId: job.id, seq: ++seq, streamId, ts: job.cancelled_at || job.updated_at };
300
+ return;
301
+ }
302
+ await new Promise((resolve) => setTimeout(resolve, POLL_INTERVAL_MS));
303
+ }
304
+ yield { type: 'error', rawType: 'error', error: 'Stream timed out', seq: ++seq, streamId };
305
+ }
306
+ async getJobStatus(jobId) {
307
+ const job = data.getChatJob(jobId);
308
+ if (!job) {
309
+ throw new Error('Job not found');
310
+ }
311
+ return {
312
+ id: job.id,
313
+ botId: job.bot_id,
314
+ conversationId: job.conversation_id,
315
+ status: toJobStatus(job.status),
316
+ output: getJobOutput(job),
317
+ error: job.error,
318
+ createdAt: job.created_at,
319
+ startedAt: job.started_at,
320
+ completedAt: job.completed_at,
321
+ };
322
+ }
323
+ async cancelJob(jobId) {
324
+ const job = data.getChatJob(jobId);
325
+ if (!job) {
326
+ throw new Error('Job not found');
327
+ }
328
+ if (job.status === 'completed' || job.status === 'failed' || job.status === 'cancelled') {
329
+ return { success: true };
330
+ }
331
+ const ts = localTimestamp();
332
+ data.updateChatJob(job.id, {
333
+ status: 'cancelled',
334
+ cancelledAt: ts,
335
+ completedAt: ts,
336
+ });
337
+ const controller = this.deps.runningChatJobControllers.get(job.id);
338
+ if (controller) {
339
+ controller.abort();
340
+ }
341
+ else {
342
+ this.deps.finalizeCancelledChatJobMessage(job);
343
+ data.touchConversationActivity(job.conversation_id);
344
+ }
345
+ return { success: true };
346
+ }
347
+ }
348
+ exports.LocalChatExecution = LocalChatExecution;
349
+ //# sourceMappingURL=local-chat-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-chat-execution.js","sourceRoot":"","sources":["../src/local-chat-execution.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,51 @@
1
1
  import type { LLMMessage } from './providers/index';
2
2
  import { LiveActivityEvent } from './live-activity';
3
3
  type CliProviderName = 'claude-cli' | 'codex-cli';
4
+ type CliWarmRequestRuntimeMode = 'local_desktop' | 'server';
4
5
  interface ProviderUsage {
5
6
  inputTokens: number;
6
7
  outputTokens: number;
8
+ inputTokensFresh?: number;
9
+ inputTokensCacheCreation?: number;
10
+ inputTokensCacheRead?: number;
11
+ }
12
+ export interface LocalCliPtyToolEvent {
13
+ kind: 'call' | 'result';
14
+ toolName: string;
15
+ toolCallId: string;
16
+ arguments?: Record<string, any>;
17
+ output?: string;
18
+ isError?: boolean;
7
19
  }
8
20
  export interface LocalCliPtyTurnOptions {
9
21
  conversationId: string;
10
22
  botId: string;
11
23
  provider: CliProviderName;
24
+ botSettings?: LocalCliPtyBotSettings | null;
12
25
  cwd: string;
13
26
  systemPrompt: string;
14
27
  messages: LLMMessage[];
28
+ toolActorId?: string;
29
+ toolProjectId?: string | number | null;
30
+ currentTodoTaskId?: string | number | null;
15
31
  forceFreshSession?: boolean;
16
32
  /** Session ID to resume (from epoch table). Used with --resume for existing sessions. */
17
33
  resumeSessionId?: string | null;
18
34
  /** For Pattern A providers: pre-generated session ID to use with --session-id for new sessions. */
19
35
  newSessionId?: string | null;
36
+ /** Windows-only override for node-pty backend selection. Defaults to ConPTY. */
37
+ useConpty?: boolean;
20
38
  timeoutMs?: number;
21
39
  abortSignal?: AbortSignal;
22
40
  onDetail?: (detail: string) => Promise<void> | void;
23
41
  onChunk?: (chunk: string) => Promise<void> | void;
24
42
  onRawChunk?: (chunk: string) => Promise<void> | void;
43
+ /**
44
+ * Structured tool call/result events from Claude PTY tool_use blocks.
45
+ * Emitted alongside onDetail, gives consumers a structured representation
46
+ * of tool usage instead of just textual __ACTIVITY__ markers.
47
+ */
48
+ onToolEvent?: (event: LocalCliPtyToolEvent) => Promise<void> | void;
25
49
  }
26
50
  export interface LocalCliPtyTurnResult {
27
51
  content: string;
@@ -29,8 +53,110 @@ export interface LocalCliPtyTurnResult {
29
53
  usage?: ProviderUsage;
30
54
  rawOutput: string;
31
55
  }
56
+ export interface LocalCliPtyPassthroughOptions {
57
+ conversationId: string;
58
+ botId: string;
59
+ provider: CliProviderName;
60
+ botSettings?: LocalCliPtyBotSettings | null;
61
+ cwd: string;
62
+ command: string;
63
+ toolActorId?: string;
64
+ toolProjectId?: string | number | null;
65
+ currentTodoTaskId?: string | number | null;
66
+ forceFreshSession?: boolean;
67
+ resumeSessionId?: string | null;
68
+ newSessionId?: string | null;
69
+ useConpty?: boolean;
70
+ timeoutMs?: number;
71
+ abortSignal?: AbortSignal;
72
+ onRawChunk?: (chunk: string) => Promise<void> | void;
73
+ }
74
+ export interface LocalCliPtyPassthroughResult {
75
+ content: string;
76
+ sessionId: string | null;
77
+ rawOutput: string;
78
+ }
79
+ export interface LocalCliPtyWarmOptions {
80
+ conversationId: string;
81
+ botId: string;
82
+ provider: CliProviderName;
83
+ botSettings?: LocalCliPtyBotSettings | null;
84
+ cwd: string;
85
+ toolActorId?: string;
86
+ toolProjectId?: string | number | null;
87
+ currentTodoTaskId?: string | number | null;
88
+ topicId?: string;
89
+ runtimeMode?: CliWarmRequestRuntimeMode;
90
+ resumeSessionId?: string | null;
91
+ newSessionId?: string | null;
92
+ useConpty?: boolean;
93
+ timeoutMs?: number;
94
+ }
95
+ export interface LocalCliPtyWarmResult {
96
+ sessionId: string | null;
97
+ reusedExistingSession: boolean;
98
+ readyAgeMs: number;
99
+ }
100
+ export interface LocalCliClaudePtySettings {
101
+ model?: string | null;
102
+ effortLevel?: string | null;
103
+ outputStyle?: string | null;
104
+ fastMode?: boolean | null;
105
+ permissionsJson?: string | null;
106
+ }
107
+ export interface LocalCliCodexPtySettings {
108
+ model?: string | null;
109
+ reasoningEffort?: string | null;
110
+ personality?: string | null;
111
+ serviceTier?: string | null;
112
+ sandboxPolicy?: string | null;
113
+ approvalPolicy?: string | null;
114
+ }
115
+ export interface LocalCliPtyBotSettings {
116
+ claude?: LocalCliClaudePtySettings | null;
117
+ codex?: LocalCliCodexPtySettings | null;
118
+ }
119
+ export declare function detectCliInteractiveAuthFailureForTest(provider: CliProviderName, ...terminalOutputs: Array<string | null | undefined>): {
120
+ message: string;
121
+ detail: string;
122
+ providerId: string;
123
+ cli: 'claude' | 'codex';
124
+ } | null;
125
+ export declare function normalizeClaudeFreshSessionAuthErrorForTest(err: unknown): {
126
+ message: string;
127
+ providerId: string;
128
+ cli: 'claude' | 'codex';
129
+ } | null;
130
+ export declare function shouldResetClaudeSessionForAuthChangeForTest(provider: CliProviderName, storedFingerprint: string | null, currentFingerprint: string | null): boolean;
131
+ export declare function shouldRecycleClaudeSessionForFreshAuthForTest(input: {
132
+ provider: CliProviderName;
133
+ closed?: boolean;
134
+ hasActiveTurn?: boolean;
135
+ hasWarmPromise?: boolean;
136
+ hasWarmReadyAtMs?: boolean;
137
+ }): boolean;
138
+ export declare function resolveClaudeLaunchSessionIdsForTest(resumeSessionId: string | null | undefined, newSessionId: string | null | undefined): {
139
+ resumeSessionId: string | null;
140
+ newSessionId: string | null;
141
+ knownSessionId: string | null;
142
+ };
143
+ export declare function shouldContinueWaitingForFreshClaudeSessionForTest(input: {
144
+ nowMs: number;
145
+ startedAtMs: number;
146
+ sessionClosed?: boolean;
147
+ readyResolved?: boolean;
148
+ lastDataAtMs?: number;
149
+ lastMeaningfulPtyDataAtMs?: number;
150
+ }): boolean;
151
+ export declare function buildTurnPromptForTest(provider: CliProviderName, systemPrompt: string, messages: LLMMessage[], freshSession: boolean, cwd?: string): string;
152
+ export declare function shouldIgnoreClaudeRecordForCurrentTurnForTest(turnStartedAtMs: number, expectedUserPrompt: string, sawCurrentTurnUserRecord: boolean, record: any): {
153
+ ignore: boolean;
154
+ sawCurrentTurnUserRecord: boolean;
155
+ };
32
156
  export declare function stripAnsi(text: string): string;
33
157
  export declare function resolveConptyOverwrites(text: string): string;
158
+ export declare function getProviderSessionRootForTest(provider: CliProviderName, cliHomeDir?: string): string;
159
+ export declare function emitAssistantChunkSequenceForTest(chunks: string[]): Promise<string[]>;
34
160
  export declare function parseClaudeSessionRecord(record: any): {
35
161
  sessionId?: string;
36
162
  detail?: string;
@@ -53,16 +179,25 @@ export declare function parseCodexSessionRecord(record: any): {
53
179
  openedToolUseIds?: string[];
54
180
  resolvedToolUseIds?: string[];
55
181
  };
182
+ export declare function trimPassthroughSlashChromeForTest(command: string, rawText: string): string;
183
+ export declare function finalizePassthroughContentForTest(command: string, visibleOutput: string, rawOutput: string): string;
56
184
  export declare class LocalCliPtySessionManager {
57
185
  private sessions;
58
- private reaperTimer;
59
- constructor();
60
- private reapIdleSessions;
186
+ warmSession(opts: LocalCliPtyWarmOptions): Promise<LocalCliPtyWarmResult>;
61
187
  runTurn(opts: LocalCliPtyTurnOptions): Promise<LocalCliPtyTurnResult>;
188
+ runPassthroughCommand(opts: LocalCliPtyPassthroughOptions): Promise<LocalCliPtyPassthroughResult>;
189
+ hasActiveSession(conversationId: string, botId: string): boolean;
62
190
  closeSessionByConversation(conversationId: string, botId: string): void;
191
+ logSessionFailureByConversation(conversationId: string, botId: string, context: string, error?: any): void;
192
+ closeSessionsByConversation(conversationId: string): number;
193
+ closeWarmSessionsByConversation(conversationId: string): number;
194
+ closeIdleClaudeSessions(): number;
195
+ closeSessionsByBotId(botId: string): void;
63
196
  closeAll(): void;
64
197
  private closeSession;
198
+ closeSessionByKey(key: string): void;
65
199
  private createSession;
200
+ private runPassthroughInternal;
66
201
  private runTurnInternal;
67
202
  private consumeSessionFile;
68
203
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"local-cli-pty-manager.d.ts","sourceRoot":"","sources":["../src/local-cli-pty-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-cli-pty-manager.d.ts","sourceRoot":"","sources":["../src/local-cli-pty-manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAA+C,MAAM,iBAAiB,CAAC;AAwBjG,KAAK,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC;AAClD,KAAK,yBAAyB,GAAG,eAAe,GAAG,QAAQ,CAAC;AAY5D,UAAU,aAAa;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IAOrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AA6FD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mGAAmG;IACnG,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACrD;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACrE;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;IAC1B,WAAW,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACzC;AA+FD,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,eAAe,EACzB,GAAG,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GACnD;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,CAEzF;AA0CD,wBAAgB,2CAA2C,CAAC,GAAG,EAAE,OAAO,GAAG;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC;CACzB,GAAG,IAAI,CAQP;AAmGD,wBAAgB,4CAA4C,CAC1D,QAAQ,EAAE,eAAe,EACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAChC,OAAO,CAET;AAED,wBAAgB,6CAA6C,CAAC,KAAK,EAAE;IACnE,QAAQ,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,OAAO,CAwCV;AAED,wBAAgB,oCAAoC,CAClD,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC1C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAEhG;AAwBD,wBAAgB,iDAAiD,CAAC,KAAK,EAAE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG,OAAO,CAeV;AA2SD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,OAAO,EACrB,GAAG,SAAM,GACR,MAAM,CAER;AAgED,wBAAgB,6CAA6C,CAC3D,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,MAAM,EAC1B,wBAAwB,EAAE,OAAO,EACjC,MAAM,EAAE,GAAG,GACV;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,wBAAwB,EAAE,OAAO,CAAA;CAAE,CAoBxD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM9C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB5D;AA0RD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEpG;AAkVD,wBAAsB,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqB3F;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAsJA;AAUD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,GAAG,GAAG;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B,CAkEA;AAsSD,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnH;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAmC;IAE7C,WAAW,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmHzE,OAAO,CAAC,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwIrE,qBAAqB,CAAC,IAAI,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAwDvG,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAKhE,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIvE,+BAA+B,CAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,GAAG,GACV,IAAI;IAiBP,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAY3D,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAY/D,uBAAuB,IAAI,MAAM;IAUjC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASzC,QAAQ,IAAI,IAAI;IAMhB,OAAO,CAAC,YAAY;IAiBpB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC,OAAO,CAAC,aAAa;YAqMP,sBAAsB;YAiFtB,eAAe;YA6Qf,kBAAkB;IA0ChC;;;;;OAKG;YACW,yBAAyB;YA8FzB,WAAW;CAyD1B;AAED,wBAAgB,4BAA4B,IAAI,yBAAyB,CAKxE;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC;IACzD,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CA2ED;AAED,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IACT,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAyCD;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,YAAY,SAAK,GAChB,OAAO,CAAC;IACT,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAwCD"}