Add Experience reflect background worker with env-gated scheduling.
Start a periodic reflect loop from portal and MindSpace service bootstraps when EXPERIENCE_REFLECT_ENABLED=1, aggregating repeated task outcomes on a configurable interval. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import { createAssetGatewayConfigService } from '../asset-gateway.mjs';
|
||||
import { startExperienceReflectWorker } from '../experience-reflect-worker.mjs';
|
||||
import { createExperienceService } from '../experience-service.mjs';
|
||||
import { createImageMakeAdminConfigService } from '../image-make-admin-config.mjs';
|
||||
import { createImageMakeClientFromEnv } from '../image-make-client.mjs';
|
||||
@@ -53,6 +54,8 @@ export async function bootstrapPortalAgentServices({
|
||||
createMindSpaceImageGenerationServiceFn =
|
||||
createMindSpaceImageGenerationService,
|
||||
createWordFilterServiceFn = createWordFilterService,
|
||||
startExperienceReflectWorkerFn = startExperienceReflectWorker,
|
||||
setIntervalFn = setInterval,
|
||||
relayBootstrap = RELAY_BOOTSTRAP,
|
||||
} = {}) {
|
||||
if (
|
||||
@@ -99,6 +102,15 @@ export async function bootstrapPortalAgentServices({
|
||||
}
|
||||
}
|
||||
|
||||
const experienceReflectWorker = experienceService
|
||||
? startExperienceReflectWorkerFn({
|
||||
experienceService,
|
||||
env,
|
||||
logger,
|
||||
setIntervalFn,
|
||||
})
|
||||
: { stop() {}, policy: { enabled: false } };
|
||||
|
||||
const mindSpaceAgentRunner =
|
||||
createMindSpaceAgentRunnerFn({
|
||||
apiTarget,
|
||||
@@ -226,6 +238,7 @@ export async function bootstrapPortalAgentServices({
|
||||
return {
|
||||
mindSpaceAgentJobs,
|
||||
experienceService,
|
||||
experienceReflectWorker,
|
||||
mindSpaceAgentRunner,
|
||||
mindSpaceAudit,
|
||||
userDataSpaceBackfill,
|
||||
|
||||
Reference in New Issue
Block a user