funolio-agent 0.5.11 → 0.5.13
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-loop.d.ts","sourceRoot":"","sources":["../src/message-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAe,MAAM,eAAe,CAAC;AAI3E,OAAO,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAsB;gBAEjC,OAAO,EAAE,kBAAkB;IAUjC,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"message-loop.d.ts","sourceRoot":"","sources":["../src/message-loop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAe,MAAM,eAAe,CAAC;AAI3E,OAAO,EAAmB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,eAAe,CAAsB;gBAEjC,OAAO,EAAE,kBAAkB;IAUjC,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAwP3C,YAAY;IAS1B,yEAAyE;IACzE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAQjC"}
|
package/dist/message-loop.js
CHANGED
|
@@ -70,8 +70,7 @@ class MessageLoop {
|
|
|
70
70
|
let systemPrompt = command.context?.soulMd
|
|
71
71
|
|| this.options.systemPrompt
|
|
72
72
|
|| 'You are a Funolio AI agent running locally on the user\'s machine. You have access to their project files and can execute code.';
|
|
73
|
-
//
|
|
74
|
-
systemPrompt += '\n\nIMPORTANT: When the user references a project, topic, or past work, use the relevant memory/facts provided below. If no relevant facts are available, say so honestly rather than guessing. Use your tools (file browsing, commands) to find project files on the local machine.';
|
|
73
|
+
// --- Injected context (PRIMARY knowledge source) ---
|
|
75
74
|
// Inject bot profile memory if provided
|
|
76
75
|
if (command.context?.memoryMd) {
|
|
77
76
|
systemPrompt += '\n\n[Bot Memory]\n' + command.context.memoryMd;
|
|
@@ -94,14 +93,23 @@ class MessageLoop {
|
|
|
94
93
|
}
|
|
95
94
|
else if (command.context?.facts?.length) {
|
|
96
95
|
// Backward compatibility: flat facts array
|
|
97
|
-
systemPrompt += '\n\
|
|
96
|
+
systemPrompt += '\n\n[Memory Facts]\n' + command.context.facts.map(f => `- ${f}`).join('\n');
|
|
98
97
|
}
|
|
99
98
|
else {
|
|
100
|
-
systemPrompt += '\n\nNo relevant memories were found for this query.
|
|
99
|
+
systemPrompt += '\n\nNo relevant memories were found for this query.';
|
|
101
100
|
}
|
|
102
101
|
if (command.context?.files?.length) {
|
|
103
|
-
systemPrompt += '\n\
|
|
102
|
+
systemPrompt += '\n\n[Relevant Files]\n' + command.context.files.join(', ');
|
|
104
103
|
}
|
|
104
|
+
// --- Context priority rules & tool fallback (AFTER context) ---
|
|
105
|
+
systemPrompt += `\n\nCONTEXT PRIORITY RULES:
|
|
106
|
+
1. ALWAYS use the context provided above (decisions, memory facts, conversations) to answer questions about past work, decisions, or projects. This is your PRIMARY knowledge source — it comes from the user's stored conversation history.
|
|
107
|
+
2. Do NOT browse local files or run shell commands unless:
|
|
108
|
+
a. The provided context does not contain the answer, OR
|
|
109
|
+
b. The user explicitly asks you to look at local files or run a command, OR
|
|
110
|
+
c. The user asks about current runtime state (logs, running processes, file contents right now)
|
|
111
|
+
3. When you use provided context, briefly cite the source (e.g. "Based on your stored decisions..." or "From your conversation history...").
|
|
112
|
+
4. If no relevant context was provided AND the question is about past work/decisions, say "I don't have stored context about that topic yet" — don't guess or hallucinate.`;
|
|
105
113
|
// Add the current prompt
|
|
106
114
|
messages.push({ role: 'user', content: command.prompt });
|
|
107
115
|
// Agentic loop - keep calling LLM until no more tool calls
|
|
@@ -205,11 +213,14 @@ class MessageLoop {
|
|
|
205
213
|
// Continue the loop for the next LLM call
|
|
206
214
|
continue;
|
|
207
215
|
}
|
|
208
|
-
// No tool calls - final response
|
|
216
|
+
// No tool calls - final response.
|
|
217
|
+
// DEDUP FIX: Content was already streamed via onChunk callbacks above.
|
|
218
|
+
// The 'complete' message signals end-of-response; we send empty content
|
|
219
|
+
// to avoid the receiver concatenating streamed chunks + full content.
|
|
209
220
|
await this.options.mqttClient.publishResult({
|
|
210
221
|
commandId: command.id,
|
|
211
222
|
type: 'complete',
|
|
212
|
-
content:
|
|
223
|
+
content: '',
|
|
213
224
|
timestamp: Date.now(),
|
|
214
225
|
});
|
|
215
226
|
console.log(chalk_1.default.white(` Response: ${response.content?.slice(0, 200)}${(response.content?.length || 0) > 200 ? '...' : ''}`));
|
package/dist/message-loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-loop.js","sourceRoot":"","sources":["../src/message-loop.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"message-loop.js","sourceRoot":"","sources":["../src/message-loop.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,6CAA4G;AAC5G,mCAAqF;AAErF,yCAA6D;AAe7D,MAAa,WAAW;IACd,OAAO,CAAqB;IAC5B,WAAW,CAAc;IACzB,eAAe,GAAkB,IAAI,CAAC;IACtC,WAAW,CAAc;IACzB,eAAe,CAAsB;IAE7C,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,MAAM;YAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,eAAe,GAAG,IAAA,6BAAqB,GAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAqB;QACvC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;gBAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sBAAsB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEvF,+DAA+D;QAC/D,MAAM,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;QAChH,MAAM,GAAG,GAAG,WAAW;YACrB,CAAC,CAAC,IAAA,sBAAc,EAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAErB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,QAAQ,MAAM,KAAK,eAAe,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,MAAM,UAAU,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE/I,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,QAAQ,GAAiB,EAAE,CAAC;YAElC,oCAAoC;YACpC,IAAI,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAA4B,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM;mBACrC,IAAI,CAAC,OAAO,CAAC,YAAY;mBACzB,iIAAiI,CAAC;YAEvI,sDAAsD;YAEtD,wCAAwC;YACxC,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;gBAC9B,YAAY,IAAI,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;YAClE,CAAC;YAED,2EAA2E;YAC3E,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC;YAC9C,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC9G,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;oBACzB,YAAY,IAAI,uBAAuB,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;oBAC3B,YAAY,IAAI,sBAAsB,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxF,CAAC;gBACD,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;oBAC7B,YAAY,IAAI,gCAAgC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpG,CAAC;gBACD,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;oBACxB,YAAY,IAAI,yBAAyB,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC1C,2CAA2C;gBAC3C,YAAY,IAAI,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACN,YAAY,IAAI,qDAAqD,CAAC;YACxE,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBACnC,YAAY,IAAI,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9E,CAAC;YAED,iEAAiE;YACjE,YAAY,IAAI;;;;;;;2KAOqJ,CAAC;YAEtK,yBAAyB;YACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAEzD,2DAA2D;YAC3D,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,MAAM,cAAc,GAAG,EAAE,CAAC;YAE1B,OAAO,SAAS,GAAG,cAAc,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;gBACzE,SAAS,EAAE,CAAC;gBAEZ,oEAAoE;gBACpE,2DAA2D;gBAC3D,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;wBAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,MAAM;wBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC;oBAC9B,QAAQ;oBACR,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI,CAAC,eAAe;oBAC3B,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;wBAC/B,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC,EAAE;4BAAE,OAAO;wBAChD,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;4BAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;4BACrB,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,KAAK;4BACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACtB,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC,CAAC;gBAEH,8DAA8D;gBAC9D,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxD,mDAAmD;oBACnD,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;wBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;qBAC9B,CAAC,CAAC;oBAEH,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;wBAE9G,oCAAoC;wBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,WAAW,CAAC;wBAC5D,MAAM,QAAQ,GAAG,IAAA,0BAAe,EAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;wBAErF,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;4BACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oBAAoB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;4BAEjE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;gCAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;gCACrB,IAAI,EAAE,aAAa;gCACnB,UAAU,EAAE;oCACV,MAAM,EAAE,QAAQ,CAAC,EAAE;oCACnB,MAAM,EAAE,sBAAsB,QAAQ,CAAC,MAAM,EAAE;oCAC/C,OAAO,EAAE,IAAI;iCACd;gCACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;6BACtB,CAAC,CAAC;4BAEH,QAAQ,CAAC,IAAI,CAAC;gCACZ,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,sBAAsB,QAAQ,CAAC,MAAM,EAAE;gCAChD,UAAU,EAAE,QAAQ,CAAC,EAAE;gCACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;6BACxB,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;wBAED,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;4BAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;4BACrB,IAAI,EAAE,WAAW;4BACjB,QAAQ,EAAE;gCACR,EAAE,EAAE,QAAQ,CAAC,EAAE;gCACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gCACnB,SAAS,EAAE,QAAQ,CAAC,SAAS;6BAC9B;4BACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACtB,CAAC,CAAC;wBAEH,mBAAmB;wBACnB,MAAM,UAAU,GAAG,MAAM,IAAA,wBAAgB,EACvC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,EACvE,IAAI,CAAC,WAAW,CACjB,CAAC;wBAEF,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO;4BACrC,CAAC,CAAC,UAAU,CAAC,MAAM;4BACnB,CAAC,CAAC,UAAU,UAAU,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;wBAEpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;wBAEhJ,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;4BAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;4BACrB,IAAI,EAAE,aAAa;4BACnB,UAAU,EAAE;gCACV,MAAM,EAAE,QAAQ,CAAC,EAAE;gCACnB,MAAM,EAAE,YAAY;gCACpB,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO;6BAC7B;4BACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;yBACtB,CAAC,CAAC;wBAEH,+EAA+E;wBAC/E,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,YAAY;4BACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;4BACvB,QAAQ,EAAE,QAAQ,CAAC,IAAI;yBACxB,CAAC,CAAC;oBACL,CAAC;oBAED,0CAA0C;oBAC1C,SAAS;gBACX,CAAC;gBAED,kCAAkC;gBAClC,uEAAuE;gBACvE,wEAAwE;gBACxE,sEAAsE;gBACtE,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;oBAC1C,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAC;gBAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChI,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,SAAS,aAAa,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBACrG,MAAM;YACR,CAAC;YAED,IAAI,SAAS,IAAI,cAAc,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,cAAc,WAAW,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACrD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,KAAa;QACzD,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC;YAC1C,SAAS;YACT,IAAI,EAAE,OAAO;YACb,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;QAChC,mDAAmD;QACnD,IAAI,CAAC,WAAW,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACvD,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;SAC1B,CAAC,CAAC;IACL,CAAC;CACF;AA3RD,kCA2RC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAQnG;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAQnG;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CzD,OAAO,CAAC,WAAW;IAqOnB,qEAAqE;IACrE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGlC"}
|
|
@@ -20,11 +20,13 @@ class ClaudeCliProvider {
|
|
|
20
20
|
const lastUserMsg = [...options.messages].reverse().find(m => m.role === 'user');
|
|
21
21
|
const prompt = lastUserMsg?.content || '';
|
|
22
22
|
const systemArg = options.system ? ['--system-prompt', options.system] : [];
|
|
23
|
+
// NOTE: --include-partial-messages was removed because it causes the CLI
|
|
24
|
+
// to re-emit full assistant message snapshots on every delta, leading to
|
|
25
|
+
// duplicate/garbled output when we're already accumulating from deltas.
|
|
23
26
|
const args = [
|
|
24
27
|
'--print',
|
|
25
28
|
'--output-format', 'stream-json',
|
|
26
29
|
'--verbose',
|
|
27
|
-
'--include-partial-messages',
|
|
28
30
|
...systemArg,
|
|
29
31
|
prompt,
|
|
30
32
|
];
|
|
@@ -70,6 +72,10 @@ class ClaudeCliProvider {
|
|
|
70
72
|
// Tool call accumulation
|
|
71
73
|
const toolCalls = [];
|
|
72
74
|
let currentToolUse = null;
|
|
75
|
+
// Track content block indices to prevent duplicate content from
|
|
76
|
+
// re-emitted events (e.g. assistant snapshots, content_block_stop).
|
|
77
|
+
const seenBlockIndices = new Set();
|
|
78
|
+
let currentBlockIndex = -1;
|
|
73
79
|
// Usage stats from the result line
|
|
74
80
|
let usage;
|
|
75
81
|
const timer = setTimeout(() => {
|
|
@@ -114,6 +120,7 @@ class ClaudeCliProvider {
|
|
|
114
120
|
continue;
|
|
115
121
|
switch (evt.type) {
|
|
116
122
|
case 'content_block_start':
|
|
123
|
+
currentBlockIndex = evt.index ?? (currentBlockIndex + 1);
|
|
117
124
|
if (evt.content_block?.type === 'tool_use') {
|
|
118
125
|
currentToolUse = {
|
|
119
126
|
id: evt.content_block.id,
|
|
@@ -123,17 +130,22 @@ class ClaudeCliProvider {
|
|
|
123
130
|
}
|
|
124
131
|
break;
|
|
125
132
|
case 'content_block_delta':
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (
|
|
129
|
-
|
|
133
|
+
// Only process deltas for blocks we haven't already finalized
|
|
134
|
+
if (!seenBlockIndices.has(evt.index ?? currentBlockIndex)) {
|
|
135
|
+
if (evt.delta?.type === 'text_delta' && evt.delta.text) {
|
|
136
|
+
content += evt.delta.text;
|
|
137
|
+
if (options.onChunk) {
|
|
138
|
+
await options.onChunk(evt.delta.text);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
else if (evt.delta?.type === 'input_json_delta' && currentToolUse) {
|
|
142
|
+
currentToolUse.inputJson += evt.delta.partial_json || '';
|
|
130
143
|
}
|
|
131
|
-
}
|
|
132
|
-
else if (evt.delta?.type === 'input_json_delta' && currentToolUse) {
|
|
133
|
-
currentToolUse.inputJson += evt.delta.partial_json || '';
|
|
134
144
|
}
|
|
135
145
|
break;
|
|
136
146
|
case 'content_block_stop':
|
|
147
|
+
// Mark block as finalized — ignore any future deltas for this index
|
|
148
|
+
seenBlockIndices.add(evt.index ?? currentBlockIndex);
|
|
137
149
|
if (currentToolUse) {
|
|
138
150
|
try {
|
|
139
151
|
toolCalls.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli.js","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":";;;AACA,iDAAsC;AAEtC,uEAAuE;AACvE,MAAM,mBAAmB,GAAG,UAAU,CAAC,CAAC,aAAa;AACrD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAa,iBAAiB;IACpB,MAAM,CAAoB;IAElC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;QAE1C,MAAM,SAAS,GAAa,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtF,MAAM,IAAI,GAAG;YACX,SAAS;YACT,iBAAiB,EAAE,aAAa;YAChC,WAAW;YACX,
|
|
1
|
+
{"version":3,"file":"claude-cli.js","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":";;;AACA,iDAAsC;AAEtC,uEAAuE;AACvE,MAAM,mBAAmB,GAAG,UAAU,CAAC,CAAC,aAAa;AACrD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC;;;;GAIG;AACH,MAAa,iBAAiB;IACpB,MAAM,CAAoB;IAElC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAuB;QAChC,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;QAE1C,MAAM,SAAS,GAAa,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtF,yEAAyE;QACzE,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,IAAI,GAAG;YACX,SAAS;YACT,iBAAiB,EAAE,aAAa;YAChC,WAAW;YACX,GAAG,SAAS;YACZ,MAAM;SACP,CAAC;QAEF,sEAAsE;QACtE,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;YACvC,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEb,wDAAwD;QACxD,IAAI,SAAS,GAAiB,IAAI,CAAC;QACnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,SAAS,GAAG,GAAG,CAAC;gBAChB,IAAI,GAAG,CAAC,SAAS,KAAK,mBAAmB,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBACnE,OAAO,CAAC,IAAI,CAAC,kDAAkD,OAAO,IAAI,WAAW,iBAAiB,CAAC,CAAC;oBACxG,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,MAAM,SAAS,CAAC;IAClB,CAAC;IAEO,WAAW,CAAC,QAAgB,EAAE,MAAc,EAAE,OAAuB;QAC3E,OAAO,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,MAAM,CAAC,MAAM,eAAe,CAAC,CAAC;YAEhH,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC,UAAU,CAAC;YAE3B,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,QAAQ,EAAE;gBAC3B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,KAAK,EAAE,IAAI;gBACX,GAAG,EAAE,QAAQ;aACd,CAAC,CAAC;YAEH,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,yBAAyB;YACzB,MAAM,SAAS,GAAkB,EAAE,CAAC;YACpC,IAAI,cAAc,GAA2D,IAAI,CAAC;YAElF,gEAAgE;YAChE,oEAAoE;YACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC3C,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;YAE3B,mCAAmC;YACnC,IAAI,KAAgE,CAAC;YAErE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC1B,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;oBAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,MAAM,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC,EAAE,kBAAkB,CAAC,CAAC;YAEvB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC5C,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,4BAA4B;gBAExD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBAAE,SAAS;oBAE3B,IAAI,GAAQ,CAAC;oBACb,IAAI,CAAC;wBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,CAAC;oBAAC,MAAM,CAAC;wBACP,sEAAsE;wBACtE,SAAS;oBACX,CAAC;oBAED,iDAAiD;oBACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,QAAQ,GAAG,IAAI,CAAC;wBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;oBAC1D,CAAC;oBAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1B,iCAAiC;wBACjC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACd,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;wBAClD,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;wBACtB,IAAI,CAAC,GAAG;4BAAE,SAAS;wBAEnB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;4BACjB,KAAK,qBAAqB;gCACxB,iBAAiB,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;gCACzD,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;oCAC3C,cAAc,GAAG;wCACf,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE;wCACxB,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI;wCAC5B,SAAS,EAAE,EAAE;qCACd,CAAC;gCACJ,CAAC;gCACD,MAAM;4BAER,KAAK,qBAAqB;gCACxB,8DAA8D;gCAC9D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,iBAAiB,CAAC,EAAE,CAAC;oCAC1D,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;wCACvD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;wCAC1B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;4CACpB,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wCACxC,CAAC;oCACH,CAAC;yCAAM,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK,kBAAkB,IAAI,cAAc,EAAE,CAAC;wCACpE,cAAc,CAAC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC;oCAC3D,CAAC;gCACH,CAAC;gCACD,MAAM;4BAER,KAAK,oBAAoB;gCACvB,oEAAoE;gCACpE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,iBAAiB,CAAC,CAAC;gCACrD,IAAI,cAAc,EAAE,CAAC;oCACnB,IAAI,CAAC;wCACH,SAAS,CAAC,IAAI,CAAC;4CACb,EAAE,EAAE,cAAc,CAAC,EAAE;4CACrB,IAAI,EAAE,cAAc,CAAC,IAAI;4CACzB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,IAAI,IAAI,CAAC;yCACxD,CAAC,CAAC;oCACL,CAAC;oCAAC,OAAO,CAAC,EAAE,CAAC;wCACX,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,EAAE,CAAC,CAAC;wCACxE,SAAS,CAAC,IAAI,CAAC;4CACb,EAAE,EAAE,cAAc,CAAC,EAAE;4CACrB,IAAI,EAAE,cAAc,CAAC,IAAI;4CACzB,SAAS,EAAE,EAAE;yCACd,CAAC,CAAC;oCACL,CAAC;oCACD,cAAc,GAAG,IAAI,CAAC;gCACxB,CAAC;gCACD,MAAM;4BAER,gEAAgE;wBAClE,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC7B,sEAAsE;wBACtE,yDAAyD;wBACzD,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;4BACrC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oCACxC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;gCACxB,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC1B,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;4BAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,8BAA8B,CAAC;4BACzE,OAAO,CAAC,KAAK,CAAC,8BAA8B,MAAM,EAAE,CAAC,CAAC;4BACtD,iEAAiE;4BACjE,gDAAgD;wBAClD,CAAC;wBACD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACd,KAAK,GAAG;gCACN,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;oCACxC,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;oCACxC,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;gCAC9C,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC;6BAC3C,CAAC;wBACJ,CAAC;wBACD,oCAAoC;wBACpC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAC7D,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;wBACvB,CAAC;wBACD,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,IAAI,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBAEf,+BAA+B;gBAC/B,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAC/B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;4BACpD,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,CAAC;wBACD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;4BACxB,KAAK,GAAG;gCACN,WAAW,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;gCACrF,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC;6BAC3C,CAAC;wBACJ,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC1B,CAAC;gBAED,4EAA4E;gBAC5E,IAAI,OAAO,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,IAAI,uCAAuC,CAAC,CAAC;oBAC7F,CAAC;oBACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,MAAM,WAAW,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;oBAC3F,OAAO,CAAC;wBACN,OAAO;wBACP,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;wBACvD,KAAK;wBACL,YAAY,EAAE,UAAU;qBACzB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAED,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;oBACvD,MAAM,GAAG,GAAQ,IAAI,KAAK,CAAC,+BAA+B,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;oBAC7E,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;oBACrB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACZ,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;gBAClD,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqE;IACrE,WAAW,CAAC,MAAc;QACxB,uDAAuD;IACzD,CAAC;CACF;AA1RD,8CA0RC"}
|