feat(goose): complete v1.49 phase3 closeout gates and context fusion plan
Expand Goose v1.49 smoke coverage (memory chat, portal resume, page e2e, multiturn provider), add canary memory policy lock, refresh baselines, and ignore one-off evidence artifacts. Document headroom-based context runtime fusion plan; include auth, scheduled-task, and wechat intent fixes on branch. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -19,6 +19,11 @@ import { createSessionAccess } from '../session-broker.mjs';
|
||||
import { createOrchestratorAdminConfigService } from '../services/orchestrator/admin-config.mjs';
|
||||
import { createWorkflowShadowObserver } from '../services/orchestrator/shadow-observer.mjs';
|
||||
import { createExperienceService } from '../experience-service.mjs';
|
||||
import {
|
||||
applyGooseV149CanaryBlockEnv,
|
||||
resolveGooseApiTargetsFromEnv,
|
||||
} from './goose-v149-canary.mjs';
|
||||
import { loadMemindEnvFiles } from './memind-runtime-profile.mjs';
|
||||
|
||||
const root = path.join(path.dirname(fileURLToPath(import.meta.url)), '..');
|
||||
|
||||
@@ -36,6 +41,10 @@ function loadEnvFile(filePath) {
|
||||
}
|
||||
|
||||
function parseTargets() {
|
||||
const gooseCanary = resolveGooseApiTargetsFromEnv(process.env);
|
||||
if (gooseCanary?.targets?.length) {
|
||||
return [...gooseCanary.targets];
|
||||
}
|
||||
const csv = String(process.env.TKMIND_API_TARGETS ?? '').trim();
|
||||
if (csv) {
|
||||
return csv.split(',').map((item) => item.trim()).filter(Boolean);
|
||||
@@ -94,8 +103,17 @@ function printHelp() {
|
||||
].join('\n'));
|
||||
}
|
||||
|
||||
loadEnvFile(process.env.MEMIND_ENV_FILE || path.join(root, '.env'));
|
||||
loadEnvFile(path.join(root, '.env.local'));
|
||||
if (process.env.MEMIND_ENV_FILE) {
|
||||
loadEnvFile(process.env.MEMIND_ENV_FILE);
|
||||
}
|
||||
loadMemindEnvFiles(root, process.env);
|
||||
applyGooseV149CanaryBlockEnv(process.env, root);
|
||||
const workerApiTargets = parseTargets();
|
||||
if (resolveGooseApiTargetsFromEnv(process.env)?.mode === 'all') {
|
||||
console.log(
|
||||
`[agent-run-worker] Goose v1.49 canary mode=all primary=${workerApiTargets[0] ?? ''}`,
|
||||
);
|
||||
}
|
||||
// Bundled worker lives under scripts/; MCP path resolution must not use that
|
||||
// directory as the portal runtime root (see resolveBundledMcpServerPath).
|
||||
if (!String(process.env.MEMIND_PORTAL_H5_ROOT ?? '').trim()) {
|
||||
@@ -136,8 +154,11 @@ async function bootstrapWorker() {
|
||||
},
|
||||
}
|
||||
: baseUserAuth;
|
||||
const apiTargets = workerApiTargets.length ? workerApiTargets : parseTargets();
|
||||
const apiTarget = apiTargets[0] ?? process.env.TKMIND_API_TARGET ?? 'https://127.0.0.1:18006';
|
||||
const llmProviderService = createLlmProviderService(pool, {
|
||||
apiTarget: process.env.TKMIND_API_TARGET ?? 'https://127.0.0.1:18006',
|
||||
apiTarget,
|
||||
apiTargets,
|
||||
apiSecret: process.env.TKMIND_SERVER__SECRET_KEY ?? 'local-dev-secret',
|
||||
});
|
||||
const memoryV2ConfigService = createMemoryV2AdminConfigService(pool);
|
||||
@@ -190,9 +211,8 @@ async function bootstrapWorker() {
|
||||
configService: memoryV2ConfigService,
|
||||
});
|
||||
const toolGateway = createToolGateway({ llmProviderService });
|
||||
const apiTargets = parseTargets();
|
||||
const tkmindProxy = createTkmindProxy({
|
||||
apiTarget: apiTargets[0],
|
||||
apiTarget,
|
||||
apiTargets,
|
||||
apiSecret: process.env.TKMIND_SERVER__SECRET_KEY ?? 'local-dev-secret',
|
||||
userAuth,
|
||||
|
||||
Reference in New Issue
Block a user