acp-kernel 0.0.27 → 0.0.29
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 +23 -1
- package/dist/compress.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +113 -37
- package/dist/index.js.map +1 -1
- package/dist/recommend.d.ts +8 -0
- package/dist/recommend.d.ts.map +1 -1
- package/dist/search/algorithms/bm25.d.ts +3 -3
- package/dist/search/algorithms/bm25.d.ts.map +1 -1
- package/dist/search/algorithms/fuzzy.d.ts +14 -4
- package/dist/search/algorithms/fuzzy.d.ts.map +1 -1
- package/dist/search/algorithms/substring.d.ts.map +1 -1
- package/dist/search/doc-cache.d.ts +41 -0
- package/dist/search/doc-cache.d.ts.map +1 -0
- package/dist/search/index.d.ts +2 -0
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/tokenizer.d.ts +13 -2
- package/dist/search/tokenizer.d.ts.map +1 -1
- package/dist/search.d.ts +2 -0
- package/dist/search.d.ts.map +1 -1
- package/dist/transform-channel.d.ts +9 -0
- package/dist/transform-channel.d.ts.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/wire/formats.d.ts +10 -0
- package/dist/wire/formats.d.ts.map +1 -0
- package/dist/wire/index.d.ts +1 -0
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +52 -8
- package/dist/wire/index.js.map +1 -1
- package/dist/wire/responses.d.ts +15 -0
- package/dist/wire/responses.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/recommend.d.ts
CHANGED
|
@@ -37,5 +37,13 @@ export declare function computeProtectedRefs(messages: CoreMessage[], state: Com
|
|
|
37
37
|
* survives as its own range.
|
|
38
38
|
*/
|
|
39
39
|
export declare function buildCompressibleRanges(messages: CoreMessage[], state: CompressionState, config: Config, protectedZoneRefs?: Set<string>, countTokens?: (text: string) => number): ContextRanges;
|
|
40
|
+
/** Merge adjacent ranges into batches that clear `minChars` of REAL text —
|
|
41
|
+
* the same accounting `applyCompression` uses — so a recommended range is
|
|
42
|
+
* never below the threshold the kernel would atomically reject. Batching by
|
|
43
|
+
* token estimates (tokens*4) instead broke whenever the host injected a
|
|
44
|
+
* tokenizer where tokens != chars/4 (CJK-aware estimators are ~1:1, so
|
|
45
|
+
* tokens*4 overestimated size ~4x and nudge recommended ranges the apply
|
|
46
|
+
* side then refused). A sub-threshold tail batch is still emitted — callers
|
|
47
|
+
* filter by effectiveness separately (see pendingByTier). */
|
|
40
48
|
export declare function mergeRangesToThreshold(ranges: CompressibleRange[], minChars: number): CompressibleRange[];
|
|
41
49
|
//# sourceMappingURL=recommend.d.ts.map
|
package/dist/recommend.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../src/recommend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,WAAW,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsCnD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAA2B,GACzD,GAAG,CAAC,MAAM,CAAC,CAwDb;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAC/B,WAAW,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAA2B,GACzD,aAAa,
|
|
1
|
+
{"version":3,"file":"recommend.d.ts","sourceRoot":"","sources":["../src/recommend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,WAAW,EAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAsCnD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAA2B,GACzD,GAAG,CAAC,MAAM,CAAC,CAwDb;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAC/B,WAAW,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAA2B,GACzD,aAAa,CAgIf;AAiCD;;;;;;;8DAO8D;AAC9D,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,iBAAiB,EAAE,EAC3B,QAAQ,EAAE,MAAM,GACf,iBAAiB,EAAE,CAkBrB"}
|
|
@@ -7,9 +7,9 @@ import type { SearchAlgorithm } from "../types.js";
|
|
|
7
7
|
* raw term count. Stemming collapses English morphology
|
|
8
8
|
* (compress/compressed/compression → ~compress).
|
|
9
9
|
*
|
|
10
|
-
* On
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* On the 32-block mixed EN/CJK benchmark: MRR 0.833 / R@1 0.833 / R@3 0.833
|
|
11
|
+
* vs 0.797 / 0.792 / 0.792 for substring — better in isolation on every
|
|
12
|
+
* metric, and the precision component of the hybrid default (see hybrid.ts).
|
|
13
13
|
*/
|
|
14
14
|
export declare const bm25Algorithm: SearchAlgorithm;
|
|
15
15
|
//# sourceMappingURL=bm25.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../../src/search/algorithms/bm25.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../../src/search/algorithms/bm25.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,aAAa,CAAC;AAI3E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,EAAE,eAkC3B,CAAC"}
|
|
@@ -4,11 +4,21 @@ import type { SearchAlgorithm } from "../types.js";
|
|
|
4
4
|
*
|
|
5
5
|
* Decomposes the query into character bigrams and measures overlap with
|
|
6
6
|
* each doc. Robust to typos (tokan≈token), partial words, and works
|
|
7
|
-
* uniformly across all scripts (CJK benefits most).
|
|
8
|
-
* tokens of length >= 4 to avoid noise from short common-character pairs.
|
|
7
|
+
* uniformly across all scripts (CJK benefits most).
|
|
9
8
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Query-token gate — CJK gets its own length rule; Latin is frozen:
|
|
10
|
+
* length >= 4 (any script) typo-tolerant bigram rescue needs a couple of
|
|
11
|
+
* chars before it means anything; 2-3-char Latin tokens ("to", "of",
|
|
12
|
+
* "us") are stop-word noise whose bigrams overlap nearly every doc.
|
|
13
|
+
* length >= 2 && CJK Chinese/Japanese/Korean words are mostly
|
|
14
|
+
* 2-character atomic units (登录/缓存/図表), so the Latin-style >= 4 rule
|
|
15
|
+
* would lock the whole CJK query space out of this recall channel
|
|
16
|
+
* (that gap is what bench "缓存 → nothing" exposed). Single CJK chars
|
|
17
|
+
* stay excluded — one char cannot form a bigram, nothing to compare.
|
|
18
|
+
*
|
|
19
|
+
* On benchmark: lowest MRR of any single algorithm (0.795 — a hair under
|
|
20
|
+
* substring's 0.797) — precision is weak, but it is the recall boost in the
|
|
21
|
+
* hybrid default.
|
|
12
22
|
*/
|
|
13
23
|
export declare const fuzzyAlgorithm: SearchAlgorithm;
|
|
14
24
|
//# sourceMappingURL=fuzzy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fuzzy.d.ts","sourceRoot":"","sources":["../../../src/search/algorithms/fuzzy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fuzzy.d.ts","sourceRoot":"","sources":["../../../src/search/algorithms/fuzzy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,aAAa,CAAC;AAI3E;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,EAAE,eAoB5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"substring.d.ts","sourceRoot":"","sources":["../../../src/search/algorithms/substring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"substring.d.ts","sourceRoot":"","sources":["../../../src/search/algorithms/substring.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,aAAa,CAAC;AAG3E;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,eAahC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-doc derived features, memoized across search calls.
|
|
3
|
+
*
|
|
4
|
+
* A search over the compressed history re-scores the SAME immutable docs on
|
|
5
|
+
* every call — compressed block summaries and folded message text never
|
|
6
|
+
* change. Without this cache, every search_context call re-tokenized the
|
|
7
|
+
* entire corpus (segmenter CJK pass ≈ 0.3s/MB cold) plus re-lowercased it
|
|
8
|
+
* and rebuilt the bigram set for each channel: a 5MB session cost ~3s PER
|
|
9
|
+
* CALL, growing linearly with session length. With the cache the corpus is
|
|
10
|
+
* processed once; later searches are O(docs × query-terms).
|
|
11
|
+
*
|
|
12
|
+
* Keyed by doc text (immutable). Bounded by total cached source chars —
|
|
13
|
+
* oldest docs are evicted when the cap is exceeded, so a long-lived
|
|
14
|
+
* process serving many sessions cannot grow unboundedly. Hosts that want to
|
|
15
|
+
* release the memory eagerly on session shutdown/switch can call
|
|
16
|
+
* clearDocFeatures() (optional: the cap already bounds it).
|
|
17
|
+
*/
|
|
18
|
+
export interface DocFeatures {
|
|
19
|
+
/** Stemmed term frequencies (BM25 channel). */
|
|
20
|
+
tf: Map<string, number>;
|
|
21
|
+
/** Total term count (BM25 length normalization). */
|
|
22
|
+
len: number;
|
|
23
|
+
/** Lower-cased text (substring + fuzzy channels). */
|
|
24
|
+
lower: string;
|
|
25
|
+
/** Unique char bigrams of `lower` (fuzzy channel). */
|
|
26
|
+
grams: Set<string>;
|
|
27
|
+
}
|
|
28
|
+
export declare function docFeatures(text: string): DocFeatures;
|
|
29
|
+
/** Drop all cached features (e.g. on session shutdown/switch). */
|
|
30
|
+
export declare function clearDocFeatures(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Set the cache cap in source chars. Docs larger than the cap are never
|
|
33
|
+
* cached. Also used by tests to exercise eviction.
|
|
34
|
+
*/
|
|
35
|
+
export declare function setDocCacheCap(chars: number): void;
|
|
36
|
+
/** Cache occupancy — for diagnostics. */
|
|
37
|
+
export declare function docCacheInfo(): {
|
|
38
|
+
entries: number;
|
|
39
|
+
chars: number;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=doc-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-cache.d.ts","sourceRoot":"","sources":["../../src/search/doc-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,WAAW,WAAW;IACxB,+CAA+C;IAC/C,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACtB;AAeD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAcrD;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAOlD;AAED,yCAAyC;AACzC,wBAAgB,YAAY,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAEjE"}
|
package/dist/search/index.d.ts
CHANGED
|
@@ -27,5 +27,7 @@ export declare function blockDocs(state: CompressionState): SearchDoc[];
|
|
|
27
27
|
export declare function messageDocs(msgs: MessageInput[]): SearchDoc[];
|
|
28
28
|
/** Sync entry — throws for async algorithms. Pass docs from blockDocs() + messageDocs(). */
|
|
29
29
|
export declare function searchBlocks(docs: SearchDoc[], query: string, options?: SearchOptions): SearchResult[];
|
|
30
|
+
export { clearDocFeatures, docCacheInfo, docFeatures, setDocCacheCap } from "./doc-cache.js";
|
|
31
|
+
export type { DocFeatures } from "./doc-cache.js";
|
|
30
32
|
export declare function searchBlocksAsync(docs: SearchDoc[], query: string, options?: SearchOptions): Promise<SearchResult[]>;
|
|
31
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAG3E,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAAE,CAU9D;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAW7D;AAkED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,EAAE,CAQ1G;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAE9H"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,SAAS,EAAe,YAAY,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAG3E,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,SAAS,EAAE,CAU9D;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE,CAW7D;AAkED,4FAA4F;AAC5F,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,YAAY,EAAE,CAQ1G;AAED,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7F,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAE9H"}
|
|
@@ -3,9 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles mixed Latin + CJK content — the single biggest quality lever
|
|
5
5
|
* over plain substring search. Latin is split on non-word boundaries;
|
|
6
|
-
* CJK (no spaces) is
|
|
7
|
-
*
|
|
6
|
+
* CJK (no spaces) is word-segmented via Intl.Segmenter (CLDR dictionary),
|
|
7
|
+
* falling back to overlapping bigrams on out-of-vocabulary text so a query
|
|
8
|
+
* like "身份验证" still scores against doc text "身份验证流程".
|
|
9
|
+
*
|
|
10
|
+
* CJK segmentation is a SINGLE segment() pass over the whole text, not one
|
|
11
|
+
* call per CJK run: a segment() call has fixed overhead (~3µs), and
|
|
12
|
+
* run-heavy text (logs: dozens of short runs per line) made per-run calls
|
|
13
|
+
* 10-16× slower than one bulk pass. ICU never merges CJK words across
|
|
14
|
+
* non-CJK boundaries, so bulk segmentation yields the same words per run
|
|
15
|
+
* (differential-verified against the per-run implementation across a
|
|
16
|
+
* mixed-script stress corpus); run boundaries are re-derived below to keep
|
|
17
|
+
* the all-OOV bigram fallback.
|
|
8
18
|
*/
|
|
19
|
+
export declare const CJK: RegExp;
|
|
9
20
|
export interface TokenizeOptions {
|
|
10
21
|
stem?: boolean;
|
|
11
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/search/tokenizer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../../src/search/tokenizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAYH,eAAO,MAAM,GAAG,QAA2D,CAAC;AAyB5E,MAAM,WAAW,eAAe;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,MAAM,EAAE,CA+C3E;AAED,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAOlD;AAED,0BAA0B;AAC1B,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAItE"}
|
package/dist/search.d.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Search — re-exports from the modular src/search/ implementation.
|
|
3
3
|
*/
|
|
4
4
|
export { searchBlocks, searchBlocksAsync, blockDocs, messageDocs } from "./search/index.js";
|
|
5
|
+
export { clearDocFeatures, docCacheInfo, docFeatures, setDocCacheCap } from "./search/index.js";
|
|
6
|
+
export type { DocFeatures } from "./search/index.js";
|
|
5
7
|
export type { SearchResult, SearchOptions, SearchAlgorithm, AsyncSearchAlgorithm, AnySearchAlgorithm, SearchDoc, SearchDocKind, ScoredBlock, MessageRole, RoleWeights, MessageInput, } from "./search/types.js";
|
|
6
8
|
export { DEFAULT_ALGORITHM, DEFAULT_ROLE_WEIGHTS } from "./search/types.js";
|
|
7
9
|
export { registerSearchAlgorithm, getSearchAlgorithm, listSearchAlgorithms } from "./search/registry.js";
|
package/dist/search.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,YAAY,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../src/search.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAChG,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EACR,YAAY,EACZ,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,EACT,aAAa,EACb,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type TransformChannel = "message" | "wire";
|
|
2
|
+
/**
|
|
3
|
+
* Pick the transform channel: an explicit preference always wins; otherwise
|
|
4
|
+
* the wire channel is used only when the caller's host actually applies the
|
|
5
|
+
* wire-payload replacement (adapters pass `wireViable` — e.g. the body format
|
|
6
|
+
* is in WIRE_FORMATS and the host honors the hook's return value).
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveTransformChannel(explicit: TransformChannel | undefined, wireViable: boolean): TransformChannel;
|
|
9
|
+
//# sourceMappingURL=transform-channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform-channel.d.ts","sourceRoot":"","sources":["../src/transform-channel.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,UAAU,EAAE,OAAO,GAClB,gBAAgB,CAElB"}
|
package/dist/types.d.ts
CHANGED
|
@@ -134,6 +134,15 @@ export interface CompressibleRange {
|
|
|
134
134
|
endRef: string;
|
|
135
135
|
count: number;
|
|
136
136
|
tokens: number;
|
|
137
|
+
/** Range size in characters (sum of message text lengths). The apply-side
|
|
138
|
+
* minCompressRange gate counts raw `msg.text.length`, so recommend-side
|
|
139
|
+
* gates must use this field — NOT `tokens` — or the two sides disagree
|
|
140
|
+
* whenever a host injects a tokenizer where tokens != chars/4 (e.g. a
|
|
141
|
+
* CJK-aware estimator: 1 token per char, making `tokens*4` a ~4x
|
|
142
|
+
* overestimate). Always set on ranges produced by buildCompressibleRanges
|
|
143
|
+
* / mergeRangesToThreshold; hand-built ranges without it fall back to the
|
|
144
|
+
* historical tokens*4 estimate for backwards compat. */
|
|
145
|
+
chars?: number;
|
|
137
146
|
toolPct: number;
|
|
138
147
|
textPct: number;
|
|
139
148
|
dangerous?: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const WIRE_FORMATS: readonly ["anthropic", "openai", "responses"];
|
|
2
|
+
export type WireFormat = (typeof WIRE_FORMATS)[number];
|
|
3
|
+
export declare function isWireFormat(value: unknown): value is WireFormat;
|
|
4
|
+
/**
|
|
5
|
+
* Classify a provider request body by the codec that can parse it.
|
|
6
|
+
* Returns undefined when no codec handles the body — the caller must
|
|
7
|
+
* pass such payloads through untransformed.
|
|
8
|
+
*/
|
|
9
|
+
export declare function detectWireFormat(payload: unknown): WireFormat | undefined;
|
|
10
|
+
//# sourceMappingURL=formats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/wire/formats.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,+CAAgD,CAAC;AAC1E,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAKhE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CA+BzE"}
|
package/dist/wire/index.d.ts
CHANGED
package/dist/wire/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wire/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wire/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
|
package/dist/wire/index.js
CHANGED
|
@@ -651,19 +651,60 @@ function conversationIdentityResponses(body, headerValue) {
|
|
|
651
651
|
function conversationSignalResponses(body, headerValue) {
|
|
652
652
|
return conversationIdentityResponses(body, headerValue).value;
|
|
653
653
|
}
|
|
654
|
-
|
|
654
|
+
function createSubagentNamespaces() {
|
|
655
|
+
const anchors = /* @__PURE__ */ new Map();
|
|
656
|
+
return {
|
|
657
|
+
namespaceFor(identityValue, instructions) {
|
|
658
|
+
if (typeof instructions !== "string" || instructions.trim().length === 0) return identityValue;
|
|
659
|
+
const fp = hashId(instructions);
|
|
660
|
+
const anchor = anchors.get(identityValue);
|
|
661
|
+
if (anchor === void 0) {
|
|
662
|
+
anchors.set(identityValue, fp);
|
|
663
|
+
return identityValue;
|
|
664
|
+
}
|
|
665
|
+
return anchor === fp ? identityValue : `${identityValue}|sub:${fp}`;
|
|
666
|
+
}
|
|
667
|
+
};
|
|
668
|
+
}
|
|
669
|
+
var defaultNamespaces = createSubagentNamespaces();
|
|
655
670
|
function subagentNamespace(identityValue, instructions) {
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
671
|
+
return defaultNamespaces.namespaceFor(identityValue, instructions);
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
// src/wire/formats.ts
|
|
675
|
+
var WIRE_FORMATS = ["anthropic", "openai", "responses"];
|
|
676
|
+
function isWireFormat(value) {
|
|
677
|
+
return typeof value === "string" && WIRE_FORMATS.includes(value);
|
|
678
|
+
}
|
|
679
|
+
function detectWireFormat(payload) {
|
|
680
|
+
if (payload === null || typeof payload !== "object") return void 0;
|
|
681
|
+
const p = payload;
|
|
682
|
+
if (Array.isArray(p.input)) return "responses";
|
|
683
|
+
const messages = p.messages;
|
|
684
|
+
if (!Array.isArray(messages)) return void 0;
|
|
685
|
+
if ("system" in p || "anthropic_version" in p) return "anthropic";
|
|
686
|
+
for (const m of messages) {
|
|
687
|
+
if (m === null || typeof m !== "object") continue;
|
|
688
|
+
const c = m.content;
|
|
689
|
+
if (Array.isArray(c)) {
|
|
690
|
+
for (const b of c) {
|
|
691
|
+
if (b && typeof b === "object" && typeof b.type === "string") {
|
|
692
|
+
if (b.type === "tool_use" || b.type === "tool_result" || b.type === "thinking")
|
|
693
|
+
return "anthropic";
|
|
694
|
+
if (b.type === "text" && "cache_control" in b) return "anthropic";
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
if (Array.isArray(m.tool_calls)) return "openai";
|
|
699
|
+
if (m.role === "tool" && typeof m.tool_call_id === "string")
|
|
700
|
+
return "openai";
|
|
701
|
+
if (m.role === "system" || m.role === "developer") return "openai";
|
|
662
702
|
}
|
|
663
|
-
return
|
|
703
|
+
return "openai";
|
|
664
704
|
}
|
|
665
705
|
export {
|
|
666
706
|
ClusterCounter,
|
|
707
|
+
WIRE_FORMATS,
|
|
667
708
|
anthropicToCore,
|
|
668
709
|
buildSystem,
|
|
669
710
|
conversationIdentityResponses,
|
|
@@ -673,11 +714,14 @@ export {
|
|
|
673
714
|
coreToAnthropic,
|
|
674
715
|
coreToOpenai,
|
|
675
716
|
coreToResponses,
|
|
717
|
+
createSubagentNamespaces,
|
|
676
718
|
deriveMessageId,
|
|
719
|
+
detectWireFormat,
|
|
677
720
|
extractSystem,
|
|
678
721
|
hashId,
|
|
679
722
|
injectOpenaiSystem,
|
|
680
723
|
injectResponsesDeveloperMessage,
|
|
724
|
+
isWireFormat,
|
|
681
725
|
openaiToCore,
|
|
682
726
|
parseDataUrl,
|
|
683
727
|
patchResponsesInput,
|