Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ A change is done only when:
## Current Stats (v0.9.24)

- 55 MCP tools (8 visible by default, `AGENTMEMORY_TOOLS=all` for all)
- 141 REST endpoints
- 142 REST endpoints
- 6 MCP resources, 3 MCP prompts
- 12 hooks, 9 skills
- 60+ iii functions
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ LLM extraction also writes classification tags such as `type:waiting_for_user`,

## Under the hood

Under the hood, the current prototype still exposes the full implementation surface: **55 MCP tools** (8 visible by default — 55 tools, 6 resources, 3 prompts over MCP) and a local REST API serving **141 endpoints on port** 3111. These counts track the implementation that is mid-rename to AI Todo.
Under the hood, the current prototype still exposes the full implementation surface: **55 MCP tools** (8 visible by default — 55 tools, 6 resources, 3 prompts over MCP) and a local REST API serving **142 endpoints on port** 3111. These counts track the implementation that is mid-rename to AI Todo.

## Documentation

Expand Down
12 changes: 6 additions & 6 deletions src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,15 @@ export const DEFAULT_LANGEXTRACT_MODEL = "deepseek/deepseek-v4-flash";
export const DEFAULT_LANGEXTRACT_PROVIDER = "openai";
export const DEFAULT_LANGEXTRACT_BASE_URL = "https://api.novita.ai/openai/v1";
export const DEFAULT_TODO_EXTRACT_TIMEOUT_MS = 120_000;
export const DEFAULT_TODO_EXTRACT_MAX_LLM_SESSIONS = 12;
// STEP-11: extraction scope. sinceDays = only sessions whose endedAt/startedAt
// falls within the last N days are eligible (the primary scope control). Max
// interactions = per session, keep at most M most-recent interaction records
// (a "turn": one user message through everything before the next). maxSessions
// stays a backend safety cap (not surfaced as a setting).
// has no default cap; REST callers can still pass an explicit positive cap.
export const DEFAULT_TODO_EXTRACT_SINCE_DAYS = 7;
export const DEFAULT_TODO_EXTRACT_MAX_INTERACTIONS = 10;
// Interactive safety cap on how many sessions one extraction pass touches. The
// day window is the primary control, but with the LLM extractor each session is
// a serial sidecar call (up to the per-call timeout), so a single "organize"
// click must stay bounded. REST callers can still pass a larger maxSessions.
export const DEFAULT_TODO_EXTRACT_MAX_SESSIONS = 8;
export const DEFAULT_TODO_EXTRACT_MAX_SESSIONS = Number.POSITIVE_INFINITY;
const LEGACY_LANGEXTRACT_MODELS = new Set(["pa/gpt-5.5"]);
export const WRITABLE_TODO_EXTRACT_KEYS = new Set([
"AGENTMEMORY_TODO_EXTRACTOR",
Expand All @@ -46,6 +43,7 @@ export const WRITABLE_TODO_EXTRACT_KEYS = new Set([
"AGENTMEMORY_TODO_EXTRACT_TIMEOUT_MS",
"AGENTMEMORY_TODO_EXTRACT_SINCE_DAYS",
"AGENTMEMORY_TODO_EXTRACT_MAX_INTERACTIONS_PER_SESSION",
"AGENTMEMORY_TODO_EXTRACT_MAX_LLM_SESSIONS",
]);

let warnPremiumModelShown = false;
Expand Down Expand Up @@ -96,6 +94,8 @@ export function getTodoExtractorUserConfig(): Record<string, string | boolean> {
LANGEXTRACT_THINKING_DEPTH: env["LANGEXTRACT_THINKING_DEPTH"] || "medium",
AGENTMEMORY_TODO_EXTRACT_TIMEOUT_MS:
env["AGENTMEMORY_TODO_EXTRACT_TIMEOUT_MS"] || String(DEFAULT_TODO_EXTRACT_TIMEOUT_MS),
AGENTMEMORY_TODO_EXTRACT_MAX_LLM_SESSIONS:
env["AGENTMEMORY_TODO_EXTRACT_MAX_LLM_SESSIONS"] || String(DEFAULT_TODO_EXTRACT_MAX_LLM_SESSIONS),
AGENTMEMORY_TODO_EXTRACT_SINCE_DAYS:
env["AGENTMEMORY_TODO_EXTRACT_SINCE_DAYS"] || String(DEFAULT_TODO_EXTRACT_SINCE_DAYS),
AGENTMEMORY_TODO_EXTRACT_MAX_INTERACTIONS_PER_SESSION:
Expand Down
Loading
Loading