@bubblebrain-ai/bubble 0.0.4 → 0.0.5

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 (77) hide show
  1. package/dist/agent/budget-ledger.d.ts +20 -0
  2. package/dist/agent/budget-ledger.js +51 -0
  3. package/dist/agent/execution-governor.js +1 -1
  4. package/dist/agent/profiles.d.ts +59 -0
  5. package/dist/agent/profiles.js +460 -0
  6. package/dist/agent/subagent-control.d.ts +52 -0
  7. package/dist/agent/subagent-control.js +38 -0
  8. package/dist/agent.d.ts +60 -1
  9. package/dist/agent.js +602 -53
  10. package/dist/context/budget.js +1 -0
  11. package/dist/context/compact-llm.js +7 -6
  12. package/dist/context/compact.js +6 -6
  13. package/dist/context/projector.d.ts +3 -3
  14. package/dist/context/projector.js +32 -18
  15. package/dist/context/prune.d.ts +2 -2
  16. package/dist/context/prune.js +1 -4
  17. package/dist/main.js +12 -5
  18. package/dist/mcp/manager.js +1 -0
  19. package/dist/orchestrator/default-hooks.js +48 -9
  20. package/dist/orchestrator/hooks.d.ts +5 -0
  21. package/dist/prompt/compose.d.ts +1 -0
  22. package/dist/prompt/compose.js +8 -1
  23. package/dist/prompt/environment.js +21 -2
  24. package/dist/prompt/reminders.d.ts +3 -1
  25. package/dist/prompt/reminders.js +23 -4
  26. package/dist/prompt/runtime.d.ts +1 -1
  27. package/dist/prompt/runtime.js +1 -1
  28. package/dist/provider-artifacts.d.ts +7 -0
  29. package/dist/provider-artifacts.js +60 -0
  30. package/dist/provider.d.ts +6 -7
  31. package/dist/provider.js +77 -15
  32. package/dist/session-log.js +3 -1
  33. package/dist/system-prompt.d.ts +2 -0
  34. package/dist/tools/agent-lifecycle.d.ts +6 -0
  35. package/dist/tools/agent-lifecycle.js +355 -0
  36. package/dist/tools/bash.js +2 -0
  37. package/dist/tools/edit-apply.d.ts +25 -0
  38. package/dist/tools/edit-apply.js +197 -0
  39. package/dist/tools/edit.js +63 -56
  40. package/dist/tools/exit-plan-mode.js +3 -1
  41. package/dist/tools/file-mutation-queue.d.ts +1 -0
  42. package/dist/tools/file-mutation-queue.js +32 -0
  43. package/dist/tools/glob.js +1 -0
  44. package/dist/tools/grep.js +1 -0
  45. package/dist/tools/index.d.ts +1 -1
  46. package/dist/tools/index.js +3 -3
  47. package/dist/tools/lsp.js +2 -0
  48. package/dist/tools/memory.js +2 -0
  49. package/dist/tools/question.js +2 -0
  50. package/dist/tools/read.js +1 -0
  51. package/dist/tools/skill.js +1 -0
  52. package/dist/tools/task.js +1 -0
  53. package/dist/tools/todo.js +1 -0
  54. package/dist/tools/tool-search.js +2 -1
  55. package/dist/tools/web-fetch.js +1 -0
  56. package/dist/tools/web-search.js +1 -0
  57. package/dist/tools/write.js +2 -0
  58. package/dist/tui/display-history.d.ts +8 -1
  59. package/dist/tui/markdown-inline.d.ts +22 -0
  60. package/dist/tui/markdown-inline.js +68 -0
  61. package/dist/tui/render-signature.d.ts +1 -0
  62. package/dist/tui/render-signature.js +7 -0
  63. package/dist/tui/run.js +712 -267
  64. package/dist/tui/tool-renderers/fallback.d.ts +2 -0
  65. package/dist/tui/tool-renderers/fallback.js +75 -0
  66. package/dist/tui/tool-renderers/registry.d.ts +3 -0
  67. package/dist/tui/tool-renderers/registry.js +11 -0
  68. package/dist/tui/tool-renderers/subagent.d.ts +2 -0
  69. package/dist/tui/tool-renderers/subagent.js +114 -0
  70. package/dist/tui/tool-renderers/types.d.ts +36 -0
  71. package/dist/tui/tool-renderers/types.js +1 -0
  72. package/dist/tui/tool-renderers/write-preview.d.ts +12 -0
  73. package/dist/tui/tool-renderers/write-preview.js +22 -0
  74. package/dist/tui/tool-renderers/write.d.ts +6 -0
  75. package/dist/tui/tool-renderers/write.js +82 -0
  76. package/dist/types.d.ts +90 -10
  77. package/package.json +1 -1
package/dist/agent.d.ts CHANGED
@@ -2,8 +2,12 @@
2
2
  * Agent - The core decision loop.
3
3
  * It maintains message state, calls the LLM, executes tools, and auto-continues.
4
4
  */
5
- import type { AgentEvent, ContentPart, PermissionMode, Message, Provider, ThinkingLevel, Todo, ToolResult, ToolRegistryEntry } from "./types.js";
5
+ import type { AgentEvent, ContentPart, PermissionMode, Message, Provider, ThinkingLevel, Todo, ToolResult, ToolRegistryEntry, ToolUpdate } from "./types.js";
6
6
  import { type TurnHooks } from "./orchestrator/hooks.js";
7
+ import { BudgetLedger } from "./agent/budget-ledger.js";
8
+ import { type AgentProfile, type SubagentRunResult } from "./agent/profiles.js";
9
+ import { type SubagentThreadSnapshot } from "./agent/subagent-control.js";
10
+ import type { SkillSummary } from "./skills/types.js";
7
11
  export declare class AgentAbortError extends Error {
8
12
  constructor(message?: string);
9
13
  }
@@ -28,6 +32,13 @@ export interface AgentOptions {
28
32
  onTodosUpdate?: (todos: Todo[]) => void;
29
33
  onModeUpdate?: (mode: PermissionMode) => void;
30
34
  hooks?: TurnHooks[];
35
+ budgetLedger?: BudgetLedger;
36
+ budgetSource?: {
37
+ runId: string;
38
+ subAgentId?: string;
39
+ };
40
+ skills?: SkillSummary[];
41
+ memoryPrompt?: string;
31
42
  }
32
43
  export declare class Agent {
33
44
  messages: Message[];
@@ -50,6 +61,12 @@ export declare class Agent {
50
61
  private hookDefinitions;
51
62
  private maxTurns?;
52
63
  private taskBudget?;
64
+ private budgetLedger?;
65
+ private budgetSource;
66
+ private skillSummaries;
67
+ private memoryPrompt?;
68
+ private subagentThreads;
69
+ private pendingSubagentUpdates;
53
70
  private lastInputTokens;
54
71
  private lastAnchorMessageCount;
55
72
  constructor(options: AgentOptions);
@@ -96,6 +113,48 @@ export declare class Agent {
96
113
  subtaskType?: string;
97
114
  description?: string;
98
115
  }): Promise<ToolResult>;
116
+ runSubAgent(input: string | ContentPart[], cwd: string, options: {
117
+ profile: AgentProfile;
118
+ runId: string;
119
+ subAgentId: string;
120
+ parentToolCallId: string;
121
+ approval?: "fail" | "disabled";
122
+ emitUpdate?: (update: ToolUpdate) => void;
123
+ description?: string;
124
+ abortSignal?: AbortSignal;
125
+ nickname?: string;
126
+ forkContext?: boolean;
127
+ }): Promise<SubagentRunResult>;
128
+ spawnSubAgent(input: string | ContentPart[], cwd: string, options: {
129
+ profile: AgentProfile;
130
+ parentToolCallId: string;
131
+ approval?: "fail" | "disabled";
132
+ description?: string;
133
+ abortSignal?: AbortSignal;
134
+ forkContext?: boolean;
135
+ }): Promise<SubagentThreadSnapshot>;
136
+ waitSubAgents(options?: {
137
+ agentIds?: string[];
138
+ timeoutMs?: number;
139
+ }): Promise<SubagentThreadSnapshot[]>;
140
+ sendSubAgentInput(agentId: string, input: string | ContentPart[], cwd: string, options?: {
141
+ interrupt?: boolean;
142
+ parentToolCallId?: string;
143
+ abortSignal?: AbortSignal;
144
+ }): Promise<SubagentThreadSnapshot>;
145
+ closeSubAgent(agentId: string): Promise<SubagentThreadSnapshot>;
146
+ listSubAgents(): SubagentThreadSnapshot[];
147
+ private createSubagentThreadRecord;
148
+ private runSubagentThread;
149
+ private runSubagentFinalSummaryTurn;
150
+ private createSubAgentInstance;
151
+ private forkMessagesForSubagent;
152
+ private buildSubagentUpdate;
153
+ private queueSubagentUpdate;
154
+ private drainSubagentToolUpdates;
155
+ private activeSubagentNicknames;
156
+ private resolveSubagentTargets;
157
+ private notifySubagentWaiters;
99
158
  private maybeCompactResidentHistory;
100
159
  private appendMessage;
101
160
  private executeTool;