dino-spec 13.1.1 → 13.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.
Files changed (71) hide show
  1. package/README.md +10 -0
  2. package/dist/core/config/feature-flags.d.ts +52 -1
  3. package/dist/core/config/feature-flags.d.ts.map +1 -1
  4. package/dist/core/config/feature-flags.js +14 -3
  5. package/dist/core/config/feature-flags.js.map +1 -1
  6. package/dist/core/context/access-tracker.d.ts +35 -0
  7. package/dist/core/context/access-tracker.d.ts.map +1 -1
  8. package/dist/core/context/access-tracker.js +97 -0
  9. package/dist/core/context/access-tracker.js.map +1 -1
  10. package/dist/core/context/auto-injection-engine.d.ts +62 -0
  11. package/dist/core/context/auto-injection-engine.d.ts.map +1 -0
  12. package/dist/core/context/auto-injection-engine.js +167 -0
  13. package/dist/core/context/auto-injection-engine.js.map +1 -0
  14. package/dist/core/context/auto-unload-engine.d.ts +84 -0
  15. package/dist/core/context/auto-unload-engine.d.ts.map +1 -0
  16. package/dist/core/context/auto-unload-engine.js +238 -0
  17. package/dist/core/context/auto-unload-engine.js.map +1 -0
  18. package/dist/core/context/context-health.d.ts +92 -0
  19. package/dist/core/context/context-health.d.ts.map +1 -0
  20. package/dist/core/context/context-health.js +263 -0
  21. package/dist/core/context/context-health.js.map +1 -0
  22. package/dist/core/context/index.d.ts +7 -2
  23. package/dist/core/context/index.d.ts.map +1 -1
  24. package/dist/core/context/index.js +29 -2
  25. package/dist/core/context/index.js.map +1 -1
  26. package/dist/core/intelligence/context-budget.d.ts +64 -1
  27. package/dist/core/intelligence/context-budget.d.ts.map +1 -1
  28. package/dist/core/intelligence/context-budget.js +151 -1
  29. package/dist/core/intelligence/context-budget.js.map +1 -1
  30. package/dist/core/ralph/index.d.ts +6 -2
  31. package/dist/core/ralph/index.d.ts.map +1 -1
  32. package/dist/core/ralph/index.js +8 -2
  33. package/dist/core/ralph/index.js.map +1 -1
  34. package/dist/core/ralph/progress-tracker.d.ts +13 -0
  35. package/dist/core/ralph/progress-tracker.d.ts.map +1 -1
  36. package/dist/core/ralph/progress-tracker.js +51 -0
  37. package/dist/core/ralph/progress-tracker.js.map +1 -1
  38. package/dist/hooks/pre-tool-use.d.ts +4 -1
  39. package/dist/hooks/pre-tool-use.d.ts.map +1 -1
  40. package/dist/hooks/pre-tool-use.js +51 -1
  41. package/dist/hooks/pre-tool-use.js.map +1 -1
  42. package/dist/hooks/pre-validate.d.ts +3 -3
  43. package/dist/hooks/pre-validate.js +33 -32
  44. package/dist/hooks/pre-validate.js.map +1 -1
  45. package/dist/hooks/session-end.d.ts +2 -1
  46. package/dist/hooks/session-end.d.ts.map +1 -1
  47. package/dist/hooks/session-end.js +77 -1
  48. package/dist/hooks/session-end.js.map +1 -1
  49. package/dist/hooks/session-start.d.ts +11 -1
  50. package/dist/hooks/session-start.d.ts.map +1 -1
  51. package/dist/hooks/session-start.js +202 -17
  52. package/dist/hooks/session-start.js.map +1 -1
  53. package/dist/hooks/user-prompt-submit.d.ts +3 -1
  54. package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
  55. package/dist/hooks/user-prompt-submit.js +125 -4
  56. package/dist/hooks/user-prompt-submit.js.map +1 -1
  57. package/dist/mcp/tool-tiers.d.ts.map +1 -1
  58. package/dist/mcp/tool-tiers.js +1 -0
  59. package/dist/mcp/tool-tiers.js.map +1 -1
  60. package/dist/mcp/tools/memory.d.ts +11 -1
  61. package/dist/mcp/tools/memory.d.ts.map +1 -1
  62. package/dist/mcp/tools/memory.js +124 -3
  63. package/dist/mcp/tools/memory.js.map +1 -1
  64. package/dist/mcp/tools/retrieval.d.ts +2 -0
  65. package/dist/mcp/tools/retrieval.d.ts.map +1 -1
  66. package/dist/mcp/tools/retrieval.js +57 -4
  67. package/dist/mcp/tools/retrieval.js.map +1 -1
  68. package/dist/utils/gitignore.d.ts.map +1 -1
  69. package/dist/utils/gitignore.js +35 -32
  70. package/dist/utils/gitignore.js.map +1 -1
  71. package/package.json +1 -1
package/README.md CHANGED
@@ -16,6 +16,16 @@
16
16
 
17
17
  ## Features
18
18
 
19
+ ### v13.3.0 - Full Auto Context Engineering
20
+
21
+ - **Automatic Context Management** - Zero manual CLI intervention for context engineering
22
+ - **Auto Context Injection** - JIT loads files/symbols based on demand signals from prompts
23
+ - **Auto Context Unload** - Evicts cold (>10 min) and stale (>30 min) resources at 70%/80%/90% budget pressure
24
+ - **Auto Prefetch** - Preloads related files on focus change using dependency graph and access patterns
25
+ - **Context Health Monitor** - Calculates rot index, provides health scores and recommendations
26
+ - **Memory Auto-Recall** - Detects memory keywords (decided, why, previous) and auto-injects top 3 relevant memories
27
+ - **Feature Flags** - 6 opt-out flags (`autoContextInjection`, `autoPrefetch`, `autoUnload`, `autoStagedCompact`, `contextHealthMonitor`, `autoMemoryRecall`)
28
+
19
29
  ### v13.0.0 - Performance & Intelligence Suite
20
30
 
21
31
  - **Performance Optimizations**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Feature Flags - v12.4.5
2
+ * Feature Flags - v13.3.0
3
3
  *
4
4
  * Opt-in feature flags for dino-spec enhancements.
5
5
  * All features maintain backward compatibility and gracefully degrade.
@@ -9,6 +9,7 @@
9
9
  * v7.0.0: Added baselineVerification, autoCheckpoint
10
10
  * v7.1.0: Added hybridRetrieval
11
11
  * v12.4.5: Added preValidate for Smart Pre-Validation v2
12
+ * v13.3.0: Added auto context engineering flags
12
13
  */
13
14
  /**
14
15
  * Feature flag definitions
@@ -62,6 +63,54 @@ export interface FeatureFlags {
62
63
  * Default: false (opt-in feature)
63
64
  */
64
65
  memoryStagingArea: boolean;
66
+ /**
67
+ * Auto-compact at 90% budget threshold (v13.3.0)
68
+ * Automatically trigger medium compaction when budget reaches 90%
69
+ * Default: true (enabled by default)
70
+ */
71
+ autoCompactAt90: boolean;
72
+ /**
73
+ * Auto context injection (v13.3.0)
74
+ * Automatically analyze prompts and inject relevant context
75
+ * Uses demand detection to load JIT context
76
+ * Default: true (enabled by default)
77
+ */
78
+ autoContextInjection: boolean;
79
+ /**
80
+ * Auto prefetch on focus change (v13.3.0)
81
+ * Automatically preload relevant files when focus area changes
82
+ * Budget-aware: only prefetches when budget < 70%
83
+ * Default: true (enabled by default)
84
+ */
85
+ autoPrefetch: boolean;
86
+ /**
87
+ * Auto unload cold resources (v13.3.0)
88
+ * Automatically evict unused context when budget pressure rises
89
+ * Preserves recently accessed resources
90
+ * Default: true (enabled by default)
91
+ */
92
+ autoUnload: boolean;
93
+ /**
94
+ * Auto staged compaction (v13.3.0)
95
+ * Staged compaction at budget thresholds: 70%/80%/90%
96
+ * Always extracts decisions/learnings to memory first
97
+ * Default: true (enabled by default)
98
+ */
99
+ autoStagedCompact: boolean;
100
+ /**
101
+ * Context health monitor (v13.3.0)
102
+ * Track context staleness and prevent rot
103
+ * Reports health status on session start
104
+ * Default: true (enabled by default)
105
+ */
106
+ contextHealthMonitor: boolean;
107
+ /**
108
+ * Auto memory recall (v13.3.0)
109
+ * Automatically recall relevant memories based on prompt keywords
110
+ * Uses semantic matching for relevance
111
+ * Default: true (enabled by default)
112
+ */
113
+ autoMemoryRecall: boolean;
65
114
  }
66
115
  /**
67
116
  * Full configuration structure
@@ -77,6 +126,8 @@ export interface DinoConfig {
77
126
  }
78
127
  /**
79
128
  * Default feature flags
129
+ * v13.2.0: preValidate now defaults to true (opt-out instead of opt-in)
130
+ * v13.2.0: baselineVerification now defaults to true (opt-out instead of opt-in)
80
131
  */
81
132
  export declare const DEFAULT_FEATURE_FLAGS: FeatureFlags;
82
133
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../src/core/config/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAQnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAG5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAExE;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,UAAU,CAAC,CAsBrB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,YAAY,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,YAAY,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,YAAY,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,UAAU,CAAC,CAQrB"}
1
+ {"version":3,"file":"feature-flags.d.ts","sourceRoot":"","sources":["../../../src/core/config/feature-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;;;OAMG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,YAgBnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,UAG5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,CAExE;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,UAAU,CAAC,CAsBrB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,YAAY,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,YAAY,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,YAAY,EAC3B,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,IAAI,CAAC,CAIf;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,UAAU,GAAE,MAAsB,GACjC,OAAO,CAAC,UAAU,CAAC,CAQrB"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Feature Flags - v12.4.5
2
+ * Feature Flags - v13.3.0
3
3
  *
4
4
  * Opt-in feature flags for dino-spec enhancements.
5
5
  * All features maintain backward compatibility and gracefully degrade.
@@ -9,21 +9,32 @@
9
9
  * v7.0.0: Added baselineVerification, autoCheckpoint
10
10
  * v7.1.0: Added hybridRetrieval
11
11
  * v12.4.5: Added preValidate for Smart Pre-Validation v2
12
+ * v13.3.0: Added auto context engineering flags
12
13
  */
13
14
  import { join } from 'path';
14
15
  import { FileSystem } from '../../utils/file-system.js';
15
16
  import { DINO_DIR_NAME, VERSION } from './constants.js';
16
17
  /**
17
18
  * Default feature flags
19
+ * v13.2.0: preValidate now defaults to true (opt-out instead of opt-in)
20
+ * v13.2.0: baselineVerification now defaults to true (opt-out instead of opt-in)
18
21
  */
19
22
  export const DEFAULT_FEATURE_FLAGS = {
20
- baselineVerification: false,
23
+ baselineVerification: true,
21
24
  hybridRetrieval: false,
22
- preValidate: false,
25
+ preValidate: true,
23
26
  semanticQueryCache: true,
24
27
  budgetForecasting: true,
25
28
  phaseAwareRetrieval: true,
26
29
  memoryStagingArea: false,
30
+ autoCompactAt90: true,
31
+ // v13.3.0: Auto context engineering
32
+ autoContextInjection: true,
33
+ autoPrefetch: true,
34
+ autoUnload: true,
35
+ autoStagedCompact: true,
36
+ contextHealthMonitor: true,
37
+ autoMemoryRecall: true,
27
38
  };
28
39
  /**
29
40
  * Default configuration
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../../src/core/config/feature-flags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-flags.js","sourceRoot":"","sources":["../../../src/core/config/feature-flags.ts"],"names":[],"mappings":"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"}
@@ -111,4 +111,39 @@ export declare function formatAccessPatterns(state: AccessPatternsState): string
111
111
  * Format access pattern statistics
112
112
  */
113
113
  export declare function formatAccessStats(state: AccessPatternsState): string;
114
+ /**
115
+ * Cold resource with eviction score
116
+ */
117
+ export interface ColdResource {
118
+ file: string;
119
+ lastAccess: string;
120
+ minutesSinceAccess: number;
121
+ coldnessScore: number;
122
+ tokenEstimate: number;
123
+ }
124
+ /**
125
+ * Calculate coldness score for a file
126
+ * Higher score = colder (more evictable)
127
+ */
128
+ export declare function calculateColdnessScore(pattern: AccessPattern, budgetPressure: number): number;
129
+ /**
130
+ * Get cold resources sorted by coldness (coldest first)
131
+ */
132
+ export declare function getColdResources(state: AccessPatternsState, budgetPressure?: number, options?: {
133
+ minColdness?: number;
134
+ excludeRecentToolCalls?: number;
135
+ limit?: number;
136
+ }): ColdResource[];
137
+ /**
138
+ * Check if a file is cold
139
+ */
140
+ export declare function isFileCold(state: AccessPatternsState, filePath: string, budgetPressure?: number): boolean;
141
+ /**
142
+ * Get files accessed within recent N tool calls
143
+ */
144
+ export declare function getRecentlyAccessedFiles(state: AccessPatternsState, recentCount?: number): string[];
145
+ /**
146
+ * Format cold resources for display
147
+ */
148
+ export declare function formatColdResources(resources: ColdResource[]): string;
114
149
  //# sourceMappingURL=access-tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-tracker.d.ts","sourceRoot":"","sources":["../../../src/core/context/access-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,gCAAgC;IAChC,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAMD,4BAA4B;AAC5B,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C,sBAAsB;AACtB,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAW3D,uDAAuD;AACvD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAMlD;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,mBAAmB,CAU/D;AAWD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,MAAM,GACf,aAAa,CAuCf;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,MAAM,GACf,MAAM,CAQR;AA+CD;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAK3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,SAAS,GAAE,MAAuC,GACjD,aAAa,EAAE,CAIjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,mBAAmB,EAC1B,CAAC,GAAE,MAAW,GACb,aAAa,EAAE,CAIjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,mBAAmB,EAC1B,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAuC,GACjD,OAAO,CAET;AAMD;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CASvF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,mBAAmB,CAoBzF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAa9B;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,IAAI,CAAC,CAIf;AAMD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAsBvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAOpE"}
1
+ {"version":3,"file":"access-tracker.d.ts","sourceRoot":"","sources":["../../../src/core/context/access-tracker.ts"],"names":[],"mappings":"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"}
@@ -262,4 +262,101 @@ export function formatAccessStats(state) {
262
262
  : 0;
263
263
  return `Files: ${state.patterns.size}, Likely: ${likelyFiles.length}, Avg prob: ${(avgProbability * 100).toFixed(1)}%`;
264
264
  }
265
+ // =============================================================================
266
+ // v13.3.0: Cold Resource Detection
267
+ // =============================================================================
268
+ /** Cold resource threshold - files not accessed in this many tool calls are cold */
269
+ const COLD_THRESHOLD_TOOL_CALLS = 10;
270
+ /** Cold resource threshold - files not accessed in this many minutes are cold */
271
+ const COLD_THRESHOLD_MINUTES = 30;
272
+ /**
273
+ * Calculate coldness score for a file
274
+ * Higher score = colder (more evictable)
275
+ */
276
+ export function calculateColdnessScore(pattern, budgetPressure // 0-1, higher = more budget pressure
277
+ ) {
278
+ const now = Date.now();
279
+ const lastAccess = new Date(pattern.lastAccess).getTime();
280
+ const minutesSinceAccess = (now - lastAccess) / (1000 * 60);
281
+ // Time factor: exponentially colder over time
282
+ const timeFactor = 1 - Math.exp(-minutesSinceAccess / COLD_THRESHOLD_MINUTES);
283
+ // Access frequency factor: less frequently accessed = colder
284
+ const frequencyFactor = 1 / (1 + Math.log10(pattern.accessCount + 1));
285
+ // Combine factors with budget pressure weighting
286
+ const baseColdness = (timeFactor * 0.6) + (frequencyFactor * 0.4);
287
+ // Apply budget pressure multiplier
288
+ // At high budget pressure (>90%), even somewhat warm resources become cold
289
+ const pressureMultiplier = 1 + (budgetPressure * 0.5);
290
+ return Math.min(1, baseColdness * pressureMultiplier);
291
+ }
292
+ /**
293
+ * Get cold resources sorted by coldness (coldest first)
294
+ */
295
+ export function getColdResources(state, budgetPressure = 0, options = {}) {
296
+ const { minColdness = 0.5, excludeRecentToolCalls = COLD_THRESHOLD_TOOL_CALLS, limit = 20, } = options;
297
+ const now = Date.now();
298
+ const coldResources = [];
299
+ // Get recent files to exclude (most recently accessed N files)
300
+ const recentFiles = getTopAccessedFiles(state, excludeRecentToolCalls)
301
+ .map(p => p.file);
302
+ const recentSet = new Set(recentFiles);
303
+ for (const pattern of state.patterns.values()) {
304
+ // Skip recently accessed files
305
+ if (recentSet.has(pattern.file)) {
306
+ continue;
307
+ }
308
+ const coldnessScore = calculateColdnessScore(pattern, budgetPressure);
309
+ if (coldnessScore >= minColdness) {
310
+ const lastAccess = new Date(pattern.lastAccess).getTime();
311
+ const minutesSinceAccess = Math.round((now - lastAccess) / (1000 * 60));
312
+ coldResources.push({
313
+ file: pattern.file,
314
+ lastAccess: pattern.lastAccess,
315
+ minutesSinceAccess,
316
+ coldnessScore,
317
+ tokenEstimate: 0, // Will be set by caller
318
+ });
319
+ }
320
+ }
321
+ // Sort by coldness (coldest first)
322
+ coldResources.sort((a, b) => b.coldnessScore - a.coldnessScore);
323
+ return coldResources.slice(0, limit);
324
+ }
325
+ /**
326
+ * Check if a file is cold
327
+ */
328
+ export function isFileCold(state, filePath, budgetPressure = 0) {
329
+ const pattern = state.patterns.get(filePath);
330
+ if (!pattern) {
331
+ return true; // Unknown files are considered cold
332
+ }
333
+ const coldness = calculateColdnessScore(pattern, budgetPressure);
334
+ return coldness >= 0.5;
335
+ }
336
+ /**
337
+ * Get files accessed within recent N tool calls
338
+ */
339
+ export function getRecentlyAccessedFiles(state, recentCount = COLD_THRESHOLD_TOOL_CALLS) {
340
+ return getTopAccessedFiles(state, recentCount).map(p => p.file);
341
+ }
342
+ /**
343
+ * Format cold resources for display
344
+ */
345
+ export function formatColdResources(resources) {
346
+ if (resources.length === 0) {
347
+ return 'No cold resources found.';
348
+ }
349
+ const lines = [];
350
+ lines.push(`### Cold Resources (${resources.length} files)`);
351
+ lines.push('');
352
+ for (const resource of resources.slice(0, 10)) {
353
+ const coldness = (resource.coldnessScore * 100).toFixed(0);
354
+ const tokens = resource.tokenEstimate > 0 ? ` (~${resource.tokenEstimate} tokens)` : '';
355
+ lines.push(`- \`${resource.file}\` (${coldness}% cold, ${resource.minutesSinceAccess}m ago${tokens})`);
356
+ }
357
+ if (resources.length > 10) {
358
+ lines.push(`- ... and ${resources.length - 10} more`);
359
+ }
360
+ return lines.join('\n');
361
+ }
265
362
  //# sourceMappingURL=access-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"access-tracker.js","sourceRoot":"","sources":["../../../src/core/context/access-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-tracker.js","sourceRoot":"","sources":["../../../src/core/context/access-tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Auto Injection Engine - v13.3.0
3
+ *
4
+ * Automatically injects relevant context based on prompt analysis.
5
+ * Part of the Auto Context Engineering system.
6
+ *
7
+ * Features:
8
+ * - Demand detection from user prompts
9
+ * - Just-in-time context loading
10
+ * - Relevance-based filtering
11
+ * - Budget-aware injection
12
+ */
13
+ import { type DemandSignal } from './demand-detector.js';
14
+ /**
15
+ * Auto injection result
16
+ */
17
+ export interface AutoInjectionResult {
18
+ executed: boolean;
19
+ reason: string;
20
+ signals: DemandSignal[];
21
+ injectedContext: string;
22
+ tokensInjected: number;
23
+ relevanceScore: number;
24
+ }
25
+ /**
26
+ * Auto injection options
27
+ */
28
+ export interface AutoInjectionOptions {
29
+ /** Current budget percentage (0-100) */
30
+ budgetPercentage?: number;
31
+ /** Minimum relevance score to inject (0-1) */
32
+ minRelevance?: number;
33
+ /** Maximum tokens to inject */
34
+ maxTokens?: number;
35
+ /** Include failures/learnings */
36
+ includeFailures?: boolean;
37
+ }
38
+ /**
39
+ * Check if auto injection should execute
40
+ */
41
+ export declare function shouldAutoInject(budgetPercentage: number, signals: DemandSignal[]): boolean;
42
+ /**
43
+ * Execute auto injection for a user prompt
44
+ */
45
+ export declare function executeAutoInjection(prompt: string, projectDir: string, options?: AutoInjectionOptions): Promise<AutoInjectionResult>;
46
+ /**
47
+ * Quick check if a prompt has demand signals
48
+ */
49
+ export declare function hasDemandSignals(prompt: string): boolean;
50
+ /**
51
+ * Get demand signal summary
52
+ */
53
+ export declare function getDemandSummary(prompt: string): string;
54
+ /**
55
+ * Format auto injection result for display
56
+ */
57
+ export declare function formatAutoInjectionResult(result: AutoInjectionResult): string;
58
+ /**
59
+ * Format demand signals for logging
60
+ */
61
+ export declare function formatDemandSignals(signals: DemandSignal[]): string;
62
+ //# sourceMappingURL=auto-injection-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-injection-engine.d.ts","sourceRoot":"","sources":["../../../src/core/context/auto-injection-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,YAAY,EAOlB,MAAM,sBAAsB,CAAC;AAO9B;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAmBD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAoBT;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA8E9B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAavD;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAO7E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAgBnE"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Auto Injection Engine - v13.3.0
3
+ *
4
+ * Automatically injects relevant context based on prompt analysis.
5
+ * Part of the Auto Context Engineering system.
6
+ *
7
+ * Features:
8
+ * - Demand detection from user prompts
9
+ * - Just-in-time context loading
10
+ * - Relevance-based filtering
11
+ * - Budget-aware injection
12
+ */
13
+ import { detectDemandSignals, loadContextJIT, shouldInjectContext, formatAsReminder, calculateRelevanceScore, } from './demand-detector.js';
14
+ import { isFeatureEnabled } from '../config/feature-flags.js';
15
+ // =============================================================================
16
+ // Constants
17
+ // =============================================================================
18
+ /** Budget threshold above which injection is limited */
19
+ const INJECTION_BUDGET_THRESHOLD = 80;
20
+ /** Default minimum relevance for injection */
21
+ const DEFAULT_MIN_RELEVANCE = 0.3;
22
+ /** Default maximum tokens to inject */
23
+ const DEFAULT_MAX_TOKENS = 500;
24
+ // =============================================================================
25
+ // Core Logic
26
+ // =============================================================================
27
+ /**
28
+ * Check if auto injection should execute
29
+ */
30
+ export function shouldAutoInject(budgetPercentage, signals) {
31
+ // Don't inject if budget is critical
32
+ if (budgetPercentage >= 90) {
33
+ return false;
34
+ }
35
+ // Need at least one signal
36
+ if (signals.length === 0) {
37
+ return false;
38
+ }
39
+ // Check for high-confidence signals
40
+ const hasHighConfidence = signals.some(s => s.confidence === 'high');
41
+ if (hasHighConfidence) {
42
+ return true;
43
+ }
44
+ // Check for medium confidence with budget headroom
45
+ const hasMediumConfidence = signals.some(s => s.confidence === 'medium');
46
+ return hasMediumConfidence && budgetPercentage < INJECTION_BUDGET_THRESHOLD;
47
+ }
48
+ /**
49
+ * Execute auto injection for a user prompt
50
+ */
51
+ export async function executeAutoInjection(prompt, projectDir, options = {}) {
52
+ const { budgetPercentage = 50, minRelevance = DEFAULT_MIN_RELEVANCE, maxTokens = DEFAULT_MAX_TOKENS, includeFailures = true, } = options;
53
+ // Check feature flag
54
+ const enabled = await isFeatureEnabled('autoContextInjection', projectDir);
55
+ if (!enabled) {
56
+ return {
57
+ executed: false,
58
+ reason: 'autoContextInjection feature flag is disabled',
59
+ signals: [],
60
+ injectedContext: '',
61
+ tokensInjected: 0,
62
+ relevanceScore: 0,
63
+ };
64
+ }
65
+ // Detect demand signals
66
+ const signals = detectDemandSignals(prompt);
67
+ // Check if we should inject
68
+ if (!shouldAutoInject(budgetPercentage, signals)) {
69
+ return {
70
+ executed: false,
71
+ reason: signals.length === 0
72
+ ? 'No demand signals detected'
73
+ : `Budget at ${budgetPercentage}% - injection limited`,
74
+ signals,
75
+ injectedContext: '',
76
+ tokensInjected: 0,
77
+ relevanceScore: 0,
78
+ };
79
+ }
80
+ // Load context JIT
81
+ const jitResult = await loadContextJIT(prompt, projectDir, {
82
+ minRelevance,
83
+ maxEntries: 5,
84
+ includeFailures,
85
+ });
86
+ // Check if context should be injected
87
+ if (!shouldInjectContext(jitResult, minRelevance)) {
88
+ return {
89
+ executed: false,
90
+ reason: 'Loaded context below relevance threshold',
91
+ signals,
92
+ injectedContext: '',
93
+ tokensInjected: 0,
94
+ relevanceScore: calculateRelevanceScore(prompt, jitResult),
95
+ };
96
+ }
97
+ // Format injection
98
+ const injectedContext = formatAsReminder(jitResult);
99
+ // Truncate if over max tokens
100
+ let finalContext = injectedContext;
101
+ const estimatedTokens = Math.ceil(injectedContext.length / 4);
102
+ if (estimatedTokens > maxTokens) {
103
+ const maxChars = maxTokens * 4;
104
+ finalContext = injectedContext.substring(0, maxChars - 3) + '...';
105
+ }
106
+ const relevanceScore = calculateRelevanceScore(prompt, jitResult);
107
+ return {
108
+ executed: true,
109
+ reason: `Injected context based on ${signals.length} demand signal(s)`,
110
+ signals,
111
+ injectedContext: finalContext,
112
+ tokensInjected: jitResult.tokensEstimate,
113
+ relevanceScore,
114
+ };
115
+ }
116
+ /**
117
+ * Quick check if a prompt has demand signals
118
+ */
119
+ export function hasDemandSignals(prompt) {
120
+ const signals = detectDemandSignals(prompt);
121
+ return signals.length > 0;
122
+ }
123
+ /**
124
+ * Get demand signal summary
125
+ */
126
+ export function getDemandSummary(prompt) {
127
+ const signals = detectDemandSignals(prompt);
128
+ if (signals.length === 0) {
129
+ return 'No context demand detected';
130
+ }
131
+ const types = signals.map(s => s.type).join(', ');
132
+ const confidences = signals.map(s => s.confidence);
133
+ const maxConfidence = confidences.includes('high') ? 'high'
134
+ : confidences.includes('medium') ? 'medium' : 'low';
135
+ return `Demand: ${types} (${maxConfidence} confidence)`;
136
+ }
137
+ // =============================================================================
138
+ // Formatting
139
+ // =============================================================================
140
+ /**
141
+ * Format auto injection result for display
142
+ */
143
+ export function formatAutoInjectionResult(result) {
144
+ if (!result.executed) {
145
+ return `[dino] Auto-injection skipped: ${result.reason}`;
146
+ }
147
+ const signalTypes = result.signals.map(s => s.type).join(', ');
148
+ return `[dino] Context injected for: ${signalTypes} (~${result.tokensInjected} tokens, ${(result.relevanceScore * 100).toFixed(0)}% relevant)`;
149
+ }
150
+ /**
151
+ * Format demand signals for logging
152
+ */
153
+ export function formatDemandSignals(signals) {
154
+ if (signals.length === 0) {
155
+ return 'No demand signals detected';
156
+ }
157
+ const lines = [];
158
+ lines.push(`Detected ${signals.length} demand signal(s):`);
159
+ for (const signal of signals) {
160
+ lines.push(` - ${signal.type} (${signal.confidence}): "${signal.trigger}"`);
161
+ if (signal.keywords.length > 0) {
162
+ lines.push(` Keywords: ${signal.keywords.join(', ')}`);
163
+ }
164
+ }
165
+ return lines.join('\n');
166
+ }
167
+ //# sourceMappingURL=auto-injection-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-injection-engine.js","sourceRoot":"","sources":["../../../src/core/context/auto-injection-engine.ts"],"names":[],"mappings":"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"}