agentic-qe 3.7.21 → 3.7.22
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/.claude/helpers/brain-checkpoint.cjs +4 -1
- package/.claude/helpers/statusline-v3.cjs +3 -1
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +14 -0
- package/README.md +0 -12
- package/assets/helpers/statusline-v3.cjs +3 -1
- package/dist/cli/brain-commands.js +6 -10
- package/dist/cli/bundle.js +2049 -3380
- package/dist/cli/commands/hooks.js +29 -6
- package/dist/cli/commands/init.js +1 -73
- package/dist/cli/commands/learning.js +164 -12
- package/dist/cli/handlers/init-handler.d.ts +0 -1
- package/dist/cli/handlers/init-handler.js +0 -6
- package/dist/cli/index.js +0 -2
- package/dist/context/sources/defect-source.js +2 -2
- package/dist/context/sources/memory-source.js +2 -2
- package/dist/context/sources/requirements-source.js +2 -2
- package/dist/init/index.d.ts +0 -2
- package/dist/init/index.js +0 -1
- package/dist/init/init-wizard-steps.d.ts +10 -0
- package/dist/init/init-wizard-steps.js +87 -1
- package/dist/init/init-wizard.d.ts +1 -9
- package/dist/init/init-wizard.js +3 -69
- package/dist/init/orchestrator.js +0 -1
- package/dist/init/phases/01-detection.js +0 -27
- package/dist/init/phases/07-hooks.js +6 -4
- package/dist/init/phases/phase-interface.d.ts +0 -1
- package/dist/init/settings-merge.js +1 -1
- package/dist/kernel/unified-memory.js +5 -6
- package/dist/learning/experience-capture-middleware.js +20 -0
- package/dist/learning/index.d.ts +0 -2
- package/dist/learning/index.js +0 -4
- package/dist/learning/metrics-tracker.js +15 -13
- package/dist/learning/pattern-lifecycle.d.ts +1 -1
- package/dist/learning/pattern-lifecycle.js +18 -20
- package/dist/learning/qe-unified-memory.js +1 -28
- package/dist/mcp/bundle.js +180 -175
- package/package.json +1 -1
- package/dist/cli/commands/migrate.d.ts +0 -9
- package/dist/cli/commands/migrate.js +0 -566
- package/dist/init/init-wizard-migration.d.ts +0 -52
- package/dist/init/init-wizard-migration.js +0 -345
- package/dist/init/migration/config-migrator.d.ts +0 -31
- package/dist/init/migration/config-migrator.js +0 -149
- package/dist/init/migration/data-migrator.d.ts +0 -72
- package/dist/init/migration/data-migrator.js +0 -232
- package/dist/init/migration/detector.d.ts +0 -44
- package/dist/init/migration/detector.js +0 -105
- package/dist/init/migration/index.d.ts +0 -8
- package/dist/init/migration/index.js +0 -8
- package/dist/learning/v2-to-v3-migration.d.ts +0 -86
- package/dist/learning/v2-to-v3-migration.js +0 -529
package/dist/mcp/bundle.js
CHANGED
|
@@ -5256,18 +5256,18 @@ var init_logger_factory = __esm({
|
|
|
5256
5256
|
return this.instances.get(domain);
|
|
5257
5257
|
}
|
|
5258
5258
|
const level = this.getDomainLevel(domain);
|
|
5259
|
-
let
|
|
5259
|
+
let logger22;
|
|
5260
5260
|
if (this.config.silent) {
|
|
5261
|
-
|
|
5261
|
+
logger22 = new NullLogger(domain);
|
|
5262
5262
|
} else if (this.customProvider) {
|
|
5263
|
-
|
|
5263
|
+
logger22 = this.customProvider(domain, level, context);
|
|
5264
5264
|
} else {
|
|
5265
|
-
|
|
5265
|
+
logger22 = new ConsoleLogger(domain, level, this.config.consoleConfig, context);
|
|
5266
5266
|
}
|
|
5267
5267
|
if (!context) {
|
|
5268
|
-
this.instances.set(domain,
|
|
5268
|
+
this.instances.set(domain, logger22);
|
|
5269
5269
|
}
|
|
5270
|
-
return
|
|
5270
|
+
return logger22;
|
|
5271
5271
|
}
|
|
5272
5272
|
/**
|
|
5273
5273
|
* Get a logger (alias for create)
|
|
@@ -6183,6 +6183,33 @@ var init_better_sqlite3 = __esm({
|
|
|
6183
6183
|
}
|
|
6184
6184
|
});
|
|
6185
6185
|
|
|
6186
|
+
// src/shared/safe-db.ts
|
|
6187
|
+
var safe_db_exports = {};
|
|
6188
|
+
__export(safe_db_exports, {
|
|
6189
|
+
openDatabase: () => openDatabase
|
|
6190
|
+
});
|
|
6191
|
+
function openDatabase(dbPath, opts) {
|
|
6192
|
+
const readonly = opts?.readonly ?? false;
|
|
6193
|
+
const fileMustExist = opts?.fileMustExist ?? false;
|
|
6194
|
+
const busyTimeout = opts?.busyTimeout ?? 5e3;
|
|
6195
|
+
const walMode = opts?.walMode ?? !readonly;
|
|
6196
|
+
const db = new better_sqlite3_default(dbPath, {
|
|
6197
|
+
readonly,
|
|
6198
|
+
fileMustExist
|
|
6199
|
+
});
|
|
6200
|
+
db.pragma(`busy_timeout = ${busyTimeout}`);
|
|
6201
|
+
if (walMode) {
|
|
6202
|
+
db.pragma("journal_mode = WAL");
|
|
6203
|
+
}
|
|
6204
|
+
return db;
|
|
6205
|
+
}
|
|
6206
|
+
var init_safe_db = __esm({
|
|
6207
|
+
"src/shared/safe-db.ts"() {
|
|
6208
|
+
"use strict";
|
|
6209
|
+
init_better_sqlite3();
|
|
6210
|
+
}
|
|
6211
|
+
});
|
|
6212
|
+
|
|
6186
6213
|
// src/shared/sql-safety.ts
|
|
6187
6214
|
function validateTableName(tableName) {
|
|
6188
6215
|
if (!ALLOWED_TABLE_NAMES.has(tableName)) {
|
|
@@ -8955,7 +8982,7 @@ var logger3, _cachedProjectRoot, DEFAULT_UNIFIED_MEMORY_CONFIG, UnifiedMemoryMan
|
|
|
8955
8982
|
var init_unified_memory = __esm({
|
|
8956
8983
|
"src/kernel/unified-memory.ts"() {
|
|
8957
8984
|
"use strict";
|
|
8958
|
-
|
|
8985
|
+
init_safe_db();
|
|
8959
8986
|
init_safe_json();
|
|
8960
8987
|
init_error_utils();
|
|
8961
8988
|
init_constants();
|
|
@@ -9071,13 +9098,12 @@ var init_unified_memory = __esm({
|
|
|
9071
9098
|
dbSizeBefore = newest.size;
|
|
9072
9099
|
}
|
|
9073
9100
|
}
|
|
9074
|
-
this.db =
|
|
9075
|
-
|
|
9076
|
-
this.
|
|
9077
|
-
}
|
|
9101
|
+
this.db = openDatabase(this.config.dbPath, {
|
|
9102
|
+
walMode: this.config.walMode,
|
|
9103
|
+
busyTimeout: this.config.busyTimeout
|
|
9104
|
+
});
|
|
9078
9105
|
this.db.pragma(`mmap_size = ${this.config.mmapSize}`);
|
|
9079
9106
|
this.db.pragma(`cache_size = ${this.config.cacheSize}`);
|
|
9080
|
-
this.db.pragma(`busy_timeout = ${this.config.busyTimeout}`);
|
|
9081
9107
|
this.db.pragma("foreign_keys = ON");
|
|
9082
9108
|
await this.runMigrations();
|
|
9083
9109
|
if (dbExistedBefore && dbSizeBefore > 1e6) {
|
|
@@ -54242,8 +54268,8 @@ function toVibiumAccessibilityResult(axeResults) {
|
|
|
54242
54268
|
checkedAt: /* @__PURE__ */ new Date()
|
|
54243
54269
|
};
|
|
54244
54270
|
}
|
|
54245
|
-
function createBrowserOrchestrator(client, config,
|
|
54246
|
-
return new BrowserOrchestrator(client, config,
|
|
54271
|
+
function createBrowserOrchestrator(client, config, logger22) {
|
|
54272
|
+
return new BrowserOrchestrator(client, config, logger22);
|
|
54247
54273
|
}
|
|
54248
54274
|
var BrowserOrchestrator;
|
|
54249
54275
|
var init_browser_orchestrator = __esm({
|
|
@@ -54259,10 +54285,10 @@ var init_browser_orchestrator = __esm({
|
|
|
54259
54285
|
config;
|
|
54260
54286
|
log;
|
|
54261
54287
|
adaptiveLocator = null;
|
|
54262
|
-
constructor(client, config,
|
|
54288
|
+
constructor(client, config, logger22) {
|
|
54263
54289
|
this.client = client;
|
|
54264
54290
|
this.config = config;
|
|
54265
|
-
this.log =
|
|
54291
|
+
this.log = logger22;
|
|
54266
54292
|
this.unifiedClient = config.browserClient ?? client;
|
|
54267
54293
|
this.useAgentBrowser = isAgentBrowserClient(this.unifiedClient);
|
|
54268
54294
|
if (config.adaptiveLocator?.enabled) {
|
|
@@ -54545,8 +54571,8 @@ var init_browser_orchestrator = __esm({
|
|
|
54545
54571
|
});
|
|
54546
54572
|
|
|
54547
54573
|
// src/domains/test-execution/services/e2e/assertion-handlers.ts
|
|
54548
|
-
function createAssertionHandlers(orchestrator,
|
|
54549
|
-
return new AssertionHandlers(orchestrator,
|
|
54574
|
+
function createAssertionHandlers(orchestrator, logger22) {
|
|
54575
|
+
return new AssertionHandlers(orchestrator, logger22);
|
|
54550
54576
|
}
|
|
54551
54577
|
var AssertionHandlers;
|
|
54552
54578
|
var init_assertion_handlers = __esm({
|
|
@@ -54557,9 +54583,9 @@ var init_assertion_handlers = __esm({
|
|
|
54557
54583
|
AssertionHandlers = class {
|
|
54558
54584
|
orchestrator;
|
|
54559
54585
|
log;
|
|
54560
|
-
constructor(orchestrator,
|
|
54586
|
+
constructor(orchestrator, logger22) {
|
|
54561
54587
|
this.orchestrator = orchestrator;
|
|
54562
|
-
this.log =
|
|
54588
|
+
this.log = logger22;
|
|
54563
54589
|
}
|
|
54564
54590
|
// ==========================================================================
|
|
54565
54591
|
// Unified Browser Client Assertions
|
|
@@ -55085,8 +55111,8 @@ var init_wait_condition_handler = __esm({
|
|
|
55085
55111
|
});
|
|
55086
55112
|
|
|
55087
55113
|
// src/domains/test-execution/services/e2e/step-executors.ts
|
|
55088
|
-
function createStepExecutors(config, orchestrator,
|
|
55089
|
-
return new StepExecutors(config, orchestrator,
|
|
55114
|
+
function createStepExecutors(config, orchestrator, logger22) {
|
|
55115
|
+
return new StepExecutors(config, orchestrator, logger22);
|
|
55090
55116
|
}
|
|
55091
55117
|
var StepExecutors;
|
|
55092
55118
|
var init_step_executors = __esm({
|
|
@@ -55104,12 +55130,12 @@ var init_step_executors = __esm({
|
|
|
55104
55130
|
assertionHandlers;
|
|
55105
55131
|
waitConditionHandler;
|
|
55106
55132
|
log;
|
|
55107
|
-
constructor(config, orchestrator,
|
|
55133
|
+
constructor(config, orchestrator, logger22) {
|
|
55108
55134
|
this.config = config;
|
|
55109
55135
|
this.orchestrator = orchestrator;
|
|
55110
|
-
this.assertionHandlers = createAssertionHandlers(orchestrator,
|
|
55136
|
+
this.assertionHandlers = createAssertionHandlers(orchestrator, logger22);
|
|
55111
55137
|
this.waitConditionHandler = createWaitConditionHandler(orchestrator);
|
|
55112
|
-
this.log =
|
|
55138
|
+
this.log = logger22;
|
|
55113
55139
|
}
|
|
55114
55140
|
/**
|
|
55115
55141
|
* Execute a single step based on its type
|
|
@@ -55851,8 +55877,8 @@ var init_safe_expression_evaluator = __esm({
|
|
|
55851
55877
|
});
|
|
55852
55878
|
|
|
55853
55879
|
// src/domains/test-execution/services/e2e/step-retry-handler.ts
|
|
55854
|
-
function createStepRetryHandler(config, stepExecutors,
|
|
55855
|
-
return new StepRetryHandler(config, stepExecutors,
|
|
55880
|
+
function createStepRetryHandler(config, stepExecutors, logger22) {
|
|
55881
|
+
return new StepRetryHandler(config, stepExecutors, logger22);
|
|
55856
55882
|
}
|
|
55857
55883
|
var StepRetryHandler;
|
|
55858
55884
|
var init_step_retry_handler = __esm({
|
|
@@ -55865,10 +55891,10 @@ var init_step_retry_handler = __esm({
|
|
|
55865
55891
|
config;
|
|
55866
55892
|
stepExecutors;
|
|
55867
55893
|
log;
|
|
55868
|
-
constructor(config, stepExecutors,
|
|
55894
|
+
constructor(config, stepExecutors, logger22) {
|
|
55869
55895
|
this.config = config;
|
|
55870
55896
|
this.stepExecutors = stepExecutors;
|
|
55871
|
-
this.log =
|
|
55897
|
+
this.log = logger22;
|
|
55872
55898
|
}
|
|
55873
55899
|
/**
|
|
55874
55900
|
* Execute a step with retry logic
|
|
@@ -56123,10 +56149,10 @@ var init_e2e_coordinator = __esm({
|
|
|
56123
56149
|
constructor(client, config = {}) {
|
|
56124
56150
|
this.client = client;
|
|
56125
56151
|
this.config = { ...DEFAULT_E2E_RUNNER_CONFIG, ...config };
|
|
56126
|
-
const
|
|
56127
|
-
this.orchestrator = createBrowserOrchestrator(client, this.config,
|
|
56128
|
-
this.stepExecutors = createStepExecutors(this.config, this.orchestrator,
|
|
56129
|
-
this.retryHandler = createStepRetryHandler(this.config, this.stepExecutors,
|
|
56152
|
+
const logger22 = (message) => this.log(message);
|
|
56153
|
+
this.orchestrator = createBrowserOrchestrator(client, this.config, logger22);
|
|
56154
|
+
this.stepExecutors = createStepExecutors(this.config, this.orchestrator, logger22);
|
|
56155
|
+
this.retryHandler = createStepRetryHandler(this.config, this.stepExecutors, logger22);
|
|
56130
56156
|
this.resultCollector = createResultCollector();
|
|
56131
56157
|
this.log(
|
|
56132
56158
|
`E2E Runner initialized with ${this.orchestrator.isUsingAgentBrowser() ? "agent-browser" : "vibium"} client`
|
|
@@ -83020,33 +83046,6 @@ var init_coordinator_consensus = __esm({
|
|
|
83020
83046
|
}
|
|
83021
83047
|
});
|
|
83022
83048
|
|
|
83023
|
-
// src/shared/safe-db.ts
|
|
83024
|
-
var safe_db_exports = {};
|
|
83025
|
-
__export(safe_db_exports, {
|
|
83026
|
-
openDatabase: () => openDatabase
|
|
83027
|
-
});
|
|
83028
|
-
function openDatabase(dbPath, opts) {
|
|
83029
|
-
const readonly = opts?.readonly ?? false;
|
|
83030
|
-
const fileMustExist = opts?.fileMustExist ?? false;
|
|
83031
|
-
const busyTimeout = opts?.busyTimeout ?? 5e3;
|
|
83032
|
-
const walMode = opts?.walMode ?? !readonly;
|
|
83033
|
-
const db = new better_sqlite3_default(dbPath, {
|
|
83034
|
-
readonly,
|
|
83035
|
-
fileMustExist
|
|
83036
|
-
});
|
|
83037
|
-
db.pragma(`busy_timeout = ${busyTimeout}`);
|
|
83038
|
-
if (walMode) {
|
|
83039
|
-
db.pragma("journal_mode = WAL");
|
|
83040
|
-
}
|
|
83041
|
-
return db;
|
|
83042
|
-
}
|
|
83043
|
-
var init_safe_db = __esm({
|
|
83044
|
-
"src/shared/safe-db.ts"() {
|
|
83045
|
-
"use strict";
|
|
83046
|
-
init_better_sqlite3();
|
|
83047
|
-
}
|
|
83048
|
-
});
|
|
83049
|
-
|
|
83050
83049
|
// src/domains/code-intelligence/coordinator.ts
|
|
83051
83050
|
var DEFAULT_CONFIG40, CodeIntelligenceCoordinator;
|
|
83052
83051
|
var init_coordinator7 = __esm({
|
|
@@ -127319,7 +127318,7 @@ function createErrorResult(code, transformType, error, startTime) {
|
|
|
127319
127318
|
warnings: []
|
|
127320
127319
|
};
|
|
127321
127320
|
}
|
|
127322
|
-
function transformVarToConst(code,
|
|
127321
|
+
function transformVarToConst(code, logger22 = { debug: () => {
|
|
127323
127322
|
}, info: () => {
|
|
127324
127323
|
}, warn: () => {
|
|
127325
127324
|
}, error: () => {
|
|
@@ -127360,7 +127359,7 @@ function transformVarToConst(code, logger23 = { debug: () => {
|
|
|
127360
127359
|
)
|
|
127361
127360
|
);
|
|
127362
127361
|
}
|
|
127363
|
-
|
|
127362
|
+
logger22.debug("var-to-const transform completed", {
|
|
127364
127363
|
declarations: varDeclarations.length,
|
|
127365
127364
|
reassigned: reassignedVars.size,
|
|
127366
127365
|
loopVars: loopVars.size
|
|
@@ -127369,7 +127368,7 @@ function transformVarToConst(code, logger23 = { debug: () => {
|
|
|
127369
127368
|
result.warnings = warnings;
|
|
127370
127369
|
return result;
|
|
127371
127370
|
} catch (error) {
|
|
127372
|
-
|
|
127371
|
+
logger22.error("var-to-const transform failed", error);
|
|
127373
127372
|
return createErrorResult(
|
|
127374
127373
|
code,
|
|
127375
127374
|
"var-to-const",
|
|
@@ -127378,7 +127377,7 @@ function transformVarToConst(code, logger23 = { debug: () => {
|
|
|
127378
127377
|
);
|
|
127379
127378
|
}
|
|
127380
127379
|
}
|
|
127381
|
-
function transformAddTypes(code,
|
|
127380
|
+
function transformAddTypes(code, logger22 = { debug: () => {
|
|
127382
127381
|
}, info: () => {
|
|
127383
127382
|
}, warn: () => {
|
|
127384
127383
|
}, error: () => {
|
|
@@ -127437,7 +127436,7 @@ function transformAddTypes(code, logger23 = { debug: () => {
|
|
|
127437
127436
|
);
|
|
127438
127437
|
}
|
|
127439
127438
|
}
|
|
127440
|
-
|
|
127439
|
+
logger22.debug("add-types transform completed", { edits: edits.length });
|
|
127441
127440
|
const result = createSuccessResult(code, "add-types", edits, startTime, 0.7);
|
|
127442
127441
|
result.warnings = warnings;
|
|
127443
127442
|
if (edits.length > 0) {
|
|
@@ -127445,7 +127444,7 @@ function transformAddTypes(code, logger23 = { debug: () => {
|
|
|
127445
127444
|
}
|
|
127446
127445
|
return result;
|
|
127447
127446
|
} catch (error) {
|
|
127448
|
-
|
|
127447
|
+
logger22.error("add-types transform failed", error);
|
|
127449
127448
|
return createErrorResult(
|
|
127450
127449
|
code,
|
|
127451
127450
|
"add-types",
|
|
@@ -127454,7 +127453,7 @@ function transformAddTypes(code, logger23 = { debug: () => {
|
|
|
127454
127453
|
);
|
|
127455
127454
|
}
|
|
127456
127455
|
}
|
|
127457
|
-
function transformRemoveConsole(code,
|
|
127456
|
+
function transformRemoveConsole(code, logger22 = { debug: () => {
|
|
127458
127457
|
}, info: () => {
|
|
127459
127458
|
}, warn: () => {
|
|
127460
127459
|
}, error: () => {
|
|
@@ -127491,7 +127490,7 @@ function transformRemoveConsole(code, logger23 = { debug: () => {
|
|
|
127491
127490
|
`Inline console.${match[1]}() at offset ${match.index} - consider manual review`
|
|
127492
127491
|
);
|
|
127493
127492
|
}
|
|
127494
|
-
|
|
127493
|
+
logger22.debug("remove-console transform completed", {
|
|
127495
127494
|
removed: edits.length,
|
|
127496
127495
|
warnings: warnings.length
|
|
127497
127496
|
});
|
|
@@ -127499,7 +127498,7 @@ function transformRemoveConsole(code, logger23 = { debug: () => {
|
|
|
127499
127498
|
result.warnings = warnings;
|
|
127500
127499
|
return result;
|
|
127501
127500
|
} catch (error) {
|
|
127502
|
-
|
|
127501
|
+
logger22.error("remove-console transform failed", error);
|
|
127503
127502
|
return createErrorResult(
|
|
127504
127503
|
code,
|
|
127505
127504
|
"remove-console",
|
|
@@ -127508,7 +127507,7 @@ function transformRemoveConsole(code, logger23 = { debug: () => {
|
|
|
127508
127507
|
);
|
|
127509
127508
|
}
|
|
127510
127509
|
}
|
|
127511
|
-
function transformPromiseToAsync(code,
|
|
127510
|
+
function transformPromiseToAsync(code, logger22 = { debug: () => {
|
|
127512
127511
|
}, info: () => {
|
|
127513
127512
|
}, warn: () => {
|
|
127514
127513
|
}, error: () => {
|
|
@@ -127537,7 +127536,7 @@ ${body.trim()}`;
|
|
|
127537
127536
|
)
|
|
127538
127537
|
);
|
|
127539
127538
|
}
|
|
127540
|
-
|
|
127539
|
+
logger22.debug("promise-to-async transform completed", {
|
|
127541
127540
|
converted: edits.length,
|
|
127542
127541
|
warnings: warnings.length
|
|
127543
127542
|
});
|
|
@@ -127550,7 +127549,7 @@ ${body.trim()}`;
|
|
|
127550
127549
|
}
|
|
127551
127550
|
return result;
|
|
127552
127551
|
} catch (error) {
|
|
127553
|
-
|
|
127552
|
+
logger22.error("promise-to-async transform failed", error);
|
|
127554
127553
|
return createErrorResult(
|
|
127555
127554
|
code,
|
|
127556
127555
|
"promise-to-async",
|
|
@@ -127559,7 +127558,7 @@ ${body.trim()}`;
|
|
|
127559
127558
|
);
|
|
127560
127559
|
}
|
|
127561
127560
|
}
|
|
127562
|
-
function transformCjsToEsm(code,
|
|
127561
|
+
function transformCjsToEsm(code, logger22 = { debug: () => {
|
|
127563
127562
|
}, info: () => {
|
|
127564
127563
|
}, warn: () => {
|
|
127565
127564
|
}, error: () => {
|
|
@@ -127609,12 +127608,12 @@ function transformCjsToEsm(code, logger23 = { debug: () => {
|
|
|
127609
127608
|
createEdit(code, match.index, match.index + fullMatch.length, exportStmt, `Convert exports.${exportName} to named export`)
|
|
127610
127609
|
);
|
|
127611
127610
|
}
|
|
127612
|
-
|
|
127611
|
+
logger22.debug("cjs-to-esm transform completed", { edits: edits.length });
|
|
127613
127612
|
const result = createSuccessResult(code, "cjs-to-esm", edits, startTime, 0.85);
|
|
127614
127613
|
result.warnings = warnings;
|
|
127615
127614
|
return result;
|
|
127616
127615
|
} catch (error) {
|
|
127617
|
-
|
|
127616
|
+
logger22.error("cjs-to-esm transform failed", error);
|
|
127618
127617
|
return createErrorResult(
|
|
127619
127618
|
code,
|
|
127620
127619
|
"cjs-to-esm",
|
|
@@ -127623,7 +127622,7 @@ function transformCjsToEsm(code, logger23 = { debug: () => {
|
|
|
127623
127622
|
);
|
|
127624
127623
|
}
|
|
127625
127624
|
}
|
|
127626
|
-
function transformFuncToArrow(code,
|
|
127625
|
+
function transformFuncToArrow(code, logger22 = { debug: () => {
|
|
127627
127626
|
}, info: () => {
|
|
127628
127627
|
}, warn: () => {
|
|
127629
127628
|
}, error: () => {
|
|
@@ -127673,7 +127672,7 @@ function transformFuncToArrow(code, logger23 = { debug: () => {
|
|
|
127673
127672
|
createEdit(code, match.index, match.index + fullMatch.length, arrowFunc, `Convert callback to arrow function`)
|
|
127674
127673
|
);
|
|
127675
127674
|
}
|
|
127676
|
-
|
|
127675
|
+
logger22.debug("func-to-arrow transform completed", {
|
|
127677
127676
|
converted: edits.length,
|
|
127678
127677
|
warnings: warnings.length
|
|
127679
127678
|
});
|
|
@@ -127681,7 +127680,7 @@ function transformFuncToArrow(code, logger23 = { debug: () => {
|
|
|
127681
127680
|
result.warnings = warnings;
|
|
127682
127681
|
return result;
|
|
127683
127682
|
} catch (error) {
|
|
127684
|
-
|
|
127683
|
+
logger22.error("func-to-arrow transform failed", error);
|
|
127685
127684
|
return createErrorResult(
|
|
127686
127685
|
code,
|
|
127687
127686
|
"func-to-arrow",
|
|
@@ -127690,7 +127689,7 @@ function transformFuncToArrow(code, logger23 = { debug: () => {
|
|
|
127690
127689
|
);
|
|
127691
127690
|
}
|
|
127692
127691
|
}
|
|
127693
|
-
function executeTransform(code, type,
|
|
127692
|
+
function executeTransform(code, type, logger22) {
|
|
127694
127693
|
const transform2 = TRANSFORM_REGISTRY[type];
|
|
127695
127694
|
if (!transform2) {
|
|
127696
127695
|
return {
|
|
@@ -127708,7 +127707,7 @@ function executeTransform(code, type, logger23) {
|
|
|
127708
127707
|
warnings: []
|
|
127709
127708
|
};
|
|
127710
127709
|
}
|
|
127711
|
-
return transform2(code,
|
|
127710
|
+
return transform2(code, logger22);
|
|
127712
127711
|
}
|
|
127713
127712
|
var TRANSFORM_REGISTRY;
|
|
127714
127713
|
var init_transforms = __esm({
|
|
@@ -128351,13 +128350,13 @@ async function loadWasmModule() {
|
|
|
128351
128350
|
function getWasmLanguageForTransform(_type) {
|
|
128352
128351
|
return WasmLanguage.TypeScript;
|
|
128353
128352
|
}
|
|
128354
|
-
async function createAgentBoosterAdapter(config = {},
|
|
128355
|
-
const adapter = new AgentBoosterAdapter(config,
|
|
128353
|
+
async function createAgentBoosterAdapter(config = {}, logger22, metricsTracker) {
|
|
128354
|
+
const adapter = new AgentBoosterAdapter(config, logger22, metricsTracker);
|
|
128356
128355
|
await adapter.initialize();
|
|
128357
128356
|
return adapter;
|
|
128358
128357
|
}
|
|
128359
|
-
function createAgentBoosterAdapterSync(config = {},
|
|
128360
|
-
return new AgentBoosterAdapter(config,
|
|
128358
|
+
function createAgentBoosterAdapterSync(config = {}, logger22, metricsTracker) {
|
|
128359
|
+
return new AgentBoosterAdapter(config, logger22, metricsTracker);
|
|
128361
128360
|
}
|
|
128362
128361
|
var WasmLanguage, wasmTransform, wasmWarmup, checkWasmAvailable, wasmModuleLoaded, wasmModuleError, TransformCache, AgentBoosterAdapter;
|
|
128363
128362
|
var init_adapter2 = __esm({
|
|
@@ -128468,9 +128467,9 @@ var init_adapter2 = __esm({
|
|
|
128468
128467
|
* @param logger - Optional logger for diagnostics
|
|
128469
128468
|
* @param metricsTracker - Optional metrics tracker for recording outcomes
|
|
128470
128469
|
*/
|
|
128471
|
-
constructor(config = {},
|
|
128470
|
+
constructor(config = {}, logger22, metricsTracker) {
|
|
128472
128471
|
this.config = { ...DEFAULT_AGENT_BOOSTER_CONFIG, ...config };
|
|
128473
|
-
this.logger =
|
|
128472
|
+
this.logger = logger22 || {
|
|
128474
128473
|
debug: () => {
|
|
128475
128474
|
},
|
|
128476
128475
|
info: () => {
|
|
@@ -138720,8 +138719,8 @@ var init_memory_source = __esm({
|
|
|
138720
138719
|
if (!existsSync15(dbPath)) {
|
|
138721
138720
|
return this.fallbackGather(request);
|
|
138722
138721
|
}
|
|
138723
|
-
const
|
|
138724
|
-
const db =
|
|
138722
|
+
const { openDatabase: openDatabase2 } = await Promise.resolve().then(() => (init_safe_db(), safe_db_exports));
|
|
138723
|
+
const db = openDatabase2(dbPath, { readonly: true });
|
|
138725
138724
|
try {
|
|
138726
138725
|
const domainKeywords = this.extractDomainKeywords(request.taskDescription);
|
|
138727
138726
|
if (domainKeywords.length > 0) {
|
|
@@ -138983,8 +138982,8 @@ var init_requirements_source = __esm({
|
|
|
138983
138982
|
if (!existsSync18(dbPath)) {
|
|
138984
138983
|
return this.fallbackGather(request);
|
|
138985
138984
|
}
|
|
138986
|
-
const
|
|
138987
|
-
const db =
|
|
138985
|
+
const { openDatabase: openDatabase2 } = await Promise.resolve().then(() => (init_safe_db(), safe_db_exports));
|
|
138986
|
+
const db = openDatabase2(dbPath, { readonly: true });
|
|
138988
138987
|
try {
|
|
138989
138988
|
const tableCheck = db.prepare(
|
|
138990
138989
|
"SELECT name FROM sqlite_master WHERE type='table' AND name='qe_patterns'"
|
|
@@ -139121,8 +139120,8 @@ var init_defect_source = __esm({
|
|
|
139121
139120
|
if (!existsSync19(dbPath)) {
|
|
139122
139121
|
return [];
|
|
139123
139122
|
}
|
|
139124
|
-
const
|
|
139125
|
-
const db =
|
|
139123
|
+
const { openDatabase: openDatabase2 } = await Promise.resolve().then(() => (init_safe_db(), safe_db_exports));
|
|
139124
|
+
const db = openDatabase2(dbPath, { readonly: true });
|
|
139126
139125
|
try {
|
|
139127
139126
|
const tableCheck = db.prepare(
|
|
139128
139127
|
"SELECT name FROM sqlite_master WHERE type='table' AND name='qe_patterns'"
|
|
@@ -148018,9 +148017,9 @@ var init_cohomology_adapter = __esm({
|
|
|
148018
148017
|
* @param wasmLoader - WASM module loader
|
|
148019
148018
|
* @param logger - Optional logger for diagnostics
|
|
148020
148019
|
*/
|
|
148021
|
-
constructor(wasmLoader2,
|
|
148020
|
+
constructor(wasmLoader2, logger22 = DEFAULT_COHERENCE_LOGGER) {
|
|
148022
148021
|
this.wasmLoader = wasmLoader2;
|
|
148023
|
-
this.logger =
|
|
148022
|
+
this.logger = logger22;
|
|
148024
148023
|
}
|
|
148025
148024
|
engine = null;
|
|
148026
148025
|
initialized = false;
|
|
@@ -148371,9 +148370,9 @@ var init_spectral_adapter = __esm({
|
|
|
148371
148370
|
* @param wasmLoader - WASM module loader
|
|
148372
148371
|
* @param logger - Optional logger for diagnostics
|
|
148373
148372
|
*/
|
|
148374
|
-
constructor(wasmLoader2,
|
|
148373
|
+
constructor(wasmLoader2, logger22 = DEFAULT_COHERENCE_LOGGER) {
|
|
148375
148374
|
this.wasmLoader = wasmLoader2;
|
|
148376
|
-
this.logger =
|
|
148375
|
+
this.logger = logger22;
|
|
148377
148376
|
}
|
|
148378
148377
|
engine = null;
|
|
148379
148378
|
initialized = false;
|
|
@@ -148789,9 +148788,9 @@ var init_causal_adapter = __esm({
|
|
|
148789
148788
|
* @param wasmLoader - WASM module loader
|
|
148790
148789
|
* @param logger - Optional logger for diagnostics
|
|
148791
148790
|
*/
|
|
148792
|
-
constructor(wasmLoader2,
|
|
148791
|
+
constructor(wasmLoader2, logger22 = DEFAULT_COHERENCE_LOGGER) {
|
|
148793
148792
|
this.wasmLoader = wasmLoader2;
|
|
148794
|
-
this.logger =
|
|
148793
|
+
this.logger = logger22;
|
|
148795
148794
|
}
|
|
148796
148795
|
engine = null;
|
|
148797
148796
|
initialized = false;
|
|
@@ -149091,9 +149090,9 @@ var init_category_adapter = __esm({
|
|
|
149091
149090
|
* @param wasmLoader - WASM module loader
|
|
149092
149091
|
* @param logger - Optional logger for diagnostics
|
|
149093
149092
|
*/
|
|
149094
|
-
constructor(wasmLoader2,
|
|
149093
|
+
constructor(wasmLoader2, logger22 = DEFAULT_COHERENCE_LOGGER) {
|
|
149095
149094
|
this.wasmLoader = wasmLoader2;
|
|
149096
|
-
this.logger =
|
|
149095
|
+
this.logger = logger22;
|
|
149097
149096
|
}
|
|
149098
149097
|
engine = null;
|
|
149099
149098
|
initialized = false;
|
|
@@ -149412,9 +149411,9 @@ var init_homotopy_adapter = __esm({
|
|
|
149412
149411
|
* @param wasmLoader - WASM module loader
|
|
149413
149412
|
* @param logger - Optional logger for diagnostics
|
|
149414
149413
|
*/
|
|
149415
|
-
constructor(wasmLoader2,
|
|
149414
|
+
constructor(wasmLoader2, logger22 = DEFAULT_COHERENCE_LOGGER) {
|
|
149416
149415
|
this.wasmLoader = wasmLoader2;
|
|
149417
|
-
this.logger =
|
|
149416
|
+
this.logger = logger22;
|
|
149418
149417
|
}
|
|
149419
149418
|
engine = null;
|
|
149420
149419
|
initialized = false;
|
|
@@ -149622,9 +149621,9 @@ var init_witness_adapter = __esm({
|
|
|
149622
149621
|
* @param wasmLoader - WASM module loader
|
|
149623
149622
|
* @param logger - Optional logger for diagnostics
|
|
149624
149623
|
*/
|
|
149625
|
-
constructor(wasmLoader2,
|
|
149624
|
+
constructor(wasmLoader2, logger22 = DEFAULT_COHERENCE_LOGGER) {
|
|
149626
149625
|
this.wasmLoader = wasmLoader2;
|
|
149627
|
-
this.logger =
|
|
149626
|
+
this.logger = logger22;
|
|
149628
149627
|
}
|
|
149629
149628
|
engine = null;
|
|
149630
149629
|
initialized = false;
|
|
@@ -149926,8 +149925,8 @@ var init_engines = __esm({
|
|
|
149926
149925
|
});
|
|
149927
149926
|
|
|
149928
149927
|
// src/integrations/coherence/coherence-service.ts
|
|
149929
|
-
async function createCoherenceService(wasmLoader2, config,
|
|
149930
|
-
const service = new CoherenceService(wasmLoader2, config,
|
|
149928
|
+
async function createCoherenceService(wasmLoader2, config, logger22) {
|
|
149929
|
+
const service = new CoherenceService(wasmLoader2, config, logger22);
|
|
149931
149930
|
await service.initialize();
|
|
149932
149931
|
return service;
|
|
149933
149932
|
}
|
|
@@ -149946,10 +149945,10 @@ var init_coherence_service = __esm({
|
|
|
149946
149945
|
* @param config - Optional service configuration
|
|
149947
149946
|
* @param logger - Optional logger for diagnostics
|
|
149948
149947
|
*/
|
|
149949
|
-
constructor(wasmLoader2, config = {},
|
|
149948
|
+
constructor(wasmLoader2, config = {}, logger22) {
|
|
149950
149949
|
this.wasmLoader = wasmLoader2;
|
|
149951
149950
|
this.config = { ...DEFAULT_COHERENCE_CONFIG, ...config };
|
|
149952
|
-
this.logger =
|
|
149951
|
+
this.logger = logger22 || DEFAULT_COHERENCE_LOGGER;
|
|
149953
149952
|
}
|
|
149954
149953
|
config;
|
|
149955
149954
|
logger;
|
|
@@ -152213,8 +152212,8 @@ var init_base = __esm({
|
|
|
152213
152212
|
/**
|
|
152214
152213
|
* Set logger for this tool
|
|
152215
152214
|
*/
|
|
152216
|
-
setLogger(
|
|
152217
|
-
this.logger =
|
|
152215
|
+
setLogger(logger22) {
|
|
152216
|
+
this.logger = logger22;
|
|
152218
152217
|
}
|
|
152219
152218
|
/**
|
|
152220
152219
|
* Mark result as coming from demo/sample data
|
|
@@ -166522,31 +166521,17 @@ var init_check = __esm({
|
|
|
166522
166521
|
}
|
|
166523
166522
|
});
|
|
166524
166523
|
|
|
166525
|
-
// src/learning/v2-to-v3-migration.ts
|
|
166526
|
-
var logger16;
|
|
166527
|
-
var init_v2_to_v3_migration = __esm({
|
|
166528
|
-
"src/learning/v2-to-v3-migration.ts"() {
|
|
166529
|
-
"use strict";
|
|
166530
|
-
init_safe_db();
|
|
166531
|
-
init_error_utils();
|
|
166532
|
-
init_safe_json();
|
|
166533
|
-
init_logging();
|
|
166534
|
-
logger16 = LoggerFactory.create("v2-to-v3-migration");
|
|
166535
|
-
}
|
|
166536
|
-
});
|
|
166537
|
-
|
|
166538
166524
|
// src/learning/qe-unified-memory.ts
|
|
166539
|
-
var
|
|
166525
|
+
var logger16, QE_DOMAIN_HNSW_CONFIGS, DEFAULT_QE_UNIFIED_MEMORY_CONFIG;
|
|
166540
166526
|
var init_qe_unified_memory = __esm({
|
|
166541
166527
|
"src/learning/qe-unified-memory.ts"() {
|
|
166542
166528
|
"use strict";
|
|
166543
166529
|
init_logging();
|
|
166544
166530
|
init_types();
|
|
166545
|
-
init_v2_to_v3_migration();
|
|
166546
166531
|
init_types2();
|
|
166547
166532
|
init_error_utils();
|
|
166548
166533
|
init_hnsw_index();
|
|
166549
|
-
|
|
166534
|
+
logger16 = LoggerFactory.create("qe-unified-memory");
|
|
166550
166535
|
QE_DOMAIN_HNSW_CONFIGS = {
|
|
166551
166536
|
"test-suites": {
|
|
166552
166537
|
dimensions: EMBEDDING_CONFIG.DIMENSIONS,
|
|
@@ -166646,13 +166631,13 @@ function createMemoryAuditor(coherenceService, eventBus, config) {
|
|
|
166646
166631
|
{ ...DEFAULT_AUDITOR_CONFIG, ...config }
|
|
166647
166632
|
);
|
|
166648
166633
|
}
|
|
166649
|
-
var
|
|
166634
|
+
var logger17, DEFAULT_AUDITOR_CONFIG, MemoryCoherenceAuditor;
|
|
166650
166635
|
var init_memory_auditor = __esm({
|
|
166651
166636
|
"src/learning/memory-auditor.ts"() {
|
|
166652
166637
|
"use strict";
|
|
166653
166638
|
init_logging();
|
|
166654
166639
|
init_error_utils();
|
|
166655
|
-
|
|
166640
|
+
logger17 = LoggerFactory.create("MemoryAuditor");
|
|
166656
166641
|
DEFAULT_AUDITOR_CONFIG = {
|
|
166657
166642
|
batchSize: 50,
|
|
166658
166643
|
energyThreshold: 0.4,
|
|
@@ -166728,7 +166713,7 @@ var init_memory_auditor = __esm({
|
|
|
166728
166713
|
timestamp: /* @__PURE__ */ new Date()
|
|
166729
166714
|
});
|
|
166730
166715
|
} catch (eventError) {
|
|
166731
|
-
|
|
166716
|
+
logger17.warn("Failed to emit audit_failed event", { error: toErrorMessage(eventError) });
|
|
166732
166717
|
}
|
|
166733
166718
|
throw error;
|
|
166734
166719
|
}
|
|
@@ -166814,7 +166799,7 @@ var init_memory_auditor = __esm({
|
|
|
166814
166799
|
*/
|
|
166815
166800
|
async runBackgroundAudit(patternSource) {
|
|
166816
166801
|
if (this.isAuditing) {
|
|
166817
|
-
|
|
166802
|
+
logger17.warn("Audit already in progress, skipping");
|
|
166818
166803
|
return;
|
|
166819
166804
|
}
|
|
166820
166805
|
this.isAuditing = true;
|
|
@@ -166975,7 +166960,7 @@ var init_memory_auditor = __esm({
|
|
|
166975
166960
|
payload
|
|
166976
166961
|
});
|
|
166977
166962
|
} catch (error) {
|
|
166978
|
-
|
|
166963
|
+
logger17.warn("Failed to emit event", { eventType, error: toErrorMessage(error) });
|
|
166979
166964
|
}
|
|
166980
166965
|
}
|
|
166981
166966
|
};
|
|
@@ -166983,13 +166968,13 @@ var init_memory_auditor = __esm({
|
|
|
166983
166968
|
});
|
|
166984
166969
|
|
|
166985
166970
|
// src/learning/skill-validation-learner.ts
|
|
166986
|
-
var
|
|
166971
|
+
var logger18;
|
|
166987
166972
|
var init_skill_validation_learner = __esm({
|
|
166988
166973
|
"src/learning/skill-validation-learner.ts"() {
|
|
166989
166974
|
"use strict";
|
|
166990
166975
|
init_safe_json();
|
|
166991
166976
|
init_logging();
|
|
166992
|
-
|
|
166977
|
+
logger18 = LoggerFactory.create("skill-validation-learner");
|
|
166993
166978
|
}
|
|
166994
166979
|
});
|
|
166995
166980
|
|
|
@@ -166997,7 +166982,7 @@ var init_skill_validation_learner = __esm({
|
|
|
166997
166982
|
function createPatternLifecycleManager(db, config) {
|
|
166998
166983
|
return new PatternLifecycleManager(db, config);
|
|
166999
166984
|
}
|
|
167000
|
-
var
|
|
166985
|
+
var logger19, DEFAULT_LIFECYCLE_CONFIG, PatternLifecycleManager;
|
|
167001
166986
|
var init_pattern_lifecycle = __esm({
|
|
167002
166987
|
"src/learning/pattern-lifecycle.ts"() {
|
|
167003
166988
|
"use strict";
|
|
@@ -167005,7 +166990,7 @@ var init_pattern_lifecycle = __esm({
|
|
|
167005
166990
|
init_asymmetric_learning();
|
|
167006
166991
|
init_safe_json();
|
|
167007
166992
|
init_logging();
|
|
167008
|
-
|
|
166993
|
+
logger19 = LoggerFactory.create("pattern-lifecycle");
|
|
167009
166994
|
DEFAULT_LIFECYCLE_CONFIG = {
|
|
167010
166995
|
promotionRewardThreshold: 0.7,
|
|
167011
166996
|
promotionMinOccurrences: PROMOTION_THRESHOLD,
|
|
@@ -167042,7 +167027,7 @@ var init_pattern_lifecycle = __esm({
|
|
|
167042
167027
|
SELECT deprecated_at FROM qe_patterns LIMIT 1
|
|
167043
167028
|
`).get();
|
|
167044
167029
|
} catch (e20) {
|
|
167045
|
-
|
|
167030
|
+
logger19.debug("Adding missing deprecated_at column", { error: e20 instanceof Error ? e20.message : String(e20) });
|
|
167046
167031
|
this.db.exec(`
|
|
167047
167032
|
ALTER TABLE qe_patterns ADD COLUMN deprecated_at TEXT DEFAULT NULL
|
|
167048
167033
|
`);
|
|
@@ -167053,7 +167038,7 @@ var init_pattern_lifecycle = __esm({
|
|
|
167053
167038
|
SELECT consecutive_failures FROM qe_patterns LIMIT 1
|
|
167054
167039
|
`).get();
|
|
167055
167040
|
} catch (e20) {
|
|
167056
|
-
|
|
167041
|
+
logger19.debug("Adding missing consecutive_failures column", { error: e20 instanceof Error ? e20.message : String(e20) });
|
|
167057
167042
|
this.db.exec(`
|
|
167058
167043
|
ALTER TABLE qe_patterns ADD COLUMN consecutive_failures INTEGER DEFAULT 0
|
|
167059
167044
|
`);
|
|
@@ -167064,7 +167049,7 @@ var init_pattern_lifecycle = __esm({
|
|
|
167064
167049
|
SELECT promotion_date FROM qe_patterns LIMIT 1
|
|
167065
167050
|
`).get();
|
|
167066
167051
|
} catch (e20) {
|
|
167067
|
-
|
|
167052
|
+
logger19.debug("Adding missing promotion_date column", { error: e20 instanceof Error ? e20.message : String(e20) });
|
|
167068
167053
|
this.db.exec(`
|
|
167069
167054
|
ALTER TABLE qe_patterns ADD COLUMN promotion_date TEXT DEFAULT NULL
|
|
167070
167055
|
`);
|
|
@@ -167075,42 +167060,42 @@ var init_pattern_lifecycle = __esm({
|
|
|
167075
167060
|
// Experience Extraction
|
|
167076
167061
|
// ============================================================================
|
|
167077
167062
|
/**
|
|
167078
|
-
* Get recent experiences from
|
|
167063
|
+
* Get recent experiences from captured_experiences table.
|
|
167079
167064
|
*/
|
|
167080
167065
|
getRecentExperiences(options = {}) {
|
|
167081
167066
|
const minReward = options.minReward ?? this.config.promotionRewardThreshold;
|
|
167082
167067
|
const limit = options.limit ?? 100;
|
|
167083
167068
|
const sinceDays = options.sinceDays ?? 7;
|
|
167084
|
-
const
|
|
167085
|
-
|
|
167086
|
-
|
|
167087
|
-
WHERE type='table' AND name='learning_experiences'
|
|
167088
|
-
`).get();
|
|
167069
|
+
const tableExists2 = this.db.prepare(
|
|
167070
|
+
"SELECT name FROM sqlite_master WHERE type='table' AND name='captured_experiences'"
|
|
167071
|
+
).get();
|
|
167089
167072
|
if (!tableExists2) {
|
|
167090
|
-
|
|
167073
|
+
logger19.debug("captured_experiences table not found");
|
|
167091
167074
|
return [];
|
|
167092
167075
|
}
|
|
167076
|
+
const sinceDate = new Date(Date.now() - sinceDays * 864e5).toISOString().replace("T", " ").slice(0, 19);
|
|
167093
167077
|
const aggregates = this.db.prepare(`
|
|
167094
167078
|
SELECT
|
|
167095
|
-
task_type,
|
|
167079
|
+
domain as task_type,
|
|
167096
167080
|
COUNT(*) as count,
|
|
167097
|
-
AVG(
|
|
167098
|
-
MAX(
|
|
167099
|
-
MIN(
|
|
167100
|
-
SUM(CASE WHEN
|
|
167101
|
-
GROUP_CONCAT(DISTINCT
|
|
167102
|
-
MAX(
|
|
167103
|
-
FROM
|
|
167104
|
-
WHERE
|
|
167105
|
-
|
|
167081
|
+
AVG(quality) as avg_reward,
|
|
167082
|
+
MAX(quality) as max_reward,
|
|
167083
|
+
MIN(quality) as min_reward,
|
|
167084
|
+
SUM(CASE WHEN quality >= ? THEN 1 ELSE 0 END) as success_count,
|
|
167085
|
+
GROUP_CONCAT(DISTINCT agent) as actions,
|
|
167086
|
+
MAX(started_at) as latest_at
|
|
167087
|
+
FROM captured_experiences
|
|
167088
|
+
WHERE started_at >= ?
|
|
167089
|
+
AND quality >= ?
|
|
167090
|
+
AND agent != 'cli-hook'
|
|
167091
|
+
GROUP BY domain
|
|
167106
167092
|
HAVING COUNT(*) >= ?
|
|
167107
167093
|
ORDER BY avg_reward DESC
|
|
167108
167094
|
LIMIT ?
|
|
167109
167095
|
`).all(
|
|
167110
167096
|
minReward,
|
|
167111
|
-
|
|
167097
|
+
sinceDate,
|
|
167112
167098
|
minReward * 0.5,
|
|
167113
|
-
// Include experiences above half threshold for context
|
|
167114
167099
|
this.config.promotionMinOccurrences,
|
|
167115
167100
|
limit
|
|
167116
167101
|
);
|
|
@@ -167686,7 +167671,7 @@ Pattern extracted from ${exp.count} successful experiences.`;
|
|
|
167686
167671
|
});
|
|
167687
167672
|
|
|
167688
167673
|
// src/learning/metrics-tracker.ts
|
|
167689
|
-
var
|
|
167674
|
+
var logger20;
|
|
167690
167675
|
var init_metrics_tracker2 = __esm({
|
|
167691
167676
|
"src/learning/metrics-tracker.ts"() {
|
|
167692
167677
|
"use strict";
|
|
@@ -167694,7 +167679,7 @@ var init_metrics_tracker2 = __esm({
|
|
|
167694
167679
|
init_qe_patterns();
|
|
167695
167680
|
init_safe_json();
|
|
167696
167681
|
init_logging();
|
|
167697
|
-
|
|
167682
|
+
logger20 = LoggerFactory.create("metrics-tracker");
|
|
167698
167683
|
}
|
|
167699
167684
|
});
|
|
167700
167685
|
|
|
@@ -167796,7 +167781,6 @@ var init_learning = __esm({
|
|
|
167796
167781
|
init_real_embeddings();
|
|
167797
167782
|
init_sqlite_persistence();
|
|
167798
167783
|
init_qe_unified_memory();
|
|
167799
|
-
init_v2_to_v3_migration();
|
|
167800
167784
|
init_token_tracker();
|
|
167801
167785
|
init_dream();
|
|
167802
167786
|
init_aqe_learning_engine();
|
|
@@ -175890,7 +175874,7 @@ async function handleAQEHealth() {
|
|
|
175890
175874
|
success: true,
|
|
175891
175875
|
data: {
|
|
175892
175876
|
status: healthStatus,
|
|
175893
|
-
version: true ? "3.7.
|
|
175877
|
+
version: true ? "3.7.22" : "3.7.2",
|
|
175894
175878
|
loadedDomains: domainCount,
|
|
175895
175879
|
memory: memoryStats,
|
|
175896
175880
|
hnsw: hnswStats,
|
|
@@ -184612,15 +184596,15 @@ async function doInitialize() {
|
|
|
184612
184596
|
).get().cnt > 0;
|
|
184613
184597
|
if (tableExists2) {
|
|
184614
184598
|
const columns = db.prepare("PRAGMA table_info(captured_experiences)").all();
|
|
184615
|
-
const
|
|
184616
|
-
if (!
|
|
184599
|
+
const colNames2 = new Set(columns.map((c70) => c70.name));
|
|
184600
|
+
if (!colNames2.has("success") || !colNames2.has("task")) {
|
|
184617
184601
|
db.exec("ALTER TABLE captured_experiences RENAME TO captured_experiences_v2_backup");
|
|
184618
184602
|
needsCreate = true;
|
|
184619
184603
|
} else {
|
|
184620
|
-
if (!
|
|
184604
|
+
if (!colNames2.has("domain")) {
|
|
184621
184605
|
db.exec("ALTER TABLE captured_experiences ADD COLUMN domain TEXT NOT NULL DEFAULT ''");
|
|
184622
184606
|
}
|
|
184623
|
-
if (!
|
|
184607
|
+
if (!colNames2.has("source")) {
|
|
184624
184608
|
db.exec("ALTER TABLE captured_experiences ADD COLUMN source TEXT DEFAULT 'middleware'");
|
|
184625
184609
|
}
|
|
184626
184610
|
}
|
|
@@ -184654,6 +184638,27 @@ async function doInitialize() {
|
|
|
184654
184638
|
CREATE INDEX IF NOT EXISTS idx_captured_exp_agent ON captured_experiences(agent);
|
|
184655
184639
|
CREATE INDEX IF NOT EXISTS idx_captured_exp_completed ON captured_experiences(completed_at DESC);
|
|
184656
184640
|
`);
|
|
184641
|
+
const colNames = new Set(
|
|
184642
|
+
db.prepare("PRAGMA table_info(captured_experiences)").all().map((c70) => c70.name)
|
|
184643
|
+
);
|
|
184644
|
+
const consolidationCols = [
|
|
184645
|
+
["application_count", "INTEGER DEFAULT 0"],
|
|
184646
|
+
["avg_token_savings", "REAL DEFAULT 0"],
|
|
184647
|
+
["embedding", "BLOB"],
|
|
184648
|
+
["embedding_dimension", "INTEGER"],
|
|
184649
|
+
["tags", "TEXT"],
|
|
184650
|
+
["last_applied_at", "TEXT"],
|
|
184651
|
+
["consolidated_into", "TEXT DEFAULT NULL"],
|
|
184652
|
+
["consolidation_count", "INTEGER DEFAULT 1"],
|
|
184653
|
+
["quality_updated_at", "TEXT DEFAULT NULL"],
|
|
184654
|
+
["reuse_success_count", "INTEGER DEFAULT 0"],
|
|
184655
|
+
["reuse_failure_count", "INTEGER DEFAULT 0"]
|
|
184656
|
+
];
|
|
184657
|
+
for (const [col, def] of consolidationCols) {
|
|
184658
|
+
if (!colNames.has(col)) {
|
|
184659
|
+
db.exec(`ALTER TABLE captured_experiences ADD COLUMN ${col} ${def}`);
|
|
184660
|
+
}
|
|
184661
|
+
}
|
|
184657
184662
|
}
|
|
184658
184663
|
startCleanupTimer();
|
|
184659
184664
|
console.log("[ExperienceCaptureMiddleware] Initialized");
|
|
@@ -193664,7 +193669,7 @@ var CATALOG_INFO = {
|
|
|
193664
193669
|
// src/mcp/http-server.ts
|
|
193665
193670
|
init_unified_memory();
|
|
193666
193671
|
init_logging();
|
|
193667
|
-
var
|
|
193672
|
+
var logger21 = LoggerFactory.create("HTTPServer");
|
|
193668
193673
|
var SimpleRouter = class {
|
|
193669
193674
|
routes = [];
|
|
193670
193675
|
add(method, path31, handler) {
|
|
@@ -193786,7 +193791,7 @@ var HTTPServerImpl = class {
|
|
|
193786
193791
|
this.webhookService.notifyArtifactCreated(event.taskId, {
|
|
193787
193792
|
id: event.artifact.id ?? "unknown",
|
|
193788
193793
|
name: event.artifact.name ?? "artifact"
|
|
193789
|
-
}).catch((err4) =>
|
|
193794
|
+
}).catch((err4) => logger21.error("Artifact webhook delivery failed", err4 instanceof Error ? err4 : new Error(String(err4))));
|
|
193790
193795
|
});
|
|
193791
193796
|
}
|
|
193792
193797
|
this.enableHotReload = config.enableHotReload ?? false;
|
|
@@ -194270,25 +194275,25 @@ var HTTPServerImpl = class {
|
|
|
194270
194275
|
const memory = getUnifiedMemory();
|
|
194271
194276
|
if (!memory.isCRDTInitialized()) {
|
|
194272
194277
|
memory.initializeCRDT(`aqe-http-${process.pid}-${Date.now()}`);
|
|
194273
|
-
|
|
194278
|
+
logger21.info("CRDT store initialized");
|
|
194274
194279
|
}
|
|
194275
194280
|
} catch (error) {
|
|
194276
|
-
|
|
194281
|
+
logger21.warn("Failed to initialize CRDT", { error });
|
|
194277
194282
|
}
|
|
194278
194283
|
}
|
|
194279
194284
|
if (!this.skipAgentCardLoading) {
|
|
194280
194285
|
try {
|
|
194281
194286
|
await this.discoveryService.loadCards(this.agentMarkdownDir);
|
|
194282
194287
|
this.agentCardsLoaded = true;
|
|
194283
|
-
|
|
194288
|
+
logger21.info(`Loaded ${this.discoveryService.getAgentCount()} agent cards`);
|
|
194284
194289
|
} catch (error) {
|
|
194285
|
-
|
|
194290
|
+
logger21.warn("Failed to load agent cards", { error });
|
|
194286
194291
|
}
|
|
194287
194292
|
}
|
|
194288
194293
|
return new Promise(async (resolve11, reject) => {
|
|
194289
194294
|
this.server = createServer((req, res) => {
|
|
194290
194295
|
this.handleHttpRequest(req, res).catch((error) => {
|
|
194291
|
-
|
|
194296
|
+
logger21.error("Request error", error instanceof Error ? error : new Error(String(error)));
|
|
194292
194297
|
this.sendError(res, 500, "Internal server error");
|
|
194293
194298
|
});
|
|
194294
194299
|
});
|
|
@@ -194298,14 +194303,14 @@ var HTTPServerImpl = class {
|
|
|
194298
194303
|
if (this.webSocketTransport && this.enableWebSocket) {
|
|
194299
194304
|
try {
|
|
194300
194305
|
await this.webSocketTransport.attach(this.server, "/agent/ws");
|
|
194301
|
-
|
|
194306
|
+
logger21.info("WebSocket transport attached at /agent/ws");
|
|
194302
194307
|
} catch (error) {
|
|
194303
|
-
|
|
194308
|
+
logger21.warn("Failed to attach WebSocket transport", { error });
|
|
194304
194309
|
}
|
|
194305
194310
|
}
|
|
194306
194311
|
if (this.enableHotReload && this.hotReloadService) {
|
|
194307
194312
|
this.hotReloadService.start().then(() => {
|
|
194308
|
-
|
|
194313
|
+
logger21.info("Hot reload enabled for agent cards");
|
|
194309
194314
|
}).catch((err4) => {
|
|
194310
194315
|
console.error("[AQE] WARNING: Failed to start hot reload:", err4);
|
|
194311
194316
|
});
|