k0ntext 3.6.0 → 3.8.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 (77) hide show
  1. package/README.md +281 -382
  2. package/dist/agent-system/timestamp-tracker.d.ts +159 -0
  3. package/dist/agent-system/timestamp-tracker.d.ts.map +1 -0
  4. package/dist/agent-system/timestamp-tracker.js +405 -0
  5. package/dist/agent-system/timestamp-tracker.js.map +1 -0
  6. package/dist/agent-system/todolist-manager.d.ts +244 -0
  7. package/dist/agent-system/todolist-manager.d.ts.map +1 -0
  8. package/dist/agent-system/todolist-manager.js +580 -0
  9. package/dist/agent-system/todolist-manager.js.map +1 -0
  10. package/dist/analyzer/intelligent-analyzer.d.ts +7 -0
  11. package/dist/analyzer/intelligent-analyzer.d.ts.map +1 -1
  12. package/dist/analyzer/intelligent-analyzer.js +46 -1
  13. package/dist/analyzer/intelligent-analyzer.js.map +1 -1
  14. package/dist/cli/commands/embeddings-refresh.d.ts.map +1 -1
  15. package/dist/cli/commands/embeddings-refresh.js +4 -1
  16. package/dist/cli/commands/embeddings-refresh.js.map +1 -1
  17. package/dist/cli/commands/migrate.d.ts.map +1 -1
  18. package/dist/cli/commands/migrate.js +8 -0
  19. package/dist/cli/commands/migrate.js.map +1 -1
  20. package/dist/cli/commands/snapshot.d.ts +28 -0
  21. package/dist/cli/commands/snapshot.d.ts.map +1 -0
  22. package/dist/cli/commands/snapshot.js +408 -0
  23. package/dist/cli/commands/snapshot.js.map +1 -0
  24. package/dist/cli/repl/init/wizard.d.ts.map +1 -1
  25. package/dist/cli/repl/init/wizard.js +12 -4
  26. package/dist/cli/repl/init/wizard.js.map +1 -1
  27. package/dist/cli/version/comparator.d.ts +1 -0
  28. package/dist/cli/version/comparator.d.ts.map +1 -1
  29. package/dist/cli/version/comparator.js +1 -0
  30. package/dist/cli/version/comparator.js.map +1 -1
  31. package/dist/db/client.d.ts +5 -0
  32. package/dist/db/client.d.ts.map +1 -1
  33. package/dist/db/client.js +7 -0
  34. package/dist/db/client.js.map +1 -1
  35. package/dist/db/schema.d.ts +1 -1
  36. package/dist/db/schema.js +1 -1
  37. package/dist/embeddings/openrouter.d.ts.map +1 -1
  38. package/dist/embeddings/openrouter.js +8 -3
  39. package/dist/embeddings/openrouter.js.map +1 -1
  40. package/dist/services/snapshot-manager.d.ts +251 -0
  41. package/dist/services/snapshot-manager.d.ts.map +1 -0
  42. package/dist/services/snapshot-manager.js +541 -0
  43. package/dist/services/snapshot-manager.js.map +1 -0
  44. package/dist/utils/chunking.d.ts +38 -0
  45. package/dist/utils/chunking.d.ts.map +1 -0
  46. package/dist/utils/chunking.js +133 -0
  47. package/dist/utils/chunking.js.map +1 -0
  48. package/dist/utils/encoding.d.ts +24 -0
  49. package/dist/utils/encoding.d.ts.map +1 -0
  50. package/dist/utils/encoding.js +32 -0
  51. package/dist/utils/encoding.js.map +1 -0
  52. package/dist/utils/index.d.ts +8 -0
  53. package/dist/utils/index.d.ts.map +1 -0
  54. package/dist/utils/index.js +8 -0
  55. package/dist/utils/index.js.map +1 -0
  56. package/docs/QUICKSTART.md +1 -1
  57. package/docs/TROUBLESHOOTING.md +51 -76
  58. package/docs/plans/2026-02-09-v3.7.0-database-fixes-and-improvements.md +900 -0
  59. package/docs/plans/2026-02-11-context-engineering-enhancement.md +1402 -0
  60. package/package.json +8 -2
  61. package/src/agent-system/timestamp-tracker.ts +520 -0
  62. package/src/agent-system/todolist-manager.ts +753 -0
  63. package/src/analyzer/intelligent-analyzer.ts +58 -1
  64. package/src/cli/commands/embeddings-refresh.ts +4 -1
  65. package/src/cli/commands/migrate.ts +8 -0
  66. package/src/cli/commands/snapshot.ts +471 -0
  67. package/src/cli/repl/init/wizard.ts +12 -4
  68. package/src/cli/version/comparator.ts +1 -0
  69. package/src/db/client.ts +8 -0
  70. package/src/db/migrations/0016_add_context_system_tables.sql +38 -0
  71. package/src/db/migrations/files/0015_add_sync_state_version_tracking.sql +18 -0
  72. package/src/db/schema.ts +1 -1
  73. package/src/embeddings/openrouter.ts +10 -4
  74. package/src/services/snapshot-manager.ts +719 -0
  75. package/src/utils/chunking.ts +152 -0
  76. package/src/utils/encoding.ts +33 -0
  77. package/src/utils/index.ts +8 -0
@@ -0,0 +1,18 @@
1
+ -- Migration: 1.5.0
2
+ -- Description: Add version tracking columns to sync_state table
3
+ -- Breaks: false
4
+ -- Dependencies: 1.4.0
5
+
6
+ -- Add k0ntext_version column to track package version when sync occurred
7
+ -- Note: Existing rows will have NULL for this column
8
+ ALTER TABLE sync_state ADD COLUMN k0ntext_version TEXT;
9
+
10
+ -- Add user_modified flag to track if user manually edited the synced file
11
+ ALTER TABLE sync_state ADD COLUMN user_modified INTEGER DEFAULT 0;
12
+
13
+ -- Add last_checked timestamp for version checking (ISO 8601 format)
14
+ ALTER TABLE sync_state ADD COLUMN last_checked TEXT;
15
+
16
+ -- Create indexes for efficient queries
17
+ CREATE INDEX IF NOT EXISTS idx_sync_state_version ON sync_state(k0ntext_version);
18
+ CREATE INDEX IF NOT EXISTS idx_sync_state_user_modified ON sync_state(user_modified);
package/src/db/schema.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * Supports vector embeddings, knowledge graph, and sync state.
6
6
  */
7
7
 
8
- export const SCHEMA_VERSION = '1.4.0';
8
+ export const SCHEMA_VERSION = '1.6.0';
9
9
 
10
10
  /**
11
11
  * Core database schema SQL
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * OpenRouter Client
3
- *
3
+ *
4
4
  * Client for OpenRouter API supporting both embeddings and chat completions.
5
5
  * Used for intelligent initialization and context understanding.
6
6
  */
7
7
 
8
8
  import { createHash } from 'crypto';
9
9
  import { K0NTEXT_MODELS, MODEL_CONFIG, getPrimaryChatModel, getEmbeddingModel } from '../config/models.js';
10
+ import { stripBOM } from '../utils/encoding.js';
10
11
 
11
12
  /**
12
13
  * OpenRouter API endpoints
@@ -185,7 +186,8 @@ export class OpenRouterClient {
185
186
  throw new Error('OPENROUTER_API_KEY is required');
186
187
  }
187
188
 
188
- this.apiKey = config.apiKey;
189
+ // Strip UTF-8 BOM if present (Windows editors sometimes add this to .env files)
190
+ this.apiKey = stripBOM(config.apiKey);
189
191
  this.embeddingModel = config.embeddingModel || DEFAULT_EMBEDDING_MODEL;
190
192
  this.chatModel = config.chatModel || DEFAULT_CHAT_MODEL;
191
193
  this.siteUrl = config.siteUrl || 'https://github.com/SireJeff/claude-context-engineering-template';
@@ -582,8 +584,11 @@ export function createOpenRouterClient(): OpenRouterClient {
582
584
  );
583
585
  }
584
586
 
587
+ // Strip UTF-8 BOM from API key (Windows editors sometimes add this to .env files)
588
+ const cleanApiKey = stripBOM(apiKey);
589
+
585
590
  return new OpenRouterClient({
586
- apiKey,
591
+ apiKey: cleanApiKey,
587
592
  // Use centralized models from config, allow env override for testing
588
593
  embeddingModel: process.env.OPENROUTER_EMBEDDING_MODEL || getEmbeddingModel(),
589
594
  chatModel: process.env.OPENROUTER_CHAT_MODEL || getPrimaryChatModel()
@@ -594,7 +599,8 @@ export function createOpenRouterClient(): OpenRouterClient {
594
599
  * Check if OpenRouter API key is available
595
600
  */
596
601
  export function hasOpenRouterKey(): boolean {
597
- return !!process.env.OPENROUTER_API_KEY;
602
+ const apiKey = process.env.OPENROUTER_API_KEY;
603
+ return !!apiKey && stripBOM(apiKey).length > 0;
598
604
  }
599
605
 
600
606
  /**