opencode-acp 1.14.7 → 1.14.8-dev.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 +33 -25
- package/README.zh-CN.md +33 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1769 -2841
- package/dist/index.js.map +1 -1
- package/dist/lib/commands/compression-targets.d.ts +0 -1
- package/dist/lib/commands/compression-targets.d.ts.map +1 -1
- package/dist/lib/commands/index.d.ts +1 -4
- package/dist/lib/commands/index.d.ts.map +1 -1
- package/dist/lib/commands/stats.d.ts +8 -4
- package/dist/lib/commands/stats.d.ts.map +1 -1
- package/dist/lib/compress/decompress.d.ts.map +1 -1
- package/dist/lib/compress/hide-consumed.d.ts +0 -14
- package/dist/lib/compress/hide-consumed.d.ts.map +1 -1
- package/dist/lib/compress/hide-failed.d.ts +3 -0
- package/dist/lib/compress/hide-failed.d.ts.map +1 -0
- package/dist/lib/compress/index.d.ts +1 -1
- package/dist/lib/compress/index.d.ts.map +1 -1
- package/dist/lib/compress/parts.d.ts +4 -0
- package/dist/lib/compress/parts.d.ts.map +1 -0
- package/dist/lib/compress/pipeline.d.ts +0 -1
- package/dist/lib/compress/pipeline.d.ts.map +1 -1
- package/dist/lib/compress/status.d.ts +15 -0
- package/dist/lib/compress/status.d.ts.map +1 -1
- package/dist/lib/config-validation.d.ts.map +1 -1
- package/dist/lib/config.d.ts +7 -11
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/messages/filter/apply.d.ts +14 -0
- package/dist/lib/messages/filter/apply.d.ts.map +1 -0
- package/dist/lib/messages/filter/builtin/index.d.ts +2 -0
- package/dist/lib/messages/filter/builtin/index.d.ts.map +1 -0
- package/dist/lib/messages/filter/builtin/omo-context.d.ts +4 -0
- package/dist/lib/messages/filter/builtin/omo-context.d.ts.map +1 -0
- package/dist/lib/messages/filter/builtin/omo-mode-injection.d.ts +4 -0
- package/dist/lib/messages/filter/builtin/omo-mode-injection.d.ts.map +1 -0
- package/dist/lib/messages/filter/builtin/omo-system-reminder.d.ts +4 -0
- package/dist/lib/messages/filter/builtin/omo-system-reminder.d.ts.map +1 -0
- package/dist/lib/messages/filter/builtin/omo-task-directive.d.ts +4 -0
- package/dist/lib/messages/filter/builtin/omo-task-directive.d.ts.map +1 -0
- package/dist/lib/messages/filter/builtin/omo-todo-continuation.d.ts +4 -0
- package/dist/lib/messages/filter/builtin/omo-todo-continuation.d.ts.map +1 -0
- package/dist/lib/messages/filter/index.d.ts +6 -0
- package/dist/lib/messages/filter/index.d.ts.map +1 -0
- package/dist/lib/messages/filter/registry.d.ts +6 -0
- package/dist/lib/messages/filter/registry.d.ts.map +1 -0
- package/dist/lib/messages/filter/types.d.ts +88 -0
- package/dist/lib/messages/filter/types.d.ts.map +1 -0
- package/dist/lib/messages/inject/inject.d.ts.map +1 -1
- package/dist/lib/messages/inject/utils.d.ts +1 -5
- package/dist/lib/messages/inject/utils.d.ts.map +1 -1
- package/dist/lib/messages/priority.d.ts +1 -1
- package/dist/lib/messages/priority.d.ts.map +1 -1
- package/dist/lib/messages/query.d.ts +1 -1
- package/dist/lib/messages/query.d.ts.map +1 -1
- package/dist/lib/prompts/extensions/system.d.ts +0 -1
- package/dist/lib/prompts/extensions/system.d.ts.map +1 -1
- package/dist/lib/prompts/index.d.ts +1 -1
- package/dist/lib/prompts/index.d.ts.map +1 -1
- package/dist/lib/prompts/store.d.ts +1 -3
- package/dist/lib/prompts/store.d.ts.map +1 -1
- package/dist/lib/prompts/system.d.ts +1 -1
- package/dist/lib/prompts/system.d.ts.map +1 -1
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/rebuild.d.ts.map +1 -1
- package/dist/lib/state/state.d.ts +2 -2
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/tool-cache.d.ts.map +1 -1
- package/dist/lib/state/types.d.ts +0 -6
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/token-utils.d.ts +14 -0
- package/dist/lib/token-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/lib/commands/decompress.d.ts +0 -12
- package/dist/lib/commands/decompress.d.ts.map +0 -1
- package/dist/lib/commands/help.d.ts +0 -17
- package/dist/lib/commands/help.d.ts.map +0 -1
- package/dist/lib/commands/manual.d.ts +0 -23
- package/dist/lib/commands/manual.d.ts.map +0 -1
- package/dist/lib/commands/recompress.d.ts +0 -12
- package/dist/lib/commands/recompress.d.ts.map +0 -1
- package/dist/lib/compress/message-utils.d.ts +0 -8
- package/dist/lib/compress/message-utils.d.ts.map +0 -1
- package/dist/lib/compress/message.d.ts +0 -4
- package/dist/lib/compress/message.d.ts.map +0 -1
- package/dist/lib/prompts/compress-message.d.ts +0 -2
- package/dist/lib/prompts/compress-message.d.ts.map +0 -1
|
@@ -9,6 +9,5 @@ export interface CompressionTarget {
|
|
|
9
9
|
blocks: CompressionBlock[];
|
|
10
10
|
}
|
|
11
11
|
export declare function getActiveCompressionTargets(messagesState: PruneMessagesState): CompressionTarget[];
|
|
12
|
-
export declare function getRecompressibleCompressionTargets(messagesState: PruneMessagesState, availableMessageIds: Set<string>): CompressionTarget[];
|
|
13
12
|
export declare function resolveCompressionTarget(messagesState: PruneMessagesState, blockId: number): CompressionTarget | null;
|
|
14
13
|
//# sourceMappingURL=compression-targets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression-targets.d.ts","sourceRoot":"","sources":["../../../lib/commands/compression-targets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEpE,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AA8DD,wBAAgB,2BAA2B,CACvC,aAAa,EAAE,kBAAkB,GAClC,iBAAiB,EAAE,CAMrB;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"compression-targets.d.ts","sourceRoot":"","sources":["../../../lib/commands/compression-targets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEpE,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AA8DD,wBAAgB,2BAA2B,CACvC,aAAa,EAAE,kBAAkB,GAClC,iBAAiB,EAAE,CAMrB;AAED,wBAAgB,wBAAwB,CACpC,aAAa,EAAE,kBAAkB,EACjC,OAAO,EAAE,MAAM,GAChB,iBAAiB,GAAG,IAAI,CAkB1B"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
export { handleContextCommand } from "./context";
|
|
2
|
-
export { handleDecompressCommand } from "./decompress";
|
|
3
|
-
export { handleHelpCommand } from "./help";
|
|
4
|
-
export { applyPendingManualTrigger, handleManualToggleCommand, handleManualTriggerCommand, } from "./manual";
|
|
5
|
-
export { handleRecompressCommand } from "./recompress";
|
|
6
2
|
export { handleStatsCommand } from "./stats";
|
|
3
|
+
export type { StatsCommandContext } from "./stats";
|
|
7
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DCP Stats command handler.
|
|
3
|
-
* Shows pruning statistics for the current session and all-time totals.
|
|
4
|
-
*/
|
|
5
1
|
import type { Logger } from "../logger";
|
|
2
|
+
import type { PluginConfig } from "../config";
|
|
6
3
|
import type { SessionState, WithParts } from "../state";
|
|
7
4
|
export interface StatsCommandContext {
|
|
8
5
|
client: any;
|
|
9
6
|
state: SessionState;
|
|
7
|
+
config: PluginConfig;
|
|
10
8
|
logger: Logger;
|
|
11
9
|
sessionId: string;
|
|
12
10
|
messages: WithParts[];
|
|
11
|
+
userInfo?: {
|
|
12
|
+
providerId?: string;
|
|
13
|
+
modelId?: string;
|
|
14
|
+
agent?: string;
|
|
15
|
+
variant?: string;
|
|
16
|
+
};
|
|
13
17
|
}
|
|
14
18
|
export declare function handleStatsCommand(ctx: StatsCommandContext): Promise<void>;
|
|
15
19
|
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../lib/commands/stats.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../lib/commands/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIvD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,QAAQ,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;CACJ;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../lib/compress/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../lib/compress/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AA+QvF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CA4I5F"}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
1
|
import type { SessionState, WithParts } from "../state";
|
|
2
|
-
/**
|
|
3
|
-
* Hide compress tool-call parts whose blocks have been consumed by another
|
|
4
|
-
* compression (tier escalation or range overlap).
|
|
5
|
-
*
|
|
6
|
-
* This is the compress-as-anchor equivalent of filterCompressedRanges: instead
|
|
7
|
-
* of hiding whole messages covered by active blocks, it hides individual
|
|
8
|
-
* compress tool-call PARTS whose blocks are no longer active. The message shell
|
|
9
|
-
* survives (it may carry other parts); only the consumed compress call disappears.
|
|
10
|
-
*
|
|
11
|
-
* Block data (full summary, original messages) is preserved in session state and
|
|
12
|
-
* remains recoverable via `decompress`.
|
|
13
|
-
*
|
|
14
|
-
* Returns the number of compress-call parts hidden.
|
|
15
|
-
*/
|
|
16
2
|
export declare function hideConsumedCompressCalls(state: SessionState, messages: WithParts[]): number;
|
|
17
3
|
//# sourceMappingURL=hide-consumed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hide-consumed.d.ts","sourceRoot":"","sources":["../../../lib/compress/hide-consumed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"hide-consumed.d.ts","sourceRoot":"","sources":["../../../lib/compress/hide-consumed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAKvD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAoD5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hide-failed.d.ts","sourceRoot":"","sources":["../../../lib/compress/hide-failed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAUzC,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAqDrE"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export type { ToolContext } from "./types";
|
|
2
|
-
export { createCompressMessageTool } from "./message";
|
|
3
2
|
export { createCompressRangeTool } from "./range";
|
|
4
3
|
export { createDecompressTool } from "./decompress";
|
|
5
4
|
export { createSearchContextTool } from "./search";
|
|
6
5
|
export { createAcpStatusTool } from "./status";
|
|
7
6
|
export { createAcpContextRecapTool } from "./recap";
|
|
8
7
|
export { hideConsumedCompressCalls } from "./hide-consumed";
|
|
8
|
+
export { hideFailedCompressCalls } from "./hide-failed";
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/compress/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/compress/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../../../lib/compress/parts.ts"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAEvE"}
|
|
@@ -4,7 +4,6 @@ import type { SearchContext } from "./types";
|
|
|
4
4
|
export interface CompressionSnapshot {
|
|
5
5
|
messages: PruneMessagesState;
|
|
6
6
|
stats: SessionStats;
|
|
7
|
-
manualMode: SessionState["manualMode"];
|
|
8
7
|
}
|
|
9
8
|
export declare function snapshotCompressionState(state: SessionState): CompressionSnapshot;
|
|
10
9
|
export declare function restoreCompressionState(state: SessionState, snapshot: CompressionSnapshot): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../lib/compress/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAOzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAI5C,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,KAAK,EAAE,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../lib/compress/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAOzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAI5C,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,KAAK,EAAE,YAAY,CAAA;CACtB;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAKjF;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,mBAAmB,GAC9B,IAAI,CAGN;AAED,UAAU,UAAU;IAChB,GAAG,CAAC,KAAK,EAAE;QACP,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjB,QAAQ,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;CAC/B;AAED,wBAAsB,cAAc,CAChC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CA2B1B;AAED,wBAAsB,eAAe,CACjC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,SAAS,EAAE,EACxB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACnC,WAAW,EAAE,SAAS,EAAE,EACxB,KAAK,EAAE,YAAY,GACpB,MAAM,GAAG,IAAI,CAUf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACnE,KAAK,GAAG,IAAI,CAyCd;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,SAAS,EAAE,EACxB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,OAAO,WAAW,EAAE,cAAc,GAC7C,GAAG,CAAC,MAAM,CAAC,CAuCb;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,GAAG,EAAE,WAAW,EAChB,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAC7B,WAAW,EAAE,SAAS,EAAE,EACxB,SAAS,EAAE,OAAO,GACnB,KAAK,GAAG,IAAI,CA6Bd"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import { tool } from "@opencode-ai/plugin";
|
|
2
2
|
import { type ToolFactoryContext } from "./types";
|
|
3
|
+
import type { WithParts } from "../state/types";
|
|
4
|
+
import type { SessionState } from "../state/types";
|
|
5
|
+
import type { PluginConfig } from "../config";
|
|
6
|
+
export interface StatusRenderContext {
|
|
7
|
+
state: SessionState;
|
|
8
|
+
config?: PluginConfig;
|
|
9
|
+
}
|
|
10
|
+
export interface StatusReportOptions {
|
|
11
|
+
scope?: "compressed" | "uncompressed";
|
|
12
|
+
view?: "ranges" | "messages";
|
|
13
|
+
tool?: string;
|
|
14
|
+
sort?: "size" | "time" | "tool" | "age";
|
|
15
|
+
limit?: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function buildStatusReport(renderCtx: StatusRenderContext, rawMessages: WithParts[], options?: StatusReportOptions): string;
|
|
3
18
|
export declare function createAcpStatusTool(factoryCtx: ToolFactoryContext): ReturnType<typeof tool>;
|
|
4
19
|
//# sourceMappingURL=status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../lib/compress/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../lib/compress/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAoB,KAAK,kBAAkB,EAAsB,MAAM,SAAS,CAAA;AAEvF,OAAO,KAAK,EAAoB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAkH7C,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,CAAC,EAAE,YAAY,CAAA;CACxB;AAiXD,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,cAAc,CAAA;IACrC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,mBAAmB,EAC9B,WAAW,EAAE,SAAS,EAAE,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC9B,MAAM,CA8CR;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAoE3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-validation.d.ts","sourceRoot":"","sources":["../../lib/config-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"config-validation.d.ts","sourceRoot":"","sources":["../../lib/config-validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,iBAAiB,aA4D5B,CAAA;AAoBF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAG9E;AAED,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EAAE,CAgnBlF"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
2
|
type Permission = "ask" | "allow" | "deny";
|
|
3
|
-
type CompressMode = "range" | "message";
|
|
4
3
|
export interface CompressConfig {
|
|
5
|
-
mode: CompressMode;
|
|
6
4
|
permission: Permission;
|
|
7
5
|
showCompression: boolean;
|
|
8
6
|
summaryBuffer: boolean;
|
|
@@ -38,13 +36,6 @@ export interface Commands {
|
|
|
38
36
|
enabled: boolean;
|
|
39
37
|
protectedTools: string[];
|
|
40
38
|
}
|
|
41
|
-
export interface ManualModeConfig {
|
|
42
|
-
enabled: boolean;
|
|
43
|
-
}
|
|
44
|
-
export interface TurnProtection {
|
|
45
|
-
enabled: boolean;
|
|
46
|
-
turns: number;
|
|
47
|
-
}
|
|
48
39
|
export interface ExperimentalConfig {
|
|
49
40
|
allowSubAgents: boolean;
|
|
50
41
|
customPrompts: boolean;
|
|
@@ -70,6 +61,12 @@ export interface QualityGateConfig {
|
|
|
70
61
|
algorithm: string;
|
|
71
62
|
algorithms: QualityGateAlgorithmConfigs;
|
|
72
63
|
}
|
|
64
|
+
export interface MessageFiltersConfig {
|
|
65
|
+
enabled: boolean;
|
|
66
|
+
filters: Record<string, {
|
|
67
|
+
enabled: boolean;
|
|
68
|
+
}>;
|
|
69
|
+
}
|
|
73
70
|
export interface PluginConfig {
|
|
74
71
|
enabled: boolean;
|
|
75
72
|
autoUpdate: boolean;
|
|
@@ -77,13 +74,12 @@ export interface PluginConfig {
|
|
|
77
74
|
pruneNotification: "off" | "minimal" | "detailed";
|
|
78
75
|
pruneNotificationType: "chat" | "toast";
|
|
79
76
|
commands: Commands;
|
|
80
|
-
manualMode: ManualModeConfig;
|
|
81
|
-
turnProtection: TurnProtection;
|
|
82
77
|
experimental: ExperimentalConfig;
|
|
83
78
|
protectedFilePatterns: string[];
|
|
84
79
|
compress: CompressConfig;
|
|
85
80
|
gc: GCConfig;
|
|
86
81
|
qualityGate: QualityGateConfig;
|
|
82
|
+
messageFilters: MessageFiltersConfig;
|
|
87
83
|
}
|
|
88
84
|
type CompressOverride = Partial<CompressConfig>;
|
|
89
85
|
export { VALID_CONFIG_KEYS, getInvalidConfigKeys, validateConfigTypes, type ValidationError } from "./config-validation";
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAItD,KAAK,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAItD,KAAK,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;AAE1C,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,UAAU,CAAA;IACtB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,eAAe,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACtC,eAAe,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;IACtD,cAAc,EAAE,MAAM,CAAA;IACtB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,uBAAuB,EAAE,MAAM,CAAA;IAC/B,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,gBAAgB,EAAE,MAAM,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yBAAyB,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IAChD,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,0EAA0E;IAC1E,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,mEAAmE;IACnE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACpC;AAED,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAC/B,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,YAAY,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACnC,aAAa,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IACpC,cAAc,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;CACxC;AAED,MAAM,WAAW,QAAQ;IACrB,SAAS,EAAE,UAAU,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,uBAAuB,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAA;IAC9C,YAAY,EAAE,kBAAkB,CAAA;CACnC;AAED,MAAM,WAAW,2BAA2B;IACxC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,2BAA2B,CAAA;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,iBAAiB,EAAE,KAAK,GAAG,SAAS,GAAG,UAAU,CAAA;IACjD,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAA;IACvC,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,kBAAkB,CAAA;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAA;IAC/B,QAAQ,EAAE,cAAc,CAAA;IACxB,EAAE,EAAE,QAAQ,CAAA;IACZ,WAAW,EAAE,iBAAiB,CAAA;IAC9B,cAAc,EAAE,oBAAoB,CAAA;CACvC;AAED,KAAK,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AA2B/C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAkOxH,wBAAgB,aAAa,CACzB,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,EAC9B,QAAQ,CAAC,EAAE,gBAAgB,GAC5B,YAAY,CAAC,UAAU,CAAC,CAoC1B;AA2ID,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAsCxD"}
|
package/dist/lib/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAe5C,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAe5C,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAchE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAMhE,OAAO,EAA2E,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAA;AA+B5H,wBAAgB,yBAAyB,CACrC,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,IAGhB,OAAO;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE;QAAE,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CACzE,EACD,QAAQ;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,mBAsCnC;AAED,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,sBAAsB,IAEzB,OAAO,EAAE,EAAE,QAAQ;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,mBAqH7D;AAED,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,GAAG,EACX,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,sBAAsB,IAGnC,OAAO;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ;IAAE,KAAK,EAAE,GAAG,EAAE,CAAA;CAAE,mBA6C/B;AAED,wBAAgB,yBAAyB,KAEjC,QAAQ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,mBAI/B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,IAC/D,OAAO;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBAuFtC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { WithParts } from "../../state";
|
|
2
|
+
import type { Logger } from "../../logger";
|
|
3
|
+
import type { MessageFiltersConfig } from "./types";
|
|
4
|
+
export interface ApplyResult {
|
|
5
|
+
partsFiltered: number;
|
|
6
|
+
partsDropped: number;
|
|
7
|
+
partsModified: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function applyMessageFilters(messages: WithParts[], config: MessageFiltersConfig | undefined, logger: Logger, ctx: {
|
|
10
|
+
sessionId: string;
|
|
11
|
+
isSubAgent: boolean;
|
|
12
|
+
modelContextLimit?: number;
|
|
13
|
+
}): ApplyResult;
|
|
14
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../../lib/messages/filter/apply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAuC,oBAAoB,EAAgB,MAAM,SAAS,CAAA;AAGtG,MAAM,WAAW,WAAW;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E,WAAW,CAoIb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../lib/messages/filter/builtin/index.ts"],"names":[],"mappings":"AAgBA,wBAAgB,8BAA8B,IAAI,IAAI,CAMrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omo-context.d.ts","sourceRoot":"","sources":["../../../../../lib/messages/filter/builtin/omo-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,UAAU,CAAA;AAIjF,QAAA,MAAM,kBAAkB,EAAE,aAezB,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omo-mode-injection.d.ts","sourceRoot":"","sources":["../../../../../lib/messages/filter/builtin/omo-mode-injection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,UAAU,CAAA;AAIjF,QAAA,MAAM,eAAe,EAAE,aAatB,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omo-system-reminder.d.ts","sourceRoot":"","sources":["../../../../../lib/messages/filter/builtin/omo-system-reminder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,UAAU,CAAA;AA8BjF,QAAA,MAAM,0BAA0B,EAAE,aA0CjC,CAAA;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omo-task-directive.d.ts","sourceRoot":"","sources":["../../../../../lib/messages/filter/builtin/omo-task-directive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,UAAU,CAAA;AAIjF,QAAA,MAAM,eAAe,EAAE,aAetB,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omo-todo-continuation.d.ts","sourceRoot":"","sources":["../../../../../lib/messages/filter/builtin/omo-todo-continuation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,UAAU,CAAA;AAKjF,QAAA,MAAM,eAAe,EAAE,aAatB,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { MessageFilter, MessageFilterContext, FilterResult, MessageFilterConfig, MessageFiltersConfig, } from "./types";
|
|
2
|
+
export { registerMessageFilter, getMessageFilter, listMessageFilters, clearMessageFilters } from "./registry";
|
|
3
|
+
export { applyMessageFilters } from "./apply";
|
|
4
|
+
export type { ApplyResult } from "./apply";
|
|
5
|
+
export { ensureBuiltinFiltersRegistered } from "./builtin";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/messages/filter/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,GACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MessageFilter } from "./types";
|
|
2
|
+
export declare function registerMessageFilter(filter: MessageFilter): void;
|
|
3
|
+
export declare function getMessageFilter(name: string): MessageFilter | undefined;
|
|
4
|
+
export declare function listMessageFilters(): MessageFilter[];
|
|
5
|
+
export declare function clearMessageFilters(): void;
|
|
6
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../lib/messages/filter/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAI5C,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CASjE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAExE;AAED,wBAAgB,kBAAkB,IAAI,aAAa,EAAE,CAEpD;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message Filter — pluggable system for stripping/deduplicating third-party
|
|
3
|
+
* plugin injections (OMO system-reminders, background task notifications, etc.)
|
|
4
|
+
* from the visible context before ACP processes them.
|
|
5
|
+
*
|
|
6
|
+
* Filters run BEFORE assignMessageRefs, so filtered content never gets message
|
|
7
|
+
* refs and is never counted toward context usage or compression triggers.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Context passed to each registered filter for a single text part.
|
|
11
|
+
*/
|
|
12
|
+
export interface MessageFilterContext {
|
|
13
|
+
/** The text content of this part. */
|
|
14
|
+
text: string;
|
|
15
|
+
/** Role of the containing message ("user" | "assistant" | "system"). */
|
|
16
|
+
role: string;
|
|
17
|
+
/** Session ID (may be empty for ephemeral state). */
|
|
18
|
+
sessionId: string;
|
|
19
|
+
/** Whether this is a subagent session. */
|
|
20
|
+
isSubAgent: boolean;
|
|
21
|
+
/** 0-based index of this message in the visible messages array. */
|
|
22
|
+
messageIndex: number;
|
|
23
|
+
/** Total number of visible messages. */
|
|
24
|
+
totalMessages: number;
|
|
25
|
+
/** Tool name if this part is a tool call (e.g. "bash", "read"). */
|
|
26
|
+
toolName?: string;
|
|
27
|
+
/** Model context limit (for threshold-based filtering). */
|
|
28
|
+
modelContextLimit?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Result returned by a filter for a single text part.
|
|
32
|
+
*/
|
|
33
|
+
export interface FilterResult {
|
|
34
|
+
/** What to do with this text part. */
|
|
35
|
+
action: "keep" | "modify" | "drop";
|
|
36
|
+
/** Replacement text when action is "modify". Ignored for "keep" and "drop". */
|
|
37
|
+
text?: string;
|
|
38
|
+
/** Human-readable reason for logging/auditing. */
|
|
39
|
+
reason?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A pluggable message filter. Filters are registered via {@link registerMessageFilter}
|
|
43
|
+
* and called by {@link applyMessageFilters} during the message transform pipeline.
|
|
44
|
+
*
|
|
45
|
+
* Filters MUST be pure and side-effect-free: they receive a snapshot of the
|
|
46
|
+
* text and return a decision. They MUST NOT mutate the input context.
|
|
47
|
+
*
|
|
48
|
+
* If a filter returns "drop", the text part is emptied (set to ""). If ALL
|
|
49
|
+
* text parts in a message become empty after filtering, the message itself
|
|
50
|
+
* is not removed (ACP's existing dropEmptyMessages handles that downstream).
|
|
51
|
+
*/
|
|
52
|
+
export interface MessageFilter {
|
|
53
|
+
/** Unique name (used in config to enable/disable). */
|
|
54
|
+
name: string;
|
|
55
|
+
/** Semver version (for breaking-change detection). */
|
|
56
|
+
version: string;
|
|
57
|
+
/** Human-readable description. */
|
|
58
|
+
description: string;
|
|
59
|
+
/**
|
|
60
|
+
* Evaluate whether to keep, modify, or drop this text part.
|
|
61
|
+
* Called once per text part per message.
|
|
62
|
+
*/
|
|
63
|
+
filter(ctx: MessageFilterContext): FilterResult;
|
|
64
|
+
/**
|
|
65
|
+
* When true, applyMessageFilters keeps only the LAST matching message
|
|
66
|
+
* and drops all earlier matches. Useful for repeating directives
|
|
67
|
+
* (e.g., TODO CONTINUATION) where only the latest is relevant.
|
|
68
|
+
* The filter() function still runs per-part to identify matches;
|
|
69
|
+
* the dedup pass then empties earlier occurrences.
|
|
70
|
+
*/
|
|
71
|
+
keepLastOnly?: boolean;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Per-filter configuration: whether the filter is enabled.
|
|
75
|
+
*/
|
|
76
|
+
export type MessageFilterConfig = Record<string, {
|
|
77
|
+
enabled: boolean;
|
|
78
|
+
}>;
|
|
79
|
+
/**
|
|
80
|
+
* Top-level configuration for the message filter subsystem.
|
|
81
|
+
*/
|
|
82
|
+
export interface MessageFiltersConfig {
|
|
83
|
+
/** Master switch. When false, no filters run. */
|
|
84
|
+
enabled: boolean;
|
|
85
|
+
/** Per-filter enable/disable. Keys are filter names. */
|
|
86
|
+
filters: MessageFilterConfig;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../lib/messages/filter/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,UAAU,EAAE,OAAO,CAAA;IACnB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAA;IACrB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2DAA2D;IAC3D,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,sCAAsC;IACtC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAA;IAClC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC1B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,oBAAoB,GAAG,YAAY,CAAA;IAC/C;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAA;AAEtE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAA;IAChB,wDAAwD;IACxD,OAAO,EAAE,mBAAmB,CAAA;CAC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/inject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AA+DzD,eAAO,MAAM,oBAAoB,GAC7B,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,SAAS,cAAc,EACvB,wBAAwB,sBAAsB,EAC9C,cAAc,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACpC,oBAAoB,MAAM,KAC3B,IA2gBF,CAAA;AAgBD,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;CACnB;AAOD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CA6CjG;AAMD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAwBzF;AAuBD,eAAO,MAAM,gBAAgB,GACzB,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,UAAU,SAAS,EAAE,EACrB,wBAAwB,sBAAsB,KAC/C,IAiEF,CAAA"}
|
|
@@ -44,11 +44,6 @@ export declare function computeShouldNudge(params: {
|
|
|
44
44
|
}): NudgeDecision;
|
|
45
45
|
export declare function resolveAdaptiveNudgeGrowth(modelContextLimit: number | undefined): number;
|
|
46
46
|
export declare function addAnchor(anchorMessageIds: Set<string>, anchorMessageId: string, anchorMessageIndex: number, messages: WithParts[], interval: number): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Build tiered context usage guidance based on actual config thresholds.
|
|
49
|
-
* Shared by inject.ts (suffix message) and utils.ts (anchored nudges).
|
|
50
|
-
*/
|
|
51
|
-
export declare function buildContextUsageGuidance(config: PluginConfig, currentTokens?: number, modelContextLimit?: number): string;
|
|
52
47
|
export declare function applyAnchoredNudges(state: SessionState, config: PluginConfig, messages: WithParts[], prompts: RuntimePrompts, compressionPriorities?: CompressionPriorityMap, currentTokens?: number, modelContextLimit?: number, suffixMessage?: WithParts | null): void;
|
|
53
48
|
export interface ContextComposition {
|
|
54
49
|
toolTokens: number;
|
|
@@ -56,6 +51,7 @@ export interface ContextComposition {
|
|
|
56
51
|
summaryTokens: number;
|
|
57
52
|
messageTokens: number;
|
|
58
53
|
textTokens: number;
|
|
54
|
+
systemTokens: number;
|
|
59
55
|
protectedTokens: number;
|
|
60
56
|
total: number;
|
|
61
57
|
largestRanges: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAQhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,EACH,KAAK,sBAAsB,EAG9B,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export interface CompressionPriorityEntry {
|
|
|
7
7
|
priority: MessagePriority;
|
|
8
8
|
}
|
|
9
9
|
export type CompressionPriorityMap = Map<string, CompressionPriorityEntry>;
|
|
10
|
-
export declare function buildPriorityMap(
|
|
10
|
+
export declare function buildPriorityMap(_config: PluginConfig, _state: SessionState, _messages: WithParts[]): CompressionPriorityMap;
|
|
11
11
|
export declare function classifyMessagePriority(tokenCount: number): MessagePriority;
|
|
12
12
|
export declare function listPriorityRefsBeforeIndex(messages: WithParts[], priorities: CompressionPriorityMap, anchorIndex: number, priority: MessagePriority): string[];
|
|
13
13
|
//# sourceMappingURL=priority.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority.d.ts","sourceRoot":"","sources":["../../../lib/messages/priority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"priority.d.ts","sourceRoot":"","sources":["../../../lib/messages/priority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAKvD,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAA;AAEvD,MAAM,WAAW,wBAAwB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,eAAe,CAAA;CAC5B;AAED,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;AAE1E,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,SAAS,EAAE,GACvB,sBAAsB,CAExB;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAU3E;AAED,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,SAAS,EAAE,EACrB,UAAU,EAAE,sBAAsB,EAClC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,eAAe,GAC1B,MAAM,EAAE,CAqBV"}
|
|
@@ -16,5 +16,5 @@ export declare const messageHasCompress: (message: WithParts) => boolean;
|
|
|
16
16
|
*/
|
|
17
17
|
export declare const messageHasCompressAttempt: (message: WithParts) => boolean;
|
|
18
18
|
export declare const isIgnoredUserMessage: (message: WithParts) => boolean;
|
|
19
|
-
export declare function isProtectedUserMessage(
|
|
19
|
+
export declare function isProtectedUserMessage(_config: PluginConfig, message: WithParts): boolean;
|
|
20
20
|
//# sourceMappingURL=query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../lib/messages/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAG9D;AAED,eAAO,MAAM,kBAAkB,GAC3B,UAAU,SAAS,EAAE,EACrB,aAAa,MAAM,KACpB,SAAS,GAAG,IAYd,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,SAAS,KAAG,OAcvD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GAAI,SAAS,SAAS,KAAG,OAW9D,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,KAAG,OAqBzD,CAAA;AAED,wBAAgB,sBAAsB,CAAC,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../lib/messages/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAG9D;AAED,eAAO,MAAM,kBAAkB,GAC3B,UAAU,SAAS,EAAE,EACrB,aAAa,MAAM,KACpB,SAAS,GAAG,IAYd,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,SAAS,KAAG,OAcvD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GAAI,SAAS,SAAS,KAAG,OAW9D,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,KAAG,OAqBzD,CAAA;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAMzF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export declare const MANUAL_MODE_SYSTEM_EXTENSION = "<dcp-system-reminder>\nManual mode is enabled. Do NOT use compress unless the user has explicitly triggered it through a manual marker.\n\nOnly use the compress tool after seeing `<compress triggered manually>` in the current user instruction context.\n\nIssue exactly ONE compress tool per manual trigger. Do NOT launch multiple compress tools in parallel. Each trigger grants a single compression; after it completes, wait for the next trigger.\n\nAfter completing a manually triggered context-management action, STOP IMMEDIATELY. Do NOT continue with any task execution. End your response right after the tool use completes and wait for the next user input.\n</dcp-system-reminder>\n";
|
|
2
1
|
export declare const SUBAGENT_SYSTEM_EXTENSION = "<dcp-system-reminder>\nYou are operating in a subagent environment.\n\nThe initial subagent instruction is imperative and must be followed exactly.\nIt is the only user message intentionally not assigned a message ID, and therefore is not eligible for compression.\nAll subsequent messages in the session will have IDs.\n</dcp-system-reminder>\n";
|
|
3
2
|
export declare function buildProtectedToolsExtension(protectedTools: string[]): string;
|
|
4
3
|
export declare const DECOMPRESS_SYSTEM_EXTENSION = "<dcp-system-reminder>\nTHE PHILOSOPHY OF DECOMPRESS\n`decompress` restores previously compressed content. Use it when you need exact details\nthat were lost in compression.\n\nDECOMPRESS WHEN\n- You need exact code, error messages, or file contents from a compressed block\n- A summary lacks the precision needed for your next step\n- You discovered the compressed content is still relevant\n\nDO NOT DECOMPRESS IF\n- Context usage is already high (>70%) \u2014 decompressing inflates context\n- The summary is sufficient for your needs\n- You plan to immediately recompress the same content\n\nBefore decompressing, check context usage. Decompressing restores full messages,\nwhich can significantly increase context size.\n\nNOTE: Message-mode blocks created in the same batch (same runId) are restored together.\nDecompressing one block from a batch restores all blocks in that batch.\n</dcp-system-reminder>\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/extensions/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/extensions/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,8VAOrC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAW7E;AAED,eAAO,MAAM,2BAA2B,s5BAqBvC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RuntimePrompts } from "./store";
|
|
2
2
|
export type { PromptStore, RuntimePrompts } from "./store";
|
|
3
|
-
export declare function renderSystemPrompt(prompts: RuntimePrompts, protectedToolsExtension?: string,
|
|
3
|
+
export declare function renderSystemPrompt(prompts: RuntimePrompts, protectedToolsExtension?: string, subagent?: boolean): string;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE1D,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,cAAc,EACvB,uBAAuB,CAAC,EAAE,MAAM,EAChC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7C,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE1D,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,cAAc,EACvB,uBAAuB,CAAC,EAAE,MAAM,EAChC,QAAQ,CAAC,EAAE,OAAO,GACnB,MAAM,CAoBR"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import type { Logger } from "../logger";
|
|
2
|
-
export type PromptKey = "system" | "compress-range" | "
|
|
2
|
+
export type PromptKey = "system" | "compress-range" | "context-limit-nudge" | "turn-nudge" | "iteration-nudge";
|
|
3
3
|
export interface RuntimePrompts {
|
|
4
4
|
system: string;
|
|
5
5
|
compressRange: string;
|
|
6
|
-
compressMessage: string;
|
|
7
6
|
contextLimitNudge: string;
|
|
8
7
|
turnNudge: string;
|
|
9
8
|
iterationNudge: string;
|
|
10
|
-
manualExtension: string;
|
|
11
9
|
subagentExtension: string;
|
|
12
10
|
decompressExtension: string;
|
|
13
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../lib/prompts/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../lib/prompts/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAQvC,MAAM,MAAM,SAAS,GACf,QAAQ,GACR,gBAAgB,GAChB,qBAAqB,GACrB,YAAY,GACZ,iBAAiB,CAAA;AA6BvB,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,CAAA;IACzB,mBAAmB,EAAE,MAAM,CAAA;CAC9B;AA6CD,eAAO,MAAM,WAAW,EAAE,SAAS,EAMlC,CAAA;AA4MD,qBAAa,WAAW;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,cAAc,CAAgB;gBAE1B,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,UAAQ;IAYlF,iBAAiB,IAAI,cAAc;IAInC,MAAM,IAAI,IAAI;IAiDd,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,kBAAkB;CAkD7B"}
|