wispy-ai 0.4.6 → 0.5.0

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 (75) hide show
  1. package/dist/agents/tool-executor.d.ts +3 -1
  2. package/dist/agents/tool-executor.d.ts.map +1 -1
  3. package/dist/agents/tool-executor.js +43 -7
  4. package/dist/agents/tool-executor.js.map +1 -1
  5. package/dist/ai/gemini.d.ts +17 -0
  6. package/dist/ai/gemini.d.ts.map +1 -1
  7. package/dist/ai/gemini.js +279 -3
  8. package/dist/ai/gemini.js.map +1 -1
  9. package/dist/ai/prompts.d.ts.map +1 -1
  10. package/dist/ai/prompts.js +22 -0
  11. package/dist/ai/prompts.js.map +1 -1
  12. package/dist/ai/tools.d.ts.map +1 -1
  13. package/dist/ai/tools.js +80 -27
  14. package/dist/ai/tools.js.map +1 -1
  15. package/dist/cli/checkpoints.d.ts +10 -0
  16. package/dist/cli/checkpoints.d.ts.map +1 -0
  17. package/dist/cli/checkpoints.js +30 -0
  18. package/dist/cli/checkpoints.js.map +1 -0
  19. package/dist/cli/commands.d.ts +3 -0
  20. package/dist/cli/commands.d.ts.map +1 -1
  21. package/dist/cli/commands.js +1231 -27
  22. package/dist/cli/commands.js.map +1 -1
  23. package/dist/cli/doctor.d.ts +3 -1
  24. package/dist/cli/doctor.d.ts.map +1 -1
  25. package/dist/cli/doctor.js +365 -25
  26. package/dist/cli/doctor.js.map +1 -1
  27. package/dist/cli/permissions.d.ts +3 -0
  28. package/dist/cli/permissions.d.ts.map +1 -0
  29. package/dist/cli/permissions.js +37 -0
  30. package/dist/cli/permissions.js.map +1 -0
  31. package/dist/cli/repl.d.ts.map +1 -1
  32. package/dist/cli/repl.js +105 -6
  33. package/dist/cli/repl.js.map +1 -1
  34. package/dist/cli/ui/banner.d.ts.map +1 -1
  35. package/dist/cli/ui/banner.js +36 -14
  36. package/dist/cli/ui/banner.js.map +1 -1
  37. package/dist/cli/ui/spinner.d.ts +5 -0
  38. package/dist/cli/ui/spinner.d.ts.map +1 -1
  39. package/dist/cli/ui/spinner.js +48 -0
  40. package/dist/cli/ui/spinner.js.map +1 -1
  41. package/dist/config/config.js +3 -3
  42. package/dist/config/config.js.map +1 -1
  43. package/dist/config/schema.d.ts +57 -0
  44. package/dist/config/schema.d.ts.map +1 -1
  45. package/dist/config/schema.js +177 -0
  46. package/dist/config/schema.js.map +1 -1
  47. package/dist/core/agent.d.ts +34 -0
  48. package/dist/core/agent.d.ts.map +1 -1
  49. package/dist/core/agent.js +212 -20
  50. package/dist/core/agent.js.map +1 -1
  51. package/dist/core/session.d.ts +65 -1
  52. package/dist/core/session.d.ts.map +1 -1
  53. package/dist/core/session.js +181 -2
  54. package/dist/core/session.js.map +1 -1
  55. package/dist/cron/service.d.ts +80 -1
  56. package/dist/cron/service.d.ts.map +1 -1
  57. package/dist/cron/service.js +310 -16
  58. package/dist/cron/service.js.map +1 -1
  59. package/dist/memory/manager.d.ts +72 -6
  60. package/dist/memory/manager.d.ts.map +1 -1
  61. package/dist/memory/manager.js +296 -19
  62. package/dist/memory/manager.js.map +1 -1
  63. package/dist/memory/vector-store.d.ts +60 -1
  64. package/dist/memory/vector-store.d.ts.map +1 -1
  65. package/dist/memory/vector-store.js +147 -7
  66. package/dist/memory/vector-store.js.map +1 -1
  67. package/dist/security/isolation.d.ts +1 -1
  68. package/dist/security/isolation.d.ts.map +1 -1
  69. package/dist/security/isolation.js +7 -0
  70. package/dist/security/isolation.js.map +1 -1
  71. package/dist/token/estimator.d.ts.map +1 -1
  72. package/dist/token/estimator.js +36 -2
  73. package/dist/token/estimator.js.map +1 -1
  74. package/package.json +1 -1
  75. package/wispy/TOOLS.md +87 -11
@@ -1,6 +1,7 @@
1
1
  import type { WispyConfig } from "../config/schema.js";
2
2
  import type { MemoryManager } from "../memory/manager.js";
3
3
  import type { IntegrationRegistry } from "../integrations/registry.js";
4
+ import type { McpRegistry } from "../mcp/client.js";
4
5
  export interface ToolCall {
5
6
  name: string;
6
7
  args: Record<string, unknown>;
@@ -16,7 +17,8 @@ export declare class ToolExecutor {
16
17
  private soulDir;
17
18
  private memoryManager?;
18
19
  private integrationRegistry?;
19
- constructor(config: WispyConfig, runtimeDir: string, soulDir: string, memoryManager?: MemoryManager, integrationRegistry?: IntegrationRegistry);
20
+ private mcpRegistry?;
21
+ constructor(config: WispyConfig, runtimeDir: string, soulDir: string, memoryManager?: MemoryManager, integrationRegistry?: IntegrationRegistry, mcpRegistry?: McpRegistry);
20
22
  execute(tool: ToolCall): Promise<ToolResult>;
21
23
  private executeBash;
22
24
  private executeFileRead;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/agents/tool-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMvE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,mBAAmB,CAAC,CAAsB;gBAGhD,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,EAC7B,mBAAmB,CAAC,EAAE,mBAAmB;IASrC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;YAsDpC,WAAW;IAwCzB,OAAO,CAAC,eAAe;YAiBT,gBAAgB;IAoB9B,OAAO,CAAC,iBAAiB;YA6BX,mBAAmB;IAiBjC,OAAO,CAAC,iBAAiB;YAUX,eAAe;YA0Cf,gBAAgB;YAkBhB,oBAAoB;YAkBpB,kBAAkB;IAchC,OAAO,CAAC,mBAAmB;YAYb,oBAAoB;YAYpB,gBAAgB;IAW9B,OAAO,CAAC,oBAAoB;CAY7B"}
1
+ {"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/agents/tool-executor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAOpD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsBD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,WAAW,CAAC,CAAc;gBAGhC,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,aAAa,EAC7B,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,WAAW,CAAC,EAAE,WAAW;IAUrB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;YAqEpC,WAAW;IAwCzB,OAAO,CAAC,eAAe;YAiBT,gBAAgB;IAyB9B,OAAO,CAAC,iBAAiB;YA6BX,mBAAmB;IAiBjC,OAAO,CAAC,iBAAiB;YAUX,eAAe;YA0Cf,gBAAgB;YAkBhB,oBAAoB;YAgCpB,kBAAkB;IAchC,OAAO,CAAC,mBAAmB;YAYb,oBAAoB;YAYpB,gBAAgB;IAW9B,OAAO,CAAC,oBAAoB;CAY7B"}
@@ -7,6 +7,7 @@ import { saveMedia } from "../utils/media.js";
7
7
  import { requestApproval, categorizeAction } from "../security/action-guard.js";
8
8
  import { sanitizeOutput } from "../security/api-key-guard.js";
9
9
  import { appendToMemory, appendDailyNote } from "../core/memory.js";
10
+ import { createCheckpoint } from "../cli/checkpoints.js";
10
11
  import { createLogger } from "../infra/logger.js";
11
12
  const log = createLogger("tool-executor");
12
13
  const execAsync = promisify(exec);
@@ -34,12 +35,14 @@ export class ToolExecutor {
34
35
  soulDir;
35
36
  memoryManager;
36
37
  integrationRegistry;
37
- constructor(config, runtimeDir, soulDir, memoryManager, integrationRegistry) {
38
+ mcpRegistry;
39
+ constructor(config, runtimeDir, soulDir, memoryManager, integrationRegistry, mcpRegistry) {
38
40
  this.config = config;
39
41
  this.runtimeDir = runtimeDir;
40
42
  this.soulDir = soulDir;
41
43
  this.memoryManager = memoryManager;
42
44
  this.integrationRegistry = integrationRegistry;
45
+ this.mcpRegistry = mcpRegistry;
43
46
  }
44
47
  async execute(tool) {
45
48
  log.info("Executing tool: %s", tool.name);
@@ -74,6 +77,21 @@ export class ToolExecutor {
74
77
  case "list_directory":
75
78
  return this.executeListDirectory(tool.args);
76
79
  default:
80
+ // Try MCP servers first
81
+ if (this.mcpRegistry) {
82
+ const mcpTools = this.mcpRegistry.getAllTools();
83
+ const mcpTool = mcpTools.find((t) => t.name === tool.name);
84
+ if (mcpTool) {
85
+ try {
86
+ const result = await this.mcpRegistry.callTool(mcpTool.serverId, tool.name, tool.args);
87
+ const output = typeof result === "string" ? result : JSON.stringify(result, null, 2);
88
+ return { success: true, output: sanitizeOutput(output) };
89
+ }
90
+ catch (err) {
91
+ return { success: false, output: "", error: `MCP tool error: ${err.message}` };
92
+ }
93
+ }
94
+ }
77
95
  // Fallback to integration registry
78
96
  if (this.integrationRegistry) {
79
97
  const integrationResult = await this.integrationRegistry.executeTool(tool.name, tool.args);
@@ -153,6 +171,13 @@ export class ToolExecutor {
153
171
  const content = String(args.content || "");
154
172
  if (!path)
155
173
  return { success: false, output: "", error: "No path provided" };
174
+ // Create checkpoint before overwrite
175
+ if (existsSync(path)) {
176
+ try {
177
+ createCheckpoint(this.runtimeDir, path);
178
+ }
179
+ catch { /* non-fatal */ }
180
+ }
156
181
  // Approval for overwrite
157
182
  if (existsSync(path) && this.config.security.requireApprovalForExternal) {
158
183
  const approved = await requestApproval("file_write", `Overwrite: ${path}`, { path });
@@ -287,14 +312,25 @@ export class ToolExecutor {
287
312
  if (!prompt)
288
313
  return { success: false, output: "", error: "No prompt provided" };
289
314
  try {
290
- const { generate } = await import("../ai/gemini.js");
291
- const result = await generate({
315
+ const { generateImage } = await import("../ai/gemini.js");
316
+ const result = await generateImage(prompt, {
292
317
  model: this.config.gemini.models.image,
293
- messages: [{ role: "user", content: prompt }],
294
- thinkingLevel: "none",
318
+ aspectRatio: String(args.aspectRatio || "1:1"),
319
+ numberOfImages: 1,
295
320
  });
296
- // Nano Banana returns image data
297
- return { success: true, output: result.text || "Image generated" };
321
+ if (result.images.length === 0) {
322
+ return { success: false, output: "", error: "No images generated" };
323
+ }
324
+ // Save image to media folder
325
+ const { saveMedia } = await import("../utils/media.js");
326
+ const timestamp = Date.now();
327
+ const filename = `generated-${timestamp}.png`;
328
+ const imageBuffer = Buffer.from(result.images[0].base64, "base64");
329
+ const savedPath = saveMedia(this.runtimeDir, "outgoing", filename, imageBuffer);
330
+ return {
331
+ success: true,
332
+ output: `Image generated and saved to: ${savedPath}\nSize: ${imageBuffer.length} bytes`,
333
+ };
298
334
  }
299
335
  catch (err) {
300
336
  return { success: false, output: "", error: "Image generation failed: " + err.message };
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/agents/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAS,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,SAAS,EAAuB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAiB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC;AAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAalC,+CAA+C;AAC/C,MAAM,gBAAgB,GAAG;IACvB,eAAe;IACf,QAAQ;IACR,UAAU;IACV,eAAe;IACf,eAAe;IACf,uBAAuB;IACvB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC;AAEF,yCAAyC;AACzC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM;IAChE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;IACrD,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY;IACjD,gBAAgB,EAAE,eAAe,EAAE,kBAAkB;CACtD,CAAC,CAAC;AAEH,MAAM,OAAO,YAAY;IACf,MAAM,CAAc;IACpB,UAAU,CAAS;IACnB,OAAO,CAAS;IAChB,aAAa,CAAiB;IAC9B,mBAAmB,CAAuB;IAElD,YACE,MAAmB,EACnB,UAAkB,EAClB,OAAe,EACf,aAA6B,EAC7B,mBAAyC;QAEzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,MAAM;oBACT,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,KAAK,YAAY;oBACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,KAAK,aAAa;oBAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,KAAK,eAAe;oBAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,KAAK,aAAa;oBAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,KAAK,YAAY;oBACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,KAAK,gBAAgB;oBACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,KAAK,cAAc;oBACjB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5C,KAAK,eAAe;oBAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,KAAK,gBAAgB;oBACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,KAAK,YAAY;oBACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,KAAK,gBAAgB;oBACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C;oBACE,mCAAmC;oBACnC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC7B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC3F,IAAI,iBAAiB,EAAE,CAAC;4BACtB,OAAO;gCACL,OAAO,EAAE,iBAAiB,CAAC,OAAO;gCAClC,MAAM,EAAE,iBAAiB,CAAC,MAAM;gCAChC,KAAK,EAAE,iBAAiB,CAAC,KAAK;6BAC/B,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,2BAA2B,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAA6B;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAElF,2BAA2B;QAC3B,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,8BAA8B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACtG,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YAC/D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;YAC/E,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAClD,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM;gBAC9B,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC;YAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,IAA6B;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC5E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC;QAE/F,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,oBAAoB;YACpB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK;gBACtC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,mBAAmB;gBAC/C,CAAC,CAAC,OAAO,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAA6B;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAE5E,yBAAyB;QACzB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,EAAE,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,cAAc,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QACpF,CAAC;QAED,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,OAAO,CAAC,MAAM,aAAa,IAAI,EAAE,EAAE,CAAC;QACjF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,IAA6B;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,KAAa,EAAE,EAAE;gBAC1C,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;oBAAE,OAAO;gBAC7C,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;4BAAE,SAAS;wBAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBACpC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;4BACxB,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;wBAC1B,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;4BACrE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC;YAC1C,CAAC,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAA6B;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAE9E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;QAChF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,GAAG,KAAK,EAAE,CAAC;QAE9F,MAAM,MAAM,GAAG,OAAO;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;aACpE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAEO,iBAAiB,CAAC,IAA6B;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAE5E,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7C,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,QAAQ,MAAM,IAAI,EAAE,EAAE,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAA6B;QACzD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;YAE5D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE;aACzC,CAAC,CAAC;YACH,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtB,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;YAEhF,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC1D,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjE,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,kCAAkC;gBAClC,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjC,IAAI,GAAG,IAAI;yBACR,OAAO,CAAC,mCAAmC,EAAE,EAAE,CAAC;yBAChD,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC;yBAC9C,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;yBACxB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;yBACpB,IAAI,EAAE,CAAC;gBACZ,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,CAAC;YAED,iCAAiC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;YACpD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,IAAI,KAAK,GAAG,CAAC,MAAM,SAAS,EAAE,CAAC;QACnF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAA6B;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAE9E,2CAA2C;QAC3C,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;gBACtC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,KAAK,wDAAwD,EAAE,CAAC;gBAC3H,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,qBAAqB,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QACpF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,IAA6B;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;QAEhF,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;gBAC5B,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK;gBACtC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBAC7C,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,iCAAiC;YACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,2BAA2B,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC1F,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAA6B;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAE3E,oBAAoB;QACpB,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,WAAW,OAAO,IAAI,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACnH,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAEjF,yDAAyD;QACzD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,OAAO,IAAI,MAAM,EAAE,EAAE,CAAC;IAC9E,CAAC;IAEO,mBAAmB,CAAC,IAA6B;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC;QAC3F,CAAC;QAED,+BAA+B;QAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAA8B;QAC/D,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC3E,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;YACrF,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,OAAO,mBAAmB,OAAO,EAAE,EAAE,CAAC;QACpF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAA6B;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;QAE3F,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,QAAQ,MAAM,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3F,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAEpF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,MAAM,YAAY,EAAE,YAAY,EAAE,CAAC;IACnF,CAAC;IAEO,oBAAoB,CAAC,IAA6B;QACxD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;iBAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/agents/tool-executor.ts"],"names":[],"mappings":"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"}
@@ -28,4 +28,21 @@ export declare function generateStream(opts: GenerateOptions): AsyncGenerator<{
28
28
  content: string;
29
29
  }>;
30
30
  export declare function embed(model: string, texts: string[]): Promise<number[][]>;
31
+ /**
32
+ * Generate an image using Imagen 3 or Gemini's image generation.
33
+ */
34
+ export declare function generateImage(prompt: string, options?: {
35
+ model?: string;
36
+ aspectRatio?: string;
37
+ numberOfImages?: number;
38
+ }): Promise<{
39
+ images: Array<{
40
+ base64: string;
41
+ mimeType: string;
42
+ }>;
43
+ }>;
44
+ /**
45
+ * List available models from the API.
46
+ */
47
+ export declare function listModels(): Promise<string[]>;
31
48
  //# sourceMappingURL=gemini.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/ai/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAItD;AAED,wBAAgB,SAAS,IAAI,WAAW,CAGvC;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD,CAAC,CAwDD;AAED,wBAAuB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC;IAC3E,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAuCD;AAED,wBAAsB,KAAK,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAQrB"}
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/ai/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAyN5C,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAItD;AAED,wBAAgB,SAAS,IAAI,WAAW,CAGvC;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD,CAAC,CA0ED;AAED,wBAAuB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CAAC;IAC3E,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAuCD;AAED,wBAAsB,KAAK,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAQrB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GACL,OAAO,CAAC;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CA+ClE;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAQpD"}
package/dist/ai/gemini.js CHANGED
@@ -2,6 +2,207 @@ import { GoogleGenAI } from "@google/genai";
2
2
  import { createLogger } from "../infra/logger.js";
3
3
  const log = createLogger("gemini");
4
4
  let client = null;
5
+ // Models that support native function calling
6
+ const NATIVE_TOOL_MODELS = new Set([
7
+ // Gemini 3 (latest)
8
+ "gemini-3-pro",
9
+ "gemini-3-flash",
10
+ "gemini-3.0-pro",
11
+ "gemini-3.0-flash",
12
+ // Gemini 2.5
13
+ "gemini-2.5-pro",
14
+ "gemini-2.5-flash",
15
+ "gemini-2.5-pro-preview",
16
+ "gemini-2.5-flash-preview",
17
+ // Gemini 2.0
18
+ "gemini-2.0-flash",
19
+ "gemini-2.0-pro",
20
+ "gemini-2.0-flash-exp",
21
+ "gemini-2.0-flash-thinking-exp",
22
+ "gemini-2.0-flash-lite",
23
+ // Gemini 1.5
24
+ "gemini-1.5-pro",
25
+ "gemini-1.5-flash",
26
+ "gemini-1.5-flash-8b",
27
+ "gemini-pro",
28
+ // Nano models (lightweight)
29
+ "gemini-nano",
30
+ "gemini-1.0-pro",
31
+ ]);
32
+ // Image generation models
33
+ const IMAGE_MODELS = new Set([
34
+ "imagen-3.0-generate-002",
35
+ "imagen-3.0-generate-001",
36
+ "imagen-3",
37
+ "imagegeneration",
38
+ ]);
39
+ // Check if model supports native function calling
40
+ function supportsNativeTools(model) {
41
+ // Check exact match or prefix match
42
+ for (const supported of NATIVE_TOOL_MODELS) {
43
+ if (model === supported || model.startsWith(supported)) {
44
+ return true;
45
+ }
46
+ }
47
+ return false;
48
+ }
49
+ // Build tool description for prompt-based calling (works for ALL models)
50
+ function buildToolPrompt(tools) {
51
+ const declarations = tools[0]?.functionDeclarations || [];
52
+ if (declarations.length === 0)
53
+ return "";
54
+ let prompt = `
55
+
56
+ ## 🛠️ TOOL SYSTEM - YOU ARE AN AUTONOMOUS AGENT
57
+
58
+ You have REAL tools that execute actions. You are not just chatting - you can DO things.
59
+
60
+ ### HOW TO USE TOOLS
61
+
62
+ When you want to perform an action, respond with EXACTLY this JSON format:
63
+
64
+ \`\`\`json
65
+ {"tool": "tool_name", "args": {"param": "value"}}
66
+ \`\`\`
67
+
68
+ IMPORTANT RULES:
69
+ 1. Use ONE tool at a time
70
+ 2. Wait for the tool result before using another tool
71
+ 3. The system will execute your tool and show you the result
72
+ 4. You can chain multiple tools to accomplish complex tasks
73
+ 5. Always use tools when the user asks you to DO something (create files, run commands, search, etc.)
74
+
75
+ ### AVAILABLE TOOLS
76
+
77
+ `;
78
+ for (const tool of declarations) {
79
+ prompt += `**${tool.name}** — ${tool.description}\n`;
80
+ if (tool.parameters?.properties) {
81
+ prompt += "```\n";
82
+ const params = [];
83
+ for (const [key, val] of Object.entries(tool.parameters.properties)) {
84
+ const v = val;
85
+ const req = tool.parameters.required?.includes(key) ? "*" : "";
86
+ params.push(` "${key}${req}": "${v.description}"`);
87
+ }
88
+ prompt += `{"tool": "${tool.name}", "args": {\n${params.join(",\n")}\n}}\n\`\`\`\n\n`;
89
+ }
90
+ else {
91
+ prompt += `\`\`\`\n{"tool": "${tool.name}", "args": {}}\n\`\`\`\n\n`;
92
+ }
93
+ }
94
+ prompt += `
95
+ ### EXAMPLES
96
+
97
+ **Create a file:**
98
+ \`\`\`json
99
+ {"tool": "file_write", "args": {"path": "/path/to/file.txt", "content": "Hello World"}}
100
+ \`\`\`
101
+
102
+ **Run a command:**
103
+ \`\`\`json
104
+ {"tool": "bash", "args": {"command": "ls -la"}}
105
+ \`\`\`
106
+
107
+ **Read a file:**
108
+ \`\`\`json
109
+ {"tool": "file_read", "args": {"path": "/path/to/file.txt"}}
110
+ \`\`\`
111
+
112
+ **Search the web:**
113
+ \`\`\`json
114
+ {"tool": "web_search", "args": {"query": "latest news"}}
115
+ \`\`\`
116
+
117
+ BE PROACTIVE: If the user asks you to do something, USE THE TOOLS. Don't just describe what you would do.
118
+ `;
119
+ return prompt;
120
+ }
121
+ // Parse tool calls from model output (for non-native models)
122
+ // This is robust and handles many output formats from different models
123
+ function parseToolCalls(text) {
124
+ const calls = [];
125
+ const seenTools = new Set();
126
+ // Strategy 1: Match JSON in code blocks (```json ... ``` or ``` ... ```)
127
+ const codeBlockRegex = /```(?:json)?\s*\n?([\s\S]*?)\n?```/g;
128
+ let match;
129
+ while ((match = codeBlockRegex.exec(text)) !== null) {
130
+ try {
131
+ const content = match[1].trim();
132
+ // Try to find JSON object in the content
133
+ const jsonMatch = content.match(/\{[\s\S]*\}/);
134
+ if (jsonMatch) {
135
+ const parsed = JSON.parse(jsonMatch[0]);
136
+ if (parsed.tool && typeof parsed.tool === "string" && !seenTools.has(parsed.tool + JSON.stringify(parsed.args || {}))) {
137
+ seenTools.add(parsed.tool + JSON.stringify(parsed.args || {}));
138
+ calls.push({
139
+ name: parsed.tool,
140
+ args: parsed.args || {},
141
+ });
142
+ }
143
+ }
144
+ }
145
+ catch {
146
+ // Not valid JSON, skip
147
+ }
148
+ }
149
+ // Strategy 2: Match standalone JSON objects with "tool" key
150
+ const jsonObjectRegex = /\{\s*"tool"\s*:\s*"([^"]+)"/g;
151
+ while ((match = jsonObjectRegex.exec(text)) !== null) {
152
+ try {
153
+ // Find the complete JSON object by tracking braces
154
+ let depth = 0;
155
+ let start = match.index;
156
+ let end = start;
157
+ for (let i = start; i < text.length; i++) {
158
+ if (text[i] === '{')
159
+ depth++;
160
+ if (text[i] === '}')
161
+ depth--;
162
+ if (depth === 0) {
163
+ end = i + 1;
164
+ break;
165
+ }
166
+ }
167
+ const jsonStr = text.slice(start, end);
168
+ const parsed = JSON.parse(jsonStr);
169
+ const key = parsed.tool + JSON.stringify(parsed.args || {});
170
+ if (parsed.tool && typeof parsed.tool === "string" && !seenTools.has(key)) {
171
+ seenTools.add(key);
172
+ calls.push({
173
+ name: parsed.tool,
174
+ args: parsed.args || {},
175
+ });
176
+ }
177
+ }
178
+ catch {
179
+ // Skip invalid
180
+ }
181
+ }
182
+ // Strategy 3: Check for tool names mentioned without proper JSON (helps with debugging)
183
+ if (calls.length === 0) {
184
+ const knownTools = [
185
+ "bash", "file_read", "file_write", "file_search", "list_directory",
186
+ "web_fetch", "web_search", "memory_search", "memory_save",
187
+ "send_message", "schedule_task", "image_generate", "wallet_balance", "wallet_pay"
188
+ ];
189
+ for (const tool of knownTools) {
190
+ // Check for patterns like "Using file_write:" or "I'll execute bash"
191
+ const patterns = [
192
+ new RegExp(`(?:using|execute|run|call)\\s+${tool}`, "i"),
193
+ new RegExp(`${tool}\\s*\\(`, "i"),
194
+ new RegExp(`tool:\\s*["']?${tool}["']?`, "i"),
195
+ ];
196
+ for (const pattern of patterns) {
197
+ if (pattern.test(text)) {
198
+ log.debug("Model tried to use '%s' but didn't format JSON correctly", tool);
199
+ break;
200
+ }
201
+ }
202
+ }
203
+ }
204
+ return calls;
205
+ }
5
206
  export function initGemini(apiKey) {
6
207
  client = new GoogleGenAI({ apiKey });
7
208
  log.info("Gemini SDK initialized");
@@ -14,6 +215,13 @@ export function getClient() {
14
215
  }
15
216
  export async function generate(opts) {
16
217
  const ai = getClient();
218
+ const useNativeTools = supportsNativeTools(opts.model);
219
+ // Build system prompt with tool descriptions for non-native models
220
+ let systemPrompt = opts.systemPrompt || "";
221
+ if (opts.tools && opts.tools.length > 0 && !useNativeTools) {
222
+ systemPrompt += buildToolPrompt(opts.tools);
223
+ log.debug("Using prompt-based tools for model: %s", opts.model);
224
+ }
17
225
  const contents = opts.messages.map((m) => ({
18
226
  role: m.role,
19
227
  parts: [{ text: m.content }],
@@ -26,7 +234,8 @@ export async function generate(opts) {
26
234
  if (opts.thinkingLevel && opts.thinkingLevel !== "none") {
27
235
  config.thinkingConfig = { thinkingBudget: thinkingBudget(opts.thinkingLevel) };
28
236
  }
29
- if (opts.tools && opts.tools.length > 0) {
237
+ // Only use native tools for supported models
238
+ if (opts.tools && opts.tools.length > 0 && useNativeTools) {
30
239
  config.tools = opts.tools;
31
240
  }
32
241
  const response = await ai.models.generateContent({
@@ -34,13 +243,13 @@ export async function generate(opts) {
34
243
  contents,
35
244
  config: {
36
245
  ...config,
37
- systemInstruction: opts.systemPrompt,
246
+ systemInstruction: systemPrompt,
38
247
  },
39
248
  });
40
249
  const text = response.text || "";
41
250
  let thinking;
42
251
  const toolCalls = [];
43
- // Extract thinking and tool calls from parts
252
+ // Extract thinking and tool calls from parts (native function calling)
44
253
  if (response.candidates?.[0]?.content?.parts) {
45
254
  for (const part of response.candidates[0].content.parts) {
46
255
  if (part.thought) {
@@ -51,6 +260,14 @@ export async function generate(opts) {
51
260
  }
52
261
  }
53
262
  }
263
+ // For non-native models, parse tool calls from text output
264
+ if (!useNativeTools && opts.tools && opts.tools.length > 0) {
265
+ const parsedCalls = parseToolCalls(text);
266
+ if (parsedCalls.length > 0) {
267
+ log.debug("Parsed %d tool call(s) from text output", parsedCalls.length);
268
+ toolCalls.push(...parsedCalls);
269
+ }
270
+ }
54
271
  return {
55
272
  text,
56
273
  thinking,
@@ -109,6 +326,65 @@ export async function embed(model, texts) {
109
326
  // Return embeddings
110
327
  return result.embeddings?.map((e) => e.values) || [];
111
328
  }
329
+ /**
330
+ * Generate an image using Imagen 3 or Gemini's image generation.
331
+ */
332
+ export async function generateImage(prompt, options = {}) {
333
+ const ai = getClient();
334
+ const model = options.model || "imagen-3.0-generate-002";
335
+ try {
336
+ // Try Imagen API first
337
+ const response = await ai.models.generateImages({
338
+ model,
339
+ prompt,
340
+ config: {
341
+ numberOfImages: options.numberOfImages || 1,
342
+ aspectRatio: options.aspectRatio || "1:1",
343
+ },
344
+ });
345
+ const images = response.generatedImages?.map((img) => ({
346
+ base64: img.image?.imageBytes || "",
347
+ mimeType: "image/png",
348
+ })) || [];
349
+ return { images };
350
+ }
351
+ catch (err) {
352
+ // Fallback: use Gemini with image output
353
+ log.debug("Imagen failed, trying Gemini multimodal: %s", err);
354
+ const response = await ai.models.generateContent({
355
+ model: "gemini-2.0-flash",
356
+ contents: [{
357
+ role: "user",
358
+ parts: [{ text: `Generate an image: ${prompt}` }]
359
+ }],
360
+ config: {
361
+ responseModalities: ["image", "text"],
362
+ },
363
+ });
364
+ // Extract image from response if available
365
+ const parts = response.candidates?.[0]?.content?.parts || [];
366
+ const images = parts
367
+ .filter((p) => p.inlineData?.mimeType?.startsWith("image/"))
368
+ .map((p) => ({
369
+ base64: p.inlineData.data,
370
+ mimeType: p.inlineData.mimeType,
371
+ }));
372
+ return { images };
373
+ }
374
+ }
375
+ /**
376
+ * List available models from the API.
377
+ */
378
+ export async function listModels() {
379
+ const ai = getClient();
380
+ try {
381
+ const response = await ai.models.list();
382
+ return response.models?.map((m) => m.name) || [];
383
+ }
384
+ catch {
385
+ return [];
386
+ }
387
+ }
112
388
  function thinkingBudget(level) {
113
389
  switch (level) {
114
390
  case "minimal": return 128;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/ai/gemini.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/ai/gemini.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CA0CR"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAwB5D,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CA6CR"}
@@ -1,8 +1,30 @@
1
1
  import { readMD } from "../utils/file.js";
2
2
  import { resolve } from "path";
3
3
  import { getPermissions } from "../security/isolation.js";
4
+ // Core agentic instruction that all models understand
5
+ const AGENTIC_CORE = `## CORE DIRECTIVE: AUTONOMOUS AGENT MODE
6
+
7
+ You are an AUTONOMOUS AI AGENT with the ability to execute real actions.
8
+ You are NOT a passive chatbot — you can DO things in the real world.
9
+
10
+ When the user asks you to perform a task, you MUST:
11
+ 1. Use the appropriate tool to execute the action
12
+ 2. Wait for the tool result
13
+ 3. Continue with more tools if needed, or respond with the final result
14
+
15
+ NEVER just describe what you would do. ACTUALLY DO IT using tools.
16
+
17
+ Tool format (respond with this JSON when you want to execute an action):
18
+ \`\`\`json
19
+ {"tool": "tool_name", "args": {"param": "value"}}
20
+ \`\`\`
21
+
22
+ Be PROACTIVE. Be AUTONOMOUS. Execute tasks, don't just talk about them.
23
+ `;
4
24
  export function buildSystemPrompt(soulDir, sessionType, extraContext, integrationContext) {
5
25
  const parts = [];
26
+ // Core agentic instruction (always first)
27
+ parts.push(AGENTIC_CORE);
6
28
  // Soul
7
29
  const soul = readMD(resolve(soulDir, "SOUL.md"));
8
30
  if (soul)
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,WAAwB,EACxB,YAAqB,EACrB,kBAA2B;IAE3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,OAAO;IACP,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3B,WAAW;IACX,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,kBAAkB;IAClB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IACrD,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,QAAQ;IACR,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACnD,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,oCAAoC;IACpC,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,8BAA8B;IAC9B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QACrD,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,iDAAiD;IACjD,IAAI,kBAAkB;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEvD,gBAAgB;IAChB,IAAI,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE3C,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,GAAG,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/ai/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,sDAAsD;AACtD,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;CAkBpB,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,WAAwB,EACxB,YAAqB,EACrB,kBAA2B;IAE3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,0CAA0C;IAC1C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzB,OAAO;IACP,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IACjD,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3B,WAAW;IACX,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IACzD,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,kBAAkB;IAClB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IACrD,IAAI,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/B,QAAQ;IACR,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACnD,IAAI,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,oCAAoC;IACpC,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,8BAA8B;IAC9B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;QACrD,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,iDAAiD;IACjD,IAAI,kBAAkB;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAEvD,gBAAgB;IAChB,IAAI,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE3C,sBAAsB;IACtB,KAAK,CAAC,IAAI,CAAC,oBAAoB,WAAW,GAAG,CAAC,CAAC;IAE/C,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/ai/tools.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,cAAc,EAAE,eAAe,EAkH3C,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,OAAc,EACvB,UAAU,GAAE,eAAe,EAAO,EAClC,QAAQ,GAAE,eAAe,EAAO,EAChC,gBAAgB,GAAE,eAAe,EAAO,GACvC,OAAO,EAAE,CAgBX"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/ai/tools.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,cAAc,EAAE,eAAe,EAuK3C,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,OAAc,EACvB,UAAU,GAAE,eAAe,EAAO,EAClC,QAAQ,GAAE,eAAe,EAAO,EAChC,gBAAgB,GAAE,eAAe,EAAO,GACvC,OAAO,EAAE,CAgBX"}