bob-expense-tracker-chatbot 0.0.2 → 0.0.3

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.
@@ -0,0 +1,121 @@
1
+ customModes:
2
+ - slug: business-analyst
3
+ name: 💼 Business Analyst
4
+ roleDefinition: >-
5
+ You are Bob, a Business Intelligence Analyst specializing in financial data analysis and expense tracking insights.
6
+ Your expertise includes:
7
+ - Analyzing expense patterns and spending trends
8
+ - Querying REST APIs and databases for business metrics
9
+ - Providing budget recommendations and financial forecasts
10
+ - Identifying cost-saving opportunities and anomalies
11
+ - Creating data-driven insights from expense data
12
+ - Predicting future spending based on historical patterns
13
+
14
+ You have access to the ExpenseTracker application running locally with:
15
+ - Backend API: http://localhost:5001/api
16
+ - Frontend: http://localhost:3001
17
+ - Grafana Dashboards: http://localhost:3000 (admin/admin)
18
+ - Prometheus Metrics: http://localhost:9090
19
+ - PostgreSQL Database: localhost:5433 (user: expenseuser, db: expense_tracker)
20
+
21
+ whenToUse: >-
22
+ Use this mode when you need to:
23
+ - Query expense data and generate business insights
24
+ - Analyze spending patterns across categories
25
+ - Provide budget recommendations
26
+ - Predict future expenses based on historical data
27
+ - Generate financial reports and summaries
28
+ - Identify budget overruns or savings opportunities
29
+ - Answer business questions about expense tracking data
30
+
31
+ This mode is ideal for data analysis, reporting, and business intelligence tasks related to the ExpenseTracker application.
32
+
33
+ customInstructions: |
34
+ # Available ExpenseTracker REST API Endpoints:
35
+
36
+ ## Authentication
37
+ - POST /api/auth/login - User login
38
+ - POST /api/auth/signup - User registration
39
+
40
+ ## Categories
41
+ - GET /api/categories - Get all expense categories
42
+ - POST /api/categories - Create new category
43
+ - PUT /api/categories/:id - Update category
44
+ - DELETE /api/categories/:id - Delete category
45
+
46
+ ## Expenses
47
+ - GET /api/expenses?month=YYYY-MM&category=name - Get expenses (filtered)
48
+ - POST /api/expenses - Create expense
49
+ - PUT /api/expenses/:id - Update expense
50
+ - DELETE /api/expenses/:id - Delete expense
51
+ - GET /api/expenses/recent - Get 10 most recent expenses
52
+
53
+ ## Budgets
54
+ - GET /api/budgets?month=YYYY-MM - Get budgets for month
55
+ - POST /api/budgets - Create budget
56
+ - PUT /api/budgets/:id - Update budget
57
+ - DELETE /api/budgets/:id - Delete budget
58
+ - GET /api/total-budget?month=YYYY-MM - Get total monthly budget
59
+ - POST /api/total-budget - Set total monthly budget
60
+
61
+ ## Recurring Expenses
62
+ - GET /api/recurring-expenses - Get all recurring expenses
63
+ - POST /api/recurring-expenses - Create recurring expense
64
+ - PUT /api/recurring-expenses/:id - Update recurring expense
65
+ - DELETE /api/recurring-expenses/:id - Delete recurring expense
66
+
67
+ ## Analytics
68
+ - GET /api/statistics?month=YYYY-MM - Get comprehensive statistics
69
+ - GET /api/budget-alerts - Get budget alerts and warnings
70
+ - GET /api/predictions?category=name - Get spending predictions
71
+
72
+ ## Health & Monitoring
73
+ - GET /health - Basic health check
74
+ - GET /health/ready - Readiness probe
75
+ - GET /health/live - Liveness probe
76
+ - GET /metrics - Prometheus metrics
77
+
78
+ # Database Schema:
79
+
80
+ Tables: users, categories, expenses, budgets, recurring_expenses, total_budgets
81
+
82
+ Key fields:
83
+ - expenses: id, description, amount, category, date, is_recurring, user_id
84
+ - budgets: id, category, amount, month, is_percentage, user_id
85
+ - recurring_expenses: id, description, amount, category, frequency, start_date, user_id
86
+ - categories: id, name, color
87
+
88
+ # Analysis Guidelines:
89
+
90
+ 1. Always use execute_command with curl to query the REST API
91
+ 2. Parse JSON responses to extract insights
92
+ 3. For database queries, use: docker exec expense-tracker-postgres psql -U expenseuser -d expense_tracker -c "SQL"
93
+ 4. Provide clear, actionable insights with specific numbers
94
+ 5. Format responses professionally with tables, charts (text-based), and summaries
95
+ 6. Include recommendations based on data analysis
96
+ 7. Compare current vs historical data when relevant
97
+ 8. Highlight anomalies, trends, and patterns
98
+
99
+ # Response Format:
100
+
101
+ Structure your analysis responses as:
102
+
103
+ ## 📊 Executive Summary
104
+ [Brief overview of key findings]
105
+
106
+ ## 📈 Detailed Analysis
107
+ [In-depth breakdown with data]
108
+
109
+ ## 💡 Insights & Recommendations
110
+ [Actionable recommendations]
111
+
112
+ ## 📉 Trends & Patterns
113
+ [Historical comparisons and predictions]
114
+
115
+ Always provide specific numbers, percentages, and comparisons to make insights actionable.
116
+
117
+ groups:
118
+ - read
119
+ - command
120
+
121
+ # Made with Bob
package/dist/cli.js CHANGED
@@ -166,6 +166,21 @@ BOB_SHELL_PATH=bob
166
166
  log('✅ Updated .gitignore', COLORS.green);
167
167
  }
168
168
  }
169
+ // Copy custom mode YAML to project .bob directory
170
+ const bobDir = path.join(projectRoot, '.bob');
171
+ if (!fs.existsSync(bobDir)) {
172
+ fs.mkdirSync(bobDir, { recursive: true });
173
+ log('✅ Created .bob directory', COLORS.green);
174
+ }
175
+ const customModesSource = path.join(__dirname, '..', '.bob', 'custom_modes.yaml');
176
+ const customModesDest = path.join(bobDir, 'custom_modes.yaml');
177
+ if (fs.existsSync(customModesSource)) {
178
+ fs.copyFileSync(customModesSource, customModesDest);
179
+ log('✅ Copied business-analyst custom mode configuration', COLORS.green);
180
+ }
181
+ else {
182
+ log('⚠️ Custom mode YAML not found in package', COLORS.yellow);
183
+ }
169
184
  // Auto-inject script into HTML files
170
185
  log('\n🔍 Searching for HTML entry points...\n', COLORS.bright);
171
186
  const htmlFiles = findHtmlFiles(projectRoot);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAyB;AACzB,2CAA6B;AAC7B,iDAAsC;AAEtC,MAAM,MAAM,GAAG;IACb,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,UAAU;IAChB,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,SAAS,GAAG,CAAC,OAAe,EAAE,QAAgB,MAAM,CAAC,KAAK;IACxD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW;IAClB,GAAG,CAAC,8CAA8C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,GAAG,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,GAAG,CAAC,8CAA8C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,SAAS;IAChB,WAAW,EAAE,CAAC;IACd,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,wCAAwC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE5D,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,iEAAiE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACrF,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,GAAG,CAAC,yDAAyD,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7E,GAAG,CAAC,+CAA+C,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACnE,GAAG,CAAC,uCAAuC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3D,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACrD,GAAG,CAAC,kCAAkC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,WAAW;IACxB,WAAW,EAAE,CAAC;IACd,GAAG,CAAC,kDAAkD,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAE3D,sBAAsB;IACtB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;IAE3C,IAAI,cAAc,GAAQ,IAAI,CAAC;IAC/B,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,+BAA+B;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,IAAI,OAAO,CAAC;QAErD,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;YAClC,SAAS,GAAG,IAAI,CAAC;YACjB,GAAG,CAAC,6BAA6B,UAAU,QAAQ,cAAc,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpF,oBAAoB;YACpB,MAAM,UAAU,GAAG,GAAG,UAAU,KAAK,UAAU,SAAS,CAAC;YACzD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtE,GAAG,CAAC,qEAAqE,UAAU,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9G,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,mDAAmD,cAAc,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,WAAW;QACxB,YAAY,EAAE,KAAK;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI;YACV,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,kBAAkB,EAAE,IAAI;YACxB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;SACjB;KACF,CAAC;IAEF,mDAAmD;IACnD,IAAI,MAAM,GAAG,aAAa,CAAC;IAC3B,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,GAAG;YACP,GAAG,aAAa;YAChB,kCAAkC;YAClC,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI;YAC/C,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;YACrD,WAAW,EAAE,cAAc,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW;YACpE,YAAY,EAAE,cAAc,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY;YACvE,mDAAmD;YACnD,QAAQ,EAAE;gBACR,GAAG,aAAa,CAAC,QAAQ;gBACzB,GAAG,cAAc,CAAC,QAAQ;aAC3B;SACF,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAClD,GAAG,CAAC,iBAAiB,cAAc,CAAC,OAAO,IAAI,MAAM,MAAM,cAAc,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3F,GAAG,CAAC,yBAAyB,MAAM,CAAC,IAAI,cAAc,MAAM,CAAC,MAAM,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtF,GAAG,CAAC,yCAAyC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,uCAAuC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAExG,8CAA8C;IAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG;;;;eAIR,WAAW;;CAEzB,CAAC;QACE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,IAAI,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,SAAS,IAAI,2FAA2F,CAAC;YACzG,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAC3C,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,GAAG,CAAC,2CAA2C,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,iCAAiC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,UAAU,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3E,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAEtD,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAE7C,4BAA4B;gBAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAC,EAAE,CAAC;oBAC/D,GAAG,CAAC,SAAS,YAAY,qBAAqB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC/D,SAAS;gBACX,CAAC;gBAED,wCAAwC;gBACxC,MAAM,YAAY,GAAG,SAAS,CAAC;gBAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACnC,MAAM,SAAS,GAAG,yHAAyH,YAAY,EAAE,CAAC;oBAC1J,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;oBAEnD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;oBACzC,GAAG,CAAC,OAAO,YAAY,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3D,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,YAAY,yBAAyB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,GAAG,CAAC,OAAO,YAAY,aAAa,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,yCAAyC,aAAa,CAAC,MAAM,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9F,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,qEAAqE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1F,GAAG,CAAC,qEAAqE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1D,GAAG,CAAC,qDAAqD,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1E,GAAG,CAAC,qEAAqE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1F,CAAC;IAED,GAAG,CAAC,4DAA4D,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACjF,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,GAAG,CAAC,wDAAwD,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,GAAG,CAAC,0CAA0C,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,GAAG,CAAC,uEAAuE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1F,GAAG,CAAC,8EAA8E,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,WAAqB,EAAE;IACzD,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAElC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEnC,wDAAwD;QACxD,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACzF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,MAAe,KAAK;IACvC,WAAW,EAAE,CAAC;IAEd,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC;IAChD,GAAG,CAAC,8CAA8C,IAAI,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnF,yBAAyB;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,sCAAsC,CAAC,CAAC;IACpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,gDAAgD,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,GAAG,CAAC,yCAAyC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,cAAc;IACd,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhE,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC;IAE1D,eAAe;IACf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAErD,IAAI,GAAG,EAAE,CAAC;QACR,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;YAC7E,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,GAAG,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,WAAW,EAAE,CAAC;IACd,GAAG,CAAC,8CAA8C,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE;QAC3C,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,GAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iBAAiB;AACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,MAAM;QACT,WAAW,EAAE,CAAC;QACd,MAAM;IAER,KAAK,OAAO;QACV,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM;IAER,KAAK,KAAK;QACR,WAAW,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM;IAER,KAAK,OAAO;QACV,YAAY,EAAE,CAAC;QACf,MAAM;IAER,KAAK,MAAM,CAAC;IACZ,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI;QACP,SAAS,EAAE,CAAC;QACZ,MAAM;IAER;QACE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,sBAAsB,OAAO,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACnD,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;AACL,CAAC;AAED,gBAAgB"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aiRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/aiRoutes.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA+GxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"aiRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/aiRoutes.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,4CAAW,CAAC;AAyIxB,eAAe,MAAM,CAAC"}
@@ -1,19 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const express_1 = require("express");
4
+ const bobShellService_1 = require("../services/bobShellService");
4
5
  const router = (0, express_1.Router)();
5
- // Chat endpoint - handles expense tracking conversations
6
+ // Chat endpoint - handles expense tracking conversations using Bob Shell
6
7
  router.post('/chat', async (req, res) => {
7
8
  try {
8
9
  const { message, sessionId } = req.body;
9
10
  if (!message || !sessionId) {
10
11
  return res.status(400).json({ error: 'Message and sessionId are required' });
11
12
  }
12
- // Simple AI response for expense tracking
13
- const response = generateExpenseResponse(message);
13
+ console.log(`💬 Chat request from session ${sessionId}: ${message.substring(0, 50)}...`);
14
+ // Get Bob Shell service for this session
15
+ const bobShell = (0, bobShellService_1.getBobShellService)(sessionId);
16
+ // Initialize Bob Shell if not already initialized
17
+ if (!bobShell.isReady()) {
18
+ console.log(`🚀 Initializing Bob Shell for session ${sessionId}...`);
19
+ const initialized = await bobShell.initialize(sessionId);
20
+ if (!initialized) {
21
+ return res.status(500).json({
22
+ error: 'Failed to initialize Bob Shell. Please check your Bob Shell installation.',
23
+ success: false
24
+ });
25
+ }
26
+ }
27
+ // Send message to Bob Shell and get response
28
+ const bobResponse = await bobShell.sendMessage(message);
29
+ if (!bobResponse.success) {
30
+ return res.status(500).json({
31
+ error: bobResponse.error || 'Failed to get response from Bob Shell',
32
+ success: false
33
+ });
34
+ }
14
35
  res.json({
15
36
  success: true,
16
- response,
37
+ response: bobResponse.output || '',
38
+ isStreaming: bobResponse.isStreaming || false,
17
39
  timestamp: Date.now()
18
40
  });
19
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aiRoutes.js","sourceRoot":"","sources":["../../src/routes/aiRoutes.ts"],"names":[],"mappings":";;AAAA,qCAAoD;AAEpD,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,yDAAyD;AACzD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACzD,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAExC,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAElD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC5D,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAEpE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACvC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,OAAO,EAAE;gBACP,MAAM;gBACN,QAAQ;gBACR,WAAW;gBACX,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACrD;YACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACvE,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAEnD,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;YACzC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IAC9E,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QAEjC,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE;gBACR,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,CAAC;aAChB;YACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,wDAAwD;AACxD,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtG,OAAO,0FAA0F,CAAC;IACpG,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACxE,OAAO,+CAA+C,CAAC;IACzD,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACzE,OAAO,2DAA2D,CAAC;IACrE,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7E,OAAO,sHAAsH,CAAC;IAChI,CAAC;IAED,OAAO,gJAAgJ,CAAC;AAC1J,CAAC;AAED,kBAAe,MAAM,CAAC;AAEtB,gBAAgB"}
1
+ {"version":3,"file":"aiRoutes.js","sourceRoot":"","sources":["../../src/routes/aiRoutes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { EventEmitter } from 'events';
2
+ export interface BobShellResponse {
3
+ success: boolean;
4
+ output?: string;
5
+ error?: string;
6
+ isStreaming?: boolean;
7
+ }
8
+ export interface StreamChunk {
9
+ type: 'output' | 'error' | 'complete';
10
+ content: string;
11
+ timestamp: number;
12
+ }
13
+ /**
14
+ * Bob Shell Service for Expense Tracker Chatbot
15
+ * Runs Bob Shell in interactive mode with business-analyst custom mode
16
+ * Maintains conversation context across multiple messages
17
+ */
18
+ export declare class BobShellService extends EventEmitter {
19
+ private bobShellPath;
20
+ private projectRoot;
21
+ private apiKey?;
22
+ private licenseAccepted;
23
+ private bobProcess;
24
+ private sessionId;
25
+ private isInitialized;
26
+ private outputBuffer;
27
+ private errorBuffer;
28
+ constructor();
29
+ /**
30
+ * Initialize Bob Shell in interactive mode with business-analyst custom mode
31
+ */
32
+ initialize(sessionId: string): Promise<boolean>;
33
+ /**
34
+ * Set up output handlers for Bob Shell process
35
+ */
36
+ private setupOutputHandlers;
37
+ /**
38
+ * Wait for Bob Shell to be ready (look for initial prompt)
39
+ */
40
+ private waitForReady;
41
+ /**
42
+ * Send a message to Bob Shell and get response
43
+ * Maintains conversation context in interactive mode
44
+ */
45
+ sendMessage(message: string): Promise<BobShellResponse>;
46
+ /**
47
+ * Wait for Bob Shell response to complete
48
+ */
49
+ private waitForResponse;
50
+ /**
51
+ * Terminate Bob Shell process
52
+ */
53
+ terminate(): Promise<void>;
54
+ /**
55
+ * Check if Bob Shell is initialized and ready
56
+ */
57
+ isReady(): boolean;
58
+ /**
59
+ * Get current session ID
60
+ */
61
+ getSessionId(): string | null;
62
+ /**
63
+ * Get project root directory
64
+ */
65
+ getProjectRoot(): string;
66
+ /**
67
+ * Read file content
68
+ */
69
+ readFile(filePath: string): Promise<string>;
70
+ /**
71
+ * Check if file exists
72
+ */
73
+ fileExists(filePath: string): Promise<boolean>;
74
+ }
75
+ /**
76
+ * Get or create Bob Shell service instance for a session
77
+ */
78
+ export declare function getBobShellService(sessionId: string): BobShellService;
79
+ /**
80
+ * Clean up Bob Shell service for a session
81
+ */
82
+ export declare function cleanupBobShellService(sessionId: string): Promise<void>;
83
+ //# sourceMappingURL=bobShellService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bobShellService.d.ts","sourceRoot":"","sources":["../../src/services/bobShellService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,WAAW,CAAc;;IAYjC;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA0DrD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiD3B;;OAEG;YACW,YAAY;IAyB1B;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6C7D;;OAEG;YACW,eAAe;IA0C7B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BhC;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKjD;;OAEG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CASrD;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,CAKrE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E"}
@@ -0,0 +1,319 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BobShellService = void 0;
7
+ exports.getBobShellService = getBobShellService;
8
+ exports.cleanupBobShellService = cleanupBobShellService;
9
+ const child_process_1 = require("child_process");
10
+ const path_1 = __importDefault(require("path"));
11
+ const promises_1 = __importDefault(require("fs/promises"));
12
+ const events_1 = require("events");
13
+ /**
14
+ * Bob Shell Service for Expense Tracker Chatbot
15
+ * Runs Bob Shell in interactive mode with business-analyst custom mode
16
+ * Maintains conversation context across multiple messages
17
+ */
18
+ class BobShellService extends events_1.EventEmitter {
19
+ constructor() {
20
+ super();
21
+ this.bobProcess = null;
22
+ this.sessionId = null;
23
+ this.isInitialized = false;
24
+ this.outputBuffer = '';
25
+ this.errorBuffer = '';
26
+ this.bobShellPath = process.env.BOB_SHELL_PATH || 'bob';
27
+ this.projectRoot = process.env.PROJECT_ROOT || process.cwd();
28
+ this.apiKey = process.env.BOB_API_KEY;
29
+ this.licenseAccepted = process.env.BOB_LICENSE_ACCEPTED === 'true';
30
+ console.log(`📁 Bob-Shell will operate in: ${this.projectRoot}`);
31
+ }
32
+ /**
33
+ * Initialize Bob Shell in interactive mode with business-analyst custom mode
34
+ */
35
+ async initialize(sessionId) {
36
+ if (this.isInitialized && this.sessionId === sessionId) {
37
+ console.log(`✅ Bob-Shell already initialized for session: ${sessionId}`);
38
+ return true;
39
+ }
40
+ try {
41
+ console.log(`🚀 Initializing Bob-Shell in interactive mode for session: ${sessionId}`);
42
+ // Terminate existing process if any
43
+ if (this.bobProcess) {
44
+ await this.terminate();
45
+ }
46
+ this.sessionId = sessionId;
47
+ // Build command arguments for interactive mode
48
+ const args = [];
49
+ // Add license acceptance flag if configured
50
+ if (this.licenseAccepted) {
51
+ args.push('--accept-license');
52
+ }
53
+ // Use business-analyst custom mode
54
+ args.push('--chat-mode', 'business-analyst');
55
+ // Build environment variables
56
+ const env = { ...process.env };
57
+ if (this.apiKey) {
58
+ env.BOB_API_KEY = this.apiKey;
59
+ }
60
+ // Spawn Bob Shell in interactive mode (no -p flag, no --non-interactive)
61
+ this.bobProcess = (0, child_process_1.spawn)(this.bobShellPath, args, {
62
+ cwd: this.projectRoot,
63
+ env,
64
+ shell: false,
65
+ stdio: ['pipe', 'pipe', 'pipe'], // stdin, stdout, stderr
66
+ });
67
+ // Set up output handlers
68
+ this.setupOutputHandlers();
69
+ // Wait for Bob Shell to be ready (look for prompt)
70
+ await this.waitForReady();
71
+ this.isInitialized = true;
72
+ console.log(`✅ Bob-Shell initialized successfully for session: ${sessionId}`);
73
+ return true;
74
+ }
75
+ catch (error) {
76
+ console.error('❌ Failed to initialize Bob-Shell:', error.message);
77
+ this.isInitialized = false;
78
+ return false;
79
+ }
80
+ }
81
+ /**
82
+ * Set up output handlers for Bob Shell process
83
+ */
84
+ setupOutputHandlers() {
85
+ if (!this.bobProcess)
86
+ return;
87
+ this.bobProcess.stdout?.on('data', (data) => {
88
+ const chunk = data.toString();
89
+ this.outputBuffer += chunk;
90
+ // Emit streaming chunks
91
+ this.emit('output', {
92
+ type: 'output',
93
+ content: chunk,
94
+ timestamp: Date.now(),
95
+ });
96
+ });
97
+ this.bobProcess.stderr?.on('data', (data) => {
98
+ const chunk = data.toString();
99
+ this.errorBuffer += chunk;
100
+ // Emit error chunks
101
+ this.emit('error', {
102
+ type: 'error',
103
+ content: chunk,
104
+ timestamp: Date.now(),
105
+ });
106
+ });
107
+ this.bobProcess.on('close', (code) => {
108
+ console.log(`🔚 Bob-Shell process closed with code: ${code}`);
109
+ this.isInitialized = false;
110
+ this.bobProcess = null;
111
+ this.emit('close', {
112
+ type: 'complete',
113
+ content: `Process closed with code ${code}`,
114
+ timestamp: Date.now(),
115
+ });
116
+ });
117
+ this.bobProcess.on('error', (error) => {
118
+ console.error('❌ Bob-Shell process error:', error.message);
119
+ this.emit('error', {
120
+ type: 'error',
121
+ content: error.message,
122
+ timestamp: Date.now(),
123
+ });
124
+ });
125
+ }
126
+ /**
127
+ * Wait for Bob Shell to be ready (look for initial prompt)
128
+ */
129
+ async waitForReady(timeout = 10000) {
130
+ return new Promise((resolve, reject) => {
131
+ const startTime = Date.now();
132
+ const checkReady = () => {
133
+ // Look for Bob Shell prompt indicators in output
134
+ if (this.outputBuffer.includes('Bob') ||
135
+ this.outputBuffer.includes('💼') ||
136
+ this.outputBuffer.length > 100) {
137
+ resolve();
138
+ return;
139
+ }
140
+ if (Date.now() - startTime > timeout) {
141
+ reject(new Error('Bob-Shell initialization timeout'));
142
+ return;
143
+ }
144
+ setTimeout(checkReady, 100);
145
+ };
146
+ checkReady();
147
+ });
148
+ }
149
+ /**
150
+ * Send a message to Bob Shell and get response
151
+ * Maintains conversation context in interactive mode
152
+ */
153
+ async sendMessage(message) {
154
+ if (!this.isInitialized || !this.bobProcess || !this.bobProcess.stdin) {
155
+ return {
156
+ success: false,
157
+ error: 'Bob-Shell not initialized. Please initialize first.',
158
+ };
159
+ }
160
+ try {
161
+ // Sanitize message
162
+ const sanitizedMessage = message.replace(/[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]/g, '');
163
+ if (sanitizedMessage.length > 10000) {
164
+ return {
165
+ success: false,
166
+ error: 'Message exceeds maximum length of 10000 characters',
167
+ };
168
+ }
169
+ console.log(`💬 Sending message to Bob-Shell (${sanitizedMessage.length} chars)`);
170
+ // Clear buffers before sending new message
171
+ this.outputBuffer = '';
172
+ this.errorBuffer = '';
173
+ // Write message to Bob Shell stdin
174
+ this.bobProcess.stdin.write(sanitizedMessage + '\n');
175
+ // Wait for response (look for completion indicators)
176
+ const response = await this.waitForResponse();
177
+ return {
178
+ success: true,
179
+ output: response,
180
+ isStreaming: true,
181
+ };
182
+ }
183
+ catch (error) {
184
+ console.error('❌ Failed to send message to Bob-Shell:', error.message);
185
+ return {
186
+ success: false,
187
+ error: error.message || 'Failed to send message',
188
+ };
189
+ }
190
+ }
191
+ /**
192
+ * Wait for Bob Shell response to complete
193
+ */
194
+ async waitForResponse(timeout = 120000) {
195
+ return new Promise((resolve, reject) => {
196
+ const startTime = Date.now();
197
+ let lastOutputTime = Date.now();
198
+ let stableOutputCount = 0;
199
+ const checkResponse = () => {
200
+ const currentTime = Date.now();
201
+ // Check for timeout
202
+ if (currentTime - startTime > timeout) {
203
+ resolve(this.outputBuffer);
204
+ return;
205
+ }
206
+ // Check if output has stabilized (no new output for 2 seconds)
207
+ if (this.outputBuffer.length > 0) {
208
+ if (currentTime - lastOutputTime > 2000) {
209
+ stableOutputCount++;
210
+ if (stableOutputCount >= 2) {
211
+ // Output has been stable for 4 seconds, consider it complete
212
+ resolve(this.outputBuffer);
213
+ return;
214
+ }
215
+ }
216
+ else {
217
+ stableOutputCount = 0;
218
+ }
219
+ }
220
+ // Update last output time if buffer changed
221
+ const currentBufferLength = this.outputBuffer.length;
222
+ if (currentBufferLength > 0) {
223
+ lastOutputTime = currentTime;
224
+ }
225
+ setTimeout(checkResponse, 1000);
226
+ };
227
+ checkResponse();
228
+ });
229
+ }
230
+ /**
231
+ * Terminate Bob Shell process
232
+ */
233
+ async terminate() {
234
+ if (this.bobProcess) {
235
+ console.log('🛑 Terminating Bob-Shell process...');
236
+ // Try graceful shutdown first
237
+ if (this.bobProcess.stdin) {
238
+ this.bobProcess.stdin.write('/exit\n');
239
+ }
240
+ // Wait a bit for graceful shutdown
241
+ await new Promise(resolve => setTimeout(resolve, 1000));
242
+ // Force kill if still running
243
+ if (this.bobProcess && !this.bobProcess.killed) {
244
+ this.bobProcess.kill('SIGTERM');
245
+ // Force kill after 2 seconds if still alive
246
+ setTimeout(() => {
247
+ if (this.bobProcess && !this.bobProcess.killed) {
248
+ this.bobProcess.kill('SIGKILL');
249
+ }
250
+ }, 2000);
251
+ }
252
+ this.bobProcess = null;
253
+ this.isInitialized = false;
254
+ this.sessionId = null;
255
+ }
256
+ }
257
+ /**
258
+ * Check if Bob Shell is initialized and ready
259
+ */
260
+ isReady() {
261
+ return this.isInitialized && this.bobProcess !== null && !this.bobProcess.killed;
262
+ }
263
+ /**
264
+ * Get current session ID
265
+ */
266
+ getSessionId() {
267
+ return this.sessionId;
268
+ }
269
+ /**
270
+ * Get project root directory
271
+ */
272
+ getProjectRoot() {
273
+ return this.projectRoot;
274
+ }
275
+ /**
276
+ * Read file content
277
+ */
278
+ async readFile(filePath) {
279
+ const fullPath = path_1.default.resolve(this.projectRoot, filePath);
280
+ return await promises_1.default.readFile(fullPath, 'utf-8');
281
+ }
282
+ /**
283
+ * Check if file exists
284
+ */
285
+ async fileExists(filePath) {
286
+ try {
287
+ const fullPath = path_1.default.resolve(this.projectRoot, filePath);
288
+ await promises_1.default.access(fullPath);
289
+ return true;
290
+ }
291
+ catch {
292
+ return false;
293
+ }
294
+ }
295
+ }
296
+ exports.BobShellService = BobShellService;
297
+ // Singleton instance per session
298
+ const sessionInstances = new Map();
299
+ /**
300
+ * Get or create Bob Shell service instance for a session
301
+ */
302
+ function getBobShellService(sessionId) {
303
+ if (!sessionInstances.has(sessionId)) {
304
+ sessionInstances.set(sessionId, new BobShellService());
305
+ }
306
+ return sessionInstances.get(sessionId);
307
+ }
308
+ /**
309
+ * Clean up Bob Shell service for a session
310
+ */
311
+ async function cleanupBobShellService(sessionId) {
312
+ const service = sessionInstances.get(sessionId);
313
+ if (service) {
314
+ await service.terminate();
315
+ sessionInstances.delete(sessionId);
316
+ }
317
+ }
318
+ // Made with Bob
319
+ //# sourceMappingURL=bobShellService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bobShellService.js","sourceRoot":"","sources":["../../src/services/bobShellService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,SAAS,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,QAsFxD;AA2JD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,QAM9E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,QAMvD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAIhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,SAAS,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,QAgGxD;AAwQD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,QAM9E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,QAMvD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D"}
package/dist/websocket.js CHANGED
@@ -7,6 +7,7 @@ exports.getConnectedClients = getConnectedClients;
7
7
  exports.isSessionConnected = isSessionConnected;
8
8
  const ws_1 = require("ws");
9
9
  const database_1 = require("./database");
10
+ const bobShellService_1 = require("./services/bobShellService");
10
11
  const clients = new Map();
11
12
  function setupWebSocketServer(wss) {
12
13
  // Heartbeat to detect dead connections
@@ -68,10 +69,16 @@ function setupWebSocketServer(wss) {
68
69
  sendError(ws, error instanceof Error ? error.message : 'Unknown error');
69
70
  }
70
71
  });
71
- ws.on('close', () => {
72
+ ws.on('close', async () => {
72
73
  if (sessionId) {
73
74
  console.log(`WebSocket connection closed for session: ${sessionId}`);
74
75
  clients.delete(sessionId);
76
+ // Clean up Bob Shell service if no more clients for this session
77
+ const hasOtherClients = Array.from(clients.values()).some(client => client.sessionId === sessionId);
78
+ if (!hasOtherClients) {
79
+ console.log(`🧹 Cleaning up Bob Shell for session: ${sessionId}`);
80
+ await (0, bobShellService_1.cleanupBobShellService)(sessionId);
81
+ }
75
82
  }
76
83
  });
77
84
  ws.on('error', (error) => {
@@ -123,6 +130,104 @@ async function handleChat(ws, message) {
123
130
  },
124
131
  requestId: message.requestId
125
132
  });
133
+ try {
134
+ // Get Bob Shell service for this session
135
+ const bobShell = (0, bobShellService_1.getBobShellService)(sessionId);
136
+ // Initialize Bob Shell if not already initialized
137
+ if (!bobShell.isReady()) {
138
+ console.log(`🚀 Initializing Bob Shell for session ${sessionId}...`);
139
+ // Send initialization status
140
+ sendMessage(ws, {
141
+ type: 'chat_status',
142
+ payload: {
143
+ status: 'initializing',
144
+ message: 'Initializing AI assistant...'
145
+ }
146
+ });
147
+ const initialized = await bobShell.initialize(sessionId);
148
+ if (!initialized) {
149
+ sendMessage(ws, {
150
+ type: 'chat_response',
151
+ payload: {
152
+ success: false,
153
+ error: 'Failed to initialize Bob Shell. Please check your Bob Shell installation.',
154
+ timestamp: Date.now()
155
+ },
156
+ requestId: message.requestId
157
+ });
158
+ return;
159
+ }
160
+ }
161
+ // Set up streaming listeners
162
+ const outputHandler = (chunk) => {
163
+ sendMessage(ws, {
164
+ type: 'chat_stream',
165
+ payload: {
166
+ chunk: chunk.content,
167
+ timestamp: chunk.timestamp
168
+ }
169
+ });
170
+ };
171
+ bobShell.on('output', outputHandler);
172
+ // Send processing status
173
+ sendMessage(ws, {
174
+ type: 'chat_status',
175
+ payload: {
176
+ status: 'processing',
177
+ message: 'Analyzing your request...'
178
+ }
179
+ });
180
+ // Send message to Bob Shell
181
+ const bobResponse = await bobShell.sendMessage(userMessage);
182
+ // Remove listener
183
+ bobShell.off('output', outputHandler);
184
+ if (bobResponse.success) {
185
+ // Store assistant response in chat history
186
+ if (bobResponse.output) {
187
+ database_1.chatHistory.add(sessionId, 'assistant', bobResponse.output);
188
+ }
189
+ // Send final response
190
+ sendMessage(ws, {
191
+ type: 'chat_response',
192
+ payload: {
193
+ success: true,
194
+ response: bobResponse.output || '',
195
+ timestamp: Date.now()
196
+ },
197
+ requestId: message.requestId
198
+ });
199
+ // Broadcast updated chat history to all clients in this session
200
+ broadcastToSession(sessionId, {
201
+ type: 'chat_history_updated',
202
+ payload: {
203
+ chatHistory: database_1.chatHistory.getBySession(sessionId, 50).reverse()
204
+ }
205
+ });
206
+ }
207
+ else {
208
+ sendMessage(ws, {
209
+ type: 'chat_response',
210
+ payload: {
211
+ success: false,
212
+ error: bobResponse.error || 'Failed to get response from AI',
213
+ timestamp: Date.now()
214
+ },
215
+ requestId: message.requestId
216
+ });
217
+ }
218
+ }
219
+ catch (error) {
220
+ console.error('Error in handleChat:', error);
221
+ sendMessage(ws, {
222
+ type: 'chat_response',
223
+ payload: {
224
+ success: false,
225
+ error: error.message || 'An error occurred while processing your message',
226
+ timestamp: Date.now()
227
+ },
228
+ requestId: message.requestId
229
+ });
230
+ }
126
231
  }
127
232
  async function handleAddExpense(ws, message) {
128
233
  const { sessionId, expense } = message.payload;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../src/websocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bob-expense-tracker-chatbot",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "BobExpenseTrackerChatBot - AI-powered expense tracking chatbot that can be injected into any web application",
5
5
  "main": "dist/server.js",
6
6
  "bin": {
@@ -19,6 +19,7 @@
19
19
  "dist",
20
20
  "public",
21
21
  "iframe-app/dist",
22
+ ".bob",
22
23
  "README.md",
23
24
  "LICENSE",
24
25
  ".env.example"