ds4-context-core 0.1.2 → 0.2.0-beta.2
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 +20 -4
- package/dist/adapter/conformance.d.ts +35 -0
- package/dist/adapter/conformance.d.ts.map +1 -0
- package/dist/adapter/conformance.js +260 -0
- package/dist/adapter/conformance.js.map +1 -0
- package/dist/adapter/local-kv.d.ts +125 -0
- package/dist/adapter/local-kv.d.ts.map +1 -0
- package/dist/adapter/local-kv.js +276 -0
- package/dist/adapter/local-kv.js.map +1 -0
- package/dist/adapter/runtime-adapter.d.ts +124 -0
- package/dist/adapter/runtime-adapter.d.ts.map +1 -0
- package/dist/adapter/runtime-adapter.js +289 -0
- package/dist/adapter/runtime-adapter.js.map +1 -0
- package/dist/config/config-loader.d.ts +1 -0
- package/dist/config/config-loader.d.ts.map +1 -1
- package/dist/config/config-loader.js +110 -1
- package/dist/config/config-loader.js.map +1 -1
- package/dist/config/config.d.ts +50 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +31 -0
- package/dist/config/config.js.map +1 -1
- package/dist/core/canonical-message.d.ts +2 -1
- package/dist/core/canonical-message.d.ts.map +1 -1
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest/context-manifest.d.ts +12 -0
- package/dist/manifest/context-manifest.d.ts.map +1 -1
- package/dist/memory/memory-manager.d.ts +7 -1
- package/dist/memory/memory-manager.d.ts.map +1 -1
- package/dist/memory/memory-manager.js +100 -3
- package/dist/memory/memory-manager.js.map +1 -1
- package/dist/memory/memory-types.d.ts +43 -0
- package/dist/memory/memory-types.d.ts.map +1 -1
- package/dist/memory/memory-types.js.map +1 -1
- package/dist/persistence/migrations.d.ts +2 -1
- package/dist/persistence/migrations.d.ts.map +1 -1
- package/dist/persistence/migrations.js +155 -25
- package/dist/persistence/migrations.js.map +1 -1
- package/dist/persistence/repositories/artifact-repository.d.ts +3 -1
- package/dist/persistence/repositories/artifact-repository.d.ts.map +1 -1
- package/dist/persistence/repositories/artifact-repository.js +16 -27
- package/dist/persistence/repositories/artifact-repository.js.map +1 -1
- package/dist/persistence/repositories/context-manifest-repository.d.ts +3 -1
- package/dist/persistence/repositories/context-manifest-repository.d.ts.map +1 -1
- package/dist/persistence/repositories/context-manifest-repository.js +10 -18
- package/dist/persistence/repositories/context-manifest-repository.js.map +1 -1
- package/dist/persistence/repositories/context-quality-repository.d.ts +21 -0
- package/dist/persistence/repositories/context-quality-repository.d.ts.map +1 -0
- package/dist/persistence/repositories/context-quality-repository.js +83 -0
- package/dist/persistence/repositories/context-quality-repository.js.map +1 -0
- package/dist/persistence/repositories/embedding-repository.d.ts +37 -0
- package/dist/persistence/repositories/embedding-repository.d.ts.map +1 -0
- package/dist/persistence/repositories/embedding-repository.js +142 -0
- package/dist/persistence/repositories/embedding-repository.js.map +1 -0
- package/dist/persistence/repositories/lease-repository.d.ts +22 -0
- package/dist/persistence/repositories/lease-repository.d.ts.map +1 -0
- package/dist/persistence/repositories/lease-repository.js +113 -0
- package/dist/persistence/repositories/lease-repository.js.map +1 -0
- package/dist/persistence/repositories/memory-repository.d.ts +34 -3
- package/dist/persistence/repositories/memory-repository.d.ts.map +1 -1
- package/dist/persistence/repositories/memory-repository.js +426 -64
- package/dist/persistence/repositories/memory-repository.js.map +1 -1
- package/dist/persistence/repositories/project-knowledge-repository.d.ts +28 -5
- package/dist/persistence/repositories/project-knowledge-repository.d.ts.map +1 -1
- package/dist/persistence/repositories/project-knowledge-repository.js +123 -53
- package/dist/persistence/repositories/project-knowledge-repository.js.map +1 -1
- package/dist/persistence/repositories/session-index-repository.d.ts +9 -1
- package/dist/persistence/repositories/session-index-repository.d.ts.map +1 -1
- package/dist/persistence/repositories/session-index-repository.js +38 -17
- package/dist/persistence/repositories/session-index-repository.js.map +1 -1
- package/dist/persistence/repositories/summary-repository.d.ts +3 -1
- package/dist/persistence/repositories/summary-repository.d.ts.map +1 -1
- package/dist/persistence/repositories/summary-repository.js +35 -31
- package/dist/persistence/repositories/summary-repository.js.map +1 -1
- package/dist/persistence/sqlite.d.ts +10 -0
- package/dist/persistence/sqlite.d.ts.map +1 -1
- package/dist/persistence/sqlite.js +41 -12
- package/dist/persistence/sqlite.js.map +1 -1
- package/dist/persistence/write-coordinator.d.ts +37 -0
- package/dist/persistence/write-coordinator.d.ts.map +1 -0
- package/dist/persistence/write-coordinator.js +120 -0
- package/dist/persistence/write-coordinator.js.map +1 -0
- package/dist/planner/context-planner.d.ts +5 -0
- package/dist/planner/context-planner.d.ts.map +1 -1
- package/dist/planner/context-planner.js +41 -62
- package/dist/planner/context-planner.js.map +1 -1
- package/dist/project/file-indexer.d.ts +5 -3
- package/dist/project/file-indexer.d.ts.map +1 -1
- package/dist/project/file-indexer.js +83 -38
- package/dist/project/file-indexer.js.map +1 -1
- package/dist/project/project-knowledge.d.ts +15 -3
- package/dist/project/project-knowledge.d.ts.map +1 -1
- package/dist/project/project-knowledge.js +168 -42
- package/dist/project/project-knowledge.js.map +1 -1
- package/dist/project/symbol-parser.d.ts +48 -0
- package/dist/project/symbol-parser.d.ts.map +1 -0
- package/dist/project/symbol-parser.js +427 -0
- package/dist/project/symbol-parser.js.map +1 -0
- package/dist/quality/context-quality.d.ts +172 -0
- package/dist/quality/context-quality.d.ts.map +1 -0
- package/dist/quality/context-quality.js +624 -0
- package/dist/quality/context-quality.js.map +1 -0
- package/dist/ranking/learned-ranker.d.ts +174 -0
- package/dist/ranking/learned-ranker.d.ts.map +1 -0
- package/dist/ranking/learned-ranker.js +782 -0
- package/dist/ranking/learned-ranker.js.map +1 -0
- package/dist/retrieval/embedding.d.ts +92 -0
- package/dist/retrieval/embedding.d.ts.map +1 -0
- package/dist/retrieval/embedding.js +56 -0
- package/dist/retrieval/embedding.js.map +1 -0
- package/dist/retrieval/retrieval-engine.d.ts +9 -1
- package/dist/retrieval/retrieval-engine.d.ts.map +1 -1
- package/dist/retrieval/retrieval-engine.js +105 -7
- package/dist/retrieval/retrieval-engine.js.map +1 -1
- package/dist/retrieval/semantic-index.d.ts +30 -0
- package/dist/retrieval/semantic-index.d.ts.map +1 -0
- package/dist/retrieval/semantic-index.js +284 -0
- package/dist/retrieval/semantic-index.js.map +1 -0
- package/dist/retrieval/semantic-quality.d.ts +52 -0
- package/dist/retrieval/semantic-quality.d.ts.map +1 -0
- package/dist/retrieval/semantic-quality.js +117 -0
- package/dist/retrieval/semantic-quality.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { sha256 } from "../shared/hash.js";
|
|
2
|
+
import { stableStringify } from "../shared/stable-json.js";
|
|
3
|
+
export const LOCAL_KV_ELIGIBILITY_VERSION = "local-kv-eligibility-v1";
|
|
4
|
+
export const LOCAL_KV_RUNTIME_PORT_VERSION = "local-kv-runtime-port-v1";
|
|
5
|
+
export const LOCAL_KV_DIAGNOSTICS_VERSION = "local-kv-diagnostics-v1";
|
|
6
|
+
function identifier(value, maximum = 256) {
|
|
7
|
+
return typeof value === "string"
|
|
8
|
+
&& value.length > 0
|
|
9
|
+
&& value.length <= maximum
|
|
10
|
+
&& value.trim() === value
|
|
11
|
+
&& !/[\u0000-\u001f\u007f]/u.test(value);
|
|
12
|
+
}
|
|
13
|
+
function validTokenCount(value) {
|
|
14
|
+
return Number.isSafeInteger(value) && value >= 0;
|
|
15
|
+
}
|
|
16
|
+
function assertStableOption(value, seen) {
|
|
17
|
+
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
18
|
+
return;
|
|
19
|
+
if (typeof value === "number") {
|
|
20
|
+
if (!Number.isFinite(value))
|
|
21
|
+
throw new Error("non-finite option number");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (typeof value === "undefined")
|
|
25
|
+
return;
|
|
26
|
+
if (typeof value !== "object" || value instanceof Uint8Array) {
|
|
27
|
+
throw new Error("unsupported option value");
|
|
28
|
+
}
|
|
29
|
+
if (seen.has(value))
|
|
30
|
+
throw new Error("circular option value");
|
|
31
|
+
const prototype = Object.getPrototypeOf(value);
|
|
32
|
+
if (!Array.isArray(value) && prototype !== Object.prototype && prototype !== null) {
|
|
33
|
+
throw new Error("non-plain option object");
|
|
34
|
+
}
|
|
35
|
+
seen.add(value);
|
|
36
|
+
try {
|
|
37
|
+
if (Array.isArray(value)) {
|
|
38
|
+
const extraKeys = Reflect.ownKeys(value).filter((key) => key !== "length" && (typeof key !== "string" || !/^(?:0|[1-9]\d*)$/u.test(key)));
|
|
39
|
+
if (extraKeys.length > 0)
|
|
40
|
+
throw new Error("unsupported array option property");
|
|
41
|
+
for (const item of value)
|
|
42
|
+
assertStableOption(item, seen);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
for (const key of Reflect.ownKeys(value)) {
|
|
46
|
+
if (typeof key !== "string")
|
|
47
|
+
throw new Error("symbol option key");
|
|
48
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
49
|
+
if (!descriptor?.enumerable || !("value" in descriptor)) {
|
|
50
|
+
throw new Error("non-data option property");
|
|
51
|
+
}
|
|
52
|
+
assertStableOption(descriptor.value, seen);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
seen.delete(value);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
function optionsHash(systemOptions, toolOptions) {
|
|
61
|
+
try {
|
|
62
|
+
const seen = new WeakSet();
|
|
63
|
+
assertStableOption(systemOptions, seen);
|
|
64
|
+
assertStableOption(toolOptions, seen);
|
|
65
|
+
return sha256(stableStringify({ systemOptions, toolOptions }));
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function deriveLocalKvEligibility(input) {
|
|
72
|
+
if (input.enabled !== true)
|
|
73
|
+
return { eligible: false, reason: "disabled" };
|
|
74
|
+
if (input.capabilityEnabled !== true)
|
|
75
|
+
return { eligible: false, reason: "capability-unsupported" };
|
|
76
|
+
if (input.destination !== "local")
|
|
77
|
+
return { eligible: false, reason: "non-local-destination" };
|
|
78
|
+
if (!identifier(input.provider))
|
|
79
|
+
return { eligible: false, reason: "invalid-provider" };
|
|
80
|
+
if (!identifier(input.model))
|
|
81
|
+
return { eligible: false, reason: "invalid-model" };
|
|
82
|
+
if (!identifier(input.modelRevision))
|
|
83
|
+
return { eligible: false, reason: "invalid-model-revision" };
|
|
84
|
+
if (!identifier(input.runtimeId))
|
|
85
|
+
return { eligible: false, reason: "invalid-runtime-identity" };
|
|
86
|
+
if (!identifier(input.runtimeRevision))
|
|
87
|
+
return { eligible: false, reason: "invalid-runtime-revision" };
|
|
88
|
+
if (!identifier(input.capabilityVersion, 64))
|
|
89
|
+
return { eligible: false, reason: "invalid-capability-version" };
|
|
90
|
+
if (!identifier(input.privacyPolicyVersion)) {
|
|
91
|
+
return { eligible: false, reason: "invalid-privacy-policy-version" };
|
|
92
|
+
}
|
|
93
|
+
const prefixBytes = typeof input.promptPrefix === "string"
|
|
94
|
+
? new TextEncoder().encode(input.promptPrefix)
|
|
95
|
+
: input.promptPrefix;
|
|
96
|
+
if (!(prefixBytes instanceof Uint8Array) || prefixBytes.byteLength === 0) {
|
|
97
|
+
return { eligible: false, reason: "invalid-prompt-prefix" };
|
|
98
|
+
}
|
|
99
|
+
if (!validTokenCount(input.prefixTokenCount)
|
|
100
|
+
|| !validTokenCount(input.contextTokenCount)
|
|
101
|
+
|| input.prefixTokenCount > input.contextTokenCount) {
|
|
102
|
+
return { eligible: false, reason: "invalid-token-count" };
|
|
103
|
+
}
|
|
104
|
+
const hashedOptions = optionsHash(input.systemOptions, input.toolOptions);
|
|
105
|
+
if (!hashedOptions)
|
|
106
|
+
return { eligible: false, reason: "invalid-options" };
|
|
107
|
+
const prefixHash = sha256(prefixBytes);
|
|
108
|
+
const providerModelHash = sha256(stableStringify({
|
|
109
|
+
provider: input.provider,
|
|
110
|
+
model: input.model,
|
|
111
|
+
modelRevision: input.modelRevision,
|
|
112
|
+
}));
|
|
113
|
+
const privacyHash = sha256(stableStringify({
|
|
114
|
+
destination: input.destination,
|
|
115
|
+
privacyPolicyVersion: input.privacyPolicyVersion,
|
|
116
|
+
}));
|
|
117
|
+
const runtimeHash = sha256(stableStringify({
|
|
118
|
+
runtimeId: input.runtimeId,
|
|
119
|
+
runtimeRevision: input.runtimeRevision,
|
|
120
|
+
capabilityVersion: input.capabilityVersion,
|
|
121
|
+
}));
|
|
122
|
+
const fingerprint = sha256(stableStringify({
|
|
123
|
+
version: LOCAL_KV_ELIGIBILITY_VERSION,
|
|
124
|
+
prefixHash,
|
|
125
|
+
providerModelHash,
|
|
126
|
+
optionsHash: hashedOptions,
|
|
127
|
+
privacyHash,
|
|
128
|
+
runtimeHash,
|
|
129
|
+
}));
|
|
130
|
+
return {
|
|
131
|
+
eligible: true,
|
|
132
|
+
key: {
|
|
133
|
+
version: LOCAL_KV_ELIGIBILITY_VERSION,
|
|
134
|
+
fingerprint,
|
|
135
|
+
prefixHash,
|
|
136
|
+
providerModelHash,
|
|
137
|
+
optionsHash: hashedOptions,
|
|
138
|
+
privacyHash,
|
|
139
|
+
runtimeHash,
|
|
140
|
+
},
|
|
141
|
+
prefixTokenCount: input.prefixTokenCount,
|
|
142
|
+
contextTokenCount: input.contextTokenCount,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function freshDiagnostics() {
|
|
146
|
+
return {
|
|
147
|
+
version: LOCAL_KV_DIAGNOSTICS_VERSION,
|
|
148
|
+
requests: 0,
|
|
149
|
+
eligibleRequests: 0,
|
|
150
|
+
bypassedRequests: 0,
|
|
151
|
+
hits: 0,
|
|
152
|
+
misses: 0,
|
|
153
|
+
rejected: 0,
|
|
154
|
+
unavailable: 0,
|
|
155
|
+
fullReplays: 0,
|
|
156
|
+
transportFailures: 0,
|
|
157
|
+
prefixTokens: 0,
|
|
158
|
+
contextTokens: 0,
|
|
159
|
+
savedPrefillTokens: 0,
|
|
160
|
+
replayPrefillTokens: 0,
|
|
161
|
+
replayPrefillLatencyMs: 0,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
function boundedAdd(current, increment) {
|
|
165
|
+
if (!Number.isFinite(increment) || increment < 0)
|
|
166
|
+
return current;
|
|
167
|
+
return Math.min(Number.MAX_SAFE_INTEGER, current + increment);
|
|
168
|
+
}
|
|
169
|
+
function validLatency(value) {
|
|
170
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0;
|
|
171
|
+
}
|
|
172
|
+
function validReuseAttempt(value, prefixTokens) {
|
|
173
|
+
if (!value || typeof value !== "object" || !("status" in value))
|
|
174
|
+
return false;
|
|
175
|
+
const attempt = value;
|
|
176
|
+
if (attempt.status === "miss" || attempt.status === "rejected" || attempt.status === "unavailable")
|
|
177
|
+
return true;
|
|
178
|
+
return attempt.status === "hit"
|
|
179
|
+
&& "output" in attempt
|
|
180
|
+
&& validTokenCount(attempt.savedPrefillTokens)
|
|
181
|
+
&& attempt.savedPrefillTokens <= prefixTokens
|
|
182
|
+
&& validLatency(attempt.prefillLatencyMs);
|
|
183
|
+
}
|
|
184
|
+
function validFullReplay(value) {
|
|
185
|
+
if (!value || typeof value !== "object")
|
|
186
|
+
return false;
|
|
187
|
+
const replay = value;
|
|
188
|
+
return "output" in replay
|
|
189
|
+
&& validTokenCount(replay.prefillTokens)
|
|
190
|
+
&& validLatency(replay.prefillLatencyMs);
|
|
191
|
+
}
|
|
192
|
+
/** Volatile aggregate controller; it stores no prompt, fingerprint, or cache handle. */
|
|
193
|
+
export class LocalKvReuseController {
|
|
194
|
+
aggregate = freshDiagnostics();
|
|
195
|
+
diagnostics() {
|
|
196
|
+
return { ...this.aggregate };
|
|
197
|
+
}
|
|
198
|
+
resetDiagnostics() {
|
|
199
|
+
this.aggregate = freshDiagnostics();
|
|
200
|
+
}
|
|
201
|
+
async complete(input, port) {
|
|
202
|
+
this.aggregate.requests = boundedAdd(this.aggregate.requests, 1);
|
|
203
|
+
const eligibility = deriveLocalKvEligibility(input);
|
|
204
|
+
if (!eligibility.eligible) {
|
|
205
|
+
this.aggregate.bypassedRequests = boundedAdd(this.aggregate.bypassedRequests, 1);
|
|
206
|
+
return { status: "ineligible", reason: eligibility.reason };
|
|
207
|
+
}
|
|
208
|
+
this.aggregate.eligibleRequests = boundedAdd(this.aggregate.eligibleRequests, 1);
|
|
209
|
+
this.aggregate.prefixTokens = boundedAdd(this.aggregate.prefixTokens, eligibility.prefixTokenCount);
|
|
210
|
+
this.aggregate.contextTokens = boundedAdd(this.aggregate.contextTokens, eligibility.contextTokenCount);
|
|
211
|
+
const runtimeRequest = {
|
|
212
|
+
eligibility: eligibility.key,
|
|
213
|
+
provider: input.provider,
|
|
214
|
+
model: input.model,
|
|
215
|
+
payload: input.payload,
|
|
216
|
+
prefixTokenCount: eligibility.prefixTokenCount,
|
|
217
|
+
contextTokenCount: eligibility.contextTokenCount,
|
|
218
|
+
};
|
|
219
|
+
let attempt = { status: "unavailable" };
|
|
220
|
+
try {
|
|
221
|
+
const candidate = await port.tryReuse(runtimeRequest);
|
|
222
|
+
if (validReuseAttempt(candidate, eligibility.prefixTokenCount))
|
|
223
|
+
attempt = candidate;
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
// Runtime/cache loss is intentionally indistinguishable from unavailable state.
|
|
227
|
+
}
|
|
228
|
+
if (attempt.status === "hit") {
|
|
229
|
+
this.aggregate.hits = boundedAdd(this.aggregate.hits, 1);
|
|
230
|
+
this.aggregate.savedPrefillTokens = boundedAdd(this.aggregate.savedPrefillTokens, attempt.savedPrefillTokens);
|
|
231
|
+
return {
|
|
232
|
+
status: "completed",
|
|
233
|
+
output: attempt.output,
|
|
234
|
+
metadata: {
|
|
235
|
+
mode: "hit",
|
|
236
|
+
prefixTokens: eligibility.prefixTokenCount,
|
|
237
|
+
contextTokens: eligibility.contextTokenCount,
|
|
238
|
+
savedPrefillTokens: attempt.savedPrefillTokens,
|
|
239
|
+
replayPrefillTokens: 0,
|
|
240
|
+
prefillLatencyMs: attempt.prefillLatencyMs,
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
if (attempt.status === "miss")
|
|
245
|
+
this.aggregate.misses = boundedAdd(this.aggregate.misses, 1);
|
|
246
|
+
else if (attempt.status === "rejected")
|
|
247
|
+
this.aggregate.rejected = boundedAdd(this.aggregate.rejected, 1);
|
|
248
|
+
else
|
|
249
|
+
this.aggregate.unavailable = boundedAdd(this.aggregate.unavailable, 1);
|
|
250
|
+
this.aggregate.fullReplays = boundedAdd(this.aggregate.fullReplays, 1);
|
|
251
|
+
try {
|
|
252
|
+
const replay = await port.fullReplay(runtimeRequest);
|
|
253
|
+
if (!validFullReplay(replay))
|
|
254
|
+
throw new Error("local KV runtime returned invalid replay metadata");
|
|
255
|
+
this.aggregate.replayPrefillTokens = boundedAdd(this.aggregate.replayPrefillTokens, replay.prefillTokens);
|
|
256
|
+
this.aggregate.replayPrefillLatencyMs = boundedAdd(this.aggregate.replayPrefillLatencyMs, replay.prefillLatencyMs);
|
|
257
|
+
return {
|
|
258
|
+
status: "completed",
|
|
259
|
+
output: replay.output,
|
|
260
|
+
metadata: {
|
|
261
|
+
mode: "full-replay",
|
|
262
|
+
prefixTokens: eligibility.prefixTokenCount,
|
|
263
|
+
contextTokens: eligibility.contextTokenCount,
|
|
264
|
+
savedPrefillTokens: 0,
|
|
265
|
+
replayPrefillTokens: replay.prefillTokens,
|
|
266
|
+
prefillLatencyMs: replay.prefillLatencyMs,
|
|
267
|
+
},
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
this.aggregate.transportFailures = boundedAdd(this.aggregate.transportFailures, 1);
|
|
272
|
+
throw error;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
//# sourceMappingURL=local-kv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-kv.js","sourceRoot":"","sources":["../../src/adapter/local-kv.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { CanonicalMessage } from "../core/canonical-message.ts";
|
|
2
|
+
import type { ModelDescriptor } from "../core/model-profile.ts";
|
|
3
|
+
import type { EmbeddingPort } from "../retrieval/embedding.ts";
|
|
4
|
+
import type { LocalKvCompletionMetadata, LocalKvReuseDiagnostics, LocalKvRuntimePort } from "./local-kv.ts";
|
|
5
|
+
export declare const RUNTIME_ADAPTER_CONTRACT_VERSION: "runtime-adapter-v1";
|
|
6
|
+
export declare const RUNTIME_HISTORY_SCHEMA_VERSION: "runtime-history-v1";
|
|
7
|
+
export declare const RUNTIME_CAPABILITY_IDS: readonly ["compaction", "provider-continuation", "embeddings", "local-kv-reuse"];
|
|
8
|
+
export type RuntimeCapabilityId = typeof RUNTIME_CAPABILITY_IDS[number];
|
|
9
|
+
export type RuntimeDiagnosticSeverity = "info" | "warning" | "error";
|
|
10
|
+
export interface RuntimeAdapterIdentity {
|
|
11
|
+
runtimeId: string;
|
|
12
|
+
adapterName: string;
|
|
13
|
+
adapterVersion: string;
|
|
14
|
+
contractVersion: typeof RUNTIME_ADAPTER_CONTRACT_VERSION;
|
|
15
|
+
}
|
|
16
|
+
export interface RuntimeCapabilityDeclaration {
|
|
17
|
+
id: RuntimeCapabilityId;
|
|
18
|
+
supported: boolean;
|
|
19
|
+
version?: string;
|
|
20
|
+
reason?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface RuntimeCapabilityRequest {
|
|
23
|
+
id: RuntimeCapabilityId;
|
|
24
|
+
required?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface RuntimeCapabilityStatus extends RuntimeCapabilityDeclaration {
|
|
27
|
+
requested: boolean;
|
|
28
|
+
required: boolean;
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
}
|
|
31
|
+
export interface RuntimeAdapterDiagnostic {
|
|
32
|
+
code: string;
|
|
33
|
+
severity: RuntimeDiagnosticSeverity;
|
|
34
|
+
message: string;
|
|
35
|
+
capability?: RuntimeCapabilityId;
|
|
36
|
+
}
|
|
37
|
+
export interface RuntimeCapabilityNegotiation {
|
|
38
|
+
contractVersion: typeof RUNTIME_ADAPTER_CONTRACT_VERSION;
|
|
39
|
+
statuses: RuntimeCapabilityStatus[];
|
|
40
|
+
enabled: RuntimeCapabilityId[];
|
|
41
|
+
disabled: RuntimeCapabilityId[];
|
|
42
|
+
diagnostics: RuntimeAdapterDiagnostic[];
|
|
43
|
+
}
|
|
44
|
+
export interface RuntimeToolAtomicGroup {
|
|
45
|
+
id: string;
|
|
46
|
+
messageIds: string[];
|
|
47
|
+
toolCallIds: string[];
|
|
48
|
+
complete: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface RuntimeHistorySnapshot {
|
|
51
|
+
schemaVersion: typeof RUNTIME_HISTORY_SCHEMA_VERSION;
|
|
52
|
+
runtimeId: string;
|
|
53
|
+
sessionId: string;
|
|
54
|
+
revision: string;
|
|
55
|
+
projectRoot: string;
|
|
56
|
+
messages: CanonicalMessage[];
|
|
57
|
+
toolAtomicGroups: RuntimeToolAtomicGroup[];
|
|
58
|
+
}
|
|
59
|
+
export interface RuntimeHistoryValidationIssue {
|
|
60
|
+
code: string;
|
|
61
|
+
message: string;
|
|
62
|
+
messageId?: string;
|
|
63
|
+
toolCallId?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface RuntimePrivacyRequest<T = unknown> {
|
|
66
|
+
provider: string;
|
|
67
|
+
payload: T;
|
|
68
|
+
}
|
|
69
|
+
export interface RuntimePrivacyResult<T = unknown> {
|
|
70
|
+
provider: string;
|
|
71
|
+
destination: "local" | "remote";
|
|
72
|
+
payload: T;
|
|
73
|
+
changed: boolean;
|
|
74
|
+
blockedBlocks: number;
|
|
75
|
+
secretRedactions: number;
|
|
76
|
+
}
|
|
77
|
+
export interface RuntimeCompletionRequest<T = unknown> {
|
|
78
|
+
provider: string;
|
|
79
|
+
model: string;
|
|
80
|
+
payload: T;
|
|
81
|
+
}
|
|
82
|
+
export interface RuntimeCompletionTransportRequest<T = unknown> {
|
|
83
|
+
provider: string;
|
|
84
|
+
model: string;
|
|
85
|
+
destination: "local" | "remote";
|
|
86
|
+
payload: T;
|
|
87
|
+
}
|
|
88
|
+
export type RuntimeCompletionTransport = (request: RuntimeCompletionTransportRequest) => Promise<unknown>;
|
|
89
|
+
export type RuntimeCompletionResult = {
|
|
90
|
+
status: "completed";
|
|
91
|
+
output: unknown;
|
|
92
|
+
privacy: Omit<RuntimePrivacyResult, "payload">;
|
|
93
|
+
localKv?: LocalKvCompletionMetadata;
|
|
94
|
+
} | {
|
|
95
|
+
status: "fallback";
|
|
96
|
+
code: "adapter-closed" | "invalid-request" | "privacy-enforcement-failed" | "transport-failed";
|
|
97
|
+
reason: string;
|
|
98
|
+
retryable: boolean;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Runtime-facing DS4 boundary. Implementations own native history conversion,
|
|
102
|
+
* completion transport and lifecycle integration; core owns only this neutral contract.
|
|
103
|
+
*/
|
|
104
|
+
export interface RuntimeAdapter {
|
|
105
|
+
readonly identity: RuntimeAdapterIdentity;
|
|
106
|
+
readonly embeddingPort?: EmbeddingPort;
|
|
107
|
+
/** Optional volatile runtime-owned KV boundary; handles never cross into core. */
|
|
108
|
+
readonly localKvPort?: LocalKvRuntimePort;
|
|
109
|
+
capabilityDeclarations(): readonly RuntimeCapabilityDeclaration[];
|
|
110
|
+
negotiateCapabilities(requested: readonly RuntimeCapabilityRequest[]): RuntimeCapabilityNegotiation;
|
|
111
|
+
snapshotHistory(): Promise<RuntimeHistorySnapshot>;
|
|
112
|
+
rebuildDerivedState(): Promise<RuntimeHistorySnapshot>;
|
|
113
|
+
currentModel(): Promise<ModelDescriptor | undefined>;
|
|
114
|
+
trustedProjectRoot(): Promise<string>;
|
|
115
|
+
enforcePrivacy<T>(request: RuntimePrivacyRequest<T>): Promise<RuntimePrivacyResult<T>>;
|
|
116
|
+
complete<T>(request: RuntimeCompletionRequest<T>): Promise<RuntimeCompletionResult>;
|
|
117
|
+
diagnostics(): readonly RuntimeAdapterDiagnostic[];
|
|
118
|
+
localKvDiagnostics?(): LocalKvReuseDiagnostics;
|
|
119
|
+
shutdown(): Promise<void>;
|
|
120
|
+
}
|
|
121
|
+
export declare function negotiateRuntimeCapabilities(declarations: readonly RuntimeCapabilityDeclaration[], requested: readonly RuntimeCapabilityRequest[]): RuntimeCapabilityNegotiation;
|
|
122
|
+
export declare function buildCanonicalToolAtomicGroups(messages: readonly CanonicalMessage[]): RuntimeToolAtomicGroup[];
|
|
123
|
+
export declare function validateRuntimeHistorySnapshot(snapshot: RuntimeHistorySnapshot): RuntimeHistoryValidationIssue[];
|
|
124
|
+
//# sourceMappingURL=runtime-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/runtime-adapter.ts"],"names":[],"mappings":"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"}
|