noumen 0.1.0 → 0.3.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/README.md +846 -51
- package/dist/a2a/index.d.ts +148 -0
- package/dist/a2a/index.js +579 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/acp/index.d.ts +129 -0
- package/dist/acp/index.js +498 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/agent-1nFVUP9E.d.ts +1332 -0
- package/dist/cache-DsRqxx6v.d.ts +38 -0
- package/dist/chunk-3HEYCV26.js +10 -0
- package/dist/chunk-3HEYCV26.js.map +1 -0
- package/dist/chunk-3SK5GCI6.js +75 -0
- package/dist/chunk-3SK5GCI6.js.map +1 -0
- package/dist/chunk-42PHHZUA.js +132 -0
- package/dist/chunk-42PHHZUA.js.map +1 -0
- package/dist/chunk-4HW6LN6D.js +10365 -0
- package/dist/chunk-4HW6LN6D.js.map +1 -0
- package/dist/chunk-4SQA2UCV.js +26 -0
- package/dist/chunk-4SQA2UCV.js.map +1 -0
- package/dist/chunk-5GEX6ZSB.js +179 -0
- package/dist/chunk-5GEX6ZSB.js.map +1 -0
- package/dist/chunk-5JN4SPI7.js +94 -0
- package/dist/chunk-5JN4SPI7.js.map +1 -0
- package/dist/chunk-AMYIJSAZ.js +57 -0
- package/dist/chunk-AMYIJSAZ.js.map +1 -0
- package/dist/chunk-BZSFUEWM.js +43 -0
- package/dist/chunk-BZSFUEWM.js.map +1 -0
- package/dist/chunk-CS6WNDCF.js +171 -0
- package/dist/chunk-CS6WNDCF.js.map +1 -0
- package/dist/chunk-D43BWEZA.js +346 -0
- package/dist/chunk-D43BWEZA.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +11 -0
- package/dist/chunk-DGUM43GV.js.map +1 -0
- package/dist/chunk-EKOGVTBT.js +472 -0
- package/dist/chunk-EKOGVTBT.js.map +1 -0
- package/dist/chunk-HEQQQGK5.js +131 -0
- package/dist/chunk-HEQQQGK5.js.map +1 -0
- package/dist/chunk-HL6JCRZJ.js +3112 -0
- package/dist/chunk-HL6JCRZJ.js.map +1 -0
- package/dist/chunk-JACGEMTF.js +43 -0
- package/dist/chunk-JACGEMTF.js.map +1 -0
- package/dist/chunk-JX7CLUCV.js +21 -0
- package/dist/chunk-JX7CLUCV.js.map +1 -0
- package/dist/chunk-KXDB56YW.js +39 -0
- package/dist/chunk-KXDB56YW.js.map +1 -0
- package/dist/chunk-L3L3FG5T.js +16 -0
- package/dist/chunk-L3L3FG5T.js.map +1 -0
- package/dist/chunk-OGXNFXFA.js +196 -0
- package/dist/chunk-OGXNFXFA.js.map +1 -0
- package/dist/chunk-UVSSQBDY.js +192 -0
- package/dist/chunk-UVSSQBDY.js.map +1 -0
- package/dist/chunk-Y45R3PQL.js +684 -0
- package/dist/chunk-Y45R3PQL.js.map +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +874 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/client/index.d.ts +64 -0
- package/dist/client/index.js +409 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client-CRRO2376.js +10 -0
- package/dist/client-CRRO2376.js.map +1 -0
- package/dist/headless-FFU2DESQ.js +142 -0
- package/dist/headless-FFU2DESQ.js.map +1 -0
- package/dist/history-snip-64GYP4ZL.js +12 -0
- package/dist/history-snip-64GYP4ZL.js.map +1 -0
- package/dist/index.d.ts +1459 -422
- package/dist/index.js +398 -1757
- package/dist/index.js.map +1 -1
- package/dist/jsonrpc/index.d.ts +54 -0
- package/dist/jsonrpc/index.js +34 -0
- package/dist/jsonrpc/index.js.map +1 -0
- package/dist/lsp/index.d.ts +36 -0
- package/dist/lsp/index.js +16 -0
- package/dist/lsp/index.js.map +1 -0
- package/dist/lsp-PS3BWIHC.js +8 -0
- package/dist/lsp-PS3BWIHC.js.map +1 -0
- package/dist/manager-DLXK63XC.js +8 -0
- package/dist/manager-DLXK63XC.js.map +1 -0
- package/dist/mcp/index.d.ts +111 -0
- package/dist/mcp/index.js +105 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp-auth-AEI2R4ZC.js +9 -0
- package/dist/mcp-auth-AEI2R4ZC.js.map +1 -0
- package/dist/provider-factory-KCLIF34X.js +20 -0
- package/dist/provider-factory-KCLIF34X.js.map +1 -0
- package/dist/providers/anthropic.d.ts +19 -0
- package/dist/providers/anthropic.js +35 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/bedrock.d.ts +39 -0
- package/dist/providers/bedrock.js +56 -0
- package/dist/providers/bedrock.js.map +1 -0
- package/dist/providers/gemini.d.ts +17 -0
- package/dist/providers/gemini.js +262 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/ollama.d.ts +13 -0
- package/dist/providers/ollama.js +20 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/openai.d.ts +21 -0
- package/dist/providers/openai.js +9 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/openrouter.d.ts +16 -0
- package/dist/providers/openrouter.js +24 -0
- package/dist/providers/openrouter.js.map +1 -0
- package/dist/providers/vertex.d.ts +42 -0
- package/dist/providers/vertex.js +67 -0
- package/dist/providers/vertex.js.map +1 -0
- package/dist/render-GRN4ZSSW.js +14 -0
- package/dist/render-GRN4ZSSW.js.map +1 -0
- package/dist/resolve-4JA2BBDA.js +14 -0
- package/dist/resolve-4JA2BBDA.js.map +1 -0
- package/dist/server/index.d.ts +143 -0
- package/dist/server/index.js +695 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server-CHMxuWKq.d.ts +96 -0
- package/dist/spinner-OJNR6NFO.js +8 -0
- package/dist/spinner-OJNR6NFO.js.map +1 -0
- package/dist/types-2kTLUCnD.d.ts +107 -0
- package/dist/types-CD0rUKKT.d.ts +109 -0
- package/dist/types-LrU4LRmX.d.ts +575 -0
- package/dist/types-NIyVwQ4h.d.ts +109 -0
- package/dist/types-QwfylltH.d.ts +71 -0
- package/dist/types-RPKUTu1k.d.ts +645 -0
- package/dist/uuid-RVN2T26F.js +8 -0
- package/dist/uuid-RVN2T26F.js.map +1 -0
- package/dist/zod-7YXKWYMC.js +12 -0
- package/dist/zod-7YXKWYMC.js.map +1 -0
- package/package.json +141 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/context.ts","../src/providers/cache.ts"],"sourcesContent":["/**\n * Model context window sizes and effective window calculations.\n */\n\nconst MODEL_CONTEXT_WINDOWS: Record<string, number> = {\n // Anthropic (evergreen prefixes — also match dated variants via startsWith)\n \"claude-sonnet-4\": 200_000,\n \"claude-opus-4\": 200_000,\n \"claude-haiku-4\": 200_000,\n \"claude-haiku-3-5\": 200_000,\n \"claude-3-5-sonnet\": 200_000,\n \"claude-3-5-haiku\": 200_000,\n // Bedrock / Vertex model ID patterns (prefix-matched)\n \"us.anthropic.claude\": 200_000,\n \"eu.anthropic.claude\": 200_000,\n \"ap.anthropic.claude\": 200_000,\n \"anthropic.claude\": 200_000,\n // OpenAI\n \"gpt-4.1\": 1_047_576,\n \"gpt-4.1-mini\": 1_047_576,\n \"gpt-4.1-nano\": 1_047_576,\n \"gpt-4o\": 128_000,\n \"gpt-4o-mini\": 128_000,\n \"gpt-4-turbo\": 128_000,\n \"gpt-4\": 8_192,\n \"o1\": 200_000,\n \"o1-mini\": 128_000,\n \"o1-preview\": 128_000,\n \"o3\": 200_000,\n \"o3-mini\": 200_000,\n \"o4-mini\": 200_000,\n // Google\n \"gemini-2.5-pro\": 1_048_576,\n \"gemini-2.5-flash\": 1_048_576,\n \"gemini-2.0-flash\": 1_048_576,\n \"gemini-1.5-pro\": 2_097_152,\n \"gemini-1.5-flash\": 1_048_576,\n};\n\nconst MODEL_MAX_OUTPUT_TOKENS: Record<string, number> = {\n \"claude-sonnet-4-6\": 128_000,\n \"claude-opus-4-6\": 128_000,\n \"claude-sonnet-4\": 64_000,\n \"claude-opus-4\": 64_000,\n \"claude-haiku-4\": 64_000,\n \"claude-haiku-3-5\": 8_192,\n \"claude-3-5-sonnet\": 8_192,\n \"claude-3-5-haiku\": 8_192,\n \"us.anthropic.claude\": 64_000,\n \"eu.anthropic.claude\": 64_000,\n \"ap.anthropic.claude\": 64_000,\n \"anthropic.claude\": 64_000,\n \"gpt-4.1\": 32_768,\n \"gpt-4.1-mini\": 32_768,\n \"gpt-4.1-nano\": 32_768,\n \"gpt-4o\": 16_384,\n \"gpt-4o-mini\": 16_384,\n \"gpt-4-turbo\": 4_096,\n \"o1\": 100_000,\n \"o3\": 100_000,\n \"o3-mini\": 100_000,\n \"o4-mini\": 100_000,\n \"gemini-2.5-pro\": 65_536,\n \"gemini-2.5-flash\": 65_536,\n \"gemini-2.0-flash\": 8_192,\n};\n\nconst DEFAULT_MAX_OUTPUT_TOKENS = 16_384;\nconst DEFAULT_CONTEXT_WINDOW = 128_000;\nconst AUTOCOMPACT_BUFFER_TOKENS = 13_000;\nconst MAX_OUTPUT_RESERVE = 20_000;\n\nlet customWindows: Record<string, number> = {};\n\n/**\n * Register custom context window sizes for models not in the built-in table.\n */\nexport function registerContextWindows(\n windows: Record<string, number>,\n): void {\n customWindows = { ...customWindows, ...windows };\n}\n\n/**\n * Get the context window size for a model. Checks custom overrides first,\n * then built-in table, then prefix-matches, then falls back to default.\n */\nexport function getContextWindowForModel(model: string): number {\n if (customWindows[model] !== undefined) return customWindows[model];\n if (MODEL_CONTEXT_WINDOWS[model] !== undefined)\n return MODEL_CONTEXT_WINDOWS[model];\n\n for (const [prefix, size] of Object.entries(MODEL_CONTEXT_WINDOWS)) {\n if (model.startsWith(prefix)) return size;\n }\n for (const [prefix, size] of Object.entries(customWindows)) {\n if (model.startsWith(prefix)) return size;\n }\n\n return DEFAULT_CONTEXT_WINDOW;\n}\n\n/**\n * Effective context window = total window minus space reserved for the\n * model's output during a compaction/summary request.\n */\nexport function getEffectiveContextWindow(\n model: string,\n maxOutputTokens?: number,\n): number {\n const window = getContextWindowForModel(model);\n const reserve = Math.min(maxOutputTokens ?? MAX_OUTPUT_RESERVE, MAX_OUTPUT_RESERVE);\n return window - reserve;\n}\n\n/**\n * Auto-compact threshold: effective window minus a buffer to ensure we\n * compact before we're at the hard limit.\n */\nexport function getAutoCompactThreshold(\n model: string,\n maxOutputTokens?: number,\n): number {\n return getEffectiveContextWindow(model, maxOutputTokens) - AUTOCOMPACT_BUFFER_TOKENS;\n}\n\n/**\n * Get the maximum output tokens a model supports. Used to clamp\n * max_tokens when extended thinking budgets are added.\n */\nexport function getMaxOutputTokensForModel(model: string): number {\n if (MODEL_MAX_OUTPUT_TOKENS[model] !== undefined)\n return MODEL_MAX_OUTPUT_TOKENS[model];\n for (const [prefix, size] of Object.entries(MODEL_MAX_OUTPUT_TOKENS)) {\n if (model.startsWith(prefix)) return size;\n }\n return DEFAULT_MAX_OUTPUT_TOKENS;\n}\n","/**\n * Provider-agnostic prompt caching utilities.\n *\n * Stable tool ordering prevents cache invalidation when the tool set is\n * unchanged. The breakpoint index helper determines which message gets a\n * single cache_control marker per request (matching claude-code's strategy).\n */\n\nimport type { ToolDefinition } from \"./types.js\";\nimport type { ChatMessage } from \"../session/types.js\";\n\nexport type CacheScope = \"global\" | \"org\";\n\nexport interface CacheControlConfig {\n enabled: boolean;\n /** TTL for cached content. When set, produces `ttl: '1h'` in cache_control. */\n ttl?: \"1h\";\n /** Scope for shared cache across sessions/orgs. */\n scope?: CacheScope;\n}\n\n/**\n * Sort tool definitions deterministically for prompt cache stability.\n *\n * Strategy (matching claude-code's assembleToolPool): built-in tools form a\n * contiguous prefix sorted by name, followed by MCP/external tools sorted by\n * name. Tools with `mcpInfo` on the original Tool object are treated as MCP;\n * everything else is built-in. Since ToolDefinition doesn't carry mcpInfo,\n * callers can pass an optional set of MCP tool names to partition correctly.\n */\nexport function sortToolDefinitionsForCache(\n tools: ToolDefinition[],\n mcpToolNames?: ReadonlySet<string>,\n): ToolDefinition[] {\n const byName = (a: ToolDefinition, b: ToolDefinition) =>\n a.function.name.localeCompare(b.function.name);\n\n if (!mcpToolNames || mcpToolNames.size === 0) {\n return [...tools].sort(byName);\n }\n\n const builtIn: ToolDefinition[] = [];\n const mcp: ToolDefinition[] = [];\n\n for (const t of tools) {\n if (mcpToolNames.has(t.function.name)) {\n mcp.push(t);\n } else {\n builtIn.push(t);\n }\n }\n\n return [...builtIn.sort(byName), ...mcp.sort(byName)];\n}\n\n/**\n * Determine which message index should receive the cache_control breakpoint.\n *\n * Exactly one message per request is marked. Normally the last message;\n * for forked agents with skipCacheWrite the second-to-last so the fork\n * doesn't write its own tail into the cache.\n */\nexport function getMessageCacheBreakpointIndex(\n messages: ChatMessage[],\n skipCacheWrite?: boolean,\n): number {\n if (messages.length === 0) return -1;\n return skipCacheWrite && messages.length >= 2\n ? messages.length - 2\n : messages.length - 1;\n}\n"],"mappings":"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","names":[]}
|