@royalcat/opencode-dcp-rc 0.0.0-stage → 4.0.1
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 +8129 -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 +27 -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 +68 -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 +64 -0
- package/dist/lib/compress/types.d.ts.map +1 -0
- package/dist/lib/compress/usage.d.ts +45 -0
- package/dist/lib/compress/usage.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 +47 -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 +105 -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 +75 -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/lib/v2/usage.d.ts +44 -0
- package/dist/lib/v2/usage.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 +180 -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 +494 -0
- package/lib/compress/search.ts +277 -0
- package/lib/compress/state.ts +272 -0
- package/lib/compress/summary.ts +320 -0
- package/lib/compress/timing.ts +77 -0
- package/lib/compress/types.ts +70 -0
- package/lib/compress/usage.ts +168 -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 +321 -0
- package/lib/state/state.ts +214 -0
- package/lib/state/tool-cache.ts +99 -0
- package/lib/state/types.ts +117 -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 +261 -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 +448 -0
- package/lib/v2/messages.ts +252 -0
- package/lib/v2/rpc.ts +60 -0
- package/lib/v2/theme.ts +67 -0
- package/lib/v2/tui.tsx +115 -0
- package/lib/v2/usage.ts +423 -0
- package/package.json +91 -5
- package/server.js +1 -0
- package/tui.tsx +7 -0
|
@@ -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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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SessionState } from "./state";
|
|
2
|
+
import type { Logger } from "./logger";
|
|
3
|
+
import type { PluginConfig } from "./config";
|
|
4
|
+
import { type PromptStore } from "./prompts";
|
|
5
|
+
export declare function createSystemPromptHandler(state: SessionState, logger: Logger, config: PluginConfig, prompts: PromptStore): (input: {
|
|
6
|
+
sessionID?: string;
|
|
7
|
+
model: {
|
|
8
|
+
limit: {
|
|
9
|
+
context: number;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}, output: {
|
|
13
|
+
system: string[];
|
|
14
|
+
}) => Promise<void>;
|
|
15
|
+
export declare function createCommandExecuteHandler(client: any, state: SessionState, logger: Logger, config: PluginConfig, workingDirectory: string): (input: {
|
|
16
|
+
command: string;
|
|
17
|
+
sessionID: string;
|
|
18
|
+
arguments: string;
|
|
19
|
+
}, output: {
|
|
20
|
+
parts: any[];
|
|
21
|
+
}) => Promise<void>;
|
|
22
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,SAAS,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAgChE,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,IAGhB,OAAO;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,KAAK,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE,EACpE,QAAQ;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,mBAuCnC;AAED,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,MAAM,IAGpB,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,mBA+G/B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare class Logger {
|
|
2
|
+
private logDir;
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
constructor(enabled: boolean);
|
|
5
|
+
private ensureLogDir;
|
|
6
|
+
private formatData;
|
|
7
|
+
private getCallerFile;
|
|
8
|
+
private write;
|
|
9
|
+
info(message: string, data?: any): Promise<void>;
|
|
10
|
+
debug(message: string, data?: any): Promise<void>;
|
|
11
|
+
warn(message: string, data?: any): Promise<void>;
|
|
12
|
+
error(message: string, data?: any): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Strips unnecessary metadata from messages for cleaner debug logs.
|
|
15
|
+
*
|
|
16
|
+
* Removed:
|
|
17
|
+
* - All IDs (id, sessionID, messageID, parentID)
|
|
18
|
+
* - summary, path, cost, model, agent, mode, finish, providerID, modelID
|
|
19
|
+
* - step-start and step-finish parts entirely
|
|
20
|
+
* - snapshot fields
|
|
21
|
+
* - ignored text parts
|
|
22
|
+
*
|
|
23
|
+
* Kept:
|
|
24
|
+
* - role, time (created only), tokens (input, output, reasoning, cache)
|
|
25
|
+
* - text, reasoning, tool parts with content
|
|
26
|
+
* - tool calls with: tool, callID, input, output, metadata
|
|
27
|
+
*/
|
|
28
|
+
private minimizeForDebug;
|
|
29
|
+
saveContext(sessionId: string, messages: any[]): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAKA,qBAAa,MAAM;IACf,OAAO,CAAC,MAAM,CAAQ;IACf,OAAO,EAAE,OAAO,CAAA;gBAEX,OAAO,EAAE,OAAO;YAMd,YAAY;IAM1B,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,aAAa;YAuBP,KAAK;IAqBnB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAKhC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAKjC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAKhC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;IAKjC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,gBAAgB;IAmFlB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE;CAiBvD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SessionState, WithParts } from "./state";
|
|
2
|
+
export type IdFormat = "xml" | "compact";
|
|
3
|
+
export declare const MESSAGE_REF_MAX_INDEX = 9999;
|
|
4
|
+
export type ParsedBoundaryId = {
|
|
5
|
+
kind: "message";
|
|
6
|
+
ref: string;
|
|
7
|
+
index: number;
|
|
8
|
+
} | {
|
|
9
|
+
kind: "compressed-block";
|
|
10
|
+
ref: string;
|
|
11
|
+
blockId: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function formatMessageRef(index: number, format?: IdFormat): string;
|
|
14
|
+
export declare function formatBlockRef(blockId: number, format?: IdFormat): string;
|
|
15
|
+
export declare function parseMessageRef(ref: string, format?: IdFormat): number | null;
|
|
16
|
+
export declare function parseBlockRef(ref: string, format?: IdFormat): number | null;
|
|
17
|
+
export declare function parseBoundaryId(id: string, format?: IdFormat): ParsedBoundaryId | null;
|
|
18
|
+
export declare function formatMessageIdTag(ref: string, attributes?: Record<string, string | undefined>, format?: IdFormat): string;
|
|
19
|
+
export declare function assignMessageRefs(state: SessionState, messages: WithParts[]): number;
|
|
20
|
+
//# sourceMappingURL=message-ids.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-ids.d.ts","sourceRoot":"","sources":["../../lib/message-ids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAStD,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAA;AAIxC,eAAO,MAAM,qBAAqB,OAAO,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GACtB;IACI,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;CAChB,GACD;IACI,IAAI,EAAE,kBAAkB,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAClB,CAAA;AAEP,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,QAAgB,GAAG,MAAM,CAQhF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,QAAgB,GAAG,MAAM,CAKhF;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,QAAgB,GAAG,MAAM,GAAG,IAAI,CAepF;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,QAAgB,GAAG,MAAM,GAAG,IAAI,CAQlF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,QAAgB,GAAG,gBAAgB,GAAG,IAAI,CAqB7F;AAUD,wBAAgB,kBAAkB,CAC9B,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC/C,MAAM,GAAE,QAAgB,GACzB,MAAM,CAkBR;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAkCpF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { prune } from "./prune";
|
|
2
|
+
export { syncCompressionBlocks } from "./sync";
|
|
3
|
+
export { injectCompressNudges } from "./inject/inject";
|
|
4
|
+
export { injectMessageIds } from "./inject/inject";
|
|
5
|
+
export { injectExtendedSubAgentResults } from "./inject/subagent-results";
|
|
6
|
+
export { stripStaleMetadata } from "./reasoning-strip";
|
|
7
|
+
export { buildToolIdList, stripHallucinations, stripHallucinationsFromString } from "./utils";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/messages/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SessionState, WithParts } from "../../state";
|
|
2
|
+
import type { Logger } from "../../logger";
|
|
3
|
+
import type { PluginConfig } from "../../config";
|
|
4
|
+
import type { RuntimePrompts } from "../../prompts/store";
|
|
5
|
+
export declare const injectCompressNudges: (state: SessionState, config: PluginConfig, logger: Logger, messages: WithParts[], prompts: RuntimePrompts, createAnchors?: boolean) => void;
|
|
6
|
+
export declare const injectMessageIds: (state: SessionState, config: PluginConfig, messages: WithParts[]) => void;
|
|
7
|
+
//# sourceMappingURL=inject.d.ts.map
|
|
@@ -0,0 +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;AA4BzD,eAAO,MAAM,oBAAoB,GAC7B,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,SAAS,cAAc,EACvB,uBAAoB,KACrB,IA4GF,CAAA;AAED,eAAO,MAAM,gBAAgB,GACzB,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,UAAU,SAAS,EAAE,KACtB,IA8DF,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Logger } from "../../logger";
|
|
2
|
+
import type { SessionState, WithParts } from "../../state";
|
|
3
|
+
export declare const injectExtendedSubAgentResults: (client: any, state: SessionState, logger: Logger, messages: WithParts[], allowSubAgents: boolean) => Promise<void>;
|
|
4
|
+
//# sourceMappingURL=subagent-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-results.d.ts","sourceRoot":"","sources":["../../../../lib/messages/inject/subagent-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAiB1D,eAAO,MAAM,6BAA6B,GACtC,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,gBAAgB,OAAO,KACxB,OAAO,CAAC,IAAI,CA2Dd,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SessionState, WithParts } from "../../state";
|
|
2
|
+
import type { PluginConfig } from "../../config";
|
|
3
|
+
import type { RuntimePrompts } from "../../prompts/store";
|
|
4
|
+
export interface LastUserModelContext {
|
|
5
|
+
providerId: string | undefined;
|
|
6
|
+
modelId: string | undefined;
|
|
7
|
+
}
|
|
8
|
+
export interface LastNonIgnoredMessage {
|
|
9
|
+
message: WithParts;
|
|
10
|
+
index: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function getNudgeFrequency(config: PluginConfig): number;
|
|
13
|
+
export declare function getIterationNudgeThreshold(config: PluginConfig): number;
|
|
14
|
+
export declare function findLastNonIgnoredMessage(messages: WithParts[]): LastNonIgnoredMessage | null;
|
|
15
|
+
export declare function countMessagesAfterIndex(messages: WithParts[], index: number): number;
|
|
16
|
+
export declare function getModelInfo(messages: WithParts[]): LastUserModelContext;
|
|
17
|
+
export declare function isContextOverLimits(config: PluginConfig, state: SessionState, providerId: string | undefined, modelId: string | undefined, messages: WithParts[]): {
|
|
18
|
+
overMaxLimit: boolean;
|
|
19
|
+
overMinLimit: boolean;
|
|
20
|
+
};
|
|
21
|
+
export declare function addAnchor(anchorMessageIds: Set<string>, anchorMessageId: string, anchorMessageIndex: number, messages: WithParts[], interval: number): boolean;
|
|
22
|
+
export declare function applyAnchoredNudges(state: SessionState, config: PluginConfig, messages: WithParts[], prompts: RuntimePrompts): void;
|
|
23
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +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;AAKhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAYzD,MAAM,WAAW,oBAAoB;IACjC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,SAAS,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE9D;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAEvE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,qBAAqB,GAAG,IAAI,CAU7F;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYpF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAcxE;AA+CD,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,QAAQ,EAAE,SAAS,EAAE;;;EA0BxB;AAED,wBAAgB,SAAS,CACrB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,EAAE,SAAS,EAAE,EACrB,QAAQ,EAAE,MAAM,GACjB,OAAO,CAsBT;AAiGD,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EAAE,EACrB,OAAO,EAAE,cAAc,GACxB,IAAI,CAiBN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../../lib/messages/prune.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAYvC,eAAO,MAAM,KAAK,GACd,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,cAAc,SAAS,KACxB,IAMF,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PluginConfig } from "../config";
|
|
2
|
+
import type { WithParts } from "../state";
|
|
3
|
+
export declare const getLastUserMessage: (messages: WithParts[], startIndex?: number) => WithParts | null;
|
|
4
|
+
export declare const messageHasCompress: (message: WithParts) => boolean;
|
|
5
|
+
export declare const isIgnoredUserMessage: (message: WithParts) => boolean;
|
|
6
|
+
export declare function isProtectedUserMessage(config: PluginConfig, message: WithParts): boolean;
|
|
7
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +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,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,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,KAAG,OAqBzD,CAAA;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAUxF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WithParts } from "../state";
|
|
2
|
+
/**
|
|
3
|
+
* Mirrors opencode's differentModel handling by preserving part content while
|
|
4
|
+
* dropping provider metadata on assistant parts that came from a different
|
|
5
|
+
* model/provider than the current turn's user message.
|
|
6
|
+
*/
|
|
7
|
+
export declare function stripStaleMetadata(messages: WithParts[]): void;
|
|
8
|
+
//# sourceMappingURL=reasoning-strip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reasoning-strip.d.ts","sourceRoot":"","sources":["../../../lib/messages/reasoning-strip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CA+B9D"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { WithParts } from "../state";
|
|
2
|
+
export declare function isMessageWithInfo(message: unknown): message is WithParts;
|
|
3
|
+
export declare function filterMessages(messages: unknown): WithParts[];
|
|
4
|
+
export declare function filterMessagesInPlace(messages: unknown): WithParts[];
|
|
5
|
+
//# sourceMappingURL=shape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape.d.ts","sourceRoot":"","sources":["../../../lib/messages/shape.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,SAAS,CAsBxE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,CAM7D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,EAAE,CAepE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../lib/messages/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAavC,eAAO,MAAM,qBAAqB,GAC9B,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,KACtB,IAyGF,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SessionState, WithParts } from "../state";
|
|
2
|
+
import type { IdFormat } from "../message-ids";
|
|
3
|
+
export declare const createSyntheticUserMessage: (baseMessage: WithParts, content: string, stableSeed?: string) => WithParts;
|
|
4
|
+
export declare const createSyntheticTextPart: (baseMessage: WithParts, content: string, stableSeed?: string) => {
|
|
5
|
+
id: string;
|
|
6
|
+
sessionID: string;
|
|
7
|
+
messageID: string;
|
|
8
|
+
type: "text";
|
|
9
|
+
text: string;
|
|
10
|
+
};
|
|
11
|
+
type MessagePart = WithParts["parts"][number];
|
|
12
|
+
type ToolPart = Extract<MessagePart, {
|
|
13
|
+
type: "tool";
|
|
14
|
+
}>;
|
|
15
|
+
type TextPart = Extract<MessagePart, {
|
|
16
|
+
type: "text";
|
|
17
|
+
}>;
|
|
18
|
+
export declare const appendToLastTextPart: (message: WithParts, injection: string) => boolean;
|
|
19
|
+
export declare const appendToTextPart: (part: TextPart, injection: string) => boolean;
|
|
20
|
+
export declare const appendToAllToolParts: (message: WithParts, tag: string) => boolean;
|
|
21
|
+
export declare const appendToToolPart: (part: ToolPart, tag: string) => boolean;
|
|
22
|
+
export declare const hasContent: (message: WithParts) => boolean;
|
|
23
|
+
export declare function buildToolIdList(state: SessionState, messages: WithParts[]): string[];
|
|
24
|
+
export declare const stripHallucinationsFromString: (text: string, format?: IdFormat) => string;
|
|
25
|
+
export declare const stripHallucinations: (messages: WithParts[], format?: IdFormat) => void;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/messages/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAc9C,eAAO,MAAM,0BAA0B,GACnC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,aAAa,MAAM,KACpB,SA0BF,CAAA;AAED,eAAO,MAAM,uBAAuB,GAChC,aAAa,SAAS,EACtB,SAAS,MAAM,EACf,aAAa,MAAM;;;;;;CAatB,CAAA;AAED,KAAK,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAC7C,KAAK,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AACtD,KAAK,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEtD,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,EAAE,WAAW,MAAM,KAAG,OAO5E,CAAA;AAaD,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,WAAW,MAAM,KAAG,OAgBpE,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,SAAS,EAAE,KAAK,MAAM,KAAG,OAQtE,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,KAAG,OAU9D,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,SAAS,SAAS,KAAG,OAU/C,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAiBpF;AAED,eAAO,MAAM,6BAA6B,GAAI,MAAM,MAAM,EAAE,SAAQ,QAAgB,KAAG,MAQtF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,UAAU,SAAS,EAAE,EAAE,SAAQ,QAAgB,KAAG,IAgBrF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compress-rc.d.ts","sourceRoot":"","sources":["../../../lib/prompts/compress-rc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,wBAAgB,QAAQ,CAAC,MAAM,GAAE,QAAgB,GAAG,MAAM,CAoBzD;AAED,eAAO,MAAM,WAAW,QAAa,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const CONTEXT_LIMIT_NUDGE = "<dcp-system-reminder>\nCRITICAL WARNING: MAX CONTEXT LIMIT REACHED\n\nYou are at or beyond the configured max context threshold. This is an emergency context-recovery moment.\n\nYou MUST use the `compress` tool now. Do not continue normal exploration until compression is handled.\n\nIf you are in the middle of a critical atomic operation, finish that atomic step first, then compress immediately.\n\nSELECTION PROCESS\nStart from older, resolved history and capture as much stale context as safely possible in one pass.\nAvoid the newest active working messages unless it is clearly closed.\n\nSUMMARY REQUIREMENTS\nYour summary MUST cover all essential details from the selected messages so work can continue.\nIf the compressed range includes user messages, preserve user intent exactly. Prefer direct quotes for short user messages to avoid semantic drift.\n</dcp-system-reminder>\n";
|
|
2
|
+
//# sourceMappingURL=context-limit-nudge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-limit-nudge.d.ts","sourceRoot":"","sources":["../../../lib/prompts/context-limit-nudge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,43BAiB/B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nudge.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/extensions/nudge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG/C,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAaxE;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAelF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
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
|
+
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
|
+
export declare function buildProtectedToolsExtension(protectedTools: string[]): string;
|
|
4
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/extensions/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,mrBASxC,CAAA;AAED,eAAO,MAAM,yBAAyB,8VAOrC,CAAA;AAED,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAW7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../../lib/prompts/extensions/tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,wBAAgB,QAAQ,CAAC,MAAM,GAAE,QAAgB,GAAG,MAAM,CAczD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RuntimePrompts } from "./store";
|
|
2
|
+
export type { PromptStore, RuntimePrompts } from "./store";
|
|
3
|
+
export declare function renderSystemPrompt(prompts: RuntimePrompts, protectedToolsExtension?: string, manual?: boolean, subagent?: boolean): string;
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,MAAM,CAAC,EAAE,OAAO,EAChB,QAAQ,CAAC,EAAE,OAAO,GACnB,MAAM,CAoBR"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const ITERATION_NUDGE = "<dcp-system-reminder>\nYou've been iterating for a while after the last user message.\n\nIf there is a closed portion that is unlikely to be referenced immediately (for example, finished research before implementation), use the compress tool on it now.\n</dcp-system-reminder>\n";
|
|
2
|
+
//# sourceMappingURL=iteration-nudge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iteration-nudge.d.ts","sourceRoot":"","sources":["../../../lib/prompts/iteration-nudge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,2RAK3B,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Logger } from "../logger";
|
|
2
|
+
import type { IdFormat } from "../message-ids";
|
|
3
|
+
export type PromptKey = "system" | "compress-rc" | "context-limit-nudge" | "turn-nudge" | "iteration-nudge";
|
|
4
|
+
export interface RuntimePrompts {
|
|
5
|
+
system: string;
|
|
6
|
+
compressRc: string;
|
|
7
|
+
contextLimitNudge: string;
|
|
8
|
+
turnNudge: string;
|
|
9
|
+
iterationNudge: string;
|
|
10
|
+
manualExtension: string;
|
|
11
|
+
subagentExtension: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const PROMPT_KEYS: PromptKey[];
|
|
14
|
+
export declare class PromptStore {
|
|
15
|
+
private readonly logger;
|
|
16
|
+
private readonly paths;
|
|
17
|
+
private readonly customPromptsEnabled;
|
|
18
|
+
private runtimePrompts;
|
|
19
|
+
private readonly bundled;
|
|
20
|
+
constructor(logger: Logger, workingDirectory: string, customPromptsEnabled?: boolean, idFormat?: IdFormat);
|
|
21
|
+
getRuntimePrompts(): RuntimePrompts;
|
|
22
|
+
reload(): void;
|
|
23
|
+
private getOverrideCandidates;
|
|
24
|
+
private ensureDefaultFiles;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +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;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAM9C,MAAM,MAAM,SAAS,GACf,QAAQ,GACR,aAAa,GACb,qBAAqB,GACrB,YAAY,GACZ,iBAAiB,CAAA;AA6BvB,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;CAC5B;AA6CD,eAAO,MAAM,WAAW,EAAE,SAAS,EAMlC,CAAA;AAoMD,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;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;gBAGzD,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,UAAQ,EAC5B,QAAQ,GAAE,QAAgB;IAc9B,iBAAiB,IAAI,cAAc;IAInC,MAAM,IAAI,IAAI;IAiDd,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,kBAAkB;CAkD7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../lib/prompts/system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,wBAAgB,YAAY,CAAC,MAAM,GAAE,QAAgB,GAAG,MAAM,CAoC7D;AAED,eAAO,MAAM,MAAM,QAAiB,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const TURN_NUDGE = "<dcp-system-reminder>\nEvaluate the conversation for compressible ranges.\n\nIf any messages are cleanly closed and unlikely to be needed again, use the compress tool on them.\nIf direction has shifted, compress earlier ranges that are now less relevant.\n\nThe goal is to filter noise and distill key information so context accumulation stays under control.\nKeep active context uncompressed.\n</dcp-system-reminder>\n";
|
|
2
|
+
//# sourceMappingURL=turn-nudge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-nudge.d.ts","sourceRoot":"","sources":["../../../lib/prompts/turn-nudge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,waAStB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function matchesGlob(inputPath: string, pattern: string): boolean;
|
|
2
|
+
export declare function getFilePathsFromParameters(tool: string, parameters: unknown): string[];
|
|
3
|
+
export declare function isFilePathProtected(filePaths: string[], patterns: string[]): boolean;
|
|
4
|
+
export declare function isToolNameProtected(toolName: string, patterns: string[]): boolean;
|
|
5
|
+
export declare function isToolProtected(tool: string, input: unknown, tools: string[], files: string[], metadata?: Record<string, unknown>): boolean;
|
|
6
|
+
//# sourceMappingURL=protected-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected-patterns.d.ts","sourceRoot":"","sources":["../../lib/protected-patterns.ts"],"names":[],"mappings":"AAYA,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAiDvE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,EAAE,CA2CtF;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAKpF;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAmBjF;AAED,wBAAgB,eAAe,CAC3B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,OAAO,CAcT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State persistence module for DCP plugin.
|
|
3
|
+
* Persists pruned tool IDs across sessions so they survive OpenCode restarts.
|
|
4
|
+
* Storage location: ~/.local/share/opencode/storage/plugin/dcp/{sessionId}.json
|
|
5
|
+
*/
|
|
6
|
+
import type { CompressionBlock, PrunedMessageEntry, SessionState, SessionStats } from "./types";
|
|
7
|
+
import type { Logger } from "../logger";
|
|
8
|
+
import { type CompressionUsageTotals } from "../compress/usage";
|
|
9
|
+
/** Prune state as stored on disk */
|
|
10
|
+
export interface PersistedPruneMessagesState {
|
|
11
|
+
byMessageId: Record<string, PrunedMessageEntry>;
|
|
12
|
+
blocksById: Record<string, CompressionBlock>;
|
|
13
|
+
activeBlockIds: number[];
|
|
14
|
+
activeByAnchorMessageId: Record<string, number>;
|
|
15
|
+
nextBlockId: number;
|
|
16
|
+
nextRunId: number;
|
|
17
|
+
}
|
|
18
|
+
export interface PersistedPrune {
|
|
19
|
+
tools?: Record<string, number>;
|
|
20
|
+
messages?: PersistedPruneMessagesState;
|
|
21
|
+
}
|
|
22
|
+
export interface PersistedNudges {
|
|
23
|
+
contextLimitAnchors: string[];
|
|
24
|
+
turnNudgeAnchors?: string[];
|
|
25
|
+
iterationNudgeAnchors?: string[];
|
|
26
|
+
}
|
|
27
|
+
export interface PersistedSessionState {
|
|
28
|
+
sessionName?: string;
|
|
29
|
+
manualMode?: boolean;
|
|
30
|
+
prune: PersistedPrune;
|
|
31
|
+
nudges: PersistedNudges;
|
|
32
|
+
stats: SessionStats;
|
|
33
|
+
lastUpdated: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function saveSessionState(sessionState: SessionState, logger: Logger, sessionName?: string): Promise<void>;
|
|
36
|
+
export declare function loadSessionState(sessionId: string, logger: Logger): Promise<PersistedSessionState | null>;
|
|
37
|
+
export declare function loadManualModeSetting(sessionId: string, logger: Logger): Promise<boolean | undefined>;
|
|
38
|
+
export declare function saveManualModeSetting(sessionId: string, manualMode: boolean, logger: Logger): Promise<void>;
|
|
39
|
+
export interface AggregatedStats {
|
|
40
|
+
totalTokens: number;
|
|
41
|
+
totalTools: number;
|
|
42
|
+
totalMessages: number;
|
|
43
|
+
sessionCount: number;
|
|
44
|
+
compressionUsage: CompressionUsageTotals;
|
|
45
|
+
}
|
|
46
|
+
export declare function loadAllSessionStats(logger: Logger): Promise<AggregatedStats>;
|
|
47
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAIH,KAAK,sBAAsB,EAC9B,MAAM,mBAAmB,CAAA;AAG1B,oCAAoC;AACpC,MAAM,WAAW,2BAA2B;IACxC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC5C,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,2BAA2B,CAAA;CACzC;AAED,MAAM,WAAW,eAAe;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;CACnC;AAED,MAAM,WAAW,qBAAqB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,cAAc,CAAA;IACrB,MAAM,EAAE,eAAe,CAAA;IACvB,KAAK,EAAE,YAAY,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACtB;AAqCD,wBAAsB,gBAAgB,CAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAwFvC;AA8BD,wBAAsB,qBAAqB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAG9B;AAED,wBAAsB,qBAAqB,CACvC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,EACnB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,sBAAsB,CAAA;CAC3C;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmDlF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SessionState, WithParts } from "./types";
|
|
2
|
+
import type { Logger } from "../logger";
|
|
3
|
+
import type { IdFormat } from "../message-ids";
|
|
4
|
+
export declare const checkSession: (client: any, state: SessionState, logger: Logger, messages: WithParts[], manualModeDefault: boolean) => Promise<void>;
|
|
5
|
+
export declare function createSessionState(idFormat?: IdFormat): SessionState;
|
|
6
|
+
export declare function resetSessionState(state: SessionState): void;
|
|
7
|
+
export declare function ensureSessionInitialized(client: any, state: SessionState, sessionId: string, logger: Logger, messages: WithParts[], manualModeEnabled: boolean): Promise<void>;
|
|
8
|
+
export declare function refreshManualMode(state: SessionState, sessionId: string, logger: Logger, manualModeDefault: boolean): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../lib/state/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAsB,SAAS,EAAE,MAAM,SAAS,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAevC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,mBAAmB,OAAO,KAC3B,OAAO,CAAC,IAAI,CAyCd,CAAA;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,GAAE,QAAgB,GAAG,YAAY,CAuC3E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAgC3D;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,EACrB,iBAAiB,EAAE,OAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAiDf;AAED,wBAAsB,iBAAiB,CACnC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,OAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAQf"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SessionState, WithParts } from "./index";
|
|
2
|
+
import type { Logger } from "../logger";
|
|
3
|
+
import { PluginConfig } from "../config";
|
|
4
|
+
/**
|
|
5
|
+
* Sync tool parameters from session messages.
|
|
6
|
+
*/
|
|
7
|
+
export declare function syncToolCache(state: SessionState, config: PluginConfig, logger: Logger, messages: WithParts[]): void;
|
|
8
|
+
/**
|
|
9
|
+
* Trim the tool parameters cache to prevent unbounded memory growth.
|
|
10
|
+
* Uses FIFO eviction - removes oldest entries first.
|
|
11
|
+
*/
|
|
12
|
+
export declare function trimToolParametersCache(state: SessionState): void;
|
|
13
|
+
//# sourceMappingURL=tool-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../../lib/state/tool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAc,SAAS,EAAE,MAAM,SAAS,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAMxC;;GAEG;AACH,wBAAgB,aAAa,CACzB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,GACtB,IAAI,CA+DN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAajE"}
|