@bike4mind/cli 0.2.13 → 0.2.14-fix-questmaster-execution-freeze-and-creation.17473

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.
File without changes
File without changes
File without changes
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  BadRequestError,
4
4
  secureParameters
5
- } from "./chunk-SZXO7HOF.js";
5
+ } from "./chunk-QPGYSGH2.js";
6
6
  import {
7
7
  CompletionApiUsageTransaction,
8
8
  GenericCreditDeductTransaction,
@@ -7,7 +7,7 @@ import {
7
7
  getSettingsMap,
8
8
  getSettingsValue,
9
9
  secureParameters
10
- } from "./chunk-SZXO7HOF.js";
10
+ } from "./chunk-QPGYSGH2.js";
11
11
  import {
12
12
  KnowledgeType,
13
13
  SupportedFabFileMimeTypes
File without changes
File without changes
@@ -6,7 +6,7 @@ import {
6
6
  getSettingsByNames,
7
7
  obfuscateApiKey,
8
8
  secureParameters
9
- } from "./chunk-SZXO7HOF.js";
9
+ } from "./chunk-QPGYSGH2.js";
10
10
  import {
11
11
  ApiKeyType,
12
12
  MementoTier,
File without changes
@@ -8069,7 +8069,7 @@ function extractQuestMasterData(reply, options = {}) {
8069
8069
  }
8070
8070
 
8071
8071
  // ../../b4m-core/packages/utils/dist/src/questMasterToolSchema.js
8072
- var MAX_GOAL_LENGTH = 500;
8072
+ var MAX_GOAL_LENGTH = 1e3;
8073
8073
  var MAX_TITLE_LENGTH = 200;
8074
8074
  var MAX_DESCRIPTION_LENGTH = 2e3;
8075
8075
  var MAX_TAG_LENGTH = 50;
@@ -8093,11 +8093,22 @@ var createQuestPlanToolSchema = {
8093
8093
  GUIDELINES:
8094
8094
  - Analyze the user's request and create 3-7 main quests
8095
8095
  - Each quest must have 2-5 specific, actionable subquests
8096
- - Quest titles should be clear and action-oriented (e.g., "Set up database schema" not "Step 1")
8096
+ - Quest titles should be clear and action-oriented
8097
8097
  - Provide detailed descriptions for each quest
8098
8098
  - Assess complexity accurately: Easy (< 1 hour), Medium (1-4 hours), Hard (> 4 hours)
8099
8099
  - Generate 2-5 relevant tags categorizing the work (e.g., "web-development", "database", "api")
8100
8100
 
8101
+ TITLE REQUIREMENTS (CRITICAL):
8102
+ - NEVER use generic titles like "Step 1", "Step 2", "Task 1", "Subtask 1", "Part A"
8103
+ - ALWAYS use descriptive, action-oriented titles
8104
+ - Good: "Configure authentication middleware", "Set up database connection pooling"
8105
+ - Bad: "Step 1", "Subtask 2", "Task A"
8106
+
8107
+ HANDLING VERBOSE INPUT:
8108
+ - Extract the core objective and key requirements from detailed input
8109
+ - Summarize and structure appropriately rather than incorporating every detail
8110
+ - Focus on actionable steps
8111
+
8101
8112
  ALWAYS call this function to respond. Do NOT respond with plain text.`,
8102
8113
  parameters: {
8103
8114
  type: "object",
@@ -8377,8 +8388,11 @@ var QuestMaster = class {
8377
8388
  if (extracted.length > 0) {
8378
8389
  this.logger.log("Successfully extracted QuestMaster data:", extracted);
8379
8390
  await this.onStatusUpdate(this.quest, "Extracted QuestMaster data");
8380
- const validQuests = extracted.filter((quest) => quest !== null && typeof quest === "object" && quest.id && quest.title && quest.title !== "Step 1" && // Explicitly filter out generic Step 1
8381
- quest.description && quest.description !== "No description available");
8391
+ const validQuests = extracted.filter(
8392
+ (quest) => quest !== null && typeof quest === "object" && quest.id && quest.title && quest.description
8393
+ // Note: Removed generic title filters ("Step 1", "No description available")
8394
+ // LLM prompts should guide better title generation instead of rejecting valid quests
8395
+ );
8382
8396
  if (validQuests.length === 0) {
8383
8397
  throw new Error("No valid quests found after filtering");
8384
8398
  }
@@ -8398,7 +8412,7 @@ var QuestMaster = class {
8398
8412
  // No fallback - we filtered for valid descriptions
8399
8413
  complexity: quest.complexity || "Medium",
8400
8414
  status: "not_started",
8401
- subQuests: Array.isArray(quest.subQuests) ? quest.subQuests.filter((sub) => sub && sub.id && sub.title && !sub.title.startsWith("Subtask")).map((sub) => ({
8415
+ subQuests: Array.isArray(quest.subQuests) ? quest.subQuests.filter((sub) => sub && sub.id && sub.title).map((sub) => ({
8402
8416
  id: sub.id,
8403
8417
  title: sub.title,
8404
8418
  status: "not_started"
@@ -8412,7 +8426,11 @@ var QuestMaster = class {
8412
8426
  try {
8413
8427
  const questPlan = JSON.parse(questPlanText);
8414
8428
  if (questPlan && questPlan.questChain && Array.isArray(questPlan.questChain)) {
8415
- const validQuestChain = questPlan.questChain.filter((item) => item && item.quest && item.quest !== "Step 1" && item.details && item.details !== "No description available");
8429
+ const validQuestChain = questPlan.questChain.filter(
8430
+ (item) => item && item.quest && item.details
8431
+ // Note: Removed generic title filters ("Step 1", "No description available")
8432
+ // LLM prompts should guide better title generation instead of rejecting
8433
+ );
8416
8434
  if (validQuestChain.length === 0) {
8417
8435
  throw new Error("No valid quests found in quest chain");
8418
8436
  }
@@ -8433,8 +8451,8 @@ var QuestMaster = class {
8433
8451
  }))
8434
8452
  };
8435
8453
  } else {
8436
- if (!questPlanText.trim() || questPlanText.trim() === "Step 1") {
8437
- throw new Error("Empty or invalid response received");
8454
+ if (!questPlanText.trim()) {
8455
+ throw new Error("Empty response received");
8438
8456
  }
8439
8457
  questResponse = {
8440
8458
  type: "narrative",
@@ -8644,7 +8662,7 @@ var QuestMaster = class {
8644
8662
  {
8645
8663
  "id": "${questId}",
8646
8664
  "title": "Process Request",
8647
- "description": "${text.substring(0, 500).replace(/"/g, '\\"')}",
8665
+ "description": "${text.substring(0, 1e3).replace(/"/g, '\\"')}",
8648
8666
  "complexity": "Medium",
8649
8667
  "status": "Not Started",
8650
8668
  "subQuests": [
@@ -8689,10 +8707,21 @@ Do NOT respond with plain text - ALWAYS use the function call.
8689
8707
  Guidelines:
8690
8708
  - Break down complex tasks into 3-7 main quests
8691
8709
  - Each quest needs 2-5 specific, actionable subquests
8692
- - Make titles clear and action-oriented (e.g., "Set up database schema" not "Step 1")
8710
+ - Make titles clear and action-oriented
8693
8711
  - Provide detailed descriptions explaining what needs to be done
8694
8712
  - Assess complexity accurately: Easy (< 1 hour), Medium (1-4 hours), Hard (> 4 hours)
8695
- - Generate 2-5 relevant tags categorizing the work`
8713
+ - Generate 2-5 relevant tags categorizing the work
8714
+
8715
+ Title Requirements (IMPORTANT):
8716
+ - NEVER use generic titles like "Step 1", "Step 2", "Task 1", "Subtask 1", "Part A"
8717
+ - ALWAYS use descriptive, action-oriented titles that explain what the step accomplishes
8718
+ - Good examples: "Configure authentication middleware", "Set up database connection pooling"
8719
+ - Bad examples: "Step 1", "Subtask 2", "Task A", "Part 1"
8720
+
8721
+ Handling Verbose Input:
8722
+ - When given detailed or verbose input, extract the core objective and key requirements
8723
+ - Do not try to incorporate every detail verbatim - summarize and structure appropriately
8724
+ - Focus on actionable steps rather than preserving all user context`
8696
8725
  },
8697
8726
  { role: "user", content: prompt }
8698
8727
  ];
@@ -8818,9 +8847,19 @@ IMPORTANT GUIDELINES:
8818
8847
  6. ALWAYS include relevant subquests - do not create empty subQuests arrays
8819
8848
  7. Maintain exact JSON structure
8820
8849
  8. No text between comment tags and JSON
8821
- 9. Never create generic "Step 1" quests - be specific and descriptive
8822
- 10. Each quest should have 2-5 concrete subquests that break down the work
8823
- 11. Generate 2-5 relevant tags that categorize this quest (e.g., "web-development", "react", "database", "ui-design", "api", "testing", "documentation")
8850
+ 9. Each quest should have 2-5 concrete subquests that break down the work
8851
+ 10. Generate 2-5 relevant tags that categorize this quest (e.g., "web-development", "react", "database", "ui-design", "api", "testing", "documentation")
8852
+
8853
+ TITLE REQUIREMENTS (CRITICAL):
8854
+ - NEVER use generic titles like "Step 1", "Step 2", "Task 1", "Subtask 1", "Part A"
8855
+ - ALWAYS use descriptive, action-oriented titles that explain what the step accomplishes
8856
+ - Good examples: "Configure authentication middleware", "Set up database connection pooling"
8857
+ - Bad examples: "Step 1", "Subtask 2", "Task A", "Part 1"
8858
+
8859
+ HANDLING VERBOSE INPUT:
8860
+ - When given detailed or verbose input, extract the core objective and key requirements
8861
+ - Do not try to incorporate every detail verbatim - summarize and structure appropriately
8862
+ - Focus on actionable steps rather than preserving all user context
8824
8863
 
8825
8864
  Remember:
8826
8865
  - The goal field in QuestMasterMeta is crucial for UI display
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  createFabFile,
4
4
  createFabFileSchema
5
- } from "./chunk-K44CDTQN.js";
6
- import "./chunk-SZXO7HOF.js";
5
+ } from "./chunk-B4P5OG7I.js";
6
+ import "./chunk-QPGYSGH2.js";
7
7
  import "./chunk-OCYRD7D6.js";
8
8
  import "./chunk-A7POWM75.js";
9
9
  export {
File without changes
package/dist/index.js CHANGED
@@ -4,9 +4,9 @@ import {
4
4
  getEffectiveApiKey,
5
5
  getOpenWeatherKey,
6
6
  getSerperKey
7
- } from "./chunk-3MT5HI3G.js";
8
- import "./chunk-PMY7IPOC.js";
9
- import "./chunk-K44CDTQN.js";
7
+ } from "./chunk-EK5LPWGI.js";
8
+ import "./chunk-ADCROVLY.js";
9
+ import "./chunk-B4P5OG7I.js";
10
10
  import {
11
11
  BFLImageService,
12
12
  BaseStorage,
@@ -15,7 +15,7 @@ import {
15
15
  OpenAIBackend,
16
16
  OpenAIImageService,
17
17
  XAIImageService
18
- } from "./chunk-SZXO7HOF.js";
18
+ } from "./chunk-QPGYSGH2.js";
19
19
  import {
20
20
  Logger
21
21
  } from "./chunk-OCYRD7D6.js";
@@ -5357,7 +5357,8 @@ import { z as z134 } from "zod";
5357
5357
  var questSchema = z134.object({
5358
5358
  id: z134.string(),
5359
5359
  title: z134.string().min(1).max(255),
5360
- description: z134.string().max(1e3),
5360
+ description: z134.string().max(2e3),
5361
+ // Aligned with database schema
5361
5362
  status: z134.enum(["not_started", "in_progress", "completed", "blocked"]).default("not_started"),
5362
5363
  order: z134.number().min(0),
5363
5364
  dependencies: z134.array(z134.string()).default([]),
@@ -5370,8 +5371,10 @@ var questResourceSchema = z134.object({
5370
5371
  });
5371
5372
  var createQuestMasterSchema = z134.object({
5372
5373
  title: z134.string().min(1).max(255),
5373
- description: z134.string().max(1e3).optional(),
5374
+ description: z134.string().max(2e3).optional(),
5375
+ // Aligned with database schema
5374
5376
  goal: z134.string().min(1).max(1e3),
5377
+ // Increased to match tool schema
5375
5378
  complexity: z134.enum(["beginner", "intermediate", "advanced", "expert"]),
5376
5379
  estimatedTotalTime: z134.string().optional(),
5377
5380
  prerequisites: z134.array(z134.string().max(200)).default([]),
@@ -11828,7 +11831,7 @@ import { isAxiosError as isAxiosError2 } from "axios";
11828
11831
  // package.json
11829
11832
  var package_default = {
11830
11833
  name: "@bike4mind/cli",
11831
- version: "0.2.13",
11834
+ version: "0.2.14-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
11832
11835
  type: "module",
11833
11836
  description: "Interactive CLI tool for Bike4Mind with ReAct agents",
11834
11837
  license: "UNLICENSED",
@@ -11933,11 +11936,11 @@ var package_default = {
11933
11936
  zustand: "^4.5.4"
11934
11937
  },
11935
11938
  devDependencies: {
11936
- "@bike4mind/agents": "workspace:*",
11937
- "@bike4mind/common": "workspace:*",
11938
- "@bike4mind/mcp": "workspace:*",
11939
- "@bike4mind/services": "workspace:*",
11940
- "@bike4mind/utils": "workspace:*",
11939
+ "@bike4mind/agents": "0.1.0",
11940
+ "@bike4mind/common": "2.42.1-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
11941
+ "@bike4mind/mcp": "1.21.3-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
11942
+ "@bike4mind/services": "2.37.1-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
11943
+ "@bike4mind/utils": "2.1.8-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
11941
11944
  "@types/better-sqlite3": "^7.6.13",
11942
11945
  "@types/diff": "^5.0.9",
11943
11946
  "@types/jsonwebtoken": "^9.0.4",
@@ -11950,7 +11953,8 @@ var package_default = {
11950
11953
  tsx: "^4.21.0",
11951
11954
  typescript: "^5.9.3",
11952
11955
  vitest: "^3.2.4"
11953
- }
11956
+ },
11957
+ gitHead: "e14a17396a2f6a25fe39ae64920f9af44b97df06"
11954
11958
  };
11955
11959
 
11956
11960
  // src/config/constants.ts
File without changes
File without changes
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  findMostSimilarMemento,
4
4
  getRelevantMementos
5
- } from "./chunk-3MT5HI3G.js";
6
- import "./chunk-SZXO7HOF.js";
5
+ } from "./chunk-EK5LPWGI.js";
6
+ import "./chunk-QPGYSGH2.js";
7
7
  import "./chunk-OCYRD7D6.js";
8
8
  import "./chunk-A7POWM75.js";
9
9
  export {
File without changes
@@ -120,7 +120,7 @@ import {
120
120
  validateMermaidSyntax,
121
121
  warmUpSettingsCache,
122
122
  withRetry
123
- } from "./chunk-SZXO7HOF.js";
123
+ } from "./chunk-QPGYSGH2.js";
124
124
  import {
125
125
  Logger,
126
126
  NotificationDeduplicator,
File without changes
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  SubtractCreditsSchema,
4
4
  subtractCredits
5
- } from "./chunk-PMY7IPOC.js";
6
- import "./chunk-SZXO7HOF.js";
5
+ } from "./chunk-ADCROVLY.js";
6
+ import "./chunk-QPGYSGH2.js";
7
7
  import "./chunk-OCYRD7D6.js";
8
8
  import "./chunk-A7POWM75.js";
9
9
  export {
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bike4mind/cli",
3
- "version": "0.2.13",
3
+ "version": "0.2.14-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
4
4
  "type": "module",
5
5
  "description": "Interactive CLI tool for Bike4Mind with ReAct agents",
6
6
  "license": "UNLICENSED",
@@ -30,6 +30,16 @@
30
30
  "dist",
31
31
  "bin"
32
32
  ],
33
+ "scripts": {
34
+ "dev": "tsx src/index.tsx",
35
+ "build": "tsup",
36
+ "typecheck": "tsc --noEmit",
37
+ "test": "vitest run",
38
+ "test:watch": "vitest",
39
+ "start": "node dist/index.js",
40
+ "prepublishOnly": "pnpm build",
41
+ "postinstall": "node -e \"try { require('better-sqlite3') } catch(e) { if(e.message.includes('bindings')) { console.log('\\n⚠️ Rebuilding better-sqlite3 native bindings...'); require('child_process').execSync('pnpm rebuild better-sqlite3', {stdio:'inherit'}) } }\""
42
+ },
33
43
  "dependencies": {
34
44
  "@anthropic-ai/sdk": "^0.22.0",
35
45
  "@aws-sdk/client-apigatewaymanagementapi": "3.654.0",
@@ -95,6 +105,11 @@
95
105
  "zustand": "^4.5.4"
96
106
  },
97
107
  "devDependencies": {
108
+ "@bike4mind/agents": "0.1.0",
109
+ "@bike4mind/common": "2.42.1-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
110
+ "@bike4mind/mcp": "1.21.3-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
111
+ "@bike4mind/services": "2.37.1-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
112
+ "@bike4mind/utils": "2.1.8-fix-questmaster-execution-freeze-and-creation.17473+e14a17396",
98
113
  "@types/better-sqlite3": "^7.6.13",
99
114
  "@types/diff": "^5.0.9",
100
115
  "@types/jsonwebtoken": "^9.0.4",
@@ -106,20 +121,7 @@
106
121
  "tsup": "^8.5.1",
107
122
  "tsx": "^4.21.0",
108
123
  "typescript": "^5.9.3",
109
- "vitest": "^3.2.4",
110
- "@bike4mind/agents": "0.1.0",
111
- "@bike4mind/common": "2.42.0",
112
- "@bike4mind/mcp": "1.21.2",
113
- "@bike4mind/services": "2.37.0",
114
- "@bike4mind/utils": "2.1.7"
124
+ "vitest": "^3.2.4"
115
125
  },
116
- "scripts": {
117
- "dev": "tsx src/index.tsx",
118
- "build": "tsup",
119
- "typecheck": "tsc --noEmit",
120
- "test": "vitest run",
121
- "test:watch": "vitest",
122
- "start": "node dist/index.js",
123
- "postinstall": "node -e \"try { require('better-sqlite3') } catch(e) { if(e.message.includes('bindings')) { console.log('\\n⚠️ Rebuilding better-sqlite3 native bindings...'); require('child_process').execSync('pnpm rebuild better-sqlite3', {stdio:'inherit'}) } }\""
124
- }
125
- }
126
+ "gitHead": "e14a17396a2f6a25fe39ae64920f9af44b97df06"
127
+ }