@google/gemini-cli-core 0.39.0-preview.2 → 0.40.0-preview.0
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/docs/changelogs/index.md +21 -0
- package/dist/docs/changelogs/latest.md +253 -407
- package/dist/docs/changelogs/preview.md +236 -247
- package/dist/docs/cli/auto-memory.md +143 -0
- package/dist/docs/cli/enterprise.md +1 -1
- package/dist/docs/cli/plan-mode.md +3 -1
- package/dist/docs/cli/settings.md +29 -25
- package/dist/docs/cli/system-prompt.md +6 -6
- package/dist/docs/cli/telemetry.md +18 -11
- package/dist/docs/cli/tutorials/memory-management.md +2 -0
- package/dist/docs/get-started/{authentication.md → authentication.mdx} +139 -93
- package/dist/docs/get-started/index.md +3 -2
- package/dist/docs/get-started/installation.mdx +201 -0
- package/dist/docs/index.md +2 -2
- package/dist/docs/reference/configuration.md +88 -12
- package/dist/docs/reference/policy-engine.md +18 -12
- package/dist/docs/reference/tools.md +22 -0
- package/dist/docs/sidebar.json +13 -1
- package/dist/docs/tools/mcp-resources.md +44 -0
- package/dist/docs/tools/mcp-server.md +2 -1
- package/dist/docs/tools/tracker.md +61 -0
- package/dist/src/agents/agent-tool.js +1 -0
- package/dist/src/agents/agent-tool.js.map +1 -1
- package/dist/src/agents/agentLoader.d.ts +4 -4
- package/dist/src/agents/generalist-agent.js +3 -2
- package/dist/src/agents/generalist-agent.js.map +1 -1
- package/dist/src/agents/local-executor.js +4 -1
- package/dist/src/agents/local-executor.js.map +1 -1
- package/dist/src/agents/registry.js +0 -8
- package/dist/src/agents/registry.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.d.ts +3 -2
- package/dist/src/agents/skill-extraction-agent.js +72 -67
- package/dist/src/agents/skill-extraction-agent.js.map +1 -1
- package/dist/src/agents/skill-extraction-agent.test.js +54 -0
- package/dist/src/agents/skill-extraction-agent.test.js.map +1 -0
- package/dist/src/config/config.d.ts +21 -6
- package/dist/src/config/config.js +103 -19
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +262 -6
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/constants.d.ts +1 -0
- package/dist/src/config/constants.js +2 -0
- package/dist/src/config/constants.js.map +1 -1
- package/dist/src/config/memory.js +1 -1
- package/dist/src/config/memory.js.map +1 -1
- package/dist/src/config/path-validation.test.js +15 -6
- package/dist/src/config/path-validation.test.js.map +1 -1
- package/dist/src/config/projectRegistry.js +113 -32
- package/dist/src/config/projectRegistry.js.map +1 -1
- package/dist/src/config/projectRegistry.test.js +51 -0
- package/dist/src/config/projectRegistry.test.js.map +1 -1
- package/dist/src/config/storage.d.ts +3 -1
- package/dist/src/config/storage.js +6 -0
- package/dist/src/config/storage.js.map +1 -1
- package/dist/src/config/storage.test.js +12 -0
- package/dist/src/config/storage.test.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +8 -1
- package/dist/src/core/contentGenerator.js +46 -4
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +174 -8
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +1 -0
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +42 -0
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/core/localLiteRtLmClient.js +2 -0
- package/dist/src/core/localLiteRtLmClient.js.map +1 -1
- package/dist/src/core/localLiteRtLmClient.test.js +7 -0
- package/dist/src/core/localLiteRtLmClient.test.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.js +3 -0
- package/dist/src/core/loggingContentGenerator.js.map +1 -1
- package/dist/src/core/loggingContentGenerator.test.js +1 -0
- package/dist/src/core/loggingContentGenerator.test.js.map +1 -1
- package/dist/src/core/prompts.d.ts +1 -1
- package/dist/src/core/prompts.js +2 -2
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/core/prompts.test.js +2 -2
- package/dist/src/core/prompts.test.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/ide/ide-client.js +3 -4
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/policy/policies/read-only.toml +4 -1
- package/dist/src/policy/policy-engine.js +4 -0
- package/dist/src/policy/policy-engine.js.map +1 -1
- package/dist/src/policy/policy-engine.test.js +25 -0
- package/dist/src/policy/policy-engine.test.js.map +1 -1
- package/dist/src/policy/toml-loader.test.js +5 -0
- package/dist/src/policy/toml-loader.test.js.map +1 -1
- package/dist/src/prompts/promptProvider.d.ts +1 -1
- package/dist/src/prompts/promptProvider.js +15 -7
- package/dist/src/prompts/promptProvider.js.map +1 -1
- package/dist/src/prompts/promptProvider.test.js +31 -1
- package/dist/src/prompts/promptProvider.test.js.map +1 -1
- package/dist/src/prompts/snippets-memory-v2.test.js +94 -0
- package/dist/src/prompts/snippets-memory-v2.test.js.map +1 -0
- package/dist/src/prompts/snippets.d.ts +19 -1
- package/dist/src/prompts/snippets.js +24 -3
- package/dist/src/prompts/snippets.js.map +1 -1
- package/dist/src/prompts/snippets.legacy.d.ts +6 -1
- package/dist/src/prompts/snippets.legacy.js +10 -3
- package/dist/src/prompts/snippets.legacy.js.map +1 -1
- package/dist/src/sandbox/linux/LinuxSandboxManager.js +16 -2
- package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
- package/dist/src/sandbox/linux/bwrapArgsBuilder.js +64 -36
- package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -1
- package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +3 -3
- package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.js +13 -1
- package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +61 -42
- package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
- package/dist/src/sandbox/windows/WindowsSandboxManager.js +12 -1
- package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
- package/dist/src/scheduler/policy.js +1 -2
- package/dist/src/scheduler/policy.js.map +1 -1
- package/dist/src/scheduler/policy.test.js +35 -2
- package/dist/src/scheduler/policy.test.js.map +1 -1
- package/dist/src/scheduler/scheduler.js +1 -0
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/scheduler/scheduler.test.js +2 -0
- package/dist/src/scheduler/scheduler.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_hooks.test.js +1 -0
- package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
- package/dist/src/scheduler/scheduler_parallel.test.js +1 -0
- package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
- package/dist/src/scheduler/tool-executor.js +1 -0
- package/dist/src/scheduler/tool-executor.js.map +1 -1
- package/dist/src/services/chatRecordingService.d.ts +1 -0
- package/dist/src/services/chatRecordingService.js +48 -19
- package/dist/src/services/chatRecordingService.js.map +1 -1
- package/dist/src/services/memoryService.d.ts +15 -1
- package/dist/src/services/memoryService.js +276 -57
- package/dist/src/services/memoryService.js.map +1 -1
- package/dist/src/services/memoryService.test.js +296 -2
- package/dist/src/services/memoryService.test.js.map +1 -1
- package/dist/src/services/sandboxManager.integration.test.js +204 -0
- package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
- package/dist/src/services/sandboxManager.js +16 -0
- package/dist/src/services/sandboxManager.js.map +1 -1
- package/dist/src/services/sessionSummaryUtils.d.ts +1 -1
- package/dist/src/services/sessionSummaryUtils.js +111 -38
- package/dist/src/services/sessionSummaryUtils.js.map +1 -1
- package/dist/src/services/sessionSummaryUtils.test.js +204 -51
- package/dist/src/services/sessionSummaryUtils.test.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +7 -1
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/telemetry/config.js +3 -0
- package/dist/src/telemetry/config.js.map +1 -1
- package/dist/src/telemetry/conseca-logger.test.js +1 -0
- package/dist/src/telemetry/conseca-logger.test.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +72 -4
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/memory-monitor.d.ts +1 -0
- package/dist/src/telemetry/memory-monitor.js +8 -1
- package/dist/src/telemetry/memory-monitor.js.map +1 -1
- package/dist/src/telemetry/memory-monitor.test.js +6 -1
- package/dist/src/telemetry/memory-monitor.test.js.map +1 -1
- package/dist/src/telemetry/trace.d.ts +1 -0
- package/dist/src/telemetry/trace.js +33 -13
- package/dist/src/telemetry/trace.js.map +1 -1
- package/dist/src/telemetry/trace.test.js +50 -10
- package/dist/src/telemetry/trace.test.js.map +1 -1
- package/dist/src/telemetry/types.js +11 -4
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
- package/dist/src/tools/definitions/base-declarations.js +3 -0
- package/dist/src/tools/definitions/base-declarations.js.map +1 -1
- package/dist/src/tools/definitions/coreTools.d.ts +3 -1
- package/dist/src/tools/definitions/coreTools.js +13 -1
- package/dist/src/tools/definitions/coreTools.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js +29 -1
- package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js +29 -1
- package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
- package/dist/src/tools/definitions/types.d.ts +2 -0
- package/dist/src/tools/get-internal-docs.js +5 -2
- package/dist/src/tools/get-internal-docs.js.map +1 -1
- package/dist/src/tools/list-mcp-resources.d.ts +24 -0
- package/dist/src/tools/list-mcp-resources.js +74 -0
- package/dist/src/tools/list-mcp-resources.js.map +1 -0
- package/dist/src/tools/list-mcp-resources.test.d.ts +6 -0
- package/dist/src/tools/list-mcp-resources.test.js +79 -0
- package/dist/src/tools/list-mcp-resources.test.js.map +1 -0
- package/dist/src/tools/mcp-client-manager.d.ts +3 -1
- package/dist/src/tools/mcp-client-manager.js +24 -1
- package/dist/src/tools/mcp-client-manager.js.map +1 -1
- package/dist/src/tools/mcp-client-manager.test.js +43 -0
- package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
- package/dist/src/tools/memoryTool.d.ts +2 -1
- package/dist/src/tools/memoryTool.js +42 -13
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/memoryTool.test.js +23 -3
- package/dist/src/tools/memoryTool.test.js.map +1 -1
- package/dist/src/tools/read-mcp-resource.d.ts +25 -0
- package/dist/src/tools/read-mcp-resource.js +120 -0
- package/dist/src/tools/read-mcp-resource.js.map +1 -0
- package/dist/src/tools/read-mcp-resource.test.d.ts +6 -0
- package/dist/src/tools/read-mcp-resource.test.js +110 -0
- package/dist/src/tools/read-mcp-resource.test.js.map +1 -0
- package/dist/src/tools/ripGrep.d.ts +3 -2
- package/dist/src/tools/ripGrep.js +25 -54
- package/dist/src/tools/ripGrep.js.map +1 -1
- package/dist/src/tools/ripGrep.test.js +73 -131
- package/dist/src/tools/ripGrep.test.js.map +1 -1
- package/dist/src/tools/shell.js +38 -12
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +410 -25
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +1 -0
- package/dist/src/tools/tool-error.js +1 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-names.d.ts +4 -4
- package/dist/src/tools/tool-names.js +6 -2
- package/dist/src/tools/tool-names.js.map +1 -1
- package/dist/src/tools/tool-registry.js +8 -1
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.d.ts +2 -0
- package/dist/src/utils/filesearch/fileSearch.js +97 -6
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.test.js +54 -0
- package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
- package/dist/src/utils/filesearch/fileWatcher.d.ts +25 -0
- package/dist/src/utils/filesearch/fileWatcher.js +86 -0
- package/dist/src/utils/filesearch/fileWatcher.js.map +1 -0
- package/dist/src/utils/filesearch/fileWatcher.test.d.ts +6 -0
- package/dist/src/utils/filesearch/fileWatcher.test.js +142 -0
- package/dist/src/utils/filesearch/fileWatcher.test.js.map +1 -0
- package/dist/src/utils/gitIgnoreParser.js +1 -1
- package/dist/src/utils/gitIgnoreParser.js.map +1 -1
- package/dist/src/utils/ignoreFileParser.js +1 -1
- package/dist/src/utils/ignoreFileParser.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +15 -5
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/retry.js +18 -6
- package/dist/src/utils/retry.js.map +1 -1
- package/dist/src/utils/retry.test.js +30 -0
- package/dist/src/utils/retry.test.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +1 -0
- package/dist/src/utils/shell-utils.js +106 -0
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/vendor/ripgrep/rg-darwin-arm64 +0 -0
- package/vendor/ripgrep/rg-darwin-x64 +0 -0
- package/vendor/ripgrep/rg-linux-arm64 +0 -0
- package/vendor/ripgrep/rg-linux-x64 +0 -0
- package/vendor/ripgrep/rg-win32-x64.exe +0 -0
- package/dist/docs/get-started/installation.md +0 -181
- package/dist/google-gemini-cli-core-0.39.0-preview.1.tgz +0 -0
- package/dist/src/agents/memory-manager-agent.d.ts +0 -25
- package/dist/src/agents/memory-manager-agent.js +0 -138
- package/dist/src/agents/memory-manager-agent.js.map +0 -1
- package/dist/src/agents/memory-manager-agent.test.js +0 -123
- package/dist/src/agents/memory-manager-agent.test.js.map +0 -1
- package/dist/src/prompts/snippets-memory-manager.test.js +0 -31
- package/dist/src/prompts/snippets-memory-manager.test.js.map +0 -1
- /package/dist/src/agents/{memory-manager-agent.test.d.ts → skill-extraction-agent.test.d.ts} +0 -0
- /package/dist/src/prompts/{snippets-memory-manager.test.d.ts → snippets-memory-v2.test.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../../src/services/memoryService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memoryService.js","sourceRoot":"","sources":["../../../src/services/memoryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,6 +93,23 @@ function createConversation(overrides = {}) {
|
|
|
93
93
|
...rest,
|
|
94
94
|
};
|
|
95
95
|
}
|
|
96
|
+
async function writeConversationJsonl(filePath, conversation) {
|
|
97
|
+
const metadata = {
|
|
98
|
+
sessionId: conversation.sessionId,
|
|
99
|
+
projectHash: conversation.projectHash,
|
|
100
|
+
startTime: conversation.startTime,
|
|
101
|
+
lastUpdated: conversation.lastUpdated,
|
|
102
|
+
summary: conversation.summary,
|
|
103
|
+
directories: conversation.directories,
|
|
104
|
+
kind: conversation.kind,
|
|
105
|
+
};
|
|
106
|
+
const records = [metadata, ...conversation.messages];
|
|
107
|
+
await fs.writeFile(filePath, records.map((record) => JSON.stringify(record)).join('\n') + '\n');
|
|
108
|
+
}
|
|
109
|
+
async function setSessionMtime(filePath, timestamp) {
|
|
110
|
+
const date = new Date(timestamp);
|
|
111
|
+
await fs.utimes(filePath, date, date);
|
|
112
|
+
}
|
|
96
113
|
describe('memoryService', () => {
|
|
97
114
|
let tmpDir;
|
|
98
115
|
beforeEach(async () => {
|
|
@@ -399,6 +416,126 @@ describe('memoryService', () => {
|
|
|
399
416
|
expect(coreEvents.emitFeedback).toHaveBeenCalledWith('info', expect.stringContaining('my-new-skill'));
|
|
400
417
|
expect(coreEvents.emitFeedback).toHaveBeenCalledWith('info', expect.stringContaining('/memory inbox'));
|
|
401
418
|
});
|
|
419
|
+
it('records only sessions whose read_file calls succeed as processed', async () => {
|
|
420
|
+
const { startMemoryService, readExtractionState } = await import('./memoryService.js');
|
|
421
|
+
const { LocalAgentExecutor } = await import('../agents/local-executor.js');
|
|
422
|
+
vi.mocked(LocalAgentExecutor.create).mockReset();
|
|
423
|
+
const memoryDir = path.join(tmpDir, 'memory-read-tracking');
|
|
424
|
+
const skillsDir = path.join(tmpDir, 'skills-read-tracking');
|
|
425
|
+
const projectTempDir = path.join(tmpDir, 'temp-read-tracking');
|
|
426
|
+
const chatsDir = path.join(projectTempDir, 'chats');
|
|
427
|
+
await fs.mkdir(memoryDir, { recursive: true });
|
|
428
|
+
await fs.mkdir(skillsDir, { recursive: true });
|
|
429
|
+
await fs.mkdir(chatsDir, { recursive: true });
|
|
430
|
+
const openedConversation = createConversation({
|
|
431
|
+
sessionId: 'opened-session',
|
|
432
|
+
summary: 'Read this one',
|
|
433
|
+
messageCount: 20,
|
|
434
|
+
lastUpdated: '2025-01-02T01:00:00Z',
|
|
435
|
+
});
|
|
436
|
+
const skippedConversation = createConversation({
|
|
437
|
+
sessionId: 'skipped-session',
|
|
438
|
+
summary: 'Do not read this one',
|
|
439
|
+
messageCount: 20,
|
|
440
|
+
lastUpdated: '2025-01-01T01:00:00Z',
|
|
441
|
+
});
|
|
442
|
+
const openedPath = path.join(chatsDir, `${SESSION_FILE_PREFIX}2025-01-02T00-00-opened.jsonl`);
|
|
443
|
+
const skippedPath = path.join(chatsDir, `${SESSION_FILE_PREFIX}2025-01-01T00-00-skipped.jsonl`);
|
|
444
|
+
await writeConversationJsonl(openedPath, openedConversation);
|
|
445
|
+
await writeConversationJsonl(skippedPath, skippedConversation);
|
|
446
|
+
vi.mocked(LocalAgentExecutor.create).mockImplementationOnce(async (_definition, _context, onActivity) => ({
|
|
447
|
+
run: vi.fn().mockImplementation(async () => {
|
|
448
|
+
onActivity?.({
|
|
449
|
+
isSubagentActivityEvent: true,
|
|
450
|
+
agentName: 'Skill Extractor',
|
|
451
|
+
type: 'TOOL_CALL_START',
|
|
452
|
+
data: {
|
|
453
|
+
name: 'read_file',
|
|
454
|
+
args: { file_path: openedPath },
|
|
455
|
+
callId: 'call-opened',
|
|
456
|
+
},
|
|
457
|
+
});
|
|
458
|
+
onActivity?.({
|
|
459
|
+
isSubagentActivityEvent: true,
|
|
460
|
+
agentName: 'Skill Extractor',
|
|
461
|
+
type: 'TOOL_CALL_START',
|
|
462
|
+
data: {
|
|
463
|
+
name: 'read_file',
|
|
464
|
+
args: { file_path: skippedPath },
|
|
465
|
+
callId: 'call-skipped',
|
|
466
|
+
},
|
|
467
|
+
});
|
|
468
|
+
onActivity?.({
|
|
469
|
+
isSubagentActivityEvent: true,
|
|
470
|
+
agentName: 'Skill Extractor',
|
|
471
|
+
type: 'ERROR',
|
|
472
|
+
data: {
|
|
473
|
+
name: 'read_file',
|
|
474
|
+
callId: 'call-skipped',
|
|
475
|
+
error: 'access denied',
|
|
476
|
+
},
|
|
477
|
+
});
|
|
478
|
+
onActivity?.({
|
|
479
|
+
isSubagentActivityEvent: true,
|
|
480
|
+
agentName: 'Skill Extractor',
|
|
481
|
+
type: 'TOOL_CALL_END',
|
|
482
|
+
data: {
|
|
483
|
+
name: 'read_file',
|
|
484
|
+
id: 'call-opened',
|
|
485
|
+
data: { content: 'Read this one' },
|
|
486
|
+
},
|
|
487
|
+
});
|
|
488
|
+
onActivity?.({
|
|
489
|
+
isSubagentActivityEvent: true,
|
|
490
|
+
agentName: 'Skill Extractor',
|
|
491
|
+
type: 'TOOL_CALL_START',
|
|
492
|
+
data: {
|
|
493
|
+
name: 'read_file',
|
|
494
|
+
args: { file_path: path.join(chatsDir, 'unrelated.jsonl') },
|
|
495
|
+
callId: 'call-unrelated',
|
|
496
|
+
},
|
|
497
|
+
});
|
|
498
|
+
return undefined;
|
|
499
|
+
}),
|
|
500
|
+
}));
|
|
501
|
+
const mockConfig = {
|
|
502
|
+
storage: {
|
|
503
|
+
getProjectMemoryDir: vi.fn().mockReturnValue(memoryDir),
|
|
504
|
+
getProjectMemoryTempDir: vi.fn().mockReturnValue(memoryDir),
|
|
505
|
+
getProjectSkillsMemoryDir: vi.fn().mockReturnValue(skillsDir),
|
|
506
|
+
getProjectTempDir: vi.fn().mockReturnValue(projectTempDir),
|
|
507
|
+
},
|
|
508
|
+
getToolRegistry: vi.fn(),
|
|
509
|
+
getMessageBus: vi.fn(),
|
|
510
|
+
getGeminiClient: vi.fn(),
|
|
511
|
+
getSkillManager: vi.fn().mockReturnValue({ getSkills: () => [] }),
|
|
512
|
+
modelConfigService: {
|
|
513
|
+
registerRuntimeModelConfig: vi.fn(),
|
|
514
|
+
},
|
|
515
|
+
getTargetDir: vi.fn().mockReturnValue(tmpDir),
|
|
516
|
+
sandboxManager: undefined,
|
|
517
|
+
};
|
|
518
|
+
await startMemoryService(mockConfig);
|
|
519
|
+
const state = await readExtractionState(path.join(memoryDir, '.extraction-state.json'));
|
|
520
|
+
expect(state.runs).toHaveLength(1);
|
|
521
|
+
expect(state.runs[0].candidateSessions).toEqual([
|
|
522
|
+
{
|
|
523
|
+
sessionId: 'opened-session',
|
|
524
|
+
lastUpdated: '2025-01-02T01:00:00Z',
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
sessionId: 'skipped-session',
|
|
528
|
+
lastUpdated: '2025-01-01T01:00:00Z',
|
|
529
|
+
},
|
|
530
|
+
]);
|
|
531
|
+
expect(state.runs[0].processedSessions).toEqual([
|
|
532
|
+
{
|
|
533
|
+
sessionId: 'opened-session',
|
|
534
|
+
lastUpdated: '2025-01-02T01:00:00Z',
|
|
535
|
+
},
|
|
536
|
+
]);
|
|
537
|
+
expect(state.runs[0].sessionIds).toEqual(['opened-session']);
|
|
538
|
+
});
|
|
402
539
|
});
|
|
403
540
|
describe('getProcessedSessionIds', () => {
|
|
404
541
|
it('returns empty set for empty state', async () => {
|
|
@@ -489,7 +626,7 @@ describe('memoryService', () => {
|
|
|
489
626
|
const state = {
|
|
490
627
|
runs: [
|
|
491
628
|
{
|
|
492
|
-
runAt: '2025-01-
|
|
629
|
+
runAt: '2025-01-01T02:00:00Z',
|
|
493
630
|
sessionIds: ['old-session'],
|
|
494
631
|
skillsCreated: [],
|
|
495
632
|
},
|
|
@@ -499,6 +636,28 @@ describe('memoryService', () => {
|
|
|
499
636
|
expect(result.sessionIndex).toContain('[old]');
|
|
500
637
|
expect(result.sessionIndex).not.toContain('[NEW]');
|
|
501
638
|
});
|
|
639
|
+
it('treats resumed legacy sessions as [NEW] when lastUpdated moved past the old run', async () => {
|
|
640
|
+
const { buildSessionIndex } = await import('./memoryService.js');
|
|
641
|
+
const conversation = createConversation({
|
|
642
|
+
sessionId: 'resumed-session',
|
|
643
|
+
summary: 'Resumed after extraction',
|
|
644
|
+
messageCount: 20,
|
|
645
|
+
lastUpdated: '2025-01-01T03:00:00Z',
|
|
646
|
+
});
|
|
647
|
+
await fs.writeFile(path.join(chatsDir, `${SESSION_FILE_PREFIX}2025-01-01T00-00-resumed01.json`), JSON.stringify(conversation));
|
|
648
|
+
const state = {
|
|
649
|
+
runs: [
|
|
650
|
+
{
|
|
651
|
+
runAt: '2025-01-01T02:00:00Z',
|
|
652
|
+
sessionIds: ['resumed-session'],
|
|
653
|
+
skillsCreated: [],
|
|
654
|
+
},
|
|
655
|
+
],
|
|
656
|
+
};
|
|
657
|
+
const result = await buildSessionIndex(chatsDir, state);
|
|
658
|
+
expect(result.sessionIndex).toContain('[NEW]');
|
|
659
|
+
expect(result.newSessionIds).toEqual(['resumed-session']);
|
|
660
|
+
});
|
|
502
661
|
it('includes file path and summary in each line', async () => {
|
|
503
662
|
const { buildSessionIndex } = await import('./memoryService.js');
|
|
504
663
|
const conversation = createConversation({
|
|
@@ -571,7 +730,7 @@ describe('memoryService', () => {
|
|
|
571
730
|
const state = {
|
|
572
731
|
runs: [
|
|
573
732
|
{
|
|
574
|
-
runAt: '2025-01-
|
|
733
|
+
runAt: '2025-01-01T02:00:00Z',
|
|
575
734
|
sessionIds: ['processed-one'],
|
|
576
735
|
skillsCreated: [],
|
|
577
736
|
},
|
|
@@ -584,6 +743,97 @@ describe('memoryService', () => {
|
|
|
584
743
|
expect(result.sessionIndex).toContain('[NEW]');
|
|
585
744
|
expect(result.sessionIndex).toContain('[old]');
|
|
586
745
|
});
|
|
746
|
+
it('reads JSONL sessions and sorts by actual lastUpdated instead of filename', async () => {
|
|
747
|
+
const { buildSessionIndex } = await import('./memoryService.js');
|
|
748
|
+
const olderByName = createConversation({
|
|
749
|
+
sessionId: 'older-by-name',
|
|
750
|
+
summary: 'Filename looks newer',
|
|
751
|
+
messageCount: 20,
|
|
752
|
+
lastUpdated: '2025-01-01T01:00:00Z',
|
|
753
|
+
});
|
|
754
|
+
const newerByActivity = createConversation({
|
|
755
|
+
sessionId: 'newer-by-activity',
|
|
756
|
+
summary: 'Actually most recent',
|
|
757
|
+
messageCount: 20,
|
|
758
|
+
lastUpdated: '2025-02-01T01:00:00Z',
|
|
759
|
+
});
|
|
760
|
+
await writeConversationJsonl(path.join(chatsDir, `${SESSION_FILE_PREFIX}2025-02-01T00-00-oldername.jsonl`), olderByName);
|
|
761
|
+
await writeConversationJsonl(path.join(chatsDir, `${SESSION_FILE_PREFIX}2025-01-01T00-00-neweractv.jsonl`), newerByActivity);
|
|
762
|
+
const result = await buildSessionIndex(chatsDir, { runs: [] });
|
|
763
|
+
const firstLine = result.sessionIndex.split('\n')[0];
|
|
764
|
+
expect(firstLine).toContain('Actually most recent');
|
|
765
|
+
expect(firstLine).not.toContain('Filename looks newer');
|
|
766
|
+
});
|
|
767
|
+
it('rotates in older unprocessed sessions instead of starving them behind retried recent ones', async () => {
|
|
768
|
+
const { buildSessionIndex } = await import('./memoryService.js');
|
|
769
|
+
for (let i = 0; i < 11; i++) {
|
|
770
|
+
const day = String(11 - i).padStart(2, '0');
|
|
771
|
+
const conversation = createConversation({
|
|
772
|
+
sessionId: `backlog-${i}`,
|
|
773
|
+
summary: `Backlog ${i}`,
|
|
774
|
+
messageCount: 20,
|
|
775
|
+
lastUpdated: `2025-01-${day}T01:00:00Z`,
|
|
776
|
+
});
|
|
777
|
+
await fs.writeFile(path.join(chatsDir, `${SESSION_FILE_PREFIX}2025-01-${day}T00-00-backlog${i}.json`), JSON.stringify(conversation));
|
|
778
|
+
}
|
|
779
|
+
const state = {
|
|
780
|
+
runs: [
|
|
781
|
+
{
|
|
782
|
+
runAt: '2025-02-01T00:00:00Z',
|
|
783
|
+
sessionIds: [],
|
|
784
|
+
candidateSessions: Array.from({ length: 10 }, (_, i) => ({
|
|
785
|
+
sessionId: `backlog-${i}`,
|
|
786
|
+
lastUpdated: `2025-01-${String(11 - i).padStart(2, '0')}T01:00:00Z`,
|
|
787
|
+
})),
|
|
788
|
+
skillsCreated: [],
|
|
789
|
+
},
|
|
790
|
+
],
|
|
791
|
+
};
|
|
792
|
+
const result = await buildSessionIndex(chatsDir, state);
|
|
793
|
+
expect(result.newSessionIds).toContain('backlog-10');
|
|
794
|
+
expect(result.newSessionIds).not.toContain('backlog-9');
|
|
795
|
+
});
|
|
796
|
+
it('surfaces older unprocessed sessions even when the newest 100 files were already processed', async () => {
|
|
797
|
+
const { buildSessionIndex } = await import('./memoryService.js');
|
|
798
|
+
const processedSessions = [];
|
|
799
|
+
for (let i = 0; i < 105; i++) {
|
|
800
|
+
const timestamp = new Date(Date.UTC(2025, 0, 1, 0, 0, 105 - i)).toISOString();
|
|
801
|
+
const conversation = createConversation({
|
|
802
|
+
sessionId: `backlog-${i}`,
|
|
803
|
+
summary: `Backlog ${i}`,
|
|
804
|
+
messageCount: 20,
|
|
805
|
+
lastUpdated: timestamp,
|
|
806
|
+
});
|
|
807
|
+
const filePath = path.join(chatsDir, `${SESSION_FILE_PREFIX}2025-01-01T00-00-backlog${String(i).padStart(3, '0')}.json`);
|
|
808
|
+
await fs.writeFile(filePath, JSON.stringify(conversation));
|
|
809
|
+
await setSessionMtime(filePath, timestamp);
|
|
810
|
+
if (i < 100) {
|
|
811
|
+
processedSessions.push({
|
|
812
|
+
sessionId: conversation.sessionId,
|
|
813
|
+
lastUpdated: conversation.lastUpdated,
|
|
814
|
+
});
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
const result = await buildSessionIndex(chatsDir, {
|
|
818
|
+
runs: [
|
|
819
|
+
{
|
|
820
|
+
runAt: '2025-02-01T00:00:00Z',
|
|
821
|
+
sessionIds: processedSessions.map((session) => session.sessionId),
|
|
822
|
+
processedSessions,
|
|
823
|
+
skillsCreated: [],
|
|
824
|
+
},
|
|
825
|
+
],
|
|
826
|
+
});
|
|
827
|
+
expect(result.newSessionIds).toEqual([
|
|
828
|
+
'backlog-100',
|
|
829
|
+
'backlog-101',
|
|
830
|
+
'backlog-102',
|
|
831
|
+
'backlog-103',
|
|
832
|
+
'backlog-104',
|
|
833
|
+
]);
|
|
834
|
+
expect(result.sessionIndex).toContain('Backlog 100');
|
|
835
|
+
expect(result.sessionIndex).toContain('Backlog 104');
|
|
836
|
+
});
|
|
587
837
|
});
|
|
588
838
|
describe('ExtractionState runs tracking', () => {
|
|
589
839
|
it('readExtractionState parses runs array with skillsCreated', async () => {
|
|
@@ -594,6 +844,18 @@ describe('memoryService', () => {
|
|
|
594
844
|
{
|
|
595
845
|
runAt: '2025-06-01T00:00:00Z',
|
|
596
846
|
sessionIds: ['s1'],
|
|
847
|
+
candidateSessions: [
|
|
848
|
+
{
|
|
849
|
+
sessionId: 's1',
|
|
850
|
+
lastUpdated: '2025-05-31T12:00:00Z',
|
|
851
|
+
},
|
|
852
|
+
],
|
|
853
|
+
processedSessions: [
|
|
854
|
+
{
|
|
855
|
+
sessionId: 's1',
|
|
856
|
+
lastUpdated: '2025-05-31T12:00:00Z',
|
|
857
|
+
},
|
|
858
|
+
],
|
|
597
859
|
skillsCreated: ['debug-helper', 'test-gen'],
|
|
598
860
|
},
|
|
599
861
|
],
|
|
@@ -605,6 +867,18 @@ describe('memoryService', () => {
|
|
|
605
867
|
'debug-helper',
|
|
606
868
|
'test-gen',
|
|
607
869
|
]);
|
|
870
|
+
expect(result.runs[0].candidateSessions).toEqual([
|
|
871
|
+
{
|
|
872
|
+
sessionId: 's1',
|
|
873
|
+
lastUpdated: '2025-05-31T12:00:00Z',
|
|
874
|
+
},
|
|
875
|
+
]);
|
|
876
|
+
expect(result.runs[0].processedSessions).toEqual([
|
|
877
|
+
{
|
|
878
|
+
sessionId: 's1',
|
|
879
|
+
lastUpdated: '2025-05-31T12:00:00Z',
|
|
880
|
+
},
|
|
881
|
+
]);
|
|
608
882
|
expect(result.runs[0].sessionIds).toEqual(['s1']);
|
|
609
883
|
expect(result.runs[0].runAt).toBe('2025-06-01T00:00:00Z');
|
|
610
884
|
});
|
|
@@ -615,6 +889,26 @@ describe('memoryService', () => {
|
|
|
615
889
|
{
|
|
616
890
|
runAt: '2025-01-01T00:00:00Z',
|
|
617
891
|
sessionIds: ['a', 'b'],
|
|
892
|
+
candidateSessions: [
|
|
893
|
+
{
|
|
894
|
+
sessionId: 'a',
|
|
895
|
+
lastUpdated: '2024-12-31T23:00:00Z',
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
sessionId: 'b',
|
|
899
|
+
lastUpdated: '2024-12-31T22:00:00Z',
|
|
900
|
+
},
|
|
901
|
+
],
|
|
902
|
+
processedSessions: [
|
|
903
|
+
{
|
|
904
|
+
sessionId: 'a',
|
|
905
|
+
lastUpdated: '2024-12-31T23:00:00Z',
|
|
906
|
+
},
|
|
907
|
+
{
|
|
908
|
+
sessionId: 'b',
|
|
909
|
+
lastUpdated: '2024-12-31T22:00:00Z',
|
|
910
|
+
},
|
|
911
|
+
],
|
|
618
912
|
skillsCreated: ['skill-x'],
|
|
619
913
|
},
|
|
620
914
|
{
|