@bubblelab/bubble-core 0.1.166 → 0.1.167

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.
@@ -1563,7 +1563,7 @@ export type ServiceBubbleParams<T = unknown> = T & { credentials?: CredentialOpt
1563
1563
  export {}; export declare abstract class BaseBubble<TParams = unknown, TResult extends BubbleOperationResult = BubbleOperationResult> implements IBubble<TResult> { readonly name: string; readonly schema: z.ZodObject<z.ZodRawShape>; readonly resultSchema: z.ZodObject<z.ZodRawShape>; readonly shortDescription: string; readonly longDescription: string; readonly alias?: string; abstract readonly type: 'service' | 'workflow' | 'tool' | 'ui' | 'infra'; protected readonly params: TParams; protected context?: BubbleContext; previousResult: BubbleResult<BubbleOperationResult> | undefined; protected readonly instanceId?: string; constructor(params: unknown, context?: BubbleContext, instanceId?: string); private computeChildContext; saveResult<R extends BubbleOperationResult>(result: BubbleResult<R>): void; clearSavedResult(): void; toJSON(): Record<string, unknown>; action(): Promise<BubbleResult<TResult>>; generateMockResult(): BubbleResult<TResult>; generateMockResultWithSeed(seed: number): BubbleResult<TResult>; protected abstract performAction(context?: BubbleContext): Promise<TResult>; }
1564
1564
  export interface LangGraphTool { name: string; description: string; schema: z.ZodSchema; func<TResult extends BubbleOperationResult = BubbleOperationResult>(params: unknown): Promise<BubbleResult<TResult>>; }
1565
1565
  export declare abstract class ToolBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> implements IToolBubble<TResult> { readonly type: "tool"; constructor(params: unknown, context?: BubbleContext, instanceId?: string); static toolAgent(credentials?: Partial<Record<CredentialType, string>>, config?: Record<string, unknown>, context?: BubbleContext): LangGraphTool; }
1566
- declare const EditBubbleFlowToolParamsSchema: z.ZodObject<{ initialCode: z.ZodString; instructions: z.ZodString; codeEdit: z.ZodString; morphModel: z.ZodOptional<z.ZodDefault<z.ZodString>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { initialCode: string; instructions: string; codeEdit: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; morphModel?: string | undefined; }, { initialCode: string; instructions: string; codeEdit: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; morphModel?: string | undefined; }>; type EditBubbleFlowToolParams = z.output<typeof EditBubbleFlowToolParamsSchema>; type EditBubbleFlowToolResult = z.output<typeof EditBubbleFlowToolResultSchema>; declare const EditBubbleFlowToolResultSchema: z.ZodObject<{ mergedCode: z.ZodString; applied: z.ZodBoolean; diff: z.ZodOptional<z.ZodString>; metadata: z.ZodObject<{ editedAt: z.ZodString; originalLength: z.ZodNumber; finalLength: z.ZodNumber; morphModel: z.ZodString; }, "strip", z.ZodTypeAny, { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }, { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }>; success: z.ZodBoolean; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; metadata: { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }; mergedCode: string; applied: boolean; diff?: string | undefined; }, { success: boolean; error: string; metadata: { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }; mergedCode: string; applied: boolean; diff?: string | undefined; }>; export declare class EditBubbleFlowTool extends ToolBubble<EditBubbleFlowToolParams, EditBubbleFlowToolResult> { static readonly type: "tool"; static readonly bubbleName = "code-edit-tool"; static readonly schema: z.ZodObject<{ initialCode: z.ZodString; instructions: z.ZodString; codeEdit: z.ZodString; morphModel: z.ZodOptional<z.ZodDefault<z.ZodString>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { initialCode: string; instructions: string; codeEdit: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; morphModel?: string | undefined; }, { initialCode: string; instructions: string; codeEdit: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; morphModel?: string | undefined; }>; static readonly resultSchema: z.ZodObject<{ mergedCode: z.ZodString; applied: z.ZodBoolean; diff: z.ZodOptional<z.ZodString>; metadata: z.ZodObject<{ editedAt: z.ZodString; originalLength: z.ZodNumber; finalLength: z.ZodNumber; morphModel: z.ZodString; }, "strip", z.ZodTypeAny, { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }, { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }>; success: z.ZodBoolean; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; metadata: { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }; mergedCode: string; applied: boolean; diff?: string | undefined; }, { success: boolean; error: string; metadata: { originalLength: number; morphModel: string; editedAt: string; finalLength: number; }; mergedCode: string; applied: boolean; diff?: string | undefined; }>; static readonly shortDescription = "Applies code edits to BubbleFlow files using Morph Fast Apply"; static readonly longDescription = "See bubble documentation for details"; static readonly alias = "code-edit"; performAction(): Promise<EditBubbleFlowToolResult>; }
1566
+ declare const EditBubbleFlowToolParamsSchema: z.ZodObject<{ initialCode: z.ZodString; old_string: z.ZodString; new_string: z.ZodString; replace_all: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { initialCode: string; old_string: string; new_string: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; replace_all?: boolean | undefined; }, { initialCode: string; old_string: string; new_string: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; replace_all?: boolean | undefined; }>; type EditBubbleFlowToolParams = z.output<typeof EditBubbleFlowToolParamsSchema>; type EditBubbleFlowToolResult = z.output<typeof EditBubbleFlowToolResultSchema>; declare const EditBubbleFlowToolResultSchema: z.ZodObject<{ mergedCode: z.ZodString; applied: z.ZodBoolean; success: z.ZodBoolean; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; mergedCode: string; applied: boolean; }, { success: boolean; error: string; mergedCode: string; applied: boolean; }>; export declare class EditBubbleFlowTool extends ToolBubble<EditBubbleFlowToolParams, EditBubbleFlowToolResult> { static readonly type: "tool"; static readonly bubbleName = "code-edit-tool"; static readonly schema: z.ZodObject<{ initialCode: z.ZodString; old_string: z.ZodString; new_string: z.ZodString; replace_all: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>; credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>; config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, "strip", z.ZodTypeAny, { initialCode: string; old_string: string; new_string: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; replace_all?: boolean | undefined; }, { initialCode: string; old_string: string; new_string: string; credentials?: Record<string, string> | undefined; config?: Record<string, unknown> | undefined; replace_all?: boolean | undefined; }>; static readonly resultSchema: z.ZodObject<{ mergedCode: z.ZodString; applied: z.ZodBoolean; success: z.ZodBoolean; error: z.ZodString; }, "strip", z.ZodTypeAny, { success: boolean; error: string; mergedCode: string; applied: boolean; }, { success: boolean; error: string; mergedCode: string; applied: boolean; }>; static readonly shortDescription = "Applies code edits to BubbleFlow files using find-and-replace"; static readonly longDescription = "See bubble documentation for details"; static readonly alias = "code-edit"; private countOccurrences; performAction(): Promise<EditBubbleFlowToolResult>; }
1567
1567
  export {}; export declare abstract class BaseBubble<TParams = unknown, TResult extends BubbleOperationResult = BubbleOperationResult> implements IBubble<TResult> { readonly name: string; readonly schema: z.ZodObject<z.ZodRawShape>; readonly resultSchema: z.ZodObject<z.ZodRawShape>; readonly shortDescription: string; readonly longDescription: string; readonly alias?: string; abstract readonly type: 'service' | 'workflow' | 'tool' | 'ui' | 'infra'; protected readonly params: TParams; protected context?: BubbleContext; previousResult: BubbleResult<BubbleOperationResult> | undefined; protected readonly instanceId?: string; constructor(params: unknown, context?: BubbleContext, instanceId?: string); private computeChildContext; saveResult<R extends BubbleOperationResult>(result: BubbleResult<R>): void; clearSavedResult(): void; toJSON(): Record<string, unknown>; action(): Promise<BubbleResult<TResult>>; generateMockResult(): BubbleResult<TResult>; generateMockResultWithSeed(seed: number): BubbleResult<TResult>; protected abstract performAction(context?: BubbleContext): Promise<TResult>; }
1568
1568
  export interface LangGraphTool { name: string; description: string; schema: z.ZodSchema; func<TResult extends BubbleOperationResult = BubbleOperationResult>(params: unknown): Promise<BubbleResult<TResult>>; }
1569
1569
  export declare abstract class ToolBubble<TParams extends ServiceBubbleParams = ServiceBubbleParams, TResult extends BubbleOperationResult = BubbleOperationResult> extends BaseBubble<TParams, TResult> implements IToolBubble<TResult> { readonly type: "tool"; constructor(params: unknown, context?: BubbleContext, instanceId?: string); static toolAgent(credentials?: Partial<Record<CredentialType, string>>, config?: Record<string, unknown>, context?: BubbleContext): LangGraphTool; }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/ai-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-agent.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/ai-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/ai-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-agent.js","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/ai-agent.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,14 @@
1
1
  /**
2
2
  * EDIT BUBBLEFLOW TOOL
3
3
  *
4
- * A tool bubble that applies code edits to BubbleFlow files using Morph Fast Apply.
5
- * This tool uses the Morph API via OpenRouter to intelligently merge code changes
6
- * specified by an AI agent into existing BubbleFlow code, following the Fast Apply
7
- * pattern used in Cursor.
4
+ * A tool bubble that applies code edits to BubbleFlow files using find-and-replace.
5
+ * This tool performs simple string replacement matching Claude Code's Edit tool behavior.
8
6
  *
9
7
  * Features:
10
- * - Intelligent code merging using Morph Fast Apply model
11
- * - Support for lazy edits with "// ... existing code ..." markers
12
- * - Minimal context repetition for efficient edits
13
- * - Automatic validation after edits
14
- * - Detailed diff reporting
8
+ * - Exact string find-and-replace
9
+ * - Uniqueness validation (prevents ambiguous edits)
10
+ * - Replace-all mode for renaming variables/strings
11
+ * - No external API calls required
15
12
  */
16
13
  import { z } from 'zod';
17
14
  import { ToolBubble } from '../../types/tool-bubble-class.js';
@@ -21,25 +18,25 @@ import { ToolBubble } from '../../types/tool-bubble-class.js';
21
18
  */
22
19
  declare const EditBubbleFlowToolParamsSchema: z.ZodObject<{
23
20
  initialCode: z.ZodString;
24
- instructions: z.ZodString;
25
- codeEdit: z.ZodString;
26
- morphModel: z.ZodOptional<z.ZodDefault<z.ZodString>>;
21
+ old_string: z.ZodString;
22
+ new_string: z.ZodString;
23
+ replace_all: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
27
24
  credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
28
25
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
26
  }, "strip", z.ZodTypeAny, {
30
27
  initialCode: string;
31
- instructions: string;
32
- codeEdit: string;
28
+ old_string: string;
29
+ new_string: string;
33
30
  credentials?: Record<string, string> | undefined;
34
31
  config?: Record<string, unknown> | undefined;
35
- morphModel?: string | undefined;
32
+ replace_all?: boolean | undefined;
36
33
  }, {
37
34
  initialCode: string;
38
- instructions: string;
39
- codeEdit: string;
35
+ old_string: string;
36
+ new_string: string;
40
37
  credentials?: Record<string, string> | undefined;
41
38
  config?: Record<string, unknown> | undefined;
42
- morphModel?: string | undefined;
39
+ replace_all?: boolean | undefined;
43
40
  }>;
44
41
  /**
45
42
  * Type definitions derived from schemas
@@ -53,53 +50,22 @@ type EditBubbleFlowToolResult = z.output<typeof EditBubbleFlowToolResultSchema>;
53
50
  declare const EditBubbleFlowToolResultSchema: z.ZodObject<{
54
51
  mergedCode: z.ZodString;
55
52
  applied: z.ZodBoolean;
56
- diff: z.ZodOptional<z.ZodString>;
57
- metadata: z.ZodObject<{
58
- editedAt: z.ZodString;
59
- originalLength: z.ZodNumber;
60
- finalLength: z.ZodNumber;
61
- morphModel: z.ZodString;
62
- }, "strip", z.ZodTypeAny, {
63
- originalLength: number;
64
- morphModel: string;
65
- editedAt: string;
66
- finalLength: number;
67
- }, {
68
- originalLength: number;
69
- morphModel: string;
70
- editedAt: string;
71
- finalLength: number;
72
- }>;
73
53
  success: z.ZodBoolean;
74
54
  error: z.ZodString;
75
55
  }, "strip", z.ZodTypeAny, {
76
56
  success: boolean;
77
57
  error: string;
78
- metadata: {
79
- originalLength: number;
80
- morphModel: string;
81
- editedAt: string;
82
- finalLength: number;
83
- };
84
58
  mergedCode: string;
85
59
  applied: boolean;
86
- diff?: string | undefined;
87
60
  }, {
88
61
  success: boolean;
89
62
  error: string;
90
- metadata: {
91
- originalLength: number;
92
- morphModel: string;
93
- editedAt: string;
94
- finalLength: number;
95
- };
96
63
  mergedCode: string;
97
64
  applied: boolean;
98
- diff?: string | undefined;
99
65
  }>;
100
66
  /**
101
67
  * Edit BubbleFlow Tool
102
- * Applies code edits using Morph Fast Apply API via AIAgent
68
+ * Applies code edits using find-and-replace
103
69
  */
104
70
  export declare class EditBubbleFlowTool extends ToolBubble<EditBubbleFlowToolParams, EditBubbleFlowToolResult> {
105
71
  /**
@@ -109,78 +75,51 @@ export declare class EditBubbleFlowTool extends ToolBubble<EditBubbleFlowToolPar
109
75
  static readonly bubbleName = "code-edit-tool";
110
76
  static readonly schema: z.ZodObject<{
111
77
  initialCode: z.ZodString;
112
- instructions: z.ZodString;
113
- codeEdit: z.ZodString;
114
- morphModel: z.ZodOptional<z.ZodDefault<z.ZodString>>;
78
+ old_string: z.ZodString;
79
+ new_string: z.ZodString;
80
+ replace_all: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
115
81
  credentials: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
116
82
  config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
117
83
  }, "strip", z.ZodTypeAny, {
118
84
  initialCode: string;
119
- instructions: string;
120
- codeEdit: string;
85
+ old_string: string;
86
+ new_string: string;
121
87
  credentials?: Record<string, string> | undefined;
122
88
  config?: Record<string, unknown> | undefined;
123
- morphModel?: string | undefined;
89
+ replace_all?: boolean | undefined;
124
90
  }, {
125
91
  initialCode: string;
126
- instructions: string;
127
- codeEdit: string;
92
+ old_string: string;
93
+ new_string: string;
128
94
  credentials?: Record<string, string> | undefined;
129
95
  config?: Record<string, unknown> | undefined;
130
- morphModel?: string | undefined;
96
+ replace_all?: boolean | undefined;
131
97
  }>;
132
98
  static readonly resultSchema: z.ZodObject<{
133
99
  mergedCode: z.ZodString;
134
100
  applied: z.ZodBoolean;
135
- diff: z.ZodOptional<z.ZodString>;
136
- metadata: z.ZodObject<{
137
- editedAt: z.ZodString;
138
- originalLength: z.ZodNumber;
139
- finalLength: z.ZodNumber;
140
- morphModel: z.ZodString;
141
- }, "strip", z.ZodTypeAny, {
142
- originalLength: number;
143
- morphModel: string;
144
- editedAt: string;
145
- finalLength: number;
146
- }, {
147
- originalLength: number;
148
- morphModel: string;
149
- editedAt: string;
150
- finalLength: number;
151
- }>;
152
101
  success: z.ZodBoolean;
153
102
  error: z.ZodString;
154
103
  }, "strip", z.ZodTypeAny, {
155
104
  success: boolean;
156
105
  error: string;
157
- metadata: {
158
- originalLength: number;
159
- morphModel: string;
160
- editedAt: string;
161
- finalLength: number;
162
- };
163
106
  mergedCode: string;
164
107
  applied: boolean;
165
- diff?: string | undefined;
166
108
  }, {
167
109
  success: boolean;
168
110
  error: string;
169
- metadata: {
170
- originalLength: number;
171
- morphModel: string;
172
- editedAt: string;
173
- finalLength: number;
174
- };
175
111
  mergedCode: string;
176
112
  applied: boolean;
177
- diff?: string | undefined;
178
113
  }>;
179
- static readonly shortDescription = "Applies code edits to BubbleFlow files using Morph Fast Apply";
180
- static readonly longDescription = "\n A tool for intelligently applying code edits to BubbleFlow TypeScript files.\n Uses the Morph Fast Apply API via OpenRouter to merge lazy code edits into existing code.\n\n What it does:\n - Merges code edits specified with \"// ... existing code ...\" markers\n - Uses Morph's apply model for intelligent code merging\n - Minimizes context repetition for efficient edits\n - Returns the final merged code\n\n How it works:\n - Takes original code, edit instructions, and code edit as input\n - Sends to Morph API via OpenRouter using HttpBubble\n - Receives merged code from Morph's apply model\n - Returns the final code ready to be written to file\n\n Use cases:\n - When an AI agent needs to make edits to BubbleFlow code\n - When applying multiple distinct edits to a file at once\n - When making targeted changes without rewriting entire files\n - When following the Cursor Fast Apply pattern for code edits\n\n Important:\n - The codeEdit parameter should use \"// ... existing code ...\" to mark unchanged sections\n - The instructions parameter should be generated by the model in first person\n - Requires OPENROUTER_CRED credential for Morph API access via OpenRouter\n ";
114
+ static readonly shortDescription = "Applies code edits to BubbleFlow files using find-and-replace";
115
+ static readonly longDescription = "\n A tool for applying code edits to BubbleFlow TypeScript files using find-and-replace.\n\n What it does:\n - Finds exact text matches in code and replaces them\n - Validates uniqueness to prevent ambiguous edits\n - Supports replace-all mode for renaming variables/strings\n - No external API calls required\n\n How it works:\n - Takes the current code, old_string (text to find), and new_string (replacement)\n - Validates that old_string exists and is unique (unless replace_all is true)\n - Performs the replacement and returns the updated code\n\n Use cases:\n - When an AI agent needs to make edits to BubbleFlow code\n - When making targeted changes without rewriting entire files\n - When renaming variables or strings across a file\n\n Important:\n - old_string must be an exact match of text in the code\n - If old_string appears multiple times, provide more context or use replace_all\n - new_string must be different from old_string\n ";
181
116
  static readonly alias = "code-edit";
182
117
  /**
183
- * Main action method - performs code edit merging
118
+ * Count occurrences of a substring in a string
119
+ */
120
+ private countOccurrences;
121
+ /**
122
+ * Main action method - performs find-and-replace code editing
184
123
  */
185
124
  performAction(): Promise<EditBubbleFlowToolResult>;
186
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"code-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/code-edit-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAI9D;;;GAGG;AACH,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;EAsClC,CAAC;AAEH;;GAEG;AACH,KAAK,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAChF,KAAK,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEhF;;;GAGG;AACH,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BlC,CAAC;AAEH;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,UAAU,CAChD,wBAAwB,EACxB,wBAAwB,CACzB;IACC;;OAEG;IAGH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAGvC,MAAM,CAAC,QAAQ,CAAC,UAAU,oBAAoB;IAG9C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;OAAkC;IACxD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAkC;IAG9D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,mEACkC;IAGlE,MAAM,CAAC,QAAQ,CAAC,eAAe,suCA0B7B;IAGF,MAAM,CAAC,QAAQ,CAAC,KAAK,eAAe;IAEpC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;CA4OzD"}
1
+ {"version":3,"file":"code-edit-tool.d.ts","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/code-edit-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D;;;GAGG;AACH,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;EAwClC,CAAC;AAEH;;GAEG;AACH,KAAK,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAChF,KAAK,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEhF;;;GAGG;AACH,QAAA,MAAM,8BAA8B;;;;;;;;;;;;;;;EAUlC,CAAC;AAEH;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,UAAU,CAChD,wBAAwB,EACxB,wBAAwB,CACzB;IACC;;OAEG;IAGH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAGvC,MAAM,CAAC,QAAQ,CAAC,UAAU,oBAAoB;IAG9C,MAAM,CAAC,QAAQ,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;OAAkC;IACxD,MAAM,CAAC,QAAQ,CAAC,YAAY;;;;;;;;;;;;;;;OAAkC;IAG9D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,mEACkC;IAGlE,MAAM,CAAC,QAAQ,CAAC,eAAe,i/BAuB7B;IAGF,MAAM,CAAC,QAAQ,CAAC,KAAK,eAAe;IAEpC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,wBAAwB,CAAC;CAsFzD"}
@@ -1,43 +1,38 @@
1
1
  /**
2
2
  * EDIT BUBBLEFLOW TOOL
3
3
  *
4
- * A tool bubble that applies code edits to BubbleFlow files using Morph Fast Apply.
5
- * This tool uses the Morph API via OpenRouter to intelligently merge code changes
6
- * specified by an AI agent into existing BubbleFlow code, following the Fast Apply
7
- * pattern used in Cursor.
4
+ * A tool bubble that applies code edits to BubbleFlow files using find-and-replace.
5
+ * This tool performs simple string replacement matching Claude Code's Edit tool behavior.
8
6
  *
9
7
  * Features:
10
- * - Intelligent code merging using Morph Fast Apply model
11
- * - Support for lazy edits with "// ... existing code ..." markers
12
- * - Minimal context repetition for efficient edits
13
- * - Automatic validation after edits
14
- * - Detailed diff reporting
8
+ * - Exact string find-and-replace
9
+ * - Uniqueness validation (prevents ambiguous edits)
10
+ * - Replace-all mode for renaming variables/strings
11
+ * - No external API calls required
15
12
  */
16
13
  import { z } from 'zod';
17
14
  import { ToolBubble } from '../../types/tool-bubble-class.js';
18
- import { CredentialType } from '@bubblelab/shared-schemas';
19
- import { HttpBubble } from '../service-bubble/http.js';
20
15
  /**
21
16
  * Define the parameters schema using Zod
22
17
  * This schema validates and types the input parameters for the edit tool
23
18
  */
24
19
  const EditBubbleFlowToolParamsSchema = z.object({
25
- // The original BubbleFlow code
26
- initialCode: z.string().describe('The original code to be edited'),
27
- // The edit instructions
28
- instructions: z
20
+ // The current code to apply the edit to
21
+ initialCode: z.string().describe('The current code to apply the edit to'),
22
+ // The exact text to replace
23
+ old_string: z
29
24
  .string()
30
- .describe('A single sentence instruction in first person describing what changes are being made (e.g., "I am adding error handling to the user auth and removing the old auth functions"). Used to help disambiguate uncertainty in the edit.'),
31
- // The code edit with markers
32
- codeEdit: z
25
+ .describe('The exact text to replace. Must be unique in the code if not unique, provide more surrounding context to disambiguate.'),
26
+ // The replacement text
27
+ new_string: z
33
28
  .string()
34
- .describe('The code changes to apply. Specify ONLY the precise lines of code that you wish to edit. Use "// ... existing code ..." to represent unchanged sections. DO NOT omit spans of pre-existing code without using the marker, as this may cause inadvertent deletion.'),
35
- // Optional Morph model configuration
36
- morphModel: z
37
- .string()
38
- .default('morph/morph-v3-large')
29
+ .describe('The replacement text. Must be different from old_string.'),
30
+ // Whether to replace all occurrences
31
+ replace_all: z
32
+ .boolean()
33
+ .default(false)
39
34
  .optional()
40
- .describe('Morph model to use for applying edits via OpenRouter'),
35
+ .describe('Replace all occurrences of old_string (default false). Use for renaming variables/strings across the file.'),
41
36
  // Credentials (injected at runtime)
42
37
  credentials: z
43
38
  .record(z.string(), z.string())
@@ -58,27 +53,13 @@ const EditBubbleFlowToolResultSchema = z.object({
58
53
  mergedCode: z.string().describe('The final code after applying edits'),
59
54
  // Success indicator
60
55
  applied: z.boolean().describe('Whether the edit was successfully applied'),
61
- // Optional diff information
62
- diff: z
63
- .string()
64
- .optional()
65
- .describe('Unified diff showing the changes made (if available)'),
66
- // Metadata
67
- metadata: z.object({
68
- editedAt: z.string().describe('Timestamp when edit was performed'),
69
- originalLength: z
70
- .number()
71
- .describe('Length of original code in characters'),
72
- finalLength: z.number().describe('Length of final code in characters'),
73
- morphModel: z.string().describe('Morph model used for the edit'),
74
- }),
75
56
  // Standard result fields
76
57
  success: z.boolean().describe('Whether the edit operation was successful'),
77
58
  error: z.string().describe('Error message if edit failed'),
78
59
  });
79
60
  /**
80
61
  * Edit BubbleFlow Tool
81
- * Applies code edits using Morph Fast Apply API via AIAgent
62
+ * Applies code edits using find-and-replace
82
63
  */
83
64
  export class EditBubbleFlowTool extends ToolBubble {
84
65
  /**
@@ -92,226 +73,122 @@ export class EditBubbleFlowTool extends ToolBubble {
92
73
  static schema = EditBubbleFlowToolParamsSchema;
93
74
  static resultSchema = EditBubbleFlowToolResultSchema;
94
75
  // Short description
95
- static shortDescription = 'Applies code edits to BubbleFlow files using Morph Fast Apply';
76
+ static shortDescription = 'Applies code edits to BubbleFlow files using find-and-replace';
96
77
  // Long description with detailed information
97
78
  static longDescription = `
98
- A tool for intelligently applying code edits to BubbleFlow TypeScript files.
99
- Uses the Morph Fast Apply API via OpenRouter to merge lazy code edits into existing code.
79
+ A tool for applying code edits to BubbleFlow TypeScript files using find-and-replace.
100
80
 
101
81
  What it does:
102
- - Merges code edits specified with "// ... existing code ..." markers
103
- - Uses Morph's apply model for intelligent code merging
104
- - Minimizes context repetition for efficient edits
105
- - Returns the final merged code
82
+ - Finds exact text matches in code and replaces them
83
+ - Validates uniqueness to prevent ambiguous edits
84
+ - Supports replace-all mode for renaming variables/strings
85
+ - No external API calls required
106
86
 
107
87
  How it works:
108
- - Takes original code, edit instructions, and code edit as input
109
- - Sends to Morph API via OpenRouter using HttpBubble
110
- - Receives merged code from Morph's apply model
111
- - Returns the final code ready to be written to file
88
+ - Takes the current code, old_string (text to find), and new_string (replacement)
89
+ - Validates that old_string exists and is unique (unless replace_all is true)
90
+ - Performs the replacement and returns the updated code
112
91
 
113
92
  Use cases:
114
93
  - When an AI agent needs to make edits to BubbleFlow code
115
- - When applying multiple distinct edits to a file at once
116
94
  - When making targeted changes without rewriting entire files
117
- - When following the Cursor Fast Apply pattern for code edits
95
+ - When renaming variables or strings across a file
118
96
 
119
97
  Important:
120
- - The codeEdit parameter should use "// ... existing code ..." to mark unchanged sections
121
- - The instructions parameter should be generated by the model in first person
122
- - Requires OPENROUTER_CRED credential for Morph API access via OpenRouter
98
+ - old_string must be an exact match of text in the code
99
+ - If old_string appears multiple times, provide more context or use replace_all
100
+ - new_string must be different from old_string
123
101
  `;
124
102
  // Short alias for the tool
125
103
  static alias = 'code-edit';
126
104
  /**
127
- * Main action method - performs code edit merging
105
+ * Count occurrences of a substring in a string
106
+ */
107
+ countOccurrences(str, substr) {
108
+ let count = 0;
109
+ let pos = 0;
110
+ while ((pos = str.indexOf(substr, pos)) !== -1) {
111
+ count++;
112
+ pos += substr.length;
113
+ }
114
+ return count;
115
+ }
116
+ /**
117
+ * Main action method - performs find-and-replace code editing
128
118
  */
129
119
  async performAction() {
130
120
  try {
131
- // Extract parameters
132
- const { initialCode, instructions, codeEdit, morphModel } = this.params;
133
- // Validate inputs
121
+ const { initialCode, old_string, new_string, replace_all } = this.params;
122
+ // Validate initialCode is not empty
134
123
  if (!initialCode || initialCode.trim().length === 0) {
135
124
  return {
136
125
  mergedCode: '',
137
126
  applied: false,
138
- metadata: {
139
- editedAt: new Date().toISOString(),
140
- originalLength: 0,
141
- finalLength: 0,
142
- morphModel: morphModel ?? 'morph/morph-v3-large',
143
- },
144
127
  success: false,
145
128
  error: 'Initial code cannot be empty',
146
129
  };
147
130
  }
148
- if (!instructions || instructions.trim().length === 0) {
131
+ // Validate old_string is not empty
132
+ if (!old_string || old_string.length === 0) {
149
133
  return {
150
134
  mergedCode: initialCode,
151
135
  applied: false,
152
- metadata: {
153
- editedAt: new Date().toISOString(),
154
- originalLength: initialCode.length,
155
- finalLength: initialCode.length,
156
- morphModel: morphModel ?? 'morph/morph-v3-large',
157
- },
158
136
  success: false,
159
- error: 'Instructions cannot be empty',
137
+ error: 'old_string cannot be empty',
160
138
  };
161
139
  }
162
- if (!codeEdit || codeEdit.trim().length === 0) {
140
+ // Validate old_string !== new_string
141
+ if (old_string === new_string) {
163
142
  return {
164
143
  mergedCode: initialCode,
165
144
  applied: false,
166
- metadata: {
167
- editedAt: new Date().toISOString(),
168
- originalLength: initialCode.length,
169
- finalLength: initialCode.length,
170
- morphModel: morphModel ?? 'morph/morph-v3-large',
171
- },
172
145
  success: false,
173
- error: 'Code edit cannot be empty',
146
+ error: 'new_string must be different from old_string',
174
147
  };
175
148
  }
176
- // Get OpenRouter API key from credentials
177
- const apiKey = this.params.credentials?.[CredentialType.OPENROUTER_CRED];
178
- if (!apiKey) {
149
+ // Check old_string exists in initialCode
150
+ if (!initialCode.includes(old_string)) {
179
151
  return {
180
152
  mergedCode: initialCode,
181
153
  applied: false,
182
- metadata: {
183
- editedAt: new Date().toISOString(),
184
- originalLength: initialCode.length,
185
- finalLength: initialCode.length,
186
- morphModel: morphModel ?? 'morph/morph-v3-large',
187
- },
188
154
  success: false,
189
- error: 'OpenRouter API key not found. Please provide OPENROUTER_CRED credential.',
155
+ error: 'old_string not found in code',
190
156
  };
191
157
  }
192
- // Construct the message for Morph API following the recommended format
193
- const morphPrompt = `<instruction>${instructions}</instruction>\n<code>${initialCode}</code>\n<update>${codeEdit}</update>`;
194
- // Use HttpBubble to call OpenRouter API
195
- const httpBubble = new HttpBubble({
196
- url: 'https://openrouter.ai/api/v1/chat/completions',
197
- method: 'POST',
198
- headers: {
199
- Authorization: `Bearer ${apiKey}`,
200
- 'Content-Type': 'application/json',
201
- },
202
- body: {
203
- model: 'morph/morph-v3-large',
204
- messages: [
205
- {
206
- role: 'user',
207
- content: morphPrompt,
208
- },
209
- ],
210
- },
211
- timeout: 60000, // 60 second timeout for code generation
212
- }, this.context);
213
- // Execute the HTTP request
214
- const result = await httpBubble.action();
215
- if (!result.success || !result.data?.json) {
216
- return {
217
- mergedCode: initialCode,
218
- applied: false,
219
- metadata: {
220
- editedAt: new Date().toISOString(),
221
- originalLength: initialCode.length,
222
- finalLength: initialCode.length,
223
- morphModel: morphModel ?? 'morph/morph-v3-large',
224
- },
225
- success: false,
226
- error: result.error || 'Morph API returned empty response',
227
- };
228
- }
229
- const responseData = result.data.json;
230
- // Extract token usage - OpenRouter uses 'usage' field (OpenAI format)
231
- // Fallback to usage_metadata if present (some providers use this)
232
- let inputTokens = 0;
233
- let outputTokens = 0;
234
- let totalTokens = 0;
235
- if (responseData.usage) {
236
- // OpenAI format: usage.prompt_tokens, usage.completion_tokens
237
- inputTokens = responseData.usage.prompt_tokens ?? 0;
238
- outputTokens = responseData.usage.completion_tokens ?? 0;
239
- totalTokens = responseData.usage.total_tokens ?? 0;
240
- }
241
- else if (responseData.usage_metadata) {
242
- // Alternative format: usage_metadata.input_tokens, usage_metadata.output_tokens
243
- inputTokens = responseData.usage_metadata.input_tokens ?? 0;
244
- outputTokens = responseData.usage_metadata.output_tokens ?? 0;
245
- totalTokens = responseData.usage_metadata.total_tokens ?? 0;
246
- }
247
- const tokenUsage = {
248
- inputTokens,
249
- outputTokens,
250
- totalTokens,
251
- modelName: morphModel ?? 'morph/morph-v3-large',
252
- };
253
- if (this.context?.logger) {
254
- this.context.logger.logTokenUsage({
255
- usage: tokenUsage.inputTokens,
256
- service: CredentialType.OPENROUTER_CRED,
257
- unit: 'input_tokens',
258
- subService: morphModel ?? 'morph/morph-v3-large',
259
- }, `LLM completion: ${tokenUsage.inputTokens} input`, {
260
- bubbleName: 'code-edit-tool',
261
- variableId: this.context?.variableId,
262
- operationType: 'bubble_execution',
263
- });
264
- this.context.logger.logTokenUsage({
265
- usage: tokenUsage.outputTokens,
266
- service: CredentialType.OPENROUTER_CRED,
267
- unit: 'output_tokens',
268
- subService: morphModel ?? 'morph/morph-v3-large',
269
- }, `LLM completion: ${tokenUsage.outputTokens} output`, {
270
- bubbleName: 'code-edit-tool',
271
- variableId: this.context?.variableId,
272
- operationType: 'bubble_execution',
273
- });
158
+ let result;
159
+ if (replace_all) {
160
+ // Replace ALL occurrences
161
+ result = initialCode.replaceAll(old_string, new_string);
274
162
  }
275
- const mergedCode = responseData.choices?.[0]?.message?.content;
276
- if (!mergedCode) {
277
- return {
278
- mergedCode: initialCode,
279
- applied: false,
280
- metadata: {
281
- editedAt: new Date().toISOString(),
282
- originalLength: initialCode.length,
283
- finalLength: initialCode.length,
284
- morphModel: morphModel ?? 'morph/morph-v3-large',
285
- },
286
- success: false,
287
- error: 'Morph API returned empty content',
288
- };
163
+ else {
164
+ // Check uniqueness
165
+ const count = this.countOccurrences(initialCode, old_string);
166
+ if (count > 1) {
167
+ return {
168
+ mergedCode: initialCode,
169
+ applied: false,
170
+ success: false,
171
+ error: 'old_string is not unique in the code. Provide a larger string with more surrounding context to make it unique, or use replace_all to change every instance.',
172
+ };
173
+ }
174
+ // Replace the single occurrence
175
+ const index = initialCode.indexOf(old_string);
176
+ result =
177
+ initialCode.slice(0, index) +
178
+ new_string +
179
+ initialCode.slice(index + old_string.length);
289
180
  }
290
- // Return successful result
291
181
  return {
292
- mergedCode,
182
+ mergedCode: result,
293
183
  applied: true,
294
- metadata: {
295
- editedAt: new Date().toISOString(),
296
- originalLength: initialCode.length,
297
- finalLength: mergedCode.length,
298
- morphModel: morphModel ?? 'openrouter/morph/morph-v3-large',
299
- },
300
184
  success: true,
301
185
  error: '',
302
186
  };
303
187
  }
304
188
  catch (error) {
305
- // Handle unexpected errors gracefully
306
189
  return {
307
190
  mergedCode: this.params.initialCode || '',
308
191
  applied: false,
309
- metadata: {
310
- editedAt: new Date().toISOString(),
311
- originalLength: this.params.initialCode?.length || 0,
312
- finalLength: this.params.initialCode?.length || 0,
313
- morphModel: this.params.morphModel ?? 'openrouter/morph/morph-v3-large',
314
- },
315
192
  success: false,
316
193
  error: error instanceof Error ? error.message : 'Unknown error occurred',
317
194
  };
@@ -1 +1 @@
1
- {"version":3,"file":"code-edit-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/code-edit-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD;;;GAGG;AACH,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,+BAA+B;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAElE,wBAAwB;IACxB,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,QAAQ,CACP,oOAAoO,CACrO;IAEH,6BAA6B;IAC7B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CACP,mQAAmQ,CACpQ;IAEH,qCAAqC;IACrC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,OAAO,CAAC,sBAAsB,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IAEnE,oCAAoC;IACpC,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;IAEjE,yBAAyB;IACzB,MAAM,EAAE,CAAC;SACN,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE,CACzE;CACJ,CAAC,CAAC;AAQH;;;GAGG;AACH,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,wBAAwB;IACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAEtE,oBAAoB;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAE1E,4BAA4B;IAC5B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IAEnE,WAAW;IACX,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAClE,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,QAAQ,CAAC,uCAAuC,CAAC;QACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KACjE,CAAC;IAEF,yBAAyB;IACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC1E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CAC3D,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,UAGvC;IACC;;OAEG;IAEH,+CAA+C;IAC/C,MAAM,CAAU,IAAI,GAAG,MAAe,CAAC;IAEvC,iCAAiC;IACjC,MAAM,CAAU,UAAU,GAAG,gBAAgB,CAAC;IAE9C,yBAAyB;IACzB,MAAM,CAAU,MAAM,GAAG,8BAA8B,CAAC;IACxD,MAAM,CAAU,YAAY,GAAG,8BAA8B,CAAC;IAE9D,oBAAoB;IACpB,MAAM,CAAU,gBAAgB,GAC9B,+DAA+D,CAAC;IAElE,6CAA6C;IAC7C,MAAM,CAAU,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BjC,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAU,KAAK,GAAG,WAAW,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,qBAAqB;YACrB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;YAExE,kBAAkB;YAClB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpD,OAAO;oBACL,UAAU,EAAE,EAAE;oBACd,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAClC,cAAc,EAAE,CAAC;wBACjB,WAAW,EAAE,CAAC;wBACd,UAAU,EAAE,UAAU,IAAI,sBAAsB;qBACjD;oBACD,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8BAA8B;iBACtC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtD,OAAO;oBACL,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAClC,cAAc,EAAE,WAAW,CAAC,MAAM;wBAClC,WAAW,EAAE,WAAW,CAAC,MAAM;wBAC/B,UAAU,EAAE,UAAU,IAAI,sBAAsB;qBACjD;oBACD,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,8BAA8B;iBACtC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAClC,cAAc,EAAE,WAAW,CAAC,MAAM;wBAClC,WAAW,EAAE,WAAW,CAAC,MAAM;wBAC/B,UAAU,EAAE,UAAU,IAAI,sBAAsB;qBACjD;oBACD,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,2BAA2B;iBACnC,CAAC;YACJ,CAAC;YAED,0CAA0C;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAClC,cAAc,EAAE,WAAW,CAAC,MAAM;wBAClC,WAAW,EAAE,WAAW,CAAC,MAAM;wBAC/B,UAAU,EAAE,UAAU,IAAI,sBAAsB;qBACjD;oBACD,OAAO,EAAE,KAAK;oBACd,KAAK,EACH,0EAA0E;iBAC7E,CAAC;YACJ,CAAC;YAED,uEAAuE;YACvE,MAAM,WAAW,GAAG,gBAAgB,YAAY,yBAAyB,WAAW,oBAAoB,QAAQ,WAAW,CAAC;YAE5H,wCAAwC;YACxC,MAAM,UAAU,GAAG,IAAI,UAAU,CAC/B;gBACE,GAAG,EAAE,+CAA+C;gBACpD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,MAAM,EAAE;oBACjC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE;oBACJ,KAAK,EAAE,sBAAsB;oBAC7B,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE,WAAW;yBACrB;qBACF;iBACF;gBACD,OAAO,EAAE,KAAK,EAAE,wCAAwC;aACzD,EACD,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,2BAA2B;YAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC1C,OAAO;oBACL,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAClC,cAAc,EAAE,WAAW,CAAC,MAAM;wBAClC,WAAW,EAAE,WAAW,CAAC,MAAM;wBAC/B,UAAU,EAAE,UAAU,IAAI,sBAAsB;qBACjD;oBACD,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,mCAAmC;iBAC3D,CAAC;YACJ,CAAC;YAmBD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAA0B,CAAC;YAE5D,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,WAAW,GAAG,CAAC,CAAC;YAEpB,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,8DAA8D;gBAC9D,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;gBACpD,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBACzD,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;gBACvC,gFAAgF;gBAChF,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC;gBAC5D,YAAY,GAAG,YAAY,CAAC,cAAc,CAAC,aAAa,IAAI,CAAC,CAAC;gBAC9D,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,YAAY,IAAI,CAAC,CAAC;YAC9D,CAAC;YAED,MAAM,UAAU,GAAG;gBACjB,WAAW;gBACX,YAAY;gBACZ,WAAW;gBACX,SAAS,EAAE,UAAU,IAAI,sBAAsB;aAChD,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAC/B;oBACE,KAAK,EAAE,UAAU,CAAC,WAAW;oBAC7B,OAAO,EAAE,cAAc,CAAC,eAAe;oBACvC,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE,UAAU,IAAI,sBAAsB;iBACjD,EACD,mBAAmB,UAAU,CAAC,WAAW,QAAQ,EACjD;oBACE,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU;oBACpC,aAAa,EAAE,kBAAkB;iBAClC,CACF,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAC/B;oBACE,KAAK,EAAE,UAAU,CAAC,YAAY;oBAC9B,OAAO,EAAE,cAAc,CAAC,eAAe;oBACvC,IAAI,EAAE,eAAe;oBACrB,UAAU,EAAE,UAAU,IAAI,sBAAsB;iBACjD,EACD,mBAAmB,UAAU,CAAC,YAAY,SAAS,EACnD;oBACE,UAAU,EAAE,gBAAgB;oBAC5B,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU;oBACpC,aAAa,EAAE,kBAAkB;iBAClC,CACF,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;YAE/D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO;oBACL,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBAClC,cAAc,EAAE,WAAW,CAAC,MAAM;wBAClC,WAAW,EAAE,WAAW,CAAC,MAAM;wBAC/B,UAAU,EAAE,UAAU,IAAI,sBAAsB;qBACjD;oBACD,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,kCAAkC;iBAC1C,CAAC;YACJ,CAAC;YAED,2BAA2B;YAC3B,OAAO;gBACL,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAClC,cAAc,EAAE,WAAW,CAAC,MAAM;oBAClC,WAAW,EAAE,UAAU,CAAC,MAAM;oBAC9B,UAAU,EAAE,UAAU,IAAI,iCAAiC;iBAC5D;gBACD,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sCAAsC;YACtC,OAAO;gBACL,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE;gBACzC,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE;oBACR,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAClC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;oBACpD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;oBACjD,UAAU,EACR,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,iCAAiC;iBAC9D;gBACD,OAAO,EAAE,KAAK;gBACd,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aACpE,CAAC;QACJ,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"code-edit-tool.js","sourceRoot":"","sources":["../../../src/bubbles/tool-bubble/code-edit-tool.ts"],"names":[],"mappings":"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"}
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-02-16T06:40:20.162Z",
3
+ "generatedAt": "2026-02-16T08:43:32.274Z",
4
4
  "totalCount": 66,
5
5
  "bubbles": [
6
6
  {
@@ -36095,28 +36095,28 @@
36095
36095
  "name": "code-edit-tool",
36096
36096
  "alias": "code-edit",
36097
36097
  "type": "tool",
36098
- "shortDescription": "Applies code edits to BubbleFlow files using Morph Fast Apply",
36098
+ "shortDescription": "Applies code edits to BubbleFlow files using find-and-replace",
36099
36099
  "useCase": "- When an AI agent needs to make edits to BubbleFlow code",
36100
- "outputSchema": "{\n mergedCode: string // The final code after applying edits,\n applied: boolean // Whether the edit was successfully applied,\n diff: string | undefined // Unified diff showing the changes made (if available),\n metadata: { editedAt: string // Timestamp when edit was performed, originalLength: number // Length of original code in characters, finalLength: number // Length of final code in characters, morphModel: string // Morph model used for the edit },\n success: boolean // Whether the edit operation was successful,\n error: string // Error message if edit failed\n}",
36100
+ "outputSchema": "{\n mergedCode: string // The final code after applying edits,\n applied: boolean // Whether the edit was successfully applied,\n success: boolean // Whether the edit operation was successful,\n error: string // Error message if edit failed\n}",
36101
36101
  "inputJsonSchema": {
36102
36102
  "type": "object",
36103
36103
  "properties": {
36104
36104
  "initialCode": {
36105
36105
  "type": "string",
36106
- "description": "The original code to be edited"
36106
+ "description": "The current code to apply the edit to"
36107
36107
  },
36108
- "instructions": {
36108
+ "old_string": {
36109
36109
  "type": "string",
36110
- "description": "A single sentence instruction in first person describing what changes are being made (e.g., \"I am adding error handling to the user auth and removing the old auth functions\"). Used to help disambiguate uncertainty in the edit."
36110
+ "description": "The exact text to replace. Must be unique in the code if not unique, provide more surrounding context to disambiguate."
36111
36111
  },
36112
- "codeEdit": {
36112
+ "new_string": {
36113
36113
  "type": "string",
36114
- "description": "The code changes to apply. Specify ONLY the precise lines of code that you wish to edit. Use \"// ... existing code ...\" to represent unchanged sections. DO NOT omit spans of pre-existing code without using the marker, as this may cause inadvertent deletion."
36114
+ "description": "The replacement text. Must be different from old_string."
36115
36115
  },
36116
- "morphModel": {
36117
- "type": "string",
36118
- "default": "morph/morph-v3-large",
36119
- "description": "Morph model to use for applying edits via OpenRouter"
36116
+ "replace_all": {
36117
+ "type": "boolean",
36118
+ "default": false,
36119
+ "description": "Replace all occurrences of old_string (default false). Use for renaming variables/strings across the file."
36120
36120
  },
36121
36121
  "credentials": {
36122
36122
  "type": "object",
@@ -36133,8 +36133,8 @@
36133
36133
  },
36134
36134
  "required": [
36135
36135
  "initialCode",
36136
- "instructions",
36137
- "codeEdit"
36136
+ "old_string",
36137
+ "new_string"
36138
36138
  ],
36139
36139
  "additionalProperties": false
36140
36140
  },
@@ -36149,38 +36149,6 @@
36149
36149
  "type": "boolean",
36150
36150
  "description": "Whether the edit was successfully applied"
36151
36151
  },
36152
- "diff": {
36153
- "type": "string",
36154
- "description": "Unified diff showing the changes made (if available)"
36155
- },
36156
- "metadata": {
36157
- "type": "object",
36158
- "properties": {
36159
- "editedAt": {
36160
- "type": "string",
36161
- "description": "Timestamp when edit was performed"
36162
- },
36163
- "originalLength": {
36164
- "type": "number",
36165
- "description": "Length of original code in characters"
36166
- },
36167
- "finalLength": {
36168
- "type": "number",
36169
- "description": "Length of final code in characters"
36170
- },
36171
- "morphModel": {
36172
- "type": "string",
36173
- "description": "Morph model used for the edit"
36174
- }
36175
- },
36176
- "required": [
36177
- "editedAt",
36178
- "originalLength",
36179
- "finalLength",
36180
- "morphModel"
36181
- ],
36182
- "additionalProperties": false
36183
- },
36184
36152
  "success": {
36185
36153
  "type": "boolean",
36186
36154
  "description": "Whether the edit operation was successful"
@@ -36193,16 +36161,13 @@
36193
36161
  "required": [
36194
36162
  "mergedCode",
36195
36163
  "applied",
36196
- "metadata",
36197
36164
  "success",
36198
36165
  "error"
36199
36166
  ],
36200
36167
  "additionalProperties": false
36201
36168
  },
36202
- "usageExample": "// Example usage of code-edit-tool bubble\nconst codeEditTool = new EditBubbleFlowTool({\n initialCode: \"example string\", // The original code to be edited,\n instructions: \"example string\", // A single sentence instruction in first person describing what changes are being made (e.g., \"I am adding error handling to the user auth and removing the old auth functions\"). Used to help disambiguate uncertainty in the edit.,\n codeEdit: \"example string\", // The code changes to apply. Specify ONLY the precise lines of code that you wish to edit. Use \"// ... existing code ...\" to represent unchanged sections. DO NOT omit spans of pre-existing code without using the marker, as this may cause inadvertent deletion.,\n morphModel: \"morph/morph-v3-large\" // default, // Morph model to use for applying edits via OpenRouter,\n config: {}, // Configuration for the edit tool (HIDDEN from AI - injected at runtime),\n});\n\nconst result = await codeEditTool.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// mergedCode: string // The final code after applying edits,\n// applied: boolean // Whether the edit was successfully applied,\n// diff: string | undefined // Unified diff showing the changes made (if available),\n// metadata: { editedAt: string // Timestamp when edit was performed, originalLength: number // Length of original code in characters, finalLength: number // Length of final code in characters, morphModel: string // Morph model used for the edit },\n// success: boolean // Whether the edit operation was successful,\n// error: string // Error message if edit failed\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
36203
- "requiredCredentials": [
36204
- "OPENROUTER_CRED"
36205
- ]
36169
+ "usageExample": "// Example usage of code-edit-tool bubble\nconst codeEditTool = new EditBubbleFlowTool({\n initialCode: \"example string\", // The current code to apply the edit to,\n old_string: \"example string\", // The exact text to replace. Must be unique in the code if not unique, provide more surrounding context to disambiguate.,\n new_string: \"example string\", // The replacement text. Must be different from old_string.,\n replace_all: false // default, // Replace all occurrences of old_string (default false). Use for renaming variables/strings across the file.,\n config: {}, // Configuration for the edit tool (HIDDEN from AI - injected at runtime),\n});\n\nconst result = await codeEditTool.action();\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`${metadata.name} failed: ${result.error}`);\n}\n\n// outputSchema for result.data:\n// {\n// mergedCode: string // The final code after applying edits,\n// applied: boolean // Whether the edit was successfully applied,\n// success: boolean // Whether the edit operation was successful,\n// error: string // Error message if edit failed\n// }\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
36170
+ "requiredCredentials": []
36206
36171
  },
36207
36172
  {
36208
36173
  "name": "web-search-tool",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bubblelab/bubble-core",
3
- "version": "0.1.166",
3
+ "version": "0.1.167",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "./dist/index.js",
@@ -41,7 +41,7 @@
41
41
  "puppeteer-core": "^24.10.0",
42
42
  "resend": "^4.8.0",
43
43
  "zod": "^3.24.1",
44
- "@bubblelab/shared-schemas": "0.1.166"
44
+ "@bubblelab/shared-schemas": "0.1.167"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/node": "^20.12.12",