@cortexkit/magic-context 0.27.3 → 0.28.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.
Files changed (2) hide show
  1. package/dist/index.js +41 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -149339,7 +149339,7 @@ var init_storage_primers = __esm(() => {
149339
149339
  // ../plugin/src/features/magic-context/storage-source.ts
149340
149340
  var init_storage_source = () => {};
149341
149341
  // ../plugin/src/features/magic-context/storage-tags.ts
149342
- var insertTagStatements, updateTagStatusStatements, updateTagDropModeStatements, updateTagMessageIdStatements, getTagNumbersByMessageIdStatements, deleteTagsByMessageIdStatements, getMaxTagNumberBySessionStatements, getTagNumberByMessageIdStatements, updateTagByteSizeStatements, updateTagInputByteSizeStatements, updateTagTokenCountStatements, updateTagInputTokenCountStatements, getOwnerScopedToolTagNumbersStatements, getMinMessageTagNumberForRawIdStatements, getActiveTagsBySessionStatements, getMaxDroppedTagNumberStatements, getToolTagNumberByOwnerStatements, getNullOwnerToolTagStatements, adoptNullOwnerToolTagStatements, deleteToolTagsByOwnerStatements;
149342
+ var insertTagStatements, updateTagStatusStatements, updateTagDropModeStatements, updateTagMessageIdStatements, getTagNumbersByMessageIdStatements, deleteTagsByMessageIdStatements, getMaxTagNumberBySessionStatements, getTagNumberByMessageIdStatements, updateTagByteSizeStatements, updateTagInputByteSizeStatements, RECLAIM_HINT_EXCLUDED_TOOLS, RECLAIM_HINT_EXCLUDED_LIST, updateTagTokenCountStatements, updateTagInputTokenCountStatements, getOwnerScopedToolTagNumbersStatements, getMinMessageTagNumberForRawIdStatements, getActiveTagsBySessionStatements, getMaxDroppedTagNumberStatements, getToolTagNumberByOwnerStatements, getNullOwnerToolTagStatements, adoptNullOwnerToolTagStatements, deleteToolTagsByOwnerStatements;
149343
149343
  var init_storage_tags = __esm(() => {
149344
149344
  insertTagStatements = new WeakMap;
149345
149345
  updateTagStatusStatements = new WeakMap;
@@ -149351,6 +149351,8 @@ var init_storage_tags = __esm(() => {
149351
149351
  getTagNumberByMessageIdStatements = new WeakMap;
149352
149352
  updateTagByteSizeStatements = new WeakMap;
149353
149353
  updateTagInputByteSizeStatements = new WeakMap;
149354
+ RECLAIM_HINT_EXCLUDED_TOOLS = ["todowrite"];
149355
+ RECLAIM_HINT_EXCLUDED_LIST = RECLAIM_HINT_EXCLUDED_TOOLS.map((name2) => `'${name2.replace(/'/g, "''")}'`).join(", ");
149354
149356
  updateTagTokenCountStatements = new WeakMap;
149355
149357
  updateTagInputTokenCountStatements = new WeakMap;
149356
149358
  getOwnerScopedToolTagNumbersStatements = new WeakMap;
@@ -149970,6 +149972,10 @@ function stripUnsafeProjectConfigFields(projectRaw) {
149970
149972
  delete projectRaw.auto_update;
149971
149973
  warnings.push("Ignoring auto_update from project config (security: this setting only honors user-level config).");
149972
149974
  }
149975
+ if ("language" in projectRaw) {
149976
+ delete projectRaw.language;
149977
+ warnings.push("Ignoring language from project config (security: output language is a user-level setting).");
149978
+ }
149973
149979
  if ("sqlite" in projectRaw) {
149974
149980
  delete projectRaw.sqlite;
149975
149981
  warnings.push("Ignoring sqlite.* from project config (security: SQLite cache/mmap PRAGMAs apply to the " + "process-global shared database handle; only user-level config may set them).");
@@ -164702,6 +164708,38 @@ var init_zod = __esm(() => {
164702
164708
  init_external();
164703
164709
  });
164704
164710
 
164711
+ // ../plugin/src/agents/language-directive.ts
164712
+ function resolveLanguageName(language) {
164713
+ const code = typeof language === "string" ? language.trim().toLowerCase() : "";
164714
+ if (!/^[a-z]{2}$/.test(code))
164715
+ return "";
164716
+ let english;
164717
+ try {
164718
+ english = ENGLISH_LANGUAGE_NAMES.of(code) ?? undefined;
164719
+ } catch {
164720
+ return "";
164721
+ }
164722
+ if (!english)
164723
+ return "";
164724
+ let endonym;
164725
+ try {
164726
+ endonym = new Intl.DisplayNames([code], { type: "language", fallback: "none" }).of(code) ?? undefined;
164727
+ } catch {
164728
+ endonym = undefined;
164729
+ }
164730
+ return endonym && endonym !== english ? `${english} (${endonym})` : english;
164731
+ }
164732
+ function isValidLanguageCode(language) {
164733
+ return resolveLanguageName(language) !== "";
164734
+ }
164735
+ var ENGLISH_LANGUAGE_NAMES;
164736
+ var init_language_directive = __esm(() => {
164737
+ ENGLISH_LANGUAGE_NAMES = new Intl.DisplayNames(["en"], {
164738
+ type: "language",
164739
+ fallback: "none"
164740
+ });
164741
+ });
164742
+
164705
164743
  // ../plugin/src/features/magic-context/defaults.ts
164706
164744
  var DEFAULT_PROTECTED_TAGS = 20;
164707
164745
 
@@ -164747,6 +164785,7 @@ function defaultTaskConfig(task) {
164747
164785
  var DEFAULT_EXECUTE_THRESHOLD_PERCENTAGE = 65, EXECUTE_THRESHOLD_CAP_MESSAGE = "execute_threshold is capped at 80% for cache safety: a single large agent step can overflow the context window before Magic Context can compact between turns, forcing OpenCode's native compaction (hard to recover from). 80% also leaves headroom below the 85%/95% emergency bands. Use a value between 20 and 80.", DEFAULT_HISTORIAN_TIMEOUT_MS = 300000, DEFAULT_HISTORY_BUDGET_PERCENTAGE = 0.15, DEFAULT_LOCAL_EMBEDDING_MODEL = "Xenova/all-MiniLM-L6-v2", DreamingTaskSchema, PiThinkingLevelSchema, CronScheduleSchema, DreamTaskBaseConfigSchema, PromotionThresholdSchema, PrimerPromotionThresholdSchema, DreamTaskConfigSchema, ReviewUserMemoriesTaskConfigSchema, PromotePrimersTaskConfigSchema, DEFAULT_TASK_SCHEDULES2, DreamTasksSchema, DreamerConfigSchema, SidekickConfigSchema, HistorianConfigSchema, BaseEmbeddingConfigSchema, EmbeddingConfigSchema, MagicContextConfigSchema;
164748
164786
  var init_magic_context = __esm(() => {
164749
164787
  init_zod();
164788
+ init_language_directive();
164750
164789
  init_cron();
164751
164790
  init_task_registry();
164752
164791
  init_agent_overrides();
@@ -164868,6 +164907,7 @@ var init_magic_context = __esm(() => {
164868
164907
  MagicContextConfigSchema = exports_external.object({
164869
164908
  enabled: exports_external.boolean().default(true).describe("Enable magic context (default: true)"),
164870
164909
  auto_update: exports_external.boolean().optional().describe("Enable automatic npm self-update checks for the OpenCode plugin. Security: USER-only in config loader, so hostile project configs cannot suppress updates."),
164910
+ language: exports_external.string().trim().toLowerCase().refine((s) => isValidLanguageCode(s), 'language must be a 2-letter ISO 639-1 code (e.g. "tr", "es", "de")').optional().describe("Output language for Magic Context's generated content and guidance, as a " + '2-letter ISO 639-1 code (e.g. "tr", "es", "de", "ja", "pt"). When set, the ' + "historian, dreamer, sidekick, and the agent-guidance block instruct the model to " + "write its PROSE in this language while keeping all structural tokens (XML tags, " + "the five memory category names, code identifiers, file paths) in English. " + "USER-LEVEL ONLY (ignored in project config for security). Unset = today's " + "behavior (model mirrors the conversation; English scaffolding). Changing it " + "triggers one cache re-materialization; existing compartments/memories keep their " + "original language until naturally rewritten."),
164871
164911
  ctx_reduce_enabled: exports_external.boolean().default(true).describe("When false, ctx_reduce tool is hidden, all nudges disabled, and prompt guidance about ctx_reduce stripped. Heuristic cleanup, compartments, memory, and other features still work. (default: true)"),
164872
164912
  historian: HistorianConfigSchema.describe("Historian agent configuration (model, fallback_models, variant, temperature, maxTokens, permission, two_pass, etc.)"),
164873
164913
  dreamer: DreamerConfigSchema.optional().describe("Dreamer agent + scheduling configuration (model, fallback_models, disable, schedule, tasks, etc.)"),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/magic-context",
3
- "version": "0.27.3",
3
+ "version": "0.28.0",
4
4
  "description": "Unified CLI for Magic Context — setup, doctor, and migration across OpenCode and Pi",
5
5
  "keywords": [
6
6
  "opencode",