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.
- package/README.md +10 -0
- package/dist/core/config/feature-flags.d.ts +52 -1
- package/dist/core/config/feature-flags.d.ts.map +1 -1
- package/dist/core/config/feature-flags.js +14 -3
- package/dist/core/config/feature-flags.js.map +1 -1
- package/dist/core/context/access-tracker.d.ts +35 -0
- package/dist/core/context/access-tracker.d.ts.map +1 -1
- package/dist/core/context/access-tracker.js +97 -0
- package/dist/core/context/access-tracker.js.map +1 -1
- package/dist/core/context/auto-injection-engine.d.ts +62 -0
- package/dist/core/context/auto-injection-engine.d.ts.map +1 -0
- package/dist/core/context/auto-injection-engine.js +167 -0
- package/dist/core/context/auto-injection-engine.js.map +1 -0
- package/dist/core/context/auto-unload-engine.d.ts +84 -0
- package/dist/core/context/auto-unload-engine.d.ts.map +1 -0
- package/dist/core/context/auto-unload-engine.js +238 -0
- package/dist/core/context/auto-unload-engine.js.map +1 -0
- package/dist/core/context/context-health.d.ts +92 -0
- package/dist/core/context/context-health.d.ts.map +1 -0
- package/dist/core/context/context-health.js +263 -0
- package/dist/core/context/context-health.js.map +1 -0
- package/dist/core/context/index.d.ts +7 -2
- package/dist/core/context/index.d.ts.map +1 -1
- package/dist/core/context/index.js +29 -2
- package/dist/core/context/index.js.map +1 -1
- package/dist/core/intelligence/context-budget.d.ts +64 -1
- package/dist/core/intelligence/context-budget.d.ts.map +1 -1
- package/dist/core/intelligence/context-budget.js +151 -1
- package/dist/core/intelligence/context-budget.js.map +1 -1
- package/dist/core/ralph/index.d.ts +6 -2
- package/dist/core/ralph/index.d.ts.map +1 -1
- package/dist/core/ralph/index.js +8 -2
- package/dist/core/ralph/index.js.map +1 -1
- package/dist/core/ralph/progress-tracker.d.ts +13 -0
- package/dist/core/ralph/progress-tracker.d.ts.map +1 -1
- package/dist/core/ralph/progress-tracker.js +51 -0
- package/dist/core/ralph/progress-tracker.js.map +1 -1
- package/dist/hooks/pre-tool-use.d.ts +4 -1
- package/dist/hooks/pre-tool-use.d.ts.map +1 -1
- package/dist/hooks/pre-tool-use.js +51 -1
- package/dist/hooks/pre-tool-use.js.map +1 -1
- package/dist/hooks/pre-validate.d.ts +3 -3
- package/dist/hooks/pre-validate.js +33 -32
- package/dist/hooks/pre-validate.js.map +1 -1
- package/dist/hooks/session-end.d.ts +2 -1
- package/dist/hooks/session-end.d.ts.map +1 -1
- package/dist/hooks/session-end.js +77 -1
- package/dist/hooks/session-end.js.map +1 -1
- package/dist/hooks/session-start.d.ts +11 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +202 -17
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/hooks/user-prompt-submit.d.ts +3 -1
- package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +125 -4
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/mcp/tool-tiers.d.ts.map +1 -1
- package/dist/mcp/tool-tiers.js +1 -0
- package/dist/mcp/tool-tiers.js.map +1 -1
- package/dist/mcp/tools/memory.d.ts +11 -1
- package/dist/mcp/tools/memory.d.ts.map +1 -1
- package/dist/mcp/tools/memory.js +124 -3
- package/dist/mcp/tools/memory.js.map +1 -1
- package/dist/mcp/tools/retrieval.d.ts +2 -0
- package/dist/mcp/tools/retrieval.d.ts.map +1 -1
- package/dist/mcp/tools/retrieval.js +57 -4
- package/dist/mcp/tools/retrieval.js.map +1 -1
- package/dist/utils/gitignore.d.ts.map +1 -1
- package/dist/utils/gitignore.js +35 -32
- package/dist/utils/gitignore.js.map +1 -1
- 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 -
|
|
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
|
|
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 -
|
|
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:
|
|
23
|
+
baselineVerification: true,
|
|
21
24
|
hybridRetrieval: false,
|
|
22
|
-
preValidate:
|
|
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":"AAAA
|
|
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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAoDvD,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,4BAA4B;AAC5B,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAE/C,sBAAsB;AACtB,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,sDAAsD;AACtD,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,yCAAyC;AACzC,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB,4DAA4D;AAC5D,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,uDAAuD;AACvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,EAAE,uBAAuB;QAChC,SAAS,EAAE,iBAAiB,EAAE;QAC9B,YAAY,EAAE,GAAG;QACjB,WAAW,EAAE,GAAG;QAChB,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,oBAAoB,EAAE,CAAC;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA0B,EAC1B,QAAgB;IAEhB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,WAAW,EAAE,CAAC;QACvB,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAC9B,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;QAExB,0BAA0B;QAC1B,QAAQ,CAAC,WAAW,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE7D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAkB;QAC7B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,GAAG;QACf,kBAAkB,EAAE,CAAC;QACrB,WAAW,EAAE,GAAG,EAAE,gBAAgB;KACnC,CAAC;IAEF,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC7B,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IAExB,0BAA0B;IAC1B,OAAO,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE3D,6BAA6B;IAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC;QACvC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,QAAgB;IAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,CAAC;IACX,CAAC;IAED,8BAA8B;IAC9B,OAAO,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,OAAsB,EACtB,KAA0B;IAE1B,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,6CAA6C;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAE7E,wCAAwC;IACxC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,gBAAgB,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IAEtE,sDAAsD;IACtD,MAAM,WAAW,GAAG,YAAY,GAAG,WAAW,CAAC;IAE/C,kEAAkE;IAClE,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnG,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,sBAAsB;AAChF,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,KAA0B;IAC/C,qCAAqC;IACrC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;SAChD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjE,uDAAuD;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;IAC/D,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,KAA0B;IACnD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,OAAO,CAAC,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IACD,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA0B,EAC1B,YAAoB,8BAA8B;IAElD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA0B,EAC1B,IAAY,EAAE;IAEd,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;SACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;SAC7C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,QAAgB,EAChB,YAAoB,8BAA8B;IAElD,OAAO,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC;AAC5D,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAA0B;IAChE,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KACjD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA0B;IAClE,8BAA8B;IAC9B,IAAI,KAAK,CAAC,OAAO,KAAK,uBAAuB,EAAE,CAAC;QAC9C,uCAAuC;QACvC,OAAO,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ;QACR,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;KACjD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB;IAElB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAE3E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,YAAY,CAAsB,YAAY,CAAC,CAAC;QAC/E,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IAED,OAAO,yBAAyB,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,EAClB,KAA0B;IAE1B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA0B;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAC5D,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,IAAI,OAAO,WAAW,MAAM,OAAO,CAAC,WAAW,YAAY,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA0B;IAC1D,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI;QACtG,CAAC,CAAC,CAAC,CAAC;IAEN,OAAO,UAAU,KAAK,CAAC,QAAQ,CAAC,IAAI,aAAa,WAAW,CAAC,MAAM,eAAe,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AACzH,CAAC;AAED,gFAAgF;AAChF,mCAAmC;AACnC,gFAAgF;AAEhF,oFAAoF;AACpF,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,iFAAiF;AACjF,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAalC;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAsB,EACtB,cAAsB,CAAC,qCAAqC;;IAE5D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;IAC1D,MAAM,kBAAkB,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAE5D,8CAA8C;IAC9C,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,kBAAkB,GAAG,sBAAsB,CAAC,CAAC;IAE9E,6DAA6D;IAC7D,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;IAEtE,iDAAiD;IACjD,MAAM,YAAY,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAElE,mCAAmC;IACnC,2EAA2E;IAC3E,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;IAEtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0B,EAC1B,iBAAyB,CAAC,EAC1B,UAII,EAAE;IAEN,MAAM,EACJ,WAAW,GAAG,GAAG,EACjB,sBAAsB,GAAG,yBAAyB,EAClD,KAAK,GAAG,EAAE,GACX,GAAG,OAAO,CAAC;IAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,+DAA+D;IAC/D,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,CAAC;SACnE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAEvC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9C,+BAA+B;QAC/B,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAEtE,IAAI,aAAa,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YAExE,aAAa,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,kBAAkB;gBAClB,aAAa;gBACb,aAAa,EAAE,CAAC,EAAE,wBAAwB;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;IAEhE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,KAA0B,EAC1B,QAAgB,EAChB,iBAAyB,CAAC;IAE1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,CAAC,oCAAoC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACjE,OAAO,QAAQ,IAAI,GAAG,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA0B,EAC1B,cAAsB,yBAAyB;IAE/C,OAAO,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAyB;IAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,MAAM,SAAS,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,aAAa,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,OAAO,QAAQ,WAAW,QAAQ,CAAC,kBAAkB,QAAQ,MAAM,GAAG,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,aAAa,SAAS,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -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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"}
|