agentic-qe 2.7.2 → 2.7.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +1 -1
  3. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  4. package/dist/learning/QLearning.d.ts +101 -1
  5. package/dist/learning/QLearning.d.ts.map +1 -1
  6. package/dist/learning/QLearning.js +168 -0
  7. package/dist/learning/QLearning.js.map +1 -1
  8. package/dist/mcp/server-instructions.d.ts +1 -1
  9. package/dist/mcp/server-instructions.js +1 -1
  10. package/dist/planning/GOAPPlanner.d.ts +42 -0
  11. package/dist/planning/GOAPPlanner.d.ts.map +1 -1
  12. package/dist/planning/GOAPPlanner.js +151 -0
  13. package/dist/planning/GOAPPlanner.js.map +1 -1
  14. package/dist/planning/PlanLearning.d.ts +184 -0
  15. package/dist/planning/PlanLearning.d.ts.map +1 -0
  16. package/dist/planning/PlanLearning.js +526 -0
  17. package/dist/planning/PlanLearning.js.map +1 -0
  18. package/dist/planning/PlanSimilarity.d.ts +148 -0
  19. package/dist/planning/PlanSimilarity.d.ts.map +1 -0
  20. package/dist/planning/PlanSimilarity.js +463 -0
  21. package/dist/planning/PlanSimilarity.js.map +1 -0
  22. package/dist/planning/execution/PlanExecutor.d.ts +101 -2
  23. package/dist/planning/execution/PlanExecutor.d.ts.map +1 -1
  24. package/dist/planning/execution/PlanExecutor.js +587 -14
  25. package/dist/planning/execution/PlanExecutor.js.map +1 -1
  26. package/dist/planning/index.d.ts +2 -0
  27. package/dist/planning/index.d.ts.map +1 -1
  28. package/dist/planning/index.js +15 -4
  29. package/dist/planning/index.js.map +1 -1
  30. package/dist/planning/integration/GOAPQualityGateIntegration.d.ts +6 -0
  31. package/dist/planning/integration/GOAPQualityGateIntegration.d.ts.map +1 -1
  32. package/dist/planning/integration/GOAPQualityGateIntegration.js +7 -0
  33. package/dist/planning/integration/GOAPQualityGateIntegration.js.map +1 -1
  34. package/dist/planning/types.d.ts +2 -0
  35. package/dist/planning/types.d.ts.map +1 -1
  36. package/dist/planning/types.js.map +1 -1
  37. package/package.json +1 -1
@@ -16,6 +16,7 @@ exports.GOAPPlanner = void 0;
16
16
  exports.getSharedGOAPPlanner = getSharedGOAPPlanner;
17
17
  exports.resetSharedGOAPPlanner = resetSharedGOAPPlanner;
18
18
  const Logger_1 = require("../utils/Logger");
19
+ const PlanSimilarity_1 = require("./PlanSimilarity");
19
20
  /**
20
21
  * GOAP Planner using A* search algorithm
21
22
  */
@@ -23,8 +24,28 @@ class GOAPPlanner {
23
24
  constructor(db) {
24
25
  this.actionLibrary = [];
25
26
  this.actionsLoaded = false;
27
+ this.enablePlanReuse = true; // Can be disabled for benchmarking A* directly
26
28
  this.db = db;
27
29
  this.logger = Logger_1.Logger.getInstance();
30
+ this.planSimilarity = new PlanSimilarity_1.PlanSimilarity(db);
31
+ }
32
+ /**
33
+ * Get PlanSimilarity instance for direct access
34
+ */
35
+ getPlanSimilarity() {
36
+ return this.planSimilarity;
37
+ }
38
+ /**
39
+ * Enable or disable plan reuse (useful for benchmarking)
40
+ */
41
+ setPlanReuseEnabled(enabled) {
42
+ this.enablePlanReuse = enabled;
43
+ }
44
+ /**
45
+ * Check if plan reuse is enabled
46
+ */
47
+ isPlanReuseEnabled() {
48
+ return this.enablePlanReuse;
28
49
  }
29
50
  /**
30
51
  * Load action library from database (merges with programmatic actions)
@@ -155,10 +176,24 @@ class GOAPPlanner {
155
176
  }
156
177
  /**
157
178
  * A* search to find optimal plan from current to goal state
179
+ * Phase 5: First checks for reusable similar plans before running A*
158
180
  */
159
181
  async findPlan(currentState, goalConditions, constraints) {
160
182
  await this.loadActionsFromDatabase();
161
183
  const startTime = Date.now();
184
+ // Phase 5: Check for reusable similar plans first (O(log n) vs O(n) A* search)
185
+ if (this.enablePlanReuse) {
186
+ const reusedPlan = await this.tryReuseSimilarPlan(currentState, goalConditions, constraints);
187
+ if (reusedPlan) {
188
+ this.logger.info('[GOAPPlanner] Reused similar plan', {
189
+ planId: reusedPlan.id,
190
+ actions: reusedPlan.actions.length,
191
+ totalCost: reusedPlan.totalCost,
192
+ elapsedMs: Date.now() - startTime
193
+ });
194
+ return reusedPlan;
195
+ }
196
+ }
162
197
  const openSet = [];
163
198
  const closedSet = new Set();
164
199
  // Start node
@@ -247,6 +282,122 @@ class GOAPPlanner {
247
282
  });
248
283
  return null;
249
284
  }
285
+ /**
286
+ * Phase 5: Try to reuse a similar plan from the signature cache
287
+ * Returns null if no suitable plan found, otherwise returns reconstructed plan
288
+ */
289
+ async tryReuseSimilarPlan(currentState, goalConditions, constraints) {
290
+ try {
291
+ // Find similar plans (target: <100ms)
292
+ const similarPlans = await this.planSimilarity.findSimilarPlans(goalConditions, currentState, { minSimilarity: 0.75, maxCandidates: 3 });
293
+ if (similarPlans.length === 0) {
294
+ return null;
295
+ }
296
+ // Try best match first (sorted by goal match, then similarity)
297
+ for (const similar of similarPlans) {
298
+ // Validate the action sequence is still valid
299
+ const actions = this.reconstructActionsFromSequence(similar.signature.actionSequence, constraints);
300
+ if (actions.length === 0) {
301
+ this.logger.debug('[GOAPPlanner] Similar plan has no valid actions', {
302
+ planId: similar.planId
303
+ });
304
+ continue;
305
+ }
306
+ // Verify preconditions can be met from current state
307
+ if (!this.validateActionSequence(currentState, actions)) {
308
+ this.logger.debug('[GOAPPlanner] Similar plan action sequence invalid for current state', {
309
+ planId: similar.planId
310
+ });
311
+ continue;
312
+ }
313
+ // Create reused plan with new ID
314
+ const reusedPlanId = `plan-reuse-${Date.now()}-${Math.random().toString(36).substring(2, 8)}`;
315
+ const plan = {
316
+ id: reusedPlanId,
317
+ actions,
318
+ totalCost: similar.signature.totalCost,
319
+ estimatedDuration: actions.reduce((sum, a) => sum + (a.durationEstimate ?? 0), 0),
320
+ goalConditions,
321
+ reusedFromPlanId: similar.planId, // Track provenance
322
+ similarityScore: similar.similarityScore
323
+ };
324
+ this.logger.info('[GOAPPlanner] Found reusable plan', {
325
+ originalPlanId: similar.planId,
326
+ reusedPlanId,
327
+ similarity: similar.similarityScore.toFixed(3),
328
+ goalMatch: similar.goalMatch,
329
+ actions: actions.length
330
+ });
331
+ return plan;
332
+ }
333
+ return null;
334
+ }
335
+ catch (error) {
336
+ this.logger.warn('[GOAPPlanner] Error in plan reuse check, falling back to A*', { error });
337
+ return null;
338
+ }
339
+ }
340
+ /**
341
+ * Reconstruct action objects from action ID sequence
342
+ */
343
+ reconstructActionsFromSequence(actionSequence, constraints) {
344
+ const actions = [];
345
+ const excludedActions = new Set(constraints?.excludedActions || []);
346
+ const allowedCategories = constraints?.allowedCategories
347
+ ? new Set(constraints.allowedCategories)
348
+ : null;
349
+ for (const actionId of actionSequence) {
350
+ if (excludedActions.has(actionId))
351
+ continue;
352
+ const action = this.actionLibrary.find(a => a.id === actionId);
353
+ if (!action)
354
+ continue;
355
+ if (allowedCategories && !allowedCategories.has(action.category))
356
+ continue;
357
+ actions.push(action);
358
+ }
359
+ return actions;
360
+ }
361
+ /**
362
+ * Validate that action sequence can be executed from current state
363
+ */
364
+ validateActionSequence(initialState, actions) {
365
+ let currentState = this.cloneState(initialState);
366
+ for (const action of actions) {
367
+ if (!this.preconditionsMet(currentState, action.preconditions)) {
368
+ return false;
369
+ }
370
+ currentState = this.applyAction(currentState, action);
371
+ }
372
+ return true;
373
+ }
374
+ /**
375
+ * Store plan signature for future reuse
376
+ * Call this after successful plan execution
377
+ */
378
+ storePlanSignature(plan, initialState) {
379
+ try {
380
+ this.planSimilarity.storePlanSignature(plan.id, plan.goalConditions, initialState, plan.actions, plan.totalCost);
381
+ }
382
+ catch (error) {
383
+ this.logger.warn('[GOAPPlanner] Failed to store plan signature', {
384
+ planId: plan.id,
385
+ error
386
+ });
387
+ }
388
+ }
389
+ /**
390
+ * Record plan reuse outcome (for learning)
391
+ */
392
+ recordPlanReuseOutcome(planId, success) {
393
+ this.planSimilarity.recordPlanReuse(planId, success);
394
+ }
395
+ /**
396
+ * Get plan reuse statistics
397
+ */
398
+ getPlanReuseStats() {
399
+ return this.planSimilarity.getReuseStats();
400
+ }
250
401
  /**
251
402
  * Calculate heuristic distance to goal (admissible)
252
403
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GOAPPlanner.js","sourceRoot":"","sources":["../../src/planning/GOAPPlanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GOAPPlanner.js","sourceRoot":"","sources":["../../src/planning/GOAPPlanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * PlanLearning - Learning from Plan Executions
3
+ *
4
+ * Implements reinforcement learning integration for GOAP planning:
5
+ * - Updates action success rates based on execution outcomes
6
+ * - Adjusts action costs based on actual execution times
7
+ * - Provides GOAP state encoding for Q-Learning integration
8
+ * - Tracks plan reuse and learning metrics
9
+ *
10
+ * Integrates with:
11
+ * - PlanSimilarity for plan reuse
12
+ * - QLearning for state-action value updates
13
+ * - PlanExecutor for execution feedback
14
+ *
15
+ * @module planning/PlanLearning
16
+ * @version 1.0.0
17
+ */
18
+ import Database from 'better-sqlite3';
19
+ import { WorldState, GOAPAction, GOAPPlan, ExecutedAction, StateConditions } from './types';
20
+ import { PlanSimilarity, SimilarPlan } from './PlanSimilarity';
21
+ import { QLearning } from '../learning/QLearning';
22
+ import { TaskState, AgentAction } from '../learning/types';
23
+ /**
24
+ * Learning configuration
25
+ */
26
+ export interface PlanLearningConfig {
27
+ learningRate: number;
28
+ costAdjustmentRate: number;
29
+ minExecutionsForUpdate: number;
30
+ successRateDecay: number;
31
+ enableQLearning: boolean;
32
+ planReuseThreshold: number;
33
+ }
34
+ /**
35
+ * Action execution statistics
36
+ */
37
+ export interface ActionStats {
38
+ actionId: string;
39
+ executionCount: number;
40
+ successCount: number;
41
+ failureCount: number;
42
+ successRate: number;
43
+ avgExecutionTimeMs: number;
44
+ avgCost: number;
45
+ lastExecuted: Date;
46
+ }
47
+ /**
48
+ * Plan learning outcome
49
+ */
50
+ export interface PlanLearningOutcome {
51
+ planId: string;
52
+ success: boolean;
53
+ actionsUpdated: number;
54
+ reusedFromPlan?: string;
55
+ qValueUpdates: number;
56
+ totalExecutionTimeMs: number;
57
+ learningMetrics: {
58
+ avgSuccessRateChange: number;
59
+ avgCostChange: number;
60
+ planSimilarityScore?: number;
61
+ };
62
+ }
63
+ /**
64
+ * GOAP state for Q-Learning encoding
65
+ */
66
+ export interface GOAPState {
67
+ coverageLevel: 'low' | 'medium' | 'high';
68
+ qualityLevel: 'low' | 'medium' | 'high';
69
+ securityLevel: 'low' | 'medium' | 'high';
70
+ fleetCapacity: 'limited' | 'normal' | 'high';
71
+ timeConstraint: 'tight' | 'normal' | 'relaxed';
72
+ riskLevel: 'low' | 'medium' | 'high' | 'critical';
73
+ }
74
+ /**
75
+ * GOAP action for Q-Learning encoding
76
+ */
77
+ export interface GOAPQLearningAction {
78
+ category: string;
79
+ agentType: string;
80
+ costLevel: 'low' | 'medium' | 'high';
81
+ }
82
+ /**
83
+ * PlanLearning - Reinforcement learning integration for GOAP
84
+ */
85
+ export declare class PlanLearning {
86
+ private db;
87
+ private logger;
88
+ private config;
89
+ private similarity;
90
+ private qLearner?;
91
+ private actionStatsCache;
92
+ private schemaInitialized;
93
+ constructor(db: Database.Database, config?: Partial<PlanLearningConfig>, qLearner?: QLearning);
94
+ /**
95
+ * Initialize schema for learning tables
96
+ */
97
+ ensureSchema(): void;
98
+ /**
99
+ * Encode WorldState to discretized GOAP state for Q-Learning
100
+ */
101
+ encodeWorldState(state: WorldState): GOAPState;
102
+ /**
103
+ * Encode GOAP action for Q-Learning
104
+ */
105
+ encodeGOAPAction(action: GOAPAction): GOAPQLearningAction;
106
+ /**
107
+ * Convert GOAP state to Q-Learning TaskState
108
+ */
109
+ toTaskState(goapState: GOAPState): TaskState;
110
+ /**
111
+ * Convert GOAP action to Q-Learning AgentAction
112
+ */
113
+ toAgentAction(goapAction: GOAPQLearningAction): AgentAction;
114
+ private discretizeCoverage;
115
+ private discretizeQuality;
116
+ private discretizeSecurity;
117
+ private discretizeFleet;
118
+ private discretizeTime;
119
+ private discretizeCost;
120
+ /**
121
+ * Calculate reward for an action execution
122
+ */
123
+ calculateReward(executed: ExecutedAction): number;
124
+ /**
125
+ * Learn from a plan execution
126
+ */
127
+ learnFromExecution(plan: GOAPPlan, executedActions: ExecutedAction[], success: boolean): Promise<PlanLearningOutcome>;
128
+ /**
129
+ * Update action statistics based on execution
130
+ */
131
+ private updateActionStats;
132
+ /**
133
+ * Record learning history entry
134
+ */
135
+ private recordLearningHistory;
136
+ /**
137
+ * Try to find a reusable plan for the given goal and state
138
+ */
139
+ findReusablePlan(goalConditions: StateConditions, currentState: WorldState): Promise<SimilarPlan | null>;
140
+ /**
141
+ * Record plan reuse
142
+ */
143
+ recordPlanReuse(planId: string, success: boolean): void;
144
+ /**
145
+ * Get action statistics
146
+ */
147
+ getActionStats(actionId: string): ActionStats | null;
148
+ /**
149
+ * Get all action statistics sorted by usage
150
+ */
151
+ getAllActionStats(): ActionStats[];
152
+ /**
153
+ * Get plan reuse statistics
154
+ */
155
+ getPlanReuseStats(): import("./PlanSimilarity").PlanReuseStats;
156
+ /**
157
+ * Get Q-Learning statistics if enabled
158
+ */
159
+ getQLearningStats(): ReturnType<QLearning['getDetailedStatistics']> | null;
160
+ /**
161
+ * Get comprehensive learning metrics
162
+ */
163
+ getLearningMetrics(): {
164
+ actionStats: {
165
+ total: number;
166
+ avgSuccessRate: number;
167
+ };
168
+ planReuse: ReturnType<PlanSimilarity['getReuseStats']>;
169
+ qLearning: ReturnType<QLearning['getDetailedStatistics']> | null;
170
+ learningHistory: {
171
+ totalEntries: number;
172
+ recentReward: number;
173
+ };
174
+ };
175
+ /**
176
+ * Get the PlanSimilarity instance for direct access
177
+ */
178
+ getSimilarity(): PlanSimilarity;
179
+ /**
180
+ * Clear all caches
181
+ */
182
+ clearCaches(): void;
183
+ }
184
+ //# sourceMappingURL=PlanLearning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlanLearning.d.ts","sourceRoot":"","sources":["../../src/planning/PlanLearning.ts"],"names":[],"mappings":"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"}