@royalcat/opencode-dcp-rc 0.0.0-stage → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +619 -0
- package/README.md +348 -2
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7611 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/commands/compression-targets.d.ts +13 -0
- package/dist/lib/commands/compression-targets.d.ts.map +1 -0
- package/dist/lib/commands/context.d.ts +67 -0
- package/dist/lib/commands/context.d.ts.map +1 -0
- package/dist/lib/commands/decompress.d.ts +12 -0
- package/dist/lib/commands/decompress.d.ts.map +1 -0
- package/dist/lib/commands/help.d.ts +18 -0
- package/dist/lib/commands/help.d.ts.map +1 -0
- package/dist/lib/commands/index.d.ts +8 -0
- package/dist/lib/commands/index.d.ts.map +1 -0
- package/dist/lib/commands/manual.d.ts +23 -0
- package/dist/lib/commands/manual.d.ts.map +1 -0
- package/dist/lib/commands/recompress.d.ts +12 -0
- package/dist/lib/commands/recompress.d.ts.map +1 -0
- package/dist/lib/commands/stats.d.ts +25 -0
- package/dist/lib/commands/stats.d.ts.map +1 -0
- package/dist/lib/commands/sweep.d.ts +23 -0
- package/dist/lib/commands/sweep.d.ts.map +1 -0
- package/dist/lib/compress/index.d.ts +3 -0
- package/dist/lib/compress/index.d.ts.map +1 -0
- package/dist/lib/compress/pipeline.d.ts +29 -0
- package/dist/lib/compress/pipeline.d.ts.map +1 -0
- package/dist/lib/compress/protected-content.d.ts +6 -0
- package/dist/lib/compress/protected-content.d.ts.map +1 -0
- package/dist/lib/compress/rc.d.ts +15 -0
- package/dist/lib/compress/rc.d.ts.map +1 -0
- package/dist/lib/compress/search.d.ts +12 -0
- package/dist/lib/compress/search.d.ts.map +1 -0
- package/dist/lib/compress/state.d.ts +10 -0
- package/dist/lib/compress/state.d.ts.map +1 -0
- package/dist/lib/compress/summary.d.ts +58 -0
- package/dist/lib/compress/summary.d.ts.map +1 -0
- package/dist/lib/compress/timing.d.ts +18 -0
- package/dist/lib/compress/timing.d.ts.map +1 -0
- package/dist/lib/compress/types.d.ts +55 -0
- package/dist/lib/compress/types.d.ts.map +1 -0
- package/dist/lib/compress-permission.d.ts +4 -0
- package/dist/lib/compress-permission.d.ts.map +1 -0
- package/dist/lib/config.d.ts +83 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/hooks.d.ts +22 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/logger.d.ts +31 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/message-ids.d.ts +20 -0
- package/dist/lib/message-ids.d.ts.map +1 -0
- package/dist/lib/messages/index.d.ts +8 -0
- package/dist/lib/messages/index.d.ts.map +1 -0
- package/dist/lib/messages/inject/inject.d.ts +7 -0
- package/dist/lib/messages/inject/inject.d.ts.map +1 -0
- package/dist/lib/messages/inject/subagent-results.d.ts +4 -0
- package/dist/lib/messages/inject/subagent-results.d.ts.map +1 -0
- package/dist/lib/messages/inject/utils.d.ts +23 -0
- package/dist/lib/messages/inject/utils.d.ts.map +1 -0
- package/dist/lib/messages/prune.d.ts +4 -0
- package/dist/lib/messages/prune.d.ts.map +1 -0
- package/dist/lib/messages/query.d.ts +7 -0
- package/dist/lib/messages/query.d.ts.map +1 -0
- package/dist/lib/messages/reasoning-strip.d.ts +8 -0
- package/dist/lib/messages/reasoning-strip.d.ts.map +1 -0
- package/dist/lib/messages/shape.d.ts +5 -0
- package/dist/lib/messages/shape.d.ts.map +1 -0
- package/dist/lib/messages/sync.d.ts +4 -0
- package/dist/lib/messages/sync.d.ts.map +1 -0
- package/dist/lib/messages/utils.d.ts +27 -0
- package/dist/lib/messages/utils.d.ts.map +1 -0
- package/dist/lib/prompts/compress-rc.d.ts +4 -0
- package/dist/lib/prompts/compress-rc.d.ts.map +1 -0
- package/dist/lib/prompts/context-limit-nudge.d.ts +2 -0
- package/dist/lib/prompts/context-limit-nudge.d.ts.map +1 -0
- package/dist/lib/prompts/extensions/nudge.d.ts +4 -0
- package/dist/lib/prompts/extensions/nudge.d.ts.map +1 -0
- package/dist/lib/prompts/extensions/system.d.ts +4 -0
- package/dist/lib/prompts/extensions/system.d.ts.map +1 -0
- package/dist/lib/prompts/extensions/tool.d.ts +3 -0
- package/dist/lib/prompts/extensions/tool.d.ts.map +1 -0
- package/dist/lib/prompts/index.d.ts +4 -0
- package/dist/lib/prompts/index.d.ts.map +1 -0
- package/dist/lib/prompts/iteration-nudge.d.ts +2 -0
- package/dist/lib/prompts/iteration-nudge.d.ts.map +1 -0
- package/dist/lib/prompts/store.d.ts +26 -0
- package/dist/lib/prompts/store.d.ts.map +1 -0
- package/dist/lib/prompts/system.d.ts +4 -0
- package/dist/lib/prompts/system.d.ts.map +1 -0
- package/dist/lib/prompts/turn-nudge.d.ts +2 -0
- package/dist/lib/prompts/turn-nudge.d.ts.map +1 -0
- package/dist/lib/protected-patterns.d.ts +6 -0
- package/dist/lib/protected-patterns.d.ts.map +1 -0
- package/dist/lib/state/index.d.ts +5 -0
- package/dist/lib/state/index.d.ts.map +1 -0
- package/dist/lib/state/persistence.d.ts +45 -0
- package/dist/lib/state/persistence.d.ts.map +1 -0
- package/dist/lib/state/state.d.ts +9 -0
- package/dist/lib/state/state.d.ts.map +1 -0
- package/dist/lib/state/tool-cache.d.ts +13 -0
- package/dist/lib/state/tool-cache.d.ts.map +1 -0
- package/dist/lib/state/types.d.ts +102 -0
- package/dist/lib/state/types.d.ts.map +1 -0
- package/dist/lib/state/utils.d.ts +22 -0
- package/dist/lib/state/utils.d.ts.map +1 -0
- package/dist/lib/strategies/deduplication.d.ts +10 -0
- package/dist/lib/strategies/deduplication.d.ts.map +1 -0
- package/dist/lib/strategies/index.d.ts +3 -0
- package/dist/lib/strategies/index.d.ts.map +1 -0
- package/dist/lib/strategies/purge-errors.d.ts +13 -0
- package/dist/lib/strategies/purge-errors.d.ts.map +1 -0
- package/dist/lib/subagents/subagent-results.d.ts +5 -0
- package/dist/lib/subagents/subagent-results.d.ts.map +1 -0
- package/dist/lib/token-utils.d.ts +19 -0
- package/dist/lib/token-utils.d.ts.map +1 -0
- package/dist/lib/tui/dialogs.d.ts +29 -0
- package/dist/lib/tui/dialogs.d.ts.map +1 -0
- package/dist/lib/tui/format.d.ts +4 -0
- package/dist/lib/tui/format.d.ts.map +1 -0
- package/dist/lib/tui/types.d.ts +18 -0
- package/dist/lib/tui/types.d.ts.map +1 -0
- package/dist/lib/tui/ui.d.ts +48 -0
- package/dist/lib/tui/ui.d.ts.map +1 -0
- package/dist/lib/ui/notification.d.ts +17 -0
- package/dist/lib/ui/notification.d.ts.map +1 -0
- package/dist/lib/ui/utils.d.ts +10 -0
- package/dist/lib/ui/utils.d.ts.map +1 -0
- package/dist/lib/v2/index.d.ts +5 -0
- package/dist/lib/v2/index.d.ts.map +1 -0
- package/dist/lib/v2/messages.d.ts +13 -0
- package/dist/lib/v2/messages.d.ts.map +1 -0
- package/dist/lib/v2/rpc.d.ts +55 -0
- package/dist/lib/v2/rpc.d.ts.map +1 -0
- package/dist/lib/v2/theme.d.ts +55 -0
- package/dist/lib/v2/theme.d.ts.map +1 -0
- package/dist/lib/v2/tui.d.ts +4 -0
- package/dist/lib/v2/tui.d.ts.map +1 -0
- package/dist/tui.d.ts +7 -0
- package/dist/tui.d.ts.map +1 -0
- package/lib/commands/compression-targets.ts +54 -0
- package/lib/commands/context.ts +305 -0
- package/lib/commands/decompress.ts +273 -0
- package/lib/commands/help.ts +76 -0
- package/lib/commands/index.ts +11 -0
- package/lib/commands/manual.ts +126 -0
- package/lib/commands/recompress.ts +222 -0
- package/lib/commands/stats.ts +159 -0
- package/lib/commands/sweep.ts +266 -0
- package/lib/compress/index.ts +2 -0
- package/lib/compress/pipeline.ts +116 -0
- package/lib/compress/protected-content.ts +163 -0
- package/lib/compress/rc.ts +458 -0
- package/lib/compress/search.ts +277 -0
- package/lib/compress/state.ts +272 -0
- package/lib/compress/summary.ts +293 -0
- package/lib/compress/timing.ts +77 -0
- package/lib/compress/types.ts +57 -0
- package/lib/compress-permission.ts +9 -0
- package/lib/config.ts +995 -0
- package/lib/hooks.ts +205 -0
- package/lib/logger.ts +226 -0
- package/lib/message-ids.ts +181 -0
- package/lib/messages/index.ts +7 -0
- package/lib/messages/inject/inject.ts +215 -0
- package/lib/messages/inject/subagent-results.ts +84 -0
- package/lib/messages/inject/utils.ts +304 -0
- package/lib/messages/prune.ts +238 -0
- package/lib/messages/query.ts +71 -0
- package/lib/messages/reasoning-strip.ts +40 -0
- package/lib/messages/shape.ts +50 -0
- package/lib/messages/sync.ts +124 -0
- package/lib/messages/utils.ts +190 -0
- package/lib/prompts/compress-rc.ts +25 -0
- package/lib/prompts/context-limit-nudge.ts +18 -0
- package/lib/prompts/extensions/nudge.ts +34 -0
- package/lib/prompts/extensions/system.ts +32 -0
- package/lib/prompts/extensions/tool.ts +21 -0
- package/lib/prompts/index.ts +29 -0
- package/lib/prompts/iteration-nudge.ts +6 -0
- package/lib/prompts/store.ts +452 -0
- package/lib/prompts/system.ts +41 -0
- package/lib/prompts/turn-nudge.ts +10 -0
- package/lib/protected-patterns.ts +159 -0
- package/lib/state/index.ts +4 -0
- package/lib/state/persistence.ts +305 -0
- package/lib/state/state.ts +210 -0
- package/lib/state/tool-cache.ts +99 -0
- package/lib/state/types.ts +114 -0
- package/lib/state/utils.ts +345 -0
- package/lib/strategies/deduplication.ts +125 -0
- package/lib/strategies/index.ts +2 -0
- package/lib/strategies/purge-errors.ts +86 -0
- package/lib/subagents/subagent-results.ts +75 -0
- package/lib/token-utils.ts +164 -0
- package/lib/tui/dialogs.tsx +237 -0
- package/lib/tui/format.ts +25 -0
- package/lib/tui/types.ts +25 -0
- package/lib/tui/ui.tsx +245 -0
- package/lib/ui/notification.ts +347 -0
- package/lib/ui/utils.ts +304 -0
- package/lib/v2/index.ts +401 -0
- package/lib/v2/messages.ts +252 -0
- package/lib/v2/rpc.ts +48 -0
- package/lib/v2/theme.ts +67 -0
- package/lib/v2/tui.tsx +115 -0
- package/package.json +91 -5
- package/server.js +1 -0
- package/tui.tsx +7 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CompressionBlock, PruneMessagesState } from "../state";
|
|
2
|
+
export interface CompressionTarget {
|
|
3
|
+
displayId: number;
|
|
4
|
+
runId: number;
|
|
5
|
+
topic: string;
|
|
6
|
+
compressedTokens: number;
|
|
7
|
+
durationMs: number;
|
|
8
|
+
blocks: CompressionBlock[];
|
|
9
|
+
}
|
|
10
|
+
export declare function getActiveCompressionTargets(messagesState: PruneMessagesState): CompressionTarget[];
|
|
11
|
+
export declare function getRecompressibleCompressionTargets(messagesState: PruneMessagesState, availableMessageIds: Set<string>): CompressionTarget[];
|
|
12
|
+
export declare function resolveCompressionTarget(messagesState: PruneMessagesState, blockId: number): CompressionTarget | null;
|
|
13
|
+
//# sourceMappingURL=compression-targets.d.ts.map
|
|
@@ -0,0 +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,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAiBD,wBAAgB,2BAA2B,CACvC,aAAa,EAAE,kBAAkB,GAClC,iBAAiB,EAAE,CAMrB;AAED,wBAAgB,mCAAmC,CAC/C,aAAa,EAAE,kBAAkB,EACjC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,GACjC,iBAAiB,EAAE,CAMrB;AAED,wBAAgB,wBAAwB,CACpC,aAAa,EAAE,kBAAkB,EACjC,OAAO,EAAE,MAAM,GAChB,iBAAiB,GAAG,IAAI,CAG1B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCP Context Command
|
|
3
|
+
* Shows a visual breakdown of token usage in the current session.
|
|
4
|
+
*
|
|
5
|
+
* TOKEN CALCULATION STRATEGY
|
|
6
|
+
* ==========================
|
|
7
|
+
* We minimize tokenizer estimation by leveraging API-reported values wherever possible.
|
|
8
|
+
*
|
|
9
|
+
* WHAT WE GET FROM THE API (exact):
|
|
10
|
+
* - tokens.input : Input tokens for each assistant response
|
|
11
|
+
* - tokens.output : Output tokens generated (includes text + tool calls)
|
|
12
|
+
* - tokens.reasoning: Reasoning tokens used
|
|
13
|
+
* - tokens.cache : Cache read/write tokens
|
|
14
|
+
*
|
|
15
|
+
* HOW WE CALCULATE EACH CATEGORY:
|
|
16
|
+
*
|
|
17
|
+
* SYSTEM = firstAssistant.input + cache.read + cache.write - tokenizer(firstUserMessage)
|
|
18
|
+
* The first response's total input (input + cache.read + cache.write)
|
|
19
|
+
* contains system + first user message. On the first request of a
|
|
20
|
+
* session, the system prompt appears in cache.write (cache creation),
|
|
21
|
+
* not cache.read.
|
|
22
|
+
*
|
|
23
|
+
* TOOLS = tokenizer(toolInputs + toolOutputs) - prunedTokens
|
|
24
|
+
* We must tokenize tools anyway for pruning decisions.
|
|
25
|
+
*
|
|
26
|
+
* USER = tokenizer(all user messages)
|
|
27
|
+
* User messages are typically small, so estimation is acceptable.
|
|
28
|
+
*
|
|
29
|
+
* ASSISTANT = total - system - user - tools
|
|
30
|
+
* Calculated as residual. This absorbs:
|
|
31
|
+
* - Assistant text output tokens
|
|
32
|
+
* - Reasoning tokens (if persisted by the model)
|
|
33
|
+
* - Any estimation errors
|
|
34
|
+
*
|
|
35
|
+
* TOTAL = input + output + reasoning + cache.read + cache.write
|
|
36
|
+
* Matches opencode's UI display.
|
|
37
|
+
*
|
|
38
|
+
* WHY ASSISTANT IS THE RESIDUAL:
|
|
39
|
+
* If reasoning tokens persist in context (model-dependent), they semantically
|
|
40
|
+
* belong with "Assistant" since reasoning IS assistant-generated content.
|
|
41
|
+
*/
|
|
42
|
+
import type { Logger } from "../logger";
|
|
43
|
+
import type { SessionState, WithParts } from "../state";
|
|
44
|
+
export interface ContextCommandContext {
|
|
45
|
+
client: any;
|
|
46
|
+
state: SessionState;
|
|
47
|
+
logger: Logger;
|
|
48
|
+
sessionId: string;
|
|
49
|
+
messages: WithParts[];
|
|
50
|
+
}
|
|
51
|
+
interface TokenBreakdown {
|
|
52
|
+
system: number;
|
|
53
|
+
user: number;
|
|
54
|
+
assistant: number;
|
|
55
|
+
tools: number;
|
|
56
|
+
toolCount: number;
|
|
57
|
+
toolsInContextCount: number;
|
|
58
|
+
prunedTokens: number;
|
|
59
|
+
prunedToolCount: number;
|
|
60
|
+
prunedMessageCount: number;
|
|
61
|
+
total: number;
|
|
62
|
+
}
|
|
63
|
+
export declare function analyzeContextTokens(state: SessionState, messages: WithParts[]): TokenBreakdown;
|
|
64
|
+
export declare function formatContextMessage(breakdown: TokenBreakdown): string;
|
|
65
|
+
export declare function handleContextCommand(ctx: ContextCommandContext): Promise<void>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../lib/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQvD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,cAAc,CA4J/F;AASD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,cAAc,GAAG,MAAM,CAwDtE;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Logger } from "../logger";
|
|
2
|
+
import type { SessionState, WithParts } from "../state";
|
|
3
|
+
export interface DecompressCommandContext {
|
|
4
|
+
client: any;
|
|
5
|
+
state: SessionState;
|
|
6
|
+
logger: Logger;
|
|
7
|
+
sessionId: string;
|
|
8
|
+
messages: WithParts[];
|
|
9
|
+
args: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function handleDecompressCommand(ctx: DecompressCommandContext): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=decompress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decompress.d.ts","sourceRoot":"","sources":["../../../lib/commands/decompress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAwC,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAa7F,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,IAAI,EAAE,MAAM,EAAE,CAAA;CACjB;AAiID,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H1F"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCP Help command handler.
|
|
3
|
+
* Shows available DCP commands and their descriptions.
|
|
4
|
+
*/
|
|
5
|
+
import type { Logger } from "../logger";
|
|
6
|
+
import type { PluginConfig } from "../config";
|
|
7
|
+
import type { SessionState, WithParts } from "../state";
|
|
8
|
+
export interface HelpCommandContext {
|
|
9
|
+
client: any;
|
|
10
|
+
state: SessionState;
|
|
11
|
+
config: PluginConfig;
|
|
12
|
+
logger: Logger;
|
|
13
|
+
sessionId: string;
|
|
14
|
+
messages: WithParts[];
|
|
15
|
+
}
|
|
16
|
+
export declare function formatHelpMessage(state: SessionState, config: PluginConfig): string;
|
|
17
|
+
export declare function handleHelpCommand(ctx: HelpCommandContext): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=help.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../lib/commands/help.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,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;AAKvD,MAAM,WAAW,kBAAkB;IAC/B,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;CACxB;AAwBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAoBnF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
+
export { handleStatsCommand } from "./stats";
|
|
7
|
+
export { handleSweepCommand } from "./sweep";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EACH,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,GAC7B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCP Manual mode command handler.
|
|
3
|
+
* Handles toggling manual mode and triggering individual tool executions.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* /dcp manual [on|off] - Toggle manual mode or set explicit state
|
|
7
|
+
* /dcp-compress [focus] - Trigger manual compress execution
|
|
8
|
+
*/
|
|
9
|
+
import type { Logger } from "../logger";
|
|
10
|
+
import type { SessionState, WithParts } from "../state";
|
|
11
|
+
import type { PluginConfig } from "../config";
|
|
12
|
+
export interface ManualCommandContext {
|
|
13
|
+
client: any;
|
|
14
|
+
state: SessionState;
|
|
15
|
+
config: PluginConfig;
|
|
16
|
+
logger: Logger;
|
|
17
|
+
sessionId: string;
|
|
18
|
+
messages: WithParts[];
|
|
19
|
+
}
|
|
20
|
+
export declare function handleManualToggleCommand(ctx: ManualCommandContext, modeArg?: string): Promise<void>;
|
|
21
|
+
export declare function handleManualTriggerCommand(ctx: ManualCommandContext, tool: "compress", userFocus?: string): Promise<string | null>;
|
|
22
|
+
export declare function applyPendingManualTrigger(state: SessionState, messages: WithParts[], logger: Logger): void;
|
|
23
|
+
//# sourceMappingURL=manual.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../../../lib/commands/manual.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAoC7C,MAAM,WAAW,oBAAoB;IACjC,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;CACxB;AAED,wBAAsB,yBAAyB,CAC3C,GAAG,EAAE,oBAAoB,EACzB,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED,wBAAsB,0BAA0B,CAC5C,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB;AAED,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf,IAAI,CA8BN"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Logger } from "../logger";
|
|
2
|
+
import type { SessionState, WithParts } from "../state";
|
|
3
|
+
export interface RecompressCommandContext {
|
|
4
|
+
client: any;
|
|
5
|
+
state: SessionState;
|
|
6
|
+
logger: Logger;
|
|
7
|
+
sessionId: string;
|
|
8
|
+
messages: WithParts[];
|
|
9
|
+
args: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function handleRecompressCommand(ctx: RecompressCommandContext): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=recompress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recompress.d.ts","sourceRoot":"","sources":["../../../lib/commands/recompress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAsB,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAa3E,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,IAAI,EAAE,MAAM,EAAE,CAAA;CACjB;AAkFD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsH1F"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCP Stats command handler.
|
|
3
|
+
* Shows pruning statistics for the current session and all-time totals.
|
|
4
|
+
*/
|
|
5
|
+
import type { Logger } from "../logger";
|
|
6
|
+
import type { SessionState, WithParts } from "../state";
|
|
7
|
+
import { type AggregatedStats } from "../state/persistence";
|
|
8
|
+
export interface StatsCommandContext {
|
|
9
|
+
client: any;
|
|
10
|
+
state: SessionState;
|
|
11
|
+
logger: Logger;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
messages: WithParts[];
|
|
14
|
+
}
|
|
15
|
+
export declare function formatStatsMessage(sessionTokens: number, sessionSummaryTokens: number, sessionTools: number, sessionMessages: number, sessionDurationMs: number, allTime: AggregatedStats): string;
|
|
16
|
+
export declare function handleStatsCommand(ctx: StatsCommandContext): Promise<void>;
|
|
17
|
+
export declare function buildStatsReport(state: SessionState, logger: Logger): Promise<{
|
|
18
|
+
sessionTokens: number;
|
|
19
|
+
sessionSummaryTokens: number;
|
|
20
|
+
sessionTools: number;
|
|
21
|
+
sessionMessages: number;
|
|
22
|
+
sessionDurationMs: number;
|
|
23
|
+
allTime: AggregatedStats;
|
|
24
|
+
}>;
|
|
25
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../lib/commands/stats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGvD,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAIhF,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AAED,wBAAgB,kBAAkB,CAC9B,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,MAAM,EAC5B,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,eAAe,GACzB,MAAM,CAyBR;AAsCD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BhF;AAED,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;;;;;;;GAuCzE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DCP Sweep command handler.
|
|
3
|
+
* Prunes tool outputs since the last user message, or the last N tools.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* /dcp sweep - Prune all tools since the previous user message
|
|
7
|
+
* /dcp sweep 10 - Prune the last 10 tools
|
|
8
|
+
*/
|
|
9
|
+
import type { Logger } from "../logger";
|
|
10
|
+
import type { SessionState, WithParts } from "../state";
|
|
11
|
+
import type { PluginConfig } from "../config";
|
|
12
|
+
export interface SweepCommandContext {
|
|
13
|
+
client: any;
|
|
14
|
+
state: SessionState;
|
|
15
|
+
config: PluginConfig;
|
|
16
|
+
logger: Logger;
|
|
17
|
+
sessionId: string;
|
|
18
|
+
messages: WithParts[];
|
|
19
|
+
args: string[];
|
|
20
|
+
workingDirectory: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function handleSweepCommand(ctx: SweepCommandContext): Promise<void>;
|
|
23
|
+
//# sourceMappingURL=sweep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sweep.d.ts","sourceRoot":"","sources":["../../../lib/commands/sweep.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAW7C,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,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AA6FD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6IhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/compress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,MAAM,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { WithParts } from "../state";
|
|
2
|
+
import type { ToolContext } from "./types";
|
|
3
|
+
import type { SearchContext } from "./types";
|
|
4
|
+
interface RunContext {
|
|
5
|
+
ask(input: {
|
|
6
|
+
permission: string;
|
|
7
|
+
patterns: string[];
|
|
8
|
+
always: string[];
|
|
9
|
+
metadata: Record<string, unknown>;
|
|
10
|
+
}): Promise<void>;
|
|
11
|
+
metadata(input: {
|
|
12
|
+
title: string;
|
|
13
|
+
}): void;
|
|
14
|
+
sessionID: string;
|
|
15
|
+
}
|
|
16
|
+
export interface NotificationEntry {
|
|
17
|
+
blockId: number;
|
|
18
|
+
runId: number;
|
|
19
|
+
summary: string;
|
|
20
|
+
summaryTokens: number;
|
|
21
|
+
}
|
|
22
|
+
export interface PreparedSession {
|
|
23
|
+
rawMessages: WithParts[];
|
|
24
|
+
searchContext: SearchContext;
|
|
25
|
+
}
|
|
26
|
+
export declare function prepareSession(ctx: ToolContext, toolCtx: RunContext, title: string): Promise<PreparedSession>;
|
|
27
|
+
export declare function finalizeSession(ctx: ToolContext, toolCtx: RunContext, rawMessages: WithParts[], entries: NotificationEntry[], batchTopic: string | undefined): Promise<void>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../lib/compress/pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,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,CAsC1B;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,CA6Bf"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SessionState } from "../state";
|
|
2
|
+
import type { SearchContext, SelectionResolution } from "./types";
|
|
3
|
+
export declare function appendProtectedPromptInfo(summary: string, selection: SelectionResolution, searchContext: SearchContext, state: SessionState, enabled: boolean): string;
|
|
4
|
+
export declare function extractProtectedPromptInfo(text: string): string[];
|
|
5
|
+
export declare function appendProtectedTools(client: any, state: SessionState, allowSubAgents: boolean, summary: string, selection: SelectionResolution, searchContext: SearchContext, protectedTools: string[], protectedFilePatterns?: string[]): Promise<string>;
|
|
6
|
+
//# sourceMappingURL=protected-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected-content.d.ts","sourceRoot":"","sources":["../../../lib/compress/protected-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAS5C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAEjE,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,OAAO,GACjB,MAAM,CAgCR;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAYjE;AAED,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,OAAO,EACvB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,mBAAmB,EAC9B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EAAE,EACxB,qBAAqB,GAAE,MAAM,EAAO,GACrC,OAAO,CAAC,MAAM,CAAC,CAwFjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tool } from "@opencode-ai/plugin";
|
|
2
|
+
import type { ToolContext } from "./types";
|
|
3
|
+
import { type IdFormat } from "../message-ids";
|
|
4
|
+
export interface RcCompressToolArgs {
|
|
5
|
+
ids: string[];
|
|
6
|
+
}
|
|
7
|
+
interface ParsedSelector {
|
|
8
|
+
selector: string;
|
|
9
|
+
startRef: string;
|
|
10
|
+
endRef: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function parseSelector(selector: string, format: IdFormat): ParsedSelector;
|
|
13
|
+
export declare function createRcCompressTool(ctx: ToolContext): ReturnType<typeof tool>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=rc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rc.d.ts","sourceRoot":"","sources":["../../../lib/compress/rc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,SAAS,CAAA;AAG/D,OAAO,EAAqD,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AA4BjG,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,MAAM,EAAE,CAAA;CAChB;AAuBD,UAAU,cAAc;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,cAAc,CAkChF;AAsGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAuF9E"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SessionState, WithParts } from "../state";
|
|
2
|
+
import type { PluginConfig } from "../config";
|
|
3
|
+
import type { BoundaryReference, SearchContext, SelectionResolution } from "./types";
|
|
4
|
+
export declare function fetchSessionMessages(client: any, sessionId: string): Promise<WithParts[]>;
|
|
5
|
+
export declare function buildSearchContext(state: SessionState, rawMessages: WithParts[]): SearchContext;
|
|
6
|
+
export declare function resolveBoundaryIds(context: SearchContext, state: SessionState, config: PluginConfig, startId: string, endId: string): {
|
|
7
|
+
startReference: BoundaryReference;
|
|
8
|
+
endReference: BoundaryReference;
|
|
9
|
+
};
|
|
10
|
+
export declare function resolveSelection(context: SearchContext, config: PluginConfig, startReference: BoundaryReference, endReference: BoundaryReference): SelectionResolution;
|
|
11
|
+
export declare function resolveAnchorMessageId(startReference: BoundaryReference): string;
|
|
12
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../lib/compress/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAK7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAEpF,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAM/F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,aAAa,CA4B/F;AAED,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACd;IAAE,cAAc,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,iBAAiB,CAAA;CAAE,CA8DxE;AAED,wBAAgB,gBAAgB,CAC5B,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,iBAAiB,EACjC,YAAY,EAAE,iBAAiB,GAChC,mBAAmB,CAoFrB;AAED,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,iBAAiB,GAAG,MAAM,CAYhF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { PruneMessagesState, SessionState } from "../state";
|
|
2
|
+
import { type IdFormat } from "../message-ids";
|
|
3
|
+
import type { AppliedCompressionResult, CompressionStateInput, SelectionResolution } from "./types";
|
|
4
|
+
export declare const COMPRESSED_BLOCK_HEADER = "[Compressed conversation section]";
|
|
5
|
+
export declare function allocateBlockId(state: SessionState): number;
|
|
6
|
+
export declare function allocateRunId(state: SessionState): number;
|
|
7
|
+
export declare function attachCompressionDuration(messagesState: PruneMessagesState, messageId: string, callId: string, durationMs: number): number;
|
|
8
|
+
export declare function wrapCompressedSummary(blockId: number, summary: string, format?: IdFormat): string;
|
|
9
|
+
export declare function applyCompressionState(state: SessionState, input: CompressionStateInput, selection: SelectionResolution, anchorMessageId: string, blockId: number, summary: string, consumedBlockIds: number[]): AppliedCompressionResult;
|
|
10
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/compress/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,kBAAkB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAClF,OAAO,EAAsC,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAClF,OAAO,KAAK,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAEnG,eAAO,MAAM,uBAAuB,sCAAsC,CAAA;AAE1E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAS3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CASzD;AAED,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,kBAAkB,EACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACnB,MAAM,CAgBR;AAED,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,QAAgB,GACzB,MAAM,CAQR;AAED,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,mBAAmB,EAC9B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EAAE,GAC3B,wBAAwB,CAsM1B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { WithParts } from "../state";
|
|
2
|
+
import { type IdFormat } from "../message-ids";
|
|
3
|
+
/**
|
|
4
|
+
* Marker embedded in the hidden summary prompt so the plugin can recognize its
|
|
5
|
+
* own transient (`session.generate`) request and strip everything else from it.
|
|
6
|
+
*/
|
|
7
|
+
export declare const RC_SUMMARY_MARKER = "[[DCP-RC-SUMMARY]]";
|
|
8
|
+
export interface PriorSummary {
|
|
9
|
+
/** Canonical block reference, e.g. `b2` or `@b2@`. */
|
|
10
|
+
ref: string;
|
|
11
|
+
/** Summary body with the block header/footer stripped. */
|
|
12
|
+
body: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SummarySegment {
|
|
15
|
+
/** Canonical selector, e.g. `m0004`, `m0004-m0008`, or `b2-m0011`. */
|
|
16
|
+
selector: string;
|
|
17
|
+
messages: WithParts[];
|
|
18
|
+
/** Summaries of active blocks consumed by this selection. */
|
|
19
|
+
priorSummaries?: PriorSummary[];
|
|
20
|
+
}
|
|
21
|
+
export interface SummarySection {
|
|
22
|
+
selector: string;
|
|
23
|
+
summary: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ParsedSummarySections {
|
|
26
|
+
sections: SummarySection[];
|
|
27
|
+
missing: string[];
|
|
28
|
+
duplicates: string[];
|
|
29
|
+
empty: string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Serialize one conversation message into plain text for the hidden summary
|
|
33
|
+
* request. Binary/file payloads are intentionally omitted.
|
|
34
|
+
*/
|
|
35
|
+
export declare function serializeMessageForSummary(message: WithParts, selector: string): string;
|
|
36
|
+
/**
|
|
37
|
+
* Build the hidden summarization prompt. The selected segments are embedded
|
|
38
|
+
* verbatim so the transient request does not depend on any injected metadata.
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildSummaryPrompt(selectors: SummarySegment[], idFormat?: IdFormat): string;
|
|
41
|
+
/**
|
|
42
|
+
* Normalize a selector written in either ID format (`m0004` or ``) into the
|
|
43
|
+
* session's canonical format. Returns null when the selector is malformed.
|
|
44
|
+
*/
|
|
45
|
+
export declare function canonicalizeSelector(selector: string, format?: IdFormat): string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Strip the `[Compressed conversation section]` header and trailing block tag
|
|
48
|
+
* from a stored summary so it can be embedded in a new summary prompt.
|
|
49
|
+
*/
|
|
50
|
+
export declare function restoreSummary(summary: string): string;
|
|
51
|
+
/**
|
|
52
|
+
* Parse `SLEEV-SUMMARY <selector>` sections from a model reply. Returns the
|
|
53
|
+
* accepted sections plus the selectors that are missing, duplicated, or have
|
|
54
|
+
* an empty body so the caller can retry only what is needed. Selectors are
|
|
55
|
+
* accepted in either ID format and normalized to the session format.
|
|
56
|
+
*/
|
|
57
|
+
export declare function parseSummarySections(text: string, expected: string[], idFormat?: IdFormat): ParsedSummarySections;
|
|
58
|
+
//# sourceMappingURL=summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../lib/compress/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAqD,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEjG;;;GAGG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAErD,MAAM,WAAW,YAAY;IACzB,sDAAsD;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC3B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IAClC,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;CAClB;AA+BD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiDvF;AAWD;;;GAGG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,cAAc,EAAE,EAC3B,QAAQ,GAAE,QAAgB,GAC3B,MAAM,CAiCR;AAOD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,QAAgB,GAAG,MAAM,GAAG,IAAI,CAsB9F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,GAAE,QAAgB,GAC3B,qBAAqB,CAoDvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SessionState } from "../state/types";
|
|
2
|
+
export interface PendingCompressionDuration {
|
|
3
|
+
messageId: string;
|
|
4
|
+
callId: string;
|
|
5
|
+
durationMs: number;
|
|
6
|
+
}
|
|
7
|
+
export interface CompressionTimingState {
|
|
8
|
+
startsByCallId: Map<string, number>;
|
|
9
|
+
pendingByCallId: Map<string, PendingCompressionDuration>;
|
|
10
|
+
}
|
|
11
|
+
export declare function buildCompressionTimingKey(messageId: string, callId: string): string;
|
|
12
|
+
export declare function consumeCompressionStart(state: SessionState, messageId: string, callId: string): number | undefined;
|
|
13
|
+
export declare function resolveCompressionDuration(startedAt: number | undefined, eventTime: number | undefined, partTime: {
|
|
14
|
+
start?: unknown;
|
|
15
|
+
end?: unknown;
|
|
16
|
+
} | undefined): number | undefined;
|
|
17
|
+
export declare function applyPendingCompressionDurations(state: SessionState): number;
|
|
18
|
+
//# sourceMappingURL=timing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../lib/compress/timing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGlD,MAAM,WAAW,0BAA0B;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,sBAAsB;IACnC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;CAC3D;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,0BAA0B,CACtC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GACzD,MAAM,GAAG,SAAS,CAqBpB;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAoB5E"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { PluginConfig } from "../config";
|
|
2
|
+
import type { Logger } from "../logger";
|
|
3
|
+
import type { PromptStore } from "../prompts/store";
|
|
4
|
+
import type { CompressionBlock, CompressionMode, SessionState, WithParts } from "../state";
|
|
5
|
+
export interface ToolContext {
|
|
6
|
+
client: any;
|
|
7
|
+
state: SessionState;
|
|
8
|
+
logger: Logger;
|
|
9
|
+
config: PluginConfig;
|
|
10
|
+
prompts: PromptStore;
|
|
11
|
+
/** Hidden transient model call (OpenCode V2 `session.generate`). */
|
|
12
|
+
generate: (input: {
|
|
13
|
+
sessionID: string;
|
|
14
|
+
prompt: string;
|
|
15
|
+
}) => Promise<string>;
|
|
16
|
+
}
|
|
17
|
+
export interface BoundaryReference {
|
|
18
|
+
kind: "message" | "compressed-block";
|
|
19
|
+
rawIndex: number;
|
|
20
|
+
messageId?: string;
|
|
21
|
+
blockId?: number;
|
|
22
|
+
anchorMessageId?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface SearchContext {
|
|
25
|
+
rawMessages: WithParts[];
|
|
26
|
+
rawMessagesById: Map<string, WithParts>;
|
|
27
|
+
rawIndexById: Map<string, number>;
|
|
28
|
+
summaryByBlockId: Map<number, CompressionBlock>;
|
|
29
|
+
}
|
|
30
|
+
export interface SelectionResolution {
|
|
31
|
+
startReference: BoundaryReference;
|
|
32
|
+
endReference: BoundaryReference;
|
|
33
|
+
messageIds: string[];
|
|
34
|
+
messageTokenById: Map<string, number>;
|
|
35
|
+
toolIds: string[];
|
|
36
|
+
requiredBlockIds: number[];
|
|
37
|
+
}
|
|
38
|
+
export interface AppliedCompressionResult {
|
|
39
|
+
compressedTokens: number;
|
|
40
|
+
messageIds: string[];
|
|
41
|
+
newlyCompressedMessageIds: string[];
|
|
42
|
+
newlyCompressedToolIds: string[];
|
|
43
|
+
}
|
|
44
|
+
export interface CompressionStateInput {
|
|
45
|
+
topic: string;
|
|
46
|
+
batchTopic: string;
|
|
47
|
+
startId: string;
|
|
48
|
+
endId: string;
|
|
49
|
+
mode: CompressionMode;
|
|
50
|
+
runId: number;
|
|
51
|
+
compressMessageId: string;
|
|
52
|
+
compressCallId?: string;
|
|
53
|
+
summaryTokens: number;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/compress/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAE1F,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,GAAG,CAAA;IACX,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IACpB,OAAO,EAAE,WAAW,CAAA;IACpB,oEAAoE;IACpE,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CAC9E;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,SAAS,GAAG,kBAAkB,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,eAAe,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE,SAAS,EAAE,CAAA;IACxB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACvC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,mBAAmB;IAChC,cAAc,EAAE,iBAAiB,CAAA;IACjC,YAAY,EAAE,iBAAiB,CAAA;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,yBAAyB,EAAE,MAAM,EAAE,CAAA;IACnC,sBAAsB,EAAE,MAAM,EAAE,CAAA;CACnC;AAED,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,eAAe,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compress-permission.d.ts","sourceRoot":"","sources":["../../lib/compress-permission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3C,eAAO,MAAM,kBAAkB,GAC3B,OAAO,YAAY,EACnB,QAAQ,YAAY,KACrB,KAAK,GAAG,OAAO,GAAG,MAEpB,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
|
+
type ConfigContext = Pick<PluginInput, "directory"> & {
|
|
3
|
+
client: {
|
|
4
|
+
tui: {
|
|
5
|
+
showToast(input: {
|
|
6
|
+
body: {
|
|
7
|
+
title: string;
|
|
8
|
+
message: string;
|
|
9
|
+
variant: "warning";
|
|
10
|
+
duration: number;
|
|
11
|
+
};
|
|
12
|
+
}): unknown;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
type Permission = "ask" | "allow" | "deny";
|
|
17
|
+
export interface Deduplication {
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
protectedTools: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface CompressConfig {
|
|
22
|
+
permission: Permission;
|
|
23
|
+
showCompression: boolean;
|
|
24
|
+
summaryBuffer: boolean;
|
|
25
|
+
maxContextLimit: number | `${number}%`;
|
|
26
|
+
minContextLimit: number | `${number}%`;
|
|
27
|
+
modelMaxLimits?: Record<string, number | `${number}%`>;
|
|
28
|
+
modelMinLimits?: Record<string, number | `${number}%`>;
|
|
29
|
+
nudgeFrequency: number;
|
|
30
|
+
iterationNudgeThreshold: number;
|
|
31
|
+
nudgeForce: "strong" | "soft";
|
|
32
|
+
protectedTools: string[];
|
|
33
|
+
protectTags: boolean;
|
|
34
|
+
protectUserMessages: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface Commands {
|
|
37
|
+
enabled: boolean;
|
|
38
|
+
protectedTools: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface ManualModeConfig {
|
|
41
|
+
enabled: boolean;
|
|
42
|
+
automaticStrategies: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface PurgeErrors {
|
|
45
|
+
enabled: boolean;
|
|
46
|
+
turns: number;
|
|
47
|
+
protectedTools: string[];
|
|
48
|
+
}
|
|
49
|
+
export interface TurnProtection {
|
|
50
|
+
enabled: boolean;
|
|
51
|
+
turns: number;
|
|
52
|
+
}
|
|
53
|
+
export interface ExperimentalConfig {
|
|
54
|
+
allowSubAgents: boolean;
|
|
55
|
+
customPrompts: boolean;
|
|
56
|
+
}
|
|
57
|
+
export interface PluginConfig {
|
|
58
|
+
enabled: boolean;
|
|
59
|
+
debug: boolean;
|
|
60
|
+
pruneNotification: "off" | "minimal" | "detailed";
|
|
61
|
+
pruneNotificationType: "chat" | "toast";
|
|
62
|
+
commands: Commands;
|
|
63
|
+
manualMode: ManualModeConfig;
|
|
64
|
+
turnProtection: TurnProtection;
|
|
65
|
+
experimental: ExperimentalConfig;
|
|
66
|
+
protectedFilePatterns: string[];
|
|
67
|
+
compress: CompressConfig;
|
|
68
|
+
strategies: {
|
|
69
|
+
deduplication: Deduplication;
|
|
70
|
+
purgeErrors: PurgeErrors;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export declare const VALID_CONFIG_KEYS: Set<string>;
|
|
74
|
+
export declare function getInvalidConfigKeys(userConfig: Record<string, any>): string[];
|
|
75
|
+
interface ValidationError {
|
|
76
|
+
key: string;
|
|
77
|
+
expected: string;
|
|
78
|
+
actual: string;
|
|
79
|
+
}
|
|
80
|
+
export declare function validateConfigTypes(config: Record<string, any>): ValidationError[];
|
|
81
|
+
export declare function getConfig(ctx: ConfigContext): PluginConfig;
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|