@lexwdex-org/opencode-dcp 3.4.10 → 3.4.12

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.
Files changed (148) hide show
  1. package/README.en.md +54 -253
  2. package/README.md +67 -246
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +785 -7461
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/auto-prune.d.ts +20 -0
  7. package/dist/lib/auto-prune.d.ts.map +1 -0
  8. package/dist/lib/config.d.ts +18 -54
  9. package/dist/lib/config.d.ts.map +1 -1
  10. package/dist/lib/hooks.d.ts +29 -28
  11. package/dist/lib/hooks.d.ts.map +1 -1
  12. package/dist/lib/prompts/compaction.d.ts +2 -0
  13. package/dist/lib/prompts/compaction.d.ts.map +1 -0
  14. package/dist/lib/prompts/store.d.ts +4 -14
  15. package/dist/lib/prompts/store.d.ts.map +1 -1
  16. package/dist/lib/prune-tool.d.ts +15 -0
  17. package/dist/lib/prune-tool.d.ts.map +1 -0
  18. package/dist/lib/session-model.d.ts +8 -0
  19. package/dist/lib/session-model.d.ts.map +1 -0
  20. package/dist/lib/summarize.d.ts +35 -0
  21. package/dist/lib/summarize.d.ts.map +1 -0
  22. package/package.json +2 -3
  23. package/dist/lib/commands/compression-targets.d.ts +0 -14
  24. package/dist/lib/commands/compression-targets.d.ts.map +0 -1
  25. package/dist/lib/commands/context.d.ts +0 -53
  26. package/dist/lib/commands/context.d.ts.map +0 -1
  27. package/dist/lib/commands/decompress.d.ts +0 -13
  28. package/dist/lib/commands/decompress.d.ts.map +0 -1
  29. package/dist/lib/commands/help.d.ts +0 -18
  30. package/dist/lib/commands/help.d.ts.map +0 -1
  31. package/dist/lib/commands/index.d.ts +0 -8
  32. package/dist/lib/commands/index.d.ts.map +0 -1
  33. package/dist/lib/commands/manual.d.ts +0 -24
  34. package/dist/lib/commands/manual.d.ts.map +0 -1
  35. package/dist/lib/commands/recompress.d.ts +0 -13
  36. package/dist/lib/commands/recompress.d.ts.map +0 -1
  37. package/dist/lib/commands/stats.d.ts +0 -16
  38. package/dist/lib/commands/stats.d.ts.map +0 -1
  39. package/dist/lib/commands/sweep.d.ts +0 -24
  40. package/dist/lib/commands/sweep.d.ts.map +0 -1
  41. package/dist/lib/compress/external-content.d.ts +0 -4
  42. package/dist/lib/compress/external-content.d.ts.map +0 -1
  43. package/dist/lib/compress/external-inference.d.ts +0 -15
  44. package/dist/lib/compress/external-inference.d.ts.map +0 -1
  45. package/dist/lib/compress/index.d.ts +0 -4
  46. package/dist/lib/compress/index.d.ts.map +0 -1
  47. package/dist/lib/compress/message-utils.d.ts +0 -8
  48. package/dist/lib/compress/message-utils.d.ts.map +0 -1
  49. package/dist/lib/compress/message.d.ts +0 -4
  50. package/dist/lib/compress/message.d.ts.map +0 -1
  51. package/dist/lib/compress/pipeline.d.ts +0 -30
  52. package/dist/lib/compress/pipeline.d.ts.map +0 -1
  53. package/dist/lib/compress/protected-content.d.ts +0 -8
  54. package/dist/lib/compress/protected-content.d.ts.map +0 -1
  55. package/dist/lib/compress/range-utils.d.ts +0 -10
  56. package/dist/lib/compress/range-utils.d.ts.map +0 -1
  57. package/dist/lib/compress/range.d.ts +0 -4
  58. package/dist/lib/compress/range.d.ts.map +0 -1
  59. package/dist/lib/compress/search.d.ts +0 -12
  60. package/dist/lib/compress/search.d.ts.map +0 -1
  61. package/dist/lib/compress/state.d.ts +0 -9
  62. package/dist/lib/compress/state.d.ts.map +0 -1
  63. package/dist/lib/compress/timing.d.ts +0 -20
  64. package/dist/lib/compress/timing.d.ts.map +0 -1
  65. package/dist/lib/compress/types.d.ts +0 -95
  66. package/dist/lib/compress/types.d.ts.map +0 -1
  67. package/dist/lib/compress-permission.d.ts +0 -6
  68. package/dist/lib/compress-permission.d.ts.map +0 -1
  69. package/dist/lib/concurrency.d.ts +0 -2
  70. package/dist/lib/concurrency.d.ts.map +0 -1
  71. package/dist/lib/config-env-override.d.ts +0 -3
  72. package/dist/lib/config-env-override.d.ts.map +0 -1
  73. package/dist/lib/host-permissions.d.ts +0 -11
  74. package/dist/lib/host-permissions.d.ts.map +0 -1
  75. package/dist/lib/message-ids.d.ts +0 -19
  76. package/dist/lib/message-ids.d.ts.map +0 -1
  77. package/dist/lib/messages/index.d.ts +0 -9
  78. package/dist/lib/messages/index.d.ts.map +0 -1
  79. package/dist/lib/messages/inject/inject.d.ts +0 -8
  80. package/dist/lib/messages/inject/inject.d.ts.map +0 -1
  81. package/dist/lib/messages/inject/subagent-results.d.ts +0 -5
  82. package/dist/lib/messages/inject/subagent-results.d.ts.map +0 -1
  83. package/dist/lib/messages/inject/utils.d.ts +0 -24
  84. package/dist/lib/messages/inject/utils.d.ts.map +0 -1
  85. package/dist/lib/messages/priority.d.ts +0 -13
  86. package/dist/lib/messages/priority.d.ts.map +0 -1
  87. package/dist/lib/messages/prune.d.ts +0 -5
  88. package/dist/lib/messages/prune.d.ts.map +0 -1
  89. package/dist/lib/messages/query.d.ts +0 -7
  90. package/dist/lib/messages/query.d.ts.map +0 -1
  91. package/dist/lib/messages/reasoning-strip.d.ts +0 -8
  92. package/dist/lib/messages/reasoning-strip.d.ts.map +0 -1
  93. package/dist/lib/messages/shape.d.ts +0 -5
  94. package/dist/lib/messages/shape.d.ts.map +0 -1
  95. package/dist/lib/messages/sync.d.ts +0 -4
  96. package/dist/lib/messages/sync.d.ts.map +0 -1
  97. package/dist/lib/messages/utils.d.ts +0 -27
  98. package/dist/lib/messages/utils.d.ts.map +0 -1
  99. package/dist/lib/prompts/compress-message.d.ts +0 -2
  100. package/dist/lib/prompts/compress-message.d.ts.map +0 -1
  101. package/dist/lib/prompts/compress-range.d.ts +0 -2
  102. package/dist/lib/prompts/compress-range.d.ts.map +0 -1
  103. package/dist/lib/prompts/context-limit-nudge.d.ts +0 -2
  104. package/dist/lib/prompts/context-limit-nudge.d.ts.map +0 -1
  105. package/dist/lib/prompts/extensions/nudge.d.ts +0 -7
  106. package/dist/lib/prompts/extensions/nudge.d.ts.map +0 -1
  107. package/dist/lib/prompts/extensions/system.d.ts +0 -4
  108. package/dist/lib/prompts/extensions/system.d.ts.map +0 -1
  109. package/dist/lib/prompts/extensions/tool.d.ts +0 -5
  110. package/dist/lib/prompts/extensions/tool.d.ts.map +0 -1
  111. package/dist/lib/prompts/index.d.ts +0 -4
  112. package/dist/lib/prompts/index.d.ts.map +0 -1
  113. package/dist/lib/prompts/iteration-nudge.d.ts +0 -2
  114. package/dist/lib/prompts/iteration-nudge.d.ts.map +0 -1
  115. package/dist/lib/prompts/system.d.ts +0 -2
  116. package/dist/lib/prompts/system.d.ts.map +0 -1
  117. package/dist/lib/prompts/turn-nudge.d.ts +0 -2
  118. package/dist/lib/prompts/turn-nudge.d.ts.map +0 -1
  119. package/dist/lib/protected-patterns.d.ts +0 -5
  120. package/dist/lib/protected-patterns.d.ts.map +0 -1
  121. package/dist/lib/state/index.d.ts +0 -6
  122. package/dist/lib/state/index.d.ts.map +0 -1
  123. package/dist/lib/state/persistence.d.ts +0 -51
  124. package/dist/lib/state/persistence.d.ts.map +0 -1
  125. package/dist/lib/state/state.d.ts +0 -10
  126. package/dist/lib/state/state.d.ts.map +0 -1
  127. package/dist/lib/state/store.d.ts +0 -38
  128. package/dist/lib/state/store.d.ts.map +0 -1
  129. package/dist/lib/state/tool-cache.d.ts +0 -13
  130. package/dist/lib/state/tool-cache.d.ts.map +0 -1
  131. package/dist/lib/state/types.d.ts +0 -100
  132. package/dist/lib/state/types.d.ts.map +0 -1
  133. package/dist/lib/state/utils.d.ts +0 -25
  134. package/dist/lib/state/utils.d.ts.map +0 -1
  135. package/dist/lib/strategies/deduplication.d.ts +0 -10
  136. package/dist/lib/strategies/deduplication.d.ts.map +0 -1
  137. package/dist/lib/strategies/index.d.ts +0 -3
  138. package/dist/lib/strategies/index.d.ts.map +0 -1
  139. package/dist/lib/strategies/purge-errors.d.ts +0 -13
  140. package/dist/lib/strategies/purge-errors.d.ts.map +0 -1
  141. package/dist/lib/subagents/subagent-results.d.ts +0 -5
  142. package/dist/lib/subagents/subagent-results.d.ts.map +0 -1
  143. package/dist/lib/token-utils.d.ts +0 -18
  144. package/dist/lib/token-utils.d.ts.map +0 -1
  145. package/dist/lib/ui/notification.d.ts +0 -18
  146. package/dist/lib/ui/notification.d.ts.map +0 -1
  147. package/dist/lib/ui/utils.d.ts +0 -10
  148. package/dist/lib/ui/utils.d.ts.map +0 -1
@@ -0,0 +1,20 @@
1
+ import type { AutoPruneConfig } from "./config";
2
+ export type PruneSignal = "topic-drift" | "volume" | "idle-gap";
3
+ export interface ObserveResult {
4
+ signals: PruneSignal[];
5
+ }
6
+ export declare function tokenize(text: string): Set<string>;
7
+ export declare function jaccard(a: Set<string>, b: Set<string>): number;
8
+ export declare class AutoPruner {
9
+ private readonly config;
10
+ private readonly sessions;
11
+ private readonly now;
12
+ constructor(config: AutoPruneConfig, now?: () => number);
13
+ observeUserMessage(sessionID: string, parts: unknown[], at?: number): ObserveResult;
14
+ consumePending(sessionID: string, at?: number): PruneSignal[] | null;
15
+ markPruned(sessionID: string, at?: number): void;
16
+ dropSession(sessionID: string): void;
17
+ private evaluate;
18
+ private state;
19
+ }
20
+ //# sourceMappingURL=auto-prune.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-prune.d.ts","sourceRoot":"","sources":["../../lib/auto-prune.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAA;AAE/D,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAA;CACzB;AAUD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAiBlD;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAO9D;AAoBD,qBAAa,UAAU;IAKf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;gBAGb,MAAM,EAAE,eAAe,EACxC,GAAG,CAAC,EAAE,MAAM,MAAM;IAKtB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAa,GAAG,aAAa;IAoBvF,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAa,GAAG,WAAW,EAAE,GAAG,IAAI;IAUxE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAa,GAAG,IAAI;IASpD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIpC,OAAO,CAAC,QAAQ;IA2BhB,OAAO,CAAC,KAAK;CAYhB"}
@@ -1,74 +1,38 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- type Permission = "ask" | "allow" | "deny";
3
- type CompressMode = "range" | "message";
4
- export interface Deduplication {
5
- enabled: boolean;
6
- protectedTools: string[];
7
- }
8
- export interface ExternalModelConfig {
9
- url: string;
10
- apiKey?: string;
11
- model: string;
12
- timeout?: number;
13
- retries?: number;
14
- }
15
- export interface CompressConfig {
16
- mode: CompressMode;
17
- permission: Permission;
18
- showCompression: boolean;
19
- summaryBuffer: boolean;
20
- maxContextLimit: number | `${number}%`;
21
- minContextLimit: number | `${number}%`;
22
- boundaryNudge?: boolean;
23
- modelMaxLimits?: Record<string, number | `${number}%`>;
24
- modelMinLimits?: Record<string, number | `${number}%`>;
25
- nudgeFrequency: number;
26
- iterationNudgeThreshold: number;
27
- nudgeForce: "strong" | "soft";
28
- protectedTools: string[];
29
- protectTags: boolean;
30
- protectUserMessages: boolean;
31
- externalModel?: ExternalModelConfig;
32
- }
33
2
  export interface Commands {
34
3
  enabled: boolean;
35
- protectedTools: string[];
36
4
  }
37
- export interface ManualModeConfig {
38
- enabled: boolean;
39
- automaticStrategies: boolean;
5
+ export interface ExperimentalConfig {
6
+ customPrompts: boolean;
40
7
  }
41
- export interface PurgeErrors {
42
- enabled: boolean;
43
- turns: number;
44
- protectedTools: string[];
8
+ export interface SummarizeConfig {
9
+ failureCooldownMs: number;
45
10
  }
46
- export interface TurnProtection {
11
+ export interface AutoPruneConfig {
47
12
  enabled: boolean;
48
- turns: number;
13
+ minMessages: number;
14
+ volumeThreshold: number;
15
+ driftThreshold: number;
16
+ idleGapMs: number;
17
+ cooldownMs: number;
49
18
  }
50
- export interface ExperimentalConfig {
51
- allowSubAgents: boolean;
52
- customPrompts: boolean;
19
+ export interface ToolConfig {
20
+ enabled: boolean;
53
21
  }
54
22
  export interface PluginConfig {
55
23
  enabled: boolean;
56
24
  autoUpdate: boolean;
57
25
  debug: boolean;
58
- pruneNotification: "off" | "minimal" | "detailed";
59
- pruneNotificationType: "chat" | "toast";
60
26
  commands: Commands;
61
- manualMode: ManualModeConfig;
62
- turnProtection: TurnProtection;
63
27
  experimental: ExperimentalConfig;
64
- protectedFilePatterns: string[];
65
- compress: CompressConfig;
66
- strategies: {
67
- deduplication: Deduplication;
68
- purgeErrors: PurgeErrors;
69
- };
28
+ summarize: SummarizeConfig;
29
+ autoPrune: AutoPruneConfig;
30
+ tool: ToolConfig;
70
31
  }
32
+ export declare const DEFAULT_AUTO_PRUNE: AutoPruneConfig;
71
33
  export declare const VALID_CONFIG_KEYS: Set<string>;
34
+ export declare const DEPRECATED_CONFIG_KEYS: Set<string>;
35
+ export declare function getDeprecatedConfigKeys(userConfig: Record<string, any>): string[];
72
36
  export declare function getInvalidConfigKeys(userConfig: Record<string, any>): string[];
73
37
  interface ValidationError {
74
38
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,aAAa,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,iBAAiB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,EAAE,kBAAkB,CAAA;IAChC,SAAS,EAAE,eAAe,CAAA;IAC1B,SAAS,EAAE,eAAe,CAAA;IAC1B,IAAI,EAAE,UAAU,CAAA;CACnB;AAID,eAAO,MAAM,kBAAkB,EAAE,eAOhC,CAAA;AAED,eAAO,MAAM,iBAAiB,aAoB5B,CAAA;AAKF,eAAO,MAAM,sBAAsB,aA0CjC,CAAA;AAeF,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAEjF;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE,CAI9E;AAED,UAAU,eAAe;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,eAAe,EAAE,CA+IlF;AAwSD,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAsCxD"}
@@ -1,37 +1,38 @@
1
- import { type SessionStateTarget, type WithParts } from "./state";
1
+ import type { AutoPruneConfig } from "./config";
2
2
  import type { Logger } from "./logger";
3
- import type { PluginConfig } from "./config";
4
- import { type PromptStore } from "./prompts";
5
- import { type HostPermissionSnapshot } from "./host-permissions";
6
3
  import type { OpenCodeClient } from "./opencode-client";
7
- export declare function createSystemPromptHandler(target: SessionStateTarget, logger: Logger, config: PluginConfig, prompts: PromptStore): (input: {
8
- sessionID?: string;
9
- model: {
10
- limit: {
11
- context: number;
12
- };
4
+ import type { PromptStore } from "./prompts/store";
5
+ import type { AutoPruner } from "./auto-prune";
6
+ import type { SummarizeCoordinator } from "./summarize";
7
+ interface CompactionOutput {
8
+ context: string[];
9
+ prompt?: string;
10
+ }
11
+ export declare function createSessionCompactingHandler(prompts: PromptStore, logger: Logger): (input: {
12
+ sessionID: string;
13
+ }, output: CompactionOutput) => Promise<void>;
14
+ export declare function createChatMessageHandler(autoPruner: AutoPruner): (input: {
15
+ sessionID: string;
16
+ }, _output?: unknown) => Promise<void>;
17
+ export interface EventHandlerDeps {
18
+ client: OpenCodeClient;
19
+ summarize: SummarizeCoordinator;
20
+ autoPruner: AutoPruner;
21
+ config: AutoPruneConfig;
22
+ logger: Logger;
23
+ }
24
+ export declare function createEventHandler(deps: EventHandlerDeps): (input: {
25
+ event: {
26
+ type: string;
27
+ properties?: Record<string, any>;
13
28
  };
14
- }, output: {
15
- system: string[];
16
- }) => Promise<void>;
17
- export declare function createChatMessageTransformHandler(client: OpenCodeClient, target: SessionStateTarget, logger: Logger, config: PluginConfig, prompts: PromptStore, hostPermissions: HostPermissionSnapshot): (input: {}, output: {
18
- messages: WithParts[];
19
29
  }) => Promise<void>;
20
- export declare function createCommandExecuteHandler(client: OpenCodeClient, target: SessionStateTarget, logger: Logger, config: PluginConfig, workingDirectory: string, hostPermissions: HostPermissionSnapshot): (input: {
30
+ export declare function createCommandExecuteHandler(client: OpenCodeClient, summarize: SummarizeCoordinator, logger: Logger): (input: {
21
31
  command: string;
22
32
  sessionID: string;
23
33
  arguments: string;
24
- }, output: {
25
- parts: any[];
26
- }) => Promise<void>;
27
- export declare function createTextCompleteHandler(): (_input: {
28
- sessionID: string;
29
- messageID: string;
30
- partID: string;
31
- }, output: {
32
- text: string;
33
- }) => Promise<void>;
34
- export declare function createEventHandler(target: SessionStateTarget, logger: Logger, config: PluginConfig): (input: {
35
- event: any;
34
+ }, _output?: {
35
+ parts: unknown[];
36
36
  }) => Promise<void>;
37
+ export {};
37
38
  //# sourceMappingURL=hooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACjB,MAAM,SAAS,CAAA;AAChB,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;AAqBhE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAIhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AASvD,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,kBAAkB,EAC1B,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,mBA8CnC;AAED,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,sBAAsB,IAEzB,OAAO,EAAE,EAAE,QAAQ;IAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,mBAmE7D;AAED,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,sBAAsB,IAGnC,OAAO;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ;IAAE,KAAK,EAAE,GAAG,EAAE,CAAA;CAAE,mBA0G/B;AAED,wBAAgB,yBAAyB,KAEjC,QAAQ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,mBAI/B;AAED,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,IAgBN,OAAO;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,mBAoJtC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,cAAc,CAAA;AAE3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,UAAU,gBAAgB;IACtB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,IACjE,OAAO;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAAC,CAiBvF;AAeD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,UAAU,IAC7C,OAAO;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,UAAU,OAAO,KAAG,OAAO,CAAC,IAAI,CAAC,CAIhF;AAQD,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,eAAe,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,IAyBvC,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAA;CAAE,mBA2BrF;AAED,wBAAgB,2BAA2B,CACvC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,oBAAoB,EAC/B,MAAM,EAAE,MAAM,IAGV,OAAO;IACH,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CACpB,EACD,UAAU;IAAE,KAAK,EAAE,OAAO,EAAE,CAAA;CAAE,KAC/B,OAAO,CAAC,IAAI,CAAC,CAgDnB"}
@@ -0,0 +1,2 @@
1
+ export declare const COMPACTION = "\u4F60\u6B63\u5728\u751F\u6210\u5F53\u524D\u4F1A\u8BDD\u552F\u4E00\u7684\u6EDA\u52A8\u68C0\u67E5\u70B9\u3002\u8F93\u51FA\u5C06\u66FF\u4EE3\u65E7\u5BF9\u8BDD\u524D\u7F00\uFF0C\u6210\u4E3A\u540E\u7EED\u6A21\u578B\u770B\u5230\u7684\u7B2C\u4E00\u6BB5\u4E0A\u4E0B\u6587\uFF1BOpenCode \u4F1A\u5728\u5B83\u540E\u9762\u4FDD\u7559\u5C1A\u672A\u538B\u7F29\u7684\u8FD1\u671F\u5C3E\u90E8\u3002\n\n\u8FD9\u4E0D\u662F\u804A\u5929\u8BB0\u5F55\u6458\u8981\uFF0C\u800C\u662F\u53EF\u76F4\u63A5\u7EE7\u7EED\u5DE5\u4F5C\u7684\u8BED\u4E49\u526A\u679D\u7ED3\u679C\u3002\u6309\u4EE5\u4E0B\u89C4\u5219\u538B\u7F29\uFF1A\n\n1. \u5982\u679C\u8F93\u5165\u542B\u6709\u4E0A\u4E00\u4EFD\u68C0\u67E5\u70B9\uFF0C\u628A\u4ECD\u6709\u6548\u7684\u4FE1\u606F\u5408\u5E76\u8FDB\u65B0\u68C0\u67E5\u70B9\uFF1B\u4E0D\u8981\u5D4C\u5957\u3001\u5F15\u7528\u6216\u91CD\u590D\u65E7\u68C0\u67E5\u70B9\u3002\n2. \u5220\u9664\u65E0\u5173\u95F2\u804A\u3001\u5176\u4ED6\u9879\u76EE\u6216\u5176\u4ED6\u4ED3\u5E93\u7684\u5BF9\u8BDD\u3001\u91CD\u590D\u89E3\u91CA\u3001\u5DF2\u7ECF\u63A8\u7FFB\u4E14\u4E0D\u518D\u6709\u8BCA\u65AD\u4EF7\u503C\u7684\u65B9\u6848\u3002\n3. \u591A\u6B21\u5DE5\u5177\u8C03\u7528\u8BD5\u9519\u6216\u5931\u8D25\u540E\u6210\u529F\u65F6\uFF0C\u53EA\u4FDD\u7559\u6700\u7EC8\u6210\u529F\u7ED3\u679C\uFF1B\u4EC5\u5F53\u6839\u56E0\u4F1A\u5F71\u54CD\u540E\u7EED\u5DE5\u4F5C\u65F6\u4FDD\u7559\u4E00\u6B21\u7B80\u77ED\u5931\u8D25\u539F\u56E0\u3002\n4. \u540C\u4E00\u5185\u5BB9\u6216\u6587\u4EF6\u88AB\u91CD\u590D\u7F16\u8F91\u65F6\uFF0C\u53EA\u4FDD\u7559\u6700\u7EC8\u72B6\u6001\u3001\u4ECD\u6709\u6548\u7684\u5173\u952E\u51B3\u7B56\u548C\u5FC5\u8981\u7406\u7531\uFF0C\u4E0D\u590D\u8FF0\u6BCF\u8F6E\u4FEE\u6539\u3002\n5. \u6309\u65F6\u95F4\u5206\u5C42\u51B3\u5B9A\u538B\u7F29\u6DF1\u5EA6\uFF1A\u65E9\u671F\u5386\u53F2\u548C\u4E2D\u90E8\u5386\u53F2\u9AD8\u5EA6\u538B\u7F29\u2014\u2014\u6BCF\u4E2A\u4E3B\u9898\u53EA\u7559\u4E00\u53E5\u8BDD\u7ED3\u8BBA\uFF0C\u4E0D\u7559\u8FC7\u7A0B\uFF1B\u6700\u8FD1\u5386\u53F2\u8F7B\u5EA6\u538B\u7F29\u2014\u2014\u5C24\u5176\u662F\u4E0E\u5F53\u524D\u4EFB\u52A1\u76F8\u5173\u7684\u5185\u5BB9\uFF0C\u4FDD\u7559\u7EE7\u7EED\u5DE5\u4F5C\u6240\u9700\u7684\u5173\u952E\u7EC6\u8282\uFF08\u6587\u4EF6\u8DEF\u5F84\u3001\u63A5\u53E3\u3001\u547D\u4EE4\u3001\u6D4B\u8BD5\u7ED3\u679C\u3001\u9519\u8BEF\u4E8B\u5B9E\u3001\u4ECD\u6709\u6548\u7684\u51B3\u7B56\u53CA\u7406\u7531\uFF09\uFF0C\u53EA\u6298\u53E0\u91CD\u590D\u4E0E\u5DF2\u5931\u6548\u7684\u5185\u5BB9\u3002\n\n\u4F7F\u7528\u4EE5\u4E0B\u56FA\u5B9A\u7ED3\u6784\uFF0C\u7701\u7565\u786E\u5B9E\u4E3A\u7A7A\u7684\u6761\u76EE\uFF1A\n\n## \u7CFB\u7EDF\u4E0A\u4E0B\u6587\nAGENTS.md\u3001\u9879\u76EE\u89C4\u5219\u3001\u7528\u6237\u5168\u5C40\u7EA6\u5B9A\u7B49\u7CFB\u7EDF\u7EA7\u8981\u6C42\u3002\u4E0A\u4E00\u4EFD\u68C0\u67E5\u70B9\u7684\u6B64\u8282\u5185\u5BB9\u539F\u6837\u4FDD\u7559\u5408\u5E76\uFF1B\u4EC5\u5F53\u4F1A\u8BDD\u4E2D\u786E\u7ACB\u4E86\u65B0\u7684\u7CFB\u7EDF\u7EA7\u7EA6\u5B9A\u65F6\u624D\u8FFD\u52A0\uFF0C\u4E0D\u5199\u666E\u901A\u4EFB\u52A1\u5185\u5BB9\u3002\n\n## \u5386\u53F2\u6982\u8981\n\u65E9\u671F\u4E0E\u4E2D\u90E8\u5386\u53F2\u7684\u4E3B\u9898\u548C\u80CC\u666F\uFF0C\u6BCF\u9879\u4E00\u53E5\u8BDD\u7ED3\u8BBA\uFF1B\u8FDC\u671F\u5DF2\u5B8C\u6210\u4EFB\u52A1\u5F52\u5165\u6B64\u5904\uFF0C\u4E0D\u542B\u6267\u884C\u8FC7\u7A0B\u3002\n\n## \u5DF2\u5B8C\u6210\u4EFB\u52A1\u7684\u6982\u62EC\n\u6700\u8FD1\u7684\u5DF2\u5B8C\u6210\u4EFB\u52A1\uFF0C\u6BCF\u4E2A\u4EFB\u52A1\u4E00\u53E5\u8BDD\u6982\u62EC\u5176\u7ED3\u679C\u4E0E\u5173\u952E\u4EA7\u51FA\u3002\n\n## \u8FDB\u884C\u4E2D\u4EFB\u52A1\u8BE6\u60C5\n\u5F53\u524D\u6B63\u5728\u8FDB\u884C\u7684\u4EFB\u52A1\u9010\u9879\u5199\u6E05\uFF1A\u76EE\u6807\u3001\u5DF2\u5B8C\u6210\u6B65\u9AA4\u3001\u6D89\u53CA\u6587\u4EF6\u8DEF\u5F84\u4E0E\u63A5\u53E3\u3001\u5173\u952E\u51B3\u7B56\u3001\u9047\u5230\u7684\u963B\u585E\u3001\u4E0B\u4E00\u6B65\u5177\u4F53\u52A8\u4F5C\u3002\u672C\u8282\u5C5E\u4E8E\u8F7B\u5EA6\u538B\u7F29\u533A\uFF0C\u5B81\u53EF\u591A\u4FDD\u7559\u7EC6\u8282\uFF0C\u4E0D\u505A\u4E8C\u6B21\u63A8\u65AD\u3002\n\n## \u672A\u89E3\u51B3\u95EE\u9898\n\u8DE8\u4EFB\u52A1\u7684\u9057\u7559\u98CE\u9669\u548C\u5F85\u786E\u8BA4\u4E8B\u9879\u3002\n\n\u4FDD\u6301\u5177\u4F53\u3001\u53EF\u9A8C\u8BC1\u548C\u9879\u76EE\u5185\u805A\u3002\u8FDB\u884C\u4E2D\u7684\u4EFB\u52A1\u5FC5\u987B\u80FD\u51ED\u68C0\u67E5\u70B9\u76F4\u63A5\u7EE7\u7EED\uFF0C\u4E0D\u8981\u4F9D\u8D56\u5DF2\u88AB\u538B\u7F29\u6389\u7684\u4E2D\u95F4\u8FC7\u7A0B\u3002\u4FDD\u7559\u6587\u4EF6\u8DEF\u5F84\u3001\u63A5\u53E3\u3001\u547D\u4EE4\u3001\u6D4B\u8BD5\u7ED3\u679C\u548C\u9519\u8BEF\u4E8B\u5B9E\u7B49\u786C\u4E8B\u5B9E\uFF0C\u4F46\u4E0D\u8981\u4FDD\u7559\u6D88\u606F ID\u3001\u5757 ID\u3001\u951A\u70B9\u3001\u5360\u4F4D\u7B26\u3001\u63A7\u5236\u6807\u7B7E\u6216\u8FC7\u7A0B\u6027\u804A\u5929\u3002";
2
+ //# sourceMappingURL=compaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../../lib/prompts/compaction.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,uqJA2BsF,CAAA"}
@@ -1,26 +1,16 @@
1
1
  import type { Logger } from "../logger";
2
- export type PromptKey = "system" | "compress-range" | "compress-message" | "context-limit-nudge" | "turn-nudge" | "iteration-nudge";
3
2
  export interface RuntimePrompts {
4
- system: string;
5
- compressRange: string;
6
- compressMessage: string;
7
- contextLimitNudge: string;
8
- turnNudge: string;
9
- iterationNudge: string;
10
- manualExtension: string;
11
- subagentExtension: string;
3
+ compaction: string;
12
4
  }
13
- export declare const PROMPT_KEYS: PromptKey[];
14
5
  export declare class PromptStore {
15
6
  private readonly logger;
16
- private readonly paths;
17
7
  private readonly customPromptsEnabled;
18
- private runtimePrompts;
8
+ private readonly paths;
9
+ private runtime;
19
10
  private lastReloadAt;
20
11
  constructor(logger: Logger, workingDirectory: string, customPromptsEnabled?: boolean);
21
12
  getRuntimePrompts(): RuntimePrompts;
22
13
  reload(): void;
23
- private getOverrideCandidates;
24
- private ensureDefaultFiles;
14
+ private ensureDefaults;
25
15
  }
26
16
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../lib/prompts/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AASvC,MAAM,MAAM,SAAS,GACf,QAAQ,GACR,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,YAAY,GACZ,iBAAiB,CAAA;AA8BvB,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,MAAM,CAAA;IACvB,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;AAqDD,eAAO,MAAM,WAAW,EAAE,SAAS,EAOlC,CAAA;AA8MD,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,YAAY,CAAI;gBAEZ,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,UAAQ;IAYlF,iBAAiB,IAAI,cAAc;IAInC,MAAM,IAAI,IAAI;IAqDd,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,kBAAkB;CAkD7B"}
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,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,MAAM,CAAA;CACrB;AA2CD,qBAAa,WAAW;IAMhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAPzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,YAAY,CAAI;gBAGH,MAAM,EAAE,MAAM,EAC/B,gBAAgB,EAAE,MAAM,EACP,oBAAoB,UAAQ;IAOjD,iBAAiB,IAAI,cAAc;IAInC,MAAM,IAAI,IAAI;IAsBd,OAAO,CAAC,cAAc;CAczB"}
@@ -0,0 +1,15 @@
1
+ import type { Logger } from "./logger";
2
+ import type { OpenCodeClient } from "./opencode-client";
3
+ import type { SummarizeCoordinator } from "./summarize";
4
+ export declare const PRUNE_TOOL_NAME = "dcp_prune";
5
+ export interface PruneToolDeps {
6
+ client: OpenCodeClient;
7
+ summarize: SummarizeCoordinator;
8
+ logger: Logger;
9
+ }
10
+ export declare function createPruneTool(deps: PruneToolDeps): {
11
+ description: string;
12
+ args: {};
13
+ execute(args: Record<string, never>, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
14
+ };
15
+ //# sourceMappingURL=prune-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prune-tool.d.ts","sourceRoot":"","sources":["../../lib/prune-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,eAAO,MAAM,eAAe,cAAc,CAAA;AAW1C,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,cAAc,CAAA;IACtB,SAAS,EAAE,oBAAoB,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa;;;;EAwBlD"}
@@ -0,0 +1,8 @@
1
+ import type { OpenCodeClient } from "./opencode-client";
2
+ export interface SessionModel {
3
+ providerID: string;
4
+ modelID: string;
5
+ }
6
+ export declare function latestUserModel(messages: unknown): SessionModel | null;
7
+ export declare function resolveSessionModel(client: OpenCodeClient, sessionID: string): Promise<SessionModel | null>;
8
+ //# sourceMappingURL=session-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-model.d.ts","sourceRoot":"","sources":["../../lib/session-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAatE;AAED,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B"}
@@ -0,0 +1,35 @@
1
+ import type { Logger } from "./logger";
2
+ import type { OpenCodeClient } from "./opencode-client";
3
+ export interface SummarizeRequest {
4
+ sessionID: string;
5
+ model: {
6
+ providerID: string;
7
+ modelID: string;
8
+ };
9
+ }
10
+ export type SummarizeResult = {
11
+ status: "succeeded";
12
+ } | {
13
+ status: "failed";
14
+ error: string;
15
+ } | {
16
+ status: "cooldown";
17
+ retryAfterMs: number;
18
+ };
19
+ interface SummarizeCoordinatorOptions {
20
+ failureCooldownMs: number;
21
+ now?: () => number;
22
+ }
23
+ export declare class SummarizeCoordinator {
24
+ private readonly client;
25
+ private readonly logger;
26
+ private readonly options;
27
+ private readonly inFlight;
28
+ private readonly failedAt;
29
+ private readonly now;
30
+ constructor(client: OpenCodeClient, logger: Logger, options: SummarizeCoordinatorOptions);
31
+ summarize(request: SummarizeRequest): Promise<SummarizeResult>;
32
+ private invokeNative;
33
+ }
34
+ export {};
35
+ //# sourceMappingURL=summarize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../lib/summarize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE;QACH,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAA;KAClB,CAAA;CACJ;AAED,MAAM,MAAM,eAAe,GACrB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GACvB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD,UAAU,2BAA2B;IACjC,iBAAiB,EAAE,MAAM,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACrB;AAiBD,qBAAa,oBAAoB;IAMzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAc;gBAGb,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,2BAA2B;IAKzD,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;YAsBhD,YAAY;CAqB7B"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@lexwdex-org/opencode-dcp",
4
- "version": "3.4.10",
4
+ "version": "3.4.12",
5
5
  "type": "module",
6
- "description": "OpenCode plugin that optimizes token usage by pruning obsolete tool outputs from conversation context",
6
+ "description": "Semantic pruning for OpenCode native context compaction",
7
7
  "main": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
9
  "exports": {
@@ -52,7 +52,6 @@
52
52
  "@opencode-ai/plugin": ">=1.4.3 <2"
53
53
  },
54
54
  "dependencies": {
55
- "@anthropic-ai/tokenizer": "^0.0.4",
56
55
  "@opencode-ai/sdk": "^1.4.3",
57
56
  "jsonc-parser": "^3.3.1"
58
57
  },
@@ -1,14 +0,0 @@
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
- grouped: boolean;
9
- blocks: CompressionBlock[];
10
- }
11
- export declare function getActiveCompressionTargets(messagesState: PruneMessagesState): CompressionTarget[];
12
- export declare function getRecompressibleCompressionTargets(messagesState: PruneMessagesState, availableMessageIds: Set<string>): CompressionTarget[];
13
- export declare function resolveCompressionTarget(messagesState: PruneMessagesState, blockId: number): CompressionTarget | null;
14
- //# sourceMappingURL=compression-targets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compression-targets.d.ts","sourceRoot":"","sources":["../../../lib/commands/compression-targets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEpE,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AA2DD,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,CA+BrB;AAED,wBAAgB,wBAAwB,CACpC,aAAa,EAAE,kBAAkB,EACjC,OAAO,EAAE,MAAM,GAChB,iBAAiB,GAAG,IAAI,CAkB1B"}
@@ -1,53 +0,0 @@
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 { OpenCodeClient } from "../opencode-client";
44
- import type { SessionState, WithParts } from "../state";
45
- export interface ContextCommandContext {
46
- client: OpenCodeClient;
47
- state: SessionState;
48
- logger: Logger;
49
- sessionId: string;
50
- messages: WithParts[];
51
- }
52
- export declare function handleContextCommand(ctx: ContextCommandContext): Promise<void>;
53
- //# sourceMappingURL=context.d.ts.map
@@ -1 +0,0 @@
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,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQvD,MAAM,WAAW,qBAAqB;IAClC,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AA8OD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF"}
@@ -1,13 +0,0 @@
1
- import type { Logger } from "../logger";
2
- import type { OpenCodeClient } from "../opencode-client";
3
- import type { SessionState, WithParts } from "../state";
4
- export interface DecompressCommandContext {
5
- client: OpenCodeClient;
6
- state: SessionState;
7
- logger: Logger;
8
- sessionId: string;
9
- messages: WithParts[];
10
- args: string[];
11
- }
12
- export declare function handleDecompressCommand(ctx: DecompressCommandContext): Promise<void>;
13
- //# sourceMappingURL=decompress.d.ts.map
@@ -1 +0,0 @@
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,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAwC,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAa7F,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,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;AAmID,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H1F"}
@@ -1,18 +0,0 @@
1
- /**
2
- * DCP Help command handler.
3
- * Shows available DCP commands and their descriptions.
4
- */
5
- import type { Logger } from "../logger";
6
- import type { OpenCodeClient } from "../opencode-client";
7
- import type { PluginConfig } from "../config";
8
- import type { SessionState, WithParts } from "../state";
9
- export interface HelpCommandContext {
10
- client: OpenCodeClient;
11
- state: SessionState;
12
- config: PluginConfig;
13
- logger: Logger;
14
- sessionId: string;
15
- messages: WithParts[];
16
- }
17
- export declare function handleHelpCommand(ctx: HelpCommandContext): Promise<void>;
18
- //# sourceMappingURL=help.d.ts.map
@@ -1 +0,0 @@
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,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,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,cAAc,CAAA;IACtB,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;AA8CD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,24 +0,0 @@
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 { OpenCodeClient } from "../opencode-client";
11
- import type { SessionState, WithParts } from "../state";
12
- import type { PluginConfig } from "../config";
13
- export interface ManualCommandContext {
14
- client: OpenCodeClient;
15
- state: SessionState;
16
- config: PluginConfig;
17
- logger: Logger;
18
- sessionId: string;
19
- messages: WithParts[];
20
- }
21
- export declare function handleManualToggleCommand(ctx: ManualCommandContext, modeArg?: string): Promise<void>;
22
- export declare function handleManualTriggerCommand(ctx: ManualCommandContext, tool: "compress", userFocus?: string): Promise<string | null>;
23
- export declare function applyPendingManualTrigger(state: SessionState, messages: WithParts[], logger: Logger): void;
24
- //# sourceMappingURL=manual.d.ts.map
@@ -1 +0,0 @@
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,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AA0C7C,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,cAAc,CAAA;IACtB,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,CAuBf;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"}
@@ -1,13 +0,0 @@
1
- import type { Logger } from "../logger";
2
- import type { OpenCodeClient } from "../opencode-client";
3
- import type { SessionState, WithParts } from "../state";
4
- export interface RecompressCommandContext {
5
- client: OpenCodeClient;
6
- state: SessionState;
7
- logger: Logger;
8
- sessionId: string;
9
- messages: WithParts[];
10
- args: string[];
11
- }
12
- export declare function handleRecompressCommand(ctx: RecompressCommandContext): Promise<void>;
13
- //# sourceMappingURL=recompress.d.ts.map
@@ -1 +0,0 @@
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,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAsB,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAa3E,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,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;AAoFD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsH1F"}
@@ -1,16 +0,0 @@
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 { OpenCodeClient } from "../opencode-client";
7
- import type { SessionState, WithParts } from "../state";
8
- export interface StatsCommandContext {
9
- client: OpenCodeClient;
10
- state: SessionState;
11
- logger: Logger;
12
- sessionId: string;
13
- messages: WithParts[];
14
- }
15
- export declare function handleStatsCommand(ctx: StatsCommandContext): Promise<void>;
16
- //# sourceMappingURL=stats.d.ts.map
@@ -1 +0,0 @@
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,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAOvD,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,cAAc,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,EAAE,CAAA;CACxB;AAwED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDhF"}
@@ -1,24 +0,0 @@
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 { OpenCodeClient } from "../opencode-client";
11
- import type { SessionState, WithParts } from "../state";
12
- import type { PluginConfig } from "../config";
13
- export interface SweepCommandContext {
14
- client: OpenCodeClient;
15
- state: SessionState;
16
- config: PluginConfig;
17
- logger: Logger;
18
- sessionId: string;
19
- messages: WithParts[];
20
- args: string[];
21
- workingDirectory: string;
22
- }
23
- export declare function handleSweepCommand(ctx: SweepCommandContext): Promise<void>;
24
- //# sourceMappingURL=sweep.d.ts.map
@@ -1 +0,0 @@
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,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAsB,MAAM,UAAU,CAAA;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAe7C,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,cAAc,CAAA;IACtB,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,CA2IhF"}
@@ -1,4 +0,0 @@
1
- import type { WithParts } from "../state";
2
- export { runWithConcurrency } from "../concurrency";
3
- export declare function serializeMessagesForExternalSummary(messages: WithParts[]): string;
4
- //# sourceMappingURL=external-content.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"external-content.d.ts","sourceRoot":"","sources":["../../../lib/compress/external-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAsCnD,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAkBjF"}
@@ -1,15 +0,0 @@
1
- import type { ExternalModelConfig } from "../config";
2
- export type { ExternalModelConfig };
3
- export interface ExternalSummaryRequest {
4
- systemPrompt: string;
5
- userContent: string;
6
- }
7
- export type ExternalModelErrorKind = "network" | "http" | "parse" | "empty" | "timeout";
8
- export declare class ExternalModelError extends Error {
9
- readonly kind: ExternalModelErrorKind;
10
- readonly cause?: unknown | undefined;
11
- constructor(message: string, kind: ExternalModelErrorKind, cause?: unknown | undefined);
12
- }
13
- export declare function resolveCompressBaseUrl(url: string): string;
14
- export declare function generateSummaryViaExternal(cfg: ExternalModelConfig, req: ExternalSummaryRequest): Promise<string>;
15
- //# sourceMappingURL=external-inference.d.ts.map