acp-kernel 0.0.69-pr.284.148 → 0.0.69-pr.288.151
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/dist/{chunk-5TQA7ZQM.js → chunk-UX4LINT7.js} +1 -3
- package/dist/chunk-UX4LINT7.js.map +1 -0
- package/dist/compress.d.ts.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -134
- package/dist/index.js.map +1 -1
- package/dist/persist/index.js +2 -4
- package/dist/persist/index.js.map +1 -1
- package/dist/persist/state-merge.d.ts.map +1 -1
- package/dist/protected.d.ts +2 -4
- package/dist/protected.d.ts.map +1 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/types.d.ts +0 -14
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-5TQA7ZQM.js.map +0 -1
- package/dist/rules.d.ts +0 -36
- package/dist/rules.d.ts.map +0 -1
|
@@ -13,8 +13,6 @@ function createInitialState() {
|
|
|
13
13
|
},
|
|
14
14
|
stats: { tokensCompressed: 0, compressionCount: 0, absorbedTokens: 0 },
|
|
15
15
|
absorbed: [],
|
|
16
|
-
rules: [],
|
|
17
|
-
nextRuleId: 1,
|
|
18
16
|
nextBlockId: 1,
|
|
19
17
|
nextRunId: 1
|
|
20
18
|
};
|
|
@@ -70,4 +68,4 @@ export {
|
|
|
70
68
|
highestActiveTier,
|
|
71
69
|
advanceSurvival
|
|
72
70
|
};
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-UX4LINT7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/state.ts"],"sourcesContent":["import type { CompressionBlock, CompressionState } from \"./types.js\";\n\nexport function createInitialState(): CompressionState {\n return {\n blocks: [],\n messageRefs: { byRaw: {}, byRef: {} },\n tokenSnapshot: {},\n nudge: {\n lastPerMessageNudgeTokens: 0,\n lastNudgeShownTokens: 0,\n baselineTokens: 0,\n anchors: {},\n lastShownByTier: {},\n },\n stats: { tokensCompressed: 0, compressionCount: 0, absorbedTokens: 0 },\n absorbed: [],\n nextBlockId: 1,\n nextRunId: 1,\n };\n}\n\nexport function allocateBlockId(state: CompressionState): string {\n const id = state.nextBlockId;\n state.nextBlockId = Math.max(1, id) + 1;\n return `b${id}`;\n}\n\nexport function allocateRunId(state: CompressionState): string {\n const id = state.nextRunId;\n state.nextRunId = Math.max(1, id) + 1;\n return `r${id}`;\n}\n\nexport function blockById(\n state: CompressionState,\n blockId: string,\n): CompressionBlock | undefined {\n return state.blocks.find((block) => block.blockId === blockId);\n}\n\nexport function activeBlocks(state: CompressionState): CompressionBlock[] {\n return state.blocks.filter((block) => block.active);\n}\n\nexport function coveredMessageIds(state: CompressionState): Set<string> {\n const covered = new Set<string>();\n for (const block of state.blocks) {\n if (!block.active) continue;\n for (const id of block.effectiveMessageIds) covered.add(id);\n }\n return covered;\n}\n\nexport function highestActiveTier(state: CompressionState): 0 | 1 | 2 | 3 {\n let highest: 0 | 1 | 2 | 3 = 0;\n for (const block of state.blocks) {\n if (block.active && block.tier > highest) highest = block.tier;\n }\n return highest;\n}\n\nexport function advanceSurvival(\n state: CompressionState,\n promotionThreshold: number,\n): void {\n for (const block of state.blocks) {\n if (!block.active) continue;\n block.survivedCount += 1;\n if (block.survivedCount >= promotionThreshold) {\n block.generation = \"old\";\n }\n }\n}\n"],"mappings":";AAEO,SAAS,qBAAuC;AACrD,SAAO;AAAA,IACL,QAAQ,CAAC;AAAA,IACT,aAAa,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE;AAAA,IACpC,eAAe,CAAC;AAAA,IAChB,OAAO;AAAA,MACL,2BAA2B;AAAA,MAC3B,sBAAsB;AAAA,MACtB,gBAAgB;AAAA,MAChB,SAAS,CAAC;AAAA,MACV,iBAAiB,CAAC;AAAA,IACpB;AAAA,IACA,OAAO,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,gBAAgB,EAAE;AAAA,IACrE,UAAU,CAAC;AAAA,IACX,aAAa;AAAA,IACb,WAAW;AAAA,EACb;AACF;AAEO,SAAS,gBAAgB,OAAiC;AAC/D,QAAM,KAAK,MAAM;AACjB,QAAM,cAAc,KAAK,IAAI,GAAG,EAAE,IAAI;AACtC,SAAO,IAAI,EAAE;AACf;AAEO,SAAS,cAAc,OAAiC;AAC7D,QAAM,KAAK,MAAM;AACjB,QAAM,YAAY,KAAK,IAAI,GAAG,EAAE,IAAI;AACpC,SAAO,IAAI,EAAE;AACf;AAEO,SAAS,UACd,OACA,SAC8B;AAC9B,SAAO,MAAM,OAAO,KAAK,CAAC,UAAU,MAAM,YAAY,OAAO;AAC/D;AAEO,SAAS,aAAa,OAA6C;AACxE,SAAO,MAAM,OAAO,OAAO,CAAC,UAAU,MAAM,MAAM;AACpD;AAEO,SAAS,kBAAkB,OAAsC;AACtE,QAAM,UAAU,oBAAI,IAAY;AAChC,aAAW,SAAS,MAAM,QAAQ;AAChC,QAAI,CAAC,MAAM,OAAQ;AACnB,eAAW,MAAM,MAAM,oBAAqB,SAAQ,IAAI,EAAE;AAAA,EAC5D;AACA,SAAO;AACT;AAEO,SAAS,kBAAkB,OAAwC;AACxE,MAAI,UAAyB;AAC7B,aAAW,SAAS,MAAM,QAAQ;AAChC,QAAI,MAAM,UAAU,MAAM,OAAO,QAAS,WAAU,MAAM;AAAA,EAC5D;AACA,SAAO;AACT;AAEO,SAAS,gBACd,OACA,oBACM;AACN,aAAW,SAAS,MAAM,QAAQ;AAChC,QAAI,CAAC,MAAM,OAAQ;AACnB,UAAM,iBAAiB;AACvB,QAAI,MAAM,iBAAiB,oBAAoB;AAC7C,YAAM,aAAa;AAAA,IACrB;AAAA,EACF;AACF;","names":[]}
|
package/dist/compress.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUvD,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,EAEN,WAAW,EAGX,iBAAiB,EAEjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACxD,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AA2DD,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAU,GAAG,eAAe,CAyU7D;
|
|
1
|
+
{"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkC,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgBhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUvD,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,EAEN,WAAW,EAGX,iBAAiB,EAEjB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,iBAAiB,CAAC;IACxD,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAAC;IACvE,YAAY,IAAI,YAAY,EAAE,CAAC;IAC/B,UAAU,CACR,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GACtB,gBAAgB,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,EAAE,CAAC;IACnE,MAAM,CACJ,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,YAAY,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC;AA2DD,wBAAgB,UAAU,CAAC,KAAK,GAAE,KAAU,GAAG,eAAe,CAyU7D;AAygCD,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -33,8 +33,6 @@ export type { HideConsumedResult } from "./hide-consumed.js";
|
|
|
33
33
|
export { ABSORB_TOOL_NAME, ABSORB_TOOL, ABSORB_TOOL_OPENAI, } from "./compress-tools.js";
|
|
34
34
|
export { ABSORB_PROMPT_MARKER, DEFAULT_ABSORB_CONFIG, resolveAbsorbConfig, buildAbsorbPrompt, buildAbsorbSystemPrompt, isAbsorbCandidate, hideAbsorbedMessages, appendAbsorbPrompts, parseAbsorbInput, applyAbsorb, } from "./absorb.js";
|
|
35
35
|
export type { AbsorbInput, AbsorbOutcome, ParsedAbsorb, AppendAbsorbPromptsResult, } from "./absorb.js";
|
|
36
|
-
export { RULE_TOOL_NAME, DEFAULT_RULE_LIMITS, RULES_USAGE_PROMPT, listRules, allocateRuleId, addRule, removeRule, clearRules, formatRulesForPrompt, } from "./rules.js";
|
|
37
|
-
export type { RuleLimits, RuleOpResult, AddRuleResult } from "./rules.js";
|
|
38
36
|
export { rebuildCompressionState } from "./rebuild.js";
|
|
39
37
|
export type { RebuildResult, RebuildPorts } from "./rebuild.js";
|
|
40
38
|
export { parseCompressArgs } from "./parse-compress-input.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
coveredMessageIds,
|
|
25
25
|
createInitialState,
|
|
26
26
|
highestActiveTier
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-UX4LINT7.js";
|
|
28
28
|
|
|
29
29
|
// src/refs.ts
|
|
30
30
|
var REF_WIDTH = 5;
|
|
@@ -262,8 +262,6 @@ function syncBlocks(messages, state) {
|
|
|
262
262
|
nudge: { ...state.nudge, anchors: { ...state.nudge.anchors } },
|
|
263
263
|
stats: { ...state.stats },
|
|
264
264
|
absorbed: (state.absorbed ?? []).map((record) => ({ ...record })),
|
|
265
|
-
rules: (state.rules ?? []).map((rule) => ({ ...rule })),
|
|
266
|
-
nextRuleId: state.nextRuleId,
|
|
267
265
|
nextBlockId: state.nextBlockId,
|
|
268
266
|
nextRunId: state.nextRunId
|
|
269
267
|
};
|
|
@@ -1276,7 +1274,7 @@ var ABSORB_TOOL_OPENAI = {
|
|
|
1276
1274
|
};
|
|
1277
1275
|
|
|
1278
1276
|
// src/protected.ts
|
|
1279
|
-
var ALWAYS_PROTECTED_TOOLS = ["compress"
|
|
1277
|
+
var ALWAYS_PROTECTED_TOOLS = ["compress"];
|
|
1280
1278
|
var NEVER_PRESERVE_RECENT_TOOLS = [
|
|
1281
1279
|
"decompress",
|
|
1282
1280
|
"search_context",
|
|
@@ -3022,8 +3020,6 @@ function cloneState(state) {
|
|
|
3022
3020
|
nudge: { ...state.nudge, anchors: { ...state.nudge.anchors } },
|
|
3023
3021
|
stats: { ...state.stats },
|
|
3024
3022
|
absorbed: (state.absorbed ?? []).map((record) => ({ ...record })),
|
|
3025
|
-
rules: (state.rules ?? []).map((rule) => ({ ...rule })),
|
|
3026
|
-
nextRuleId: state.nextRuleId,
|
|
3027
3023
|
nextBlockId: state.nextBlockId,
|
|
3028
3024
|
nextRunId: state.nextRunId
|
|
3029
3025
|
};
|
|
@@ -3790,125 +3786,6 @@ function matchSession(sessions, selector, labelOf) {
|
|
|
3790
3786
|
return sessions.filter((s) => s.id.startsWith(selector) || (labelOf(s) ?? "").startsWith(selector));
|
|
3791
3787
|
}
|
|
3792
3788
|
|
|
3793
|
-
// src/rules.ts
|
|
3794
|
-
var RULE_TOOL_NAME = "acp_rule";
|
|
3795
|
-
var DEFAULT_RULE_LIMITS = Object.freeze({
|
|
3796
|
-
maxChars: 300,
|
|
3797
|
-
maxCount: 50
|
|
3798
|
-
});
|
|
3799
|
-
function listRules(state) {
|
|
3800
|
-
return state.rules ?? [];
|
|
3801
|
-
}
|
|
3802
|
-
var RULE_ID_RE = /^rule(\d+)$/;
|
|
3803
|
-
function highestRuleNumber(state) {
|
|
3804
|
-
let highest = 0;
|
|
3805
|
-
for (const rule of state.rules ?? []) {
|
|
3806
|
-
const match = RULE_ID_RE.exec(rule.id);
|
|
3807
|
-
if (match) highest = Math.max(highest, Number(match[1]));
|
|
3808
|
-
}
|
|
3809
|
-
return highest;
|
|
3810
|
-
}
|
|
3811
|
-
function allocateRuleId(state) {
|
|
3812
|
-
const next = Math.max(state.nextRuleId ?? 1, highestRuleNumber(state) + 1);
|
|
3813
|
-
return `rule${next}`;
|
|
3814
|
-
}
|
|
3815
|
-
function addRule(state, text, limits = {}) {
|
|
3816
|
-
const maxChars = limits.maxChars ?? DEFAULT_RULE_LIMITS.maxChars;
|
|
3817
|
-
const maxCount = limits.maxCount ?? DEFAULT_RULE_LIMITS.maxCount;
|
|
3818
|
-
const trimmed = (text ?? "").trim();
|
|
3819
|
-
if (!trimmed) {
|
|
3820
|
-
return {
|
|
3821
|
-
state,
|
|
3822
|
-
ok: false,
|
|
3823
|
-
resultText: "acp_rule failed: text is empty \u2014 provide the reminder to remember."
|
|
3824
|
-
};
|
|
3825
|
-
}
|
|
3826
|
-
if (trimmed.length > maxChars) {
|
|
3827
|
-
return {
|
|
3828
|
-
state,
|
|
3829
|
-
ok: false,
|
|
3830
|
-
resultText: `acp_rule failed: ${trimmed.length} chars exceeds the ${maxChars}-char limit \u2014 keep rules short and principle-level.`
|
|
3831
|
-
};
|
|
3832
|
-
}
|
|
3833
|
-
const rules = listRules(state);
|
|
3834
|
-
const duplicate = rules.find((rule2) => rule2.text === trimmed);
|
|
3835
|
-
if (duplicate) {
|
|
3836
|
-
return {
|
|
3837
|
-
state,
|
|
3838
|
-
ok: false,
|
|
3839
|
-
resultText: `acp_rule failed: identical rule already exists (${duplicate.id}) \u2014 no change.`
|
|
3840
|
-
};
|
|
3841
|
-
}
|
|
3842
|
-
if (rules.length >= maxCount) {
|
|
3843
|
-
return {
|
|
3844
|
-
state,
|
|
3845
|
-
ok: false,
|
|
3846
|
-
resultText: `acp_rule failed: rule limit reached (${maxCount}) \u2014 remove or clear outdated rules first.`
|
|
3847
|
-
};
|
|
3848
|
-
}
|
|
3849
|
-
const next = Math.max(state.nextRuleId ?? 1, highestRuleNumber(state) + 1);
|
|
3850
|
-
const rule = { id: `rule${next}`, text: trimmed };
|
|
3851
|
-
const stateAfter = {
|
|
3852
|
-
...state,
|
|
3853
|
-
rules: [...rules, rule],
|
|
3854
|
-
nextRuleId: next + 1
|
|
3855
|
-
};
|
|
3856
|
-
return {
|
|
3857
|
-
state: stateAfter,
|
|
3858
|
-
ok: true,
|
|
3859
|
-
resultText: `rule recorded as ${rule.id}. It stays in the system prompt every turn and is protected from compression.`,
|
|
3860
|
-
rule
|
|
3861
|
-
};
|
|
3862
|
-
}
|
|
3863
|
-
function removeRule(state, id) {
|
|
3864
|
-
const rules = listRules(state);
|
|
3865
|
-
const target = rules.find((rule) => rule.id === id.trim());
|
|
3866
|
-
if (!target) {
|
|
3867
|
-
return {
|
|
3868
|
-
state,
|
|
3869
|
-
ok: false,
|
|
3870
|
-
resultText: `acp_rule failed: no rule with id "${id}" (use action "list" to see current rules).`
|
|
3871
|
-
};
|
|
3872
|
-
}
|
|
3873
|
-
const stateAfter = {
|
|
3874
|
-
...state,
|
|
3875
|
-
rules: rules.filter((rule) => rule.id !== target.id)
|
|
3876
|
-
};
|
|
3877
|
-
return {
|
|
3878
|
-
state: stateAfter,
|
|
3879
|
-
ok: true,
|
|
3880
|
-
resultText: `rule removed (${target.id}). Its id will never be re-issued.`
|
|
3881
|
-
};
|
|
3882
|
-
}
|
|
3883
|
-
function clearRules(state) {
|
|
3884
|
-
const rules = listRules(state);
|
|
3885
|
-
if (rules.length === 0) {
|
|
3886
|
-
return { state, ok: true, resultText: "no rules to clear." };
|
|
3887
|
-
}
|
|
3888
|
-
const stateAfter = { ...state, rules: [] };
|
|
3889
|
-
return {
|
|
3890
|
-
state: stateAfter,
|
|
3891
|
-
ok: true,
|
|
3892
|
-
resultText: `all ${rules.length} rule(s) cleared. Issued ids will never be re-issued.`
|
|
3893
|
-
};
|
|
3894
|
-
}
|
|
3895
|
-
function formatRulesForPrompt(state) {
|
|
3896
|
-
const rules = listRules(state);
|
|
3897
|
-
if (rules.length === 0) return "";
|
|
3898
|
-
const lines = rules.map((rule) => `- [${rule.id}] ${rule.text}`);
|
|
3899
|
-
return `PERSISTENT USER RULES (${RULE_TOOL_NAME}) \u2014 these reminders apply to every turn of this session and take precedence over default behavior:
|
|
3900
|
-
${lines.join("\n")}`;
|
|
3901
|
-
}
|
|
3902
|
-
var RULES_USAGE_PROMPT = `PERSISTENT REMINDERS (${RULE_TOOL_NAME})
|
|
3903
|
-
|
|
3904
|
-
You can record persistent reminders that are injected into your system prompt for every remaining turn of this session. Call ${RULE_TOOL_NAME}({ action: "add", text }) when:
|
|
3905
|
-
- the user singles out a lesson, constraint, or preference ("remember this", "never do X again");
|
|
3906
|
-
- the user emphasizes the same point repeatedly;
|
|
3907
|
-
- the user asks you to remember a behavior or setting;
|
|
3908
|
-
- you hit a significant pitfall worth not repeating (build failure, wrong assumption, environment quirk).
|
|
3909
|
-
|
|
3910
|
-
Rules must be SHORT and principle-level (max ${DEFAULT_RULE_LIMITS.maxChars} chars each, ${DEFAULT_RULE_LIMITS.maxCount} total) \u2014 record the rule, not the incident. Check existing rules first (action: "list") and never add duplicates. Drop outdated rules with action: "remove" (pass the rule id) or wipe all with action: "clear". Recorded rules survive context compression: their tool calls are hard-protected.`;
|
|
3911
|
-
|
|
3912
3789
|
// src/parse-compress-input.ts
|
|
3913
3790
|
function parseCompressArgs(input, opts) {
|
|
3914
3791
|
const callId = opts?.callId;
|
|
@@ -4817,11 +4694,8 @@ export {
|
|
|
4817
4694
|
DEFAULT_ABSORB_CONFIG,
|
|
4818
4695
|
DEFAULT_ALGORITHM,
|
|
4819
4696
|
DEFAULT_ROLE_WEIGHTS,
|
|
4820
|
-
DEFAULT_RULE_LIMITS,
|
|
4821
4697
|
HOW_TO_COMPRESS_RULES,
|
|
4822
4698
|
LEAN_HOW_TO_COMPRESS,
|
|
4823
|
-
RULES_USAGE_PROMPT,
|
|
4824
|
-
RULE_TOOL_NAME,
|
|
4825
4699
|
SEARCH_CONTEXT_TOOL,
|
|
4826
4700
|
SEARCH_CONTEXT_TOOL_NAME,
|
|
4827
4701
|
SEARCH_CONTEXT_TOOL_OPENAI,
|
|
@@ -4832,10 +4706,8 @@ export {
|
|
|
4832
4706
|
VIABLE_RANGE_MIN_TOKENS,
|
|
4833
4707
|
activeBlockSpans,
|
|
4834
4708
|
activeBlocks,
|
|
4835
|
-
addRule,
|
|
4836
4709
|
advanceSurvival,
|
|
4837
4710
|
allocateBlockId,
|
|
4838
|
-
allocateRuleId,
|
|
4839
4711
|
allocateRunId,
|
|
4840
4712
|
appendAbsorbPrompts,
|
|
4841
4713
|
applyAbsorb,
|
|
@@ -4857,7 +4729,6 @@ export {
|
|
|
4857
4729
|
builtinSource,
|
|
4858
4730
|
clearDocFeatures,
|
|
4859
4731
|
clearMessageFilters,
|
|
4860
|
-
clearRules,
|
|
4861
4732
|
cloneWithDescriptions,
|
|
4862
4733
|
collectBlockContent,
|
|
4863
4734
|
countMessageTokens,
|
|
@@ -4882,7 +4753,6 @@ export {
|
|
|
4882
4753
|
findBlocksOverlappingMessages,
|
|
4883
4754
|
formatCreatedBlocks,
|
|
4884
4755
|
formatRanges,
|
|
4885
|
-
formatRulesForPrompt,
|
|
4886
4756
|
getMessageFilter,
|
|
4887
4757
|
getSearchAlgorithm,
|
|
4888
4758
|
hideAbsorbedMessages,
|
|
@@ -4897,7 +4767,6 @@ export {
|
|
|
4897
4767
|
isValidPackName,
|
|
4898
4768
|
leanPack,
|
|
4899
4769
|
listMessageFilters,
|
|
4900
|
-
listRules,
|
|
4901
4770
|
listSearchAlgorithms,
|
|
4902
4771
|
makeIO,
|
|
4903
4772
|
matchSession,
|
|
@@ -4915,7 +4784,6 @@ export {
|
|
|
4915
4784
|
refToIndex,
|
|
4916
4785
|
registerMessageFilter,
|
|
4917
4786
|
registerSearchAlgorithm,
|
|
4918
|
-
removeRule,
|
|
4919
4787
|
renderHandoff,
|
|
4920
4788
|
renderMessage2 as renderMessage,
|
|
4921
4789
|
renderNudgeText,
|