@metabob/minibob 0.1.2

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 (174) hide show
  1. package/ARCHITECTURE.md +255 -0
  2. package/CHANGELOG.md +112 -0
  3. package/README.md +380 -0
  4. package/bin/minibob.js +36 -0
  5. package/dist/acp-gossip.d.ts +72 -0
  6. package/dist/acp-gossip.d.ts.map +1 -0
  7. package/dist/acp-gossip.js +156 -0
  8. package/dist/acp-gossip.js.map +1 -0
  9. package/dist/acp.d.ts +62 -0
  10. package/dist/acp.d.ts.map +1 -0
  11. package/dist/acp.js +292 -0
  12. package/dist/acp.js.map +1 -0
  13. package/dist/activity.d.ts +157 -0
  14. package/dist/activity.d.ts.map +1 -0
  15. package/dist/activity.js +518 -0
  16. package/dist/activity.js.map +1 -0
  17. package/dist/agent-runtime.d.ts +104 -0
  18. package/dist/agent-runtime.d.ts.map +1 -0
  19. package/dist/boredom.d.ts +125 -0
  20. package/dist/boredom.d.ts.map +1 -0
  21. package/dist/boredom.js +244 -0
  22. package/dist/boredom.js.map +1 -0
  23. package/dist/cli/acp-server.d.ts +23 -0
  24. package/dist/cli/acp-server.d.ts.map +1 -0
  25. package/dist/cli/burrow.d.ts +26 -0
  26. package/dist/cli/burrow.d.ts.map +1 -0
  27. package/dist/cli/doctor.d.ts +22 -0
  28. package/dist/cli/doctor.d.ts.map +1 -0
  29. package/dist/cli/goal.d.ts +22 -0
  30. package/dist/cli/goal.d.ts.map +1 -0
  31. package/dist/cli/index.d.ts +47 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/instance-registry.d.ts +78 -0
  34. package/dist/cli/instance-registry.d.ts.map +1 -0
  35. package/dist/cli/observe.d.ts +35 -0
  36. package/dist/cli/observe.d.ts.map +1 -0
  37. package/dist/cli/vessel.d.ts +14 -0
  38. package/dist/cli/vessel.d.ts.map +1 -0
  39. package/dist/composition-observer.d.ts +96 -0
  40. package/dist/composition-observer.d.ts.map +1 -0
  41. package/dist/config.d.ts +36 -0
  42. package/dist/config.d.ts.map +1 -0
  43. package/dist/config.js +128 -0
  44. package/dist/config.js.map +1 -0
  45. package/dist/docker/Dockerfile +35 -0
  46. package/dist/environment.d.ts +72 -0
  47. package/dist/environment.d.ts.map +1 -0
  48. package/dist/environment.js +142 -0
  49. package/dist/environment.js.map +1 -0
  50. package/dist/goal-processor.d.ts +165 -0
  51. package/dist/goal-processor.d.ts.map +1 -0
  52. package/dist/helm/minibob-cluster/Chart.yaml +13 -0
  53. package/dist/helm/minibob-cluster/templates/_helpers.tpl +60 -0
  54. package/dist/helm/minibob-cluster/templates/configmap.yaml +11 -0
  55. package/dist/helm/minibob-cluster/templates/deployment.yaml +108 -0
  56. package/dist/helm/minibob-cluster/templates/secret.yaml +10 -0
  57. package/dist/helm/minibob-cluster/templates/service.yaml +37 -0
  58. package/dist/helm/minibob-cluster/values-local.yaml +41 -0
  59. package/dist/helm/minibob-cluster/values-production.yaml +57 -0
  60. package/dist/helm/minibob-cluster/values-testing-cluster.yaml +43 -0
  61. package/dist/helm/minibob-cluster/values.yaml +127 -0
  62. package/dist/improviser.d.ts +74 -0
  63. package/dist/improviser.d.ts.map +1 -0
  64. package/dist/impulse-filter.d.ts +74 -0
  65. package/dist/impulse-filter.d.ts.map +1 -0
  66. package/dist/impulse.d.ts +92 -0
  67. package/dist/impulse.d.ts.map +1 -0
  68. package/dist/impulse.js +234 -0
  69. package/dist/impulse.js.map +1 -0
  70. package/dist/lib.d.ts +29 -0
  71. package/dist/lib.d.ts.map +1 -0
  72. package/dist/lib.js +18561 -0
  73. package/dist/lib.js.map +98 -0
  74. package/dist/lifecycle-hooks.d.ts +99 -0
  75. package/dist/lifecycle-hooks.d.ts.map +1 -0
  76. package/dist/lifecycle-hooks.js +135 -0
  77. package/dist/lifecycle-hooks.js.map +1 -0
  78. package/dist/llm.d.ts +31 -0
  79. package/dist/llm.d.ts.map +1 -0
  80. package/dist/llm.js +349 -0
  81. package/dist/llm.js.map +1 -0
  82. package/dist/mcp-activity-bridge.d.ts +66 -0
  83. package/dist/mcp-activity-bridge.d.ts.map +1 -0
  84. package/dist/mcp-activity-bridge.js +126 -0
  85. package/dist/mcp-activity-bridge.js.map +1 -0
  86. package/dist/mcp.d.ts +216 -0
  87. package/dist/mcp.d.ts.map +1 -0
  88. package/dist/mcp.js +292 -0
  89. package/dist/mcp.js.map +1 -0
  90. package/dist/memory-agent.d.ts +92 -0
  91. package/dist/memory-agent.d.ts.map +1 -0
  92. package/dist/memory-agent.js +277 -0
  93. package/dist/memory-agent.js.map +1 -0
  94. package/dist/runtime-mapping.d.ts +97 -0
  95. package/dist/runtime-mapping.d.ts.map +1 -0
  96. package/dist/search-first-executor.d.ts +113 -0
  97. package/dist/search-first-executor.d.ts.map +1 -0
  98. package/dist/session.d.ts +48 -0
  99. package/dist/session.d.ts.map +1 -0
  100. package/dist/template-extractor.d.ts +9 -0
  101. package/dist/template-extractor.d.ts.map +1 -0
  102. package/dist/template-generator.d.ts +12 -0
  103. package/dist/template-generator.d.ts.map +1 -0
  104. package/dist/tools.d.ts +58 -0
  105. package/dist/tools.d.ts.map +1 -0
  106. package/dist/tools.js +771 -0
  107. package/dist/tools.js.map +1 -0
  108. package/dist/types.d.ts +503 -0
  109. package/dist/types.d.ts.map +1 -0
  110. package/dist/types.js +8 -0
  111. package/dist/types.js.map +1 -0
  112. package/dist/understanding/analyzer.d.ts +55 -0
  113. package/dist/understanding/analyzer.d.ts.map +1 -0
  114. package/dist/understanding/explorer.d.ts +73 -0
  115. package/dist/understanding/explorer.d.ts.map +1 -0
  116. package/dist/understanding/index.d.ts +7 -0
  117. package/dist/understanding/index.d.ts.map +1 -0
  118. package/dist/understanding/types.d.ts +136 -0
  119. package/dist/understanding/types.d.ts.map +1 -0
  120. package/dist/validation.d.ts +29 -0
  121. package/dist/validation.d.ts.map +1 -0
  122. package/dist/validation.js +106 -0
  123. package/dist/validation.js.map +1 -0
  124. package/dist/vessel-bootstrap.d.ts +190 -0
  125. package/dist/vessel-bootstrap.d.ts.map +1 -0
  126. package/dist/vessel-registry.d.ts +229 -0
  127. package/dist/vessel-registry.d.ts.map +1 -0
  128. package/index.ts +1329 -0
  129. package/package.json +54 -0
  130. package/src/acp-gossip.ts +193 -0
  131. package/src/acp.ts +362 -0
  132. package/src/activity.ts +1464 -0
  133. package/src/agent-runtime.ts +365 -0
  134. package/src/boredom.ts +423 -0
  135. package/src/cli/acp-server.ts +377 -0
  136. package/src/cli/burrow.ts +896 -0
  137. package/src/cli/doctor.ts +526 -0
  138. package/src/cli/goal.ts +224 -0
  139. package/src/cli/index.ts +147 -0
  140. package/src/cli/instance-registry.ts +271 -0
  141. package/src/cli/observe.ts +682 -0
  142. package/src/cli/vessel.ts +287 -0
  143. package/src/components/SystemOverview.tsx +331 -0
  144. package/src/composition-observer.ts +449 -0
  145. package/src/config.ts +172 -0
  146. package/src/environment.ts +167 -0
  147. package/src/goal-processor.ts +654 -0
  148. package/src/improviser.ts +591 -0
  149. package/src/impulse-filter.ts +273 -0
  150. package/src/impulse.ts +311 -0
  151. package/src/lib.ts +147 -0
  152. package/src/lifecycle-hooks.ts +181 -0
  153. package/src/llm.ts +434 -0
  154. package/src/mcp-activity-bridge.ts +158 -0
  155. package/src/mcp.ts +747 -0
  156. package/src/memory-agent.ts +316 -0
  157. package/src/runtime-mapping.ts +527 -0
  158. package/src/search-first-executor.ts +666 -0
  159. package/src/session.ts +141 -0
  160. package/src/template-extractor.ts +256 -0
  161. package/src/template-generator.ts +130 -0
  162. package/src/tools.ts +924 -0
  163. package/src/types.ts +497 -0
  164. package/src/understanding/analyzer.ts +354 -0
  165. package/src/understanding/explorer.ts +488 -0
  166. package/src/understanding/index.ts +27 -0
  167. package/src/understanding/types.ts +153 -0
  168. package/src/validation.ts +125 -0
  169. package/src/vessel-bootstrap.ts +440 -0
  170. package/src/vessel-registry.ts +621 -0
  171. package/templates/core/edit-file.json +85 -0
  172. package/templates/understanding/diagnose-problem.json +32 -0
  173. package/templates/understanding/explore-codebase-v2.json +57 -0
  174. package/templates/understanding/explore-codebase.json +37 -0
@@ -0,0 +1,229 @@
1
+ /**
2
+ * Vessel Registry
3
+ *
4
+ * Tracks codebases that have been burrowed into and converted to vessels.
5
+ * Each vessel has:
6
+ * - Unique identity
7
+ * - Learned activities (from execution traces)
8
+ * - Defined impulses (context data)
9
+ * - Registered hooks (lifecycle events)
10
+ * - Provided tools (capabilities)
11
+ * - Composition graph (how activities relate)
12
+ *
13
+ * The registry enables:
14
+ * - Discovery: Find vessels available for use
15
+ * - Selection: Choose which vessel's activities to use
16
+ * - Learning: Track activity performance per vessel
17
+ * - Development: Debug and evolve vessel capabilities
18
+ */
19
+ export interface VesselIdentity {
20
+ /** Unique vessel ID */
21
+ id: string;
22
+ /** Human-readable name */
23
+ name: string;
24
+ /** Path to the codebase */
25
+ path: string;
26
+ /** When the vessel was created (burrowed into) */
27
+ createdAt: number;
28
+ /** Last time the vessel was active */
29
+ lastActiveAt: number;
30
+ /** Version (from package.json or inferred) */
31
+ version?: string;
32
+ /** Description */
33
+ description?: string;
34
+ }
35
+ export interface VesselActivity {
36
+ /** Activity ID */
37
+ id: string;
38
+ /** Activity name */
39
+ name: string;
40
+ /** How the activity was created */
41
+ origin: 'extracted' | 'defined' | 'improvised';
42
+ /** Source location in code (if known) */
43
+ sourceLocation?: {
44
+ file: string;
45
+ line: number;
46
+ function?: string;
47
+ };
48
+ /** Execution count */
49
+ executions: number;
50
+ /** Success rate */
51
+ successRate: number;
52
+ /** Average duration (ms) */
53
+ avgDuration: number;
54
+ /** Thompson Sampling parameters */
55
+ thompson: {
56
+ alpha: number;
57
+ beta: number;
58
+ };
59
+ }
60
+ export interface VesselImpulse {
61
+ /** Impulse ID */
62
+ id: string;
63
+ /** Impulse type */
64
+ type: 'config' | 'context' | 'feature-flag' | 'mock' | 'override';
65
+ /** Description */
66
+ description?: string;
67
+ /** Default value */
68
+ defaultValue?: unknown;
69
+ /** Current value (if set) */
70
+ currentValue?: unknown;
71
+ }
72
+ export interface VesselHook {
73
+ /** Hook ID */
74
+ id: string;
75
+ /** Hook type */
76
+ type: 'startup' | 'shutdown' | 'error' | 'activity.before' | 'activity.after' | 'custom';
77
+ /** Handler location */
78
+ handler: string;
79
+ /** Whether the hook is enabled */
80
+ enabled: boolean;
81
+ }
82
+ export interface VesselTool {
83
+ /** Tool name */
84
+ name: string;
85
+ /** Tool description */
86
+ description: string;
87
+ /** Input schema */
88
+ inputSchema?: Record<string, unknown>;
89
+ /** How to invoke the tool */
90
+ invocation: {
91
+ type: 'function' | 'command' | 'http' | 'mcp';
92
+ target: string;
93
+ };
94
+ }
95
+ export interface VesselComposition {
96
+ /** Activity compositions recorded */
97
+ compositions: Array<{
98
+ parent: string;
99
+ child: string;
100
+ count: number;
101
+ successRate: number;
102
+ }>;
103
+ /** Inferred activity sequences */
104
+ sequences: Array<{
105
+ activities: string[];
106
+ count: number;
107
+ avgDuration: number;
108
+ }>;
109
+ }
110
+ export interface Vessel extends VesselIdentity {
111
+ /** Activities available in this vessel */
112
+ activities: VesselActivity[];
113
+ /** Impulses defined for this vessel */
114
+ impulses: VesselImpulse[];
115
+ /** Hooks registered for this vessel */
116
+ hooks: VesselHook[];
117
+ /** Tools provided by this vessel */
118
+ tools: VesselTool[];
119
+ /** Activity composition data */
120
+ composition: VesselComposition;
121
+ /** Runtime mapping data */
122
+ mapping: RuntimeMapping;
123
+ }
124
+ /**
125
+ * Maps runtime behavior to source code and intent
126
+ */
127
+ export interface RuntimeMapping {
128
+ /** Function call → source location */
129
+ functionMap: Map<string, SourceLocation>;
130
+ /** Source location → inferred intent */
131
+ intentMap: Map<string, InferredIntent>;
132
+ /** Execution patterns → activities */
133
+ patternMap: Map<string, string>;
134
+ }
135
+ export interface SourceLocation {
136
+ file: string;
137
+ line: number;
138
+ column?: number;
139
+ functionName?: string;
140
+ className?: string;
141
+ moduleName?: string;
142
+ }
143
+ export interface InferredIntent {
144
+ /** What the code does */
145
+ purpose: string;
146
+ /** Why it exists */
147
+ rationale?: string;
148
+ /** Expected inputs */
149
+ inputs?: string[];
150
+ /** Expected outputs */
151
+ outputs?: string[];
152
+ /** Constraints */
153
+ constraints?: string[];
154
+ /** Success criteria */
155
+ successCriteria?: string[];
156
+ /** Confidence in this inference */
157
+ confidence: number;
158
+ /** How the intent was inferred */
159
+ source: 'function-name' | 'comment' | 'docstring' | 'variable-names' | 'data-flow' | 'llm-analysis';
160
+ }
161
+ /**
162
+ * Record activity execution to backend (for Thompson Sampling)
163
+ */
164
+ export declare function recordActivityExecution(vesselId: string, activityId: string, success: boolean, durationMs: number): Promise<boolean>;
165
+ /**
166
+ * Register a new vessel (after burrowing into a codebase)
167
+ */
168
+ export declare function registerVessel(vessel: Omit<Vessel, 'id' | 'createdAt' | 'lastActiveAt' | 'mapping'>): Vessel;
169
+ /**
170
+ * Get a vessel by ID
171
+ */
172
+ export declare function getVessel(id: string): Vessel | null;
173
+ /**
174
+ * Get vessel by path
175
+ */
176
+ export declare function getVesselByPath(path: string): Vessel | null;
177
+ /**
178
+ * List all registered vessels
179
+ */
180
+ export declare function listVessels(): VesselIdentity[];
181
+ /**
182
+ * Update vessel activity data
183
+ */
184
+ export declare function updateVesselActivities(vesselId: string, activities: VesselActivity[]): void;
185
+ /**
186
+ * Add an activity to a vessel
187
+ */
188
+ export declare function addVesselActivity(vesselId: string, activity: VesselActivity): void;
189
+ /**
190
+ * Update runtime mapping for a vessel
191
+ */
192
+ export declare function updateVesselMapping(vesselId: string, type: 'function' | 'intent' | 'pattern', key: string, value: SourceLocation | InferredIntent | string): void;
193
+ /**
194
+ * Record activity composition for a vessel
195
+ */
196
+ export declare function recordVesselComposition(vesselId: string, parent: string, child: string, success: boolean): void;
197
+ /**
198
+ * Deregister a vessel
199
+ */
200
+ export declare function deregisterVessel(id: string): boolean;
201
+ /**
202
+ * Register a vessel and sync to backend (async version)
203
+ */
204
+ export declare function registerVesselWithSync(vessel: Omit<Vessel, 'id' | 'createdAt' | 'lastActiveAt' | 'mapping'>, functionMappings?: Array<{
205
+ functionName: string;
206
+ file: string;
207
+ line: number;
208
+ className?: string;
209
+ intent?: InferredIntent;
210
+ }>): Promise<Vessel>;
211
+ /**
212
+ * Fetch vessel from backend (if local not found)
213
+ */
214
+ export declare function fetchVesselFromBackend(vesselId: string): Promise<Vessel | null>;
215
+ export declare const vesselRegistry: {
216
+ register: typeof registerVessel;
217
+ registerWithSync: typeof registerVesselWithSync;
218
+ get: typeof getVessel;
219
+ getByPath: typeof getVesselByPath;
220
+ list: typeof listVessels;
221
+ updateActivities: typeof updateVesselActivities;
222
+ addActivity: typeof addVesselActivity;
223
+ updateMapping: typeof updateVesselMapping;
224
+ recordComposition: typeof recordVesselComposition;
225
+ recordExecution: typeof recordActivityExecution;
226
+ deregister: typeof deregisterVessel;
227
+ fetchFromBackend: typeof fetchVesselFromBackend;
228
+ };
229
+ //# sourceMappingURL=vessel-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vessel-registry.d.ts","sourceRoot":"","sources":["../src/vessel-registry.ts"],"names":[],"mappings":"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"}