@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.
- package/dist/ImageStore-MMUOUPI2.js +0 -0
- package/dist/artifactExtractor-BRHUIR7I.js +0 -0
- package/dist/chunk-A7POWM75.js +0 -0
- package/dist/{chunk-PMY7IPOC.js → chunk-ADCROVLY.js} +1 -1
- package/dist/{chunk-K44CDTQN.js → chunk-B4P5OG7I.js} +1 -1
- package/dist/chunk-BDQBOLYG.js +0 -0
- package/dist/chunk-BPFEGDC7.js +0 -0
- package/dist/{chunk-3MT5HI3G.js → chunk-EK5LPWGI.js} +1 -1
- package/dist/chunk-OCYRD7D6.js +0 -0
- package/dist/{chunk-SZXO7HOF.js → chunk-QPGYSGH2.js} +53 -14
- package/dist/{create-X2GOA457.js → create-NXXPT4MS.js} +2 -2
- package/dist/formatConverter-5QEJDW24.js +0 -0
- package/dist/index.js +17 -13
- package/dist/llmMarkdownGenerator-AHTZFV2T.js +0 -0
- package/dist/markdownGenerator-BLXDOZWQ.js +0 -0
- package/dist/{mementoService-ZAFUWL4U.js → mementoService-WCPFSTOY.js} +2 -2
- package/dist/notificationDeduplicator-UTHJHMSZ.js +0 -0
- package/dist/{src-STUEUNUB.js → src-EO5AUGWF.js} +1 -1
- package/dist/src-SIU2KHTA.js +0 -0
- package/dist/{subtractCredits-KRFWXMZH.js → subtractCredits-HX5DVYK4.js} +2 -2
- package/dist/utils-JCHWDM4Z.js +0 -0
- package/package.json +19 -17
|
File without changes
|
|
File without changes
|
package/dist/chunk-A7POWM75.js
CHANGED
|
File without changes
|
package/dist/chunk-BDQBOLYG.js
CHANGED
|
File without changes
|
package/dist/chunk-BPFEGDC7.js
CHANGED
|
File without changes
|
package/dist/chunk-OCYRD7D6.js
CHANGED
|
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 =
|
|
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
|
|
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(
|
|
8381
|
-
|
|
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
|
|
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(
|
|
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()
|
|
8437
|
-
throw new Error("Empty
|
|
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,
|
|
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
|
|
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.
|
|
8822
|
-
10.
|
|
8823
|
-
|
|
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
|
|
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-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
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-
|
|
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(
|
|
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(
|
|
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.
|
|
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": "
|
|
11937
|
-
"@bike4mind/common": "
|
|
11938
|
-
"@bike4mind/mcp": "
|
|
11939
|
-
"@bike4mind/services": "
|
|
11940
|
-
"@bike4mind/utils": "
|
|
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
|
|
File without changes
|
package/dist/src-SIU2KHTA.js
CHANGED
|
File without changes
|
package/dist/utils-JCHWDM4Z.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bike4mind/cli",
|
|
3
|
-
"version": "0.2.
|
|
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
|
-
"
|
|
117
|
-
|
|
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
|
+
}
|