@lexwdex-org/opencode-dcp 3.4.7 → 3.4.9

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/LICENSE +0 -0
  2. package/README.en.md +2 -2
  3. package/README.md +2 -2
  4. package/dist/index.d.ts +0 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +712 -351
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/commands/compression-targets.d.ts +0 -0
  9. package/dist/lib/commands/compression-targets.d.ts.map +0 -0
  10. package/dist/lib/commands/context.d.ts +2 -1
  11. package/dist/lib/commands/context.d.ts.map +1 -1
  12. package/dist/lib/commands/decompress.d.ts +2 -1
  13. package/dist/lib/commands/decompress.d.ts.map +1 -1
  14. package/dist/lib/commands/help.d.ts +2 -1
  15. package/dist/lib/commands/help.d.ts.map +1 -1
  16. package/dist/lib/commands/index.d.ts +0 -0
  17. package/dist/lib/commands/index.d.ts.map +0 -0
  18. package/dist/lib/commands/manual.d.ts +2 -1
  19. package/dist/lib/commands/manual.d.ts.map +1 -1
  20. package/dist/lib/commands/recompress.d.ts +2 -1
  21. package/dist/lib/commands/recompress.d.ts.map +1 -1
  22. package/dist/lib/commands/stats.d.ts +2 -1
  23. package/dist/lib/commands/stats.d.ts.map +1 -1
  24. package/dist/lib/commands/sweep.d.ts +2 -1
  25. package/dist/lib/commands/sweep.d.ts.map +1 -1
  26. package/dist/lib/compress/external-content.d.ts +4 -0
  27. package/dist/lib/compress/external-content.d.ts.map +1 -0
  28. package/dist/lib/compress/external-inference.d.ts +0 -0
  29. package/dist/lib/compress/external-inference.d.ts.map +1 -1
  30. package/dist/lib/compress/index.d.ts +0 -0
  31. package/dist/lib/compress/index.d.ts.map +0 -0
  32. package/dist/lib/compress/message-utils.d.ts +0 -0
  33. package/dist/lib/compress/message-utils.d.ts.map +0 -0
  34. package/dist/lib/compress/message.d.ts +0 -0
  35. package/dist/lib/compress/message.d.ts.map +1 -1
  36. package/dist/lib/compress/pipeline.d.ts +3 -2
  37. package/dist/lib/compress/pipeline.d.ts.map +1 -1
  38. package/dist/lib/compress/protected-content.d.ts +2 -1
  39. package/dist/lib/compress/protected-content.d.ts.map +1 -1
  40. package/dist/lib/compress/range-utils.d.ts +0 -0
  41. package/dist/lib/compress/range-utils.d.ts.map +0 -0
  42. package/dist/lib/compress/range.d.ts +0 -0
  43. package/dist/lib/compress/range.d.ts.map +1 -1
  44. package/dist/lib/compress/search.d.ts +2 -1
  45. package/dist/lib/compress/search.d.ts.map +1 -1
  46. package/dist/lib/compress/state.d.ts +0 -0
  47. package/dist/lib/compress/state.d.ts.map +0 -0
  48. package/dist/lib/compress/timing.d.ts +2 -0
  49. package/dist/lib/compress/timing.d.ts.map +1 -1
  50. package/dist/lib/compress/types.d.ts +4 -3
  51. package/dist/lib/compress/types.d.ts.map +1 -1
  52. package/dist/lib/compress-permission.d.ts +0 -0
  53. package/dist/lib/compress-permission.d.ts.map +1 -1
  54. package/dist/lib/concurrency.d.ts +2 -0
  55. package/dist/lib/concurrency.d.ts.map +1 -0
  56. package/dist/lib/config-env-override.d.ts +0 -0
  57. package/dist/lib/config-env-override.d.ts.map +0 -0
  58. package/dist/lib/config.d.ts +0 -0
  59. package/dist/lib/config.d.ts.map +1 -1
  60. package/dist/lib/hooks.d.ts +6 -5
  61. package/dist/lib/hooks.d.ts.map +1 -1
  62. package/dist/lib/host-permissions.d.ts +0 -0
  63. package/dist/lib/host-permissions.d.ts.map +0 -0
  64. package/dist/lib/logger.d.ts +0 -0
  65. package/dist/lib/logger.d.ts.map +0 -0
  66. package/dist/lib/message-ids.d.ts +0 -0
  67. package/dist/lib/message-ids.d.ts.map +0 -0
  68. package/dist/lib/messages/index.d.ts +0 -0
  69. package/dist/lib/messages/index.d.ts.map +0 -0
  70. package/dist/lib/messages/inject/inject.d.ts +0 -0
  71. package/dist/lib/messages/inject/inject.d.ts.map +1 -1
  72. package/dist/lib/messages/inject/subagent-results.d.ts +2 -1
  73. package/dist/lib/messages/inject/subagent-results.d.ts.map +1 -1
  74. package/dist/lib/messages/inject/utils.d.ts +2 -2
  75. package/dist/lib/messages/inject/utils.d.ts.map +1 -1
  76. package/dist/lib/messages/priority.d.ts +0 -0
  77. package/dist/lib/messages/priority.d.ts.map +0 -0
  78. package/dist/lib/messages/prune.d.ts +0 -0
  79. package/dist/lib/messages/prune.d.ts.map +0 -0
  80. package/dist/lib/messages/query.d.ts +0 -0
  81. package/dist/lib/messages/query.d.ts.map +0 -0
  82. package/dist/lib/messages/reasoning-strip.d.ts +0 -0
  83. package/dist/lib/messages/reasoning-strip.d.ts.map +0 -0
  84. package/dist/lib/messages/shape.d.ts +0 -0
  85. package/dist/lib/messages/shape.d.ts.map +0 -0
  86. package/dist/lib/messages/sync.d.ts +0 -0
  87. package/dist/lib/messages/sync.d.ts.map +0 -0
  88. package/dist/lib/messages/utils.d.ts +0 -0
  89. package/dist/lib/messages/utils.d.ts.map +1 -1
  90. package/dist/lib/opencode-client.d.ts +3 -0
  91. package/dist/lib/opencode-client.d.ts.map +1 -0
  92. package/dist/lib/prompts/compress-message.d.ts +0 -0
  93. package/dist/lib/prompts/compress-message.d.ts.map +0 -0
  94. package/dist/lib/prompts/compress-range.d.ts +0 -0
  95. package/dist/lib/prompts/compress-range.d.ts.map +0 -0
  96. package/dist/lib/prompts/context-limit-nudge.d.ts +1 -1
  97. package/dist/lib/prompts/context-limit-nudge.d.ts.map +1 -1
  98. package/dist/lib/prompts/extensions/nudge.d.ts +2 -1
  99. package/dist/lib/prompts/extensions/nudge.d.ts.map +1 -1
  100. package/dist/lib/prompts/extensions/system.d.ts +0 -0
  101. package/dist/lib/prompts/extensions/system.d.ts.map +0 -0
  102. package/dist/lib/prompts/extensions/tool.d.ts +0 -0
  103. package/dist/lib/prompts/extensions/tool.d.ts.map +0 -0
  104. package/dist/lib/prompts/index.d.ts +0 -0
  105. package/dist/lib/prompts/index.d.ts.map +0 -0
  106. package/dist/lib/prompts/iteration-nudge.d.ts +1 -1
  107. package/dist/lib/prompts/iteration-nudge.d.ts.map +1 -1
  108. package/dist/lib/prompts/store.d.ts +1 -0
  109. package/dist/lib/prompts/store.d.ts.map +1 -1
  110. package/dist/lib/prompts/system.d.ts +1 -1
  111. package/dist/lib/prompts/system.d.ts.map +1 -1
  112. package/dist/lib/prompts/turn-nudge.d.ts +1 -1
  113. package/dist/lib/prompts/turn-nudge.d.ts.map +1 -1
  114. package/dist/lib/protected-patterns.d.ts +0 -0
  115. package/dist/lib/protected-patterns.d.ts.map +0 -0
  116. package/dist/lib/state/index.d.ts +1 -0
  117. package/dist/lib/state/index.d.ts.map +1 -1
  118. package/dist/lib/state/persistence.d.ts +0 -0
  119. package/dist/lib/state/persistence.d.ts.map +1 -1
  120. package/dist/lib/state/state.d.ts +5 -2
  121. package/dist/lib/state/state.d.ts.map +1 -1
  122. package/dist/lib/state/store.d.ts +37 -0
  123. package/dist/lib/state/store.d.ts.map +1 -0
  124. package/dist/lib/state/tool-cache.d.ts +0 -0
  125. package/dist/lib/state/tool-cache.d.ts.map +1 -1
  126. package/dist/lib/state/types.d.ts +1 -1
  127. package/dist/lib/state/types.d.ts.map +1 -1
  128. package/dist/lib/state/utils.d.ts +4 -1
  129. package/dist/lib/state/utils.d.ts.map +1 -1
  130. package/dist/lib/strategies/deduplication.d.ts +0 -0
  131. package/dist/lib/strategies/deduplication.d.ts.map +1 -1
  132. package/dist/lib/strategies/index.d.ts +0 -0
  133. package/dist/lib/strategies/index.d.ts.map +0 -0
  134. package/dist/lib/strategies/purge-errors.d.ts +0 -0
  135. package/dist/lib/strategies/purge-errors.d.ts.map +0 -0
  136. package/dist/lib/subagents/subagent-results.d.ts +0 -0
  137. package/dist/lib/subagents/subagent-results.d.ts.map +0 -0
  138. package/dist/lib/token-utils.d.ts +0 -1
  139. package/dist/lib/token-utils.d.ts.map +1 -1
  140. package/dist/lib/ui/notification.d.ts +4 -3
  141. package/dist/lib/ui/notification.d.ts.map +1 -1
  142. package/dist/lib/ui/utils.d.ts +0 -0
  143. package/dist/lib/ui/utils.d.ts.map +0 -0
  144. package/dist/lib/update.d.ts +3 -9
  145. package/dist/lib/update.d.ts.map +1 -1
  146. package/package.json +5 -5
  147. package/dist/lib/auth.d.ts +0 -4
  148. package/dist/lib/auth.d.ts.map +0 -1
File without changes
File without changes
File without changes
@@ -1,2 +1,2 @@
1
- export declare const ITERATION_NUDGE = "\nMany iterations elapsed without new user input.\n\nHas the current iteration's task effectively finished, or has its topic drifted away from earlier steps?\n- If earlier steps belong to a resolved problem or a superseded exploration, call `compress` now to fold them into a summary.\n- If the iteration still continues the same unfinished goal and early context is still needed, keep it.\n\nDo not let finished exploration directions keep occupying context. Topic drift is the best moment to compress.\n";
1
+ export declare const ITERATION_NUDGE = "\n\u5728\u6CA1\u6709\u65B0\u7528\u6237\u8F93\u5165\u7684\u60C5\u51B5\u4E0B\u5DF2\u7ECF\u6267\u884C\u4E86\u591A\u8F6E\u3002\n\n\u5F53\u524D\u4EFB\u52A1\u662F\u5426\u5DF2\u7ECF\u5B8C\u6210\uFF0C\u6216\u8005\u5F53\u524D\u4E3B\u9898\u662F\u5426\u5DF2\u7ECF\u504F\u79BB\u65E9\u671F\u6B65\u9AA4\uFF1F\n- \u5982\u679C\u65E9\u671F\u6B65\u9AA4\u5C5E\u4E8E\u5DF2\u7ECF\u89E3\u51B3\u7684\u95EE\u9898\u6216\u5DF2\u88AB\u66FF\u4EE3\u7684\u63A2\u7D22\uFF0C\u73B0\u5728\u8C03\u7528 `compress` \u5C06\u5B83\u4EEC\u538B\u7F29\u4E3A\u6458\u8981\u3002\n- \u5982\u679C\u4ECD\u5728\u7EE7\u7EED\u540C\u4E00\u4E2A\u672A\u5B8C\u6210\u76EE\u6807\uFF0C\u800C\u4E14\u8FD8\u9700\u8981\u65E9\u671F\u4E0A\u4E0B\u6587\uFF0C\u5219\u4FDD\u7559\u8FD9\u4E9B\u5185\u5BB9\u3002\n\n\u4E0D\u8981\u8BA9\u5DF2\u7ECF\u7ED3\u675F\u7684\u63A2\u7D22\u65B9\u5411\u7EE7\u7EED\u5360\u7528\u4E0A\u4E0B\u6587\u3002\u4E3B\u9898\u53D1\u751F\u504F\u79FB\u65F6\u6700\u9002\u5408\u538B\u7F29\u3002\n";
2
2
  //# sourceMappingURL=iteration-nudge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iteration-nudge.d.ts","sourceRoot":"","sources":["../../../lib/prompts/iteration-nudge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,8fAQ3B,CAAA"}
1
+ {"version":3,"file":"iteration-nudge.d.ts","sourceRoot":"","sources":["../../../lib/prompts/iteration-nudge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,q7BAQ3B,CAAA"}
@@ -16,6 +16,7 @@ export declare class PromptStore {
16
16
  private readonly paths;
17
17
  private readonly customPromptsEnabled;
18
18
  private runtimePrompts;
19
+ private lastReloadAt;
19
20
  constructor(logger: Logger, workingDirectory: string, customPromptsEnabled?: boolean);
20
21
  getRuntimePrompts(): RuntimePrompts;
21
22
  reload(): void;
@@ -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;gBAE1B,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,UAAQ;IAYlF,iBAAiB,IAAI,cAAc;IAInC,MAAM,IAAI,IAAI;IAiDd,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,kBAAkB;CAkD7B"}
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,2 +1,2 @@
1
- export declare const SYSTEM = "\nYou run in a context-limited environment. Manage context actively to avoid accumulation and keep retrieval quality high.\n\nYour only context-management tool is `compress`. It replaces older conversation content with a technical summary you generate.\n\nHard constraints\n- Context management is done ONLY by calling `compress`. Never produce summaries in plain text.\n- NEVER output `<summary>` or `<analysis>` XML tags in text responses \u2014 they cause system errors.\n- If context needs compression, call `compress`. Do not write summaries inline.\n- Use Markdown headings (e.g. `## Analysis`, `## Summary`) to organize information. Never use XML tags.\n\n`<dcp-message-id>` and `<dcp-system-reminder>` are environment-injected metadata. Do not output them.\n\nWhen to compress\n\nHIGHEST-PRIORITY HARD TRIGGER \u2014 call `compress` immediately whenever the conversation TOPIC changes. Compress the previous topic's finished context into a summary.\n\nA topic change is an objective, low-judgment signal, not a subjective call. Any of these counts:\n\n- The user raises a task or question unrelated to the previous one\n- The focus shifts from one module/file/feature to another\n- The goal shifts from explore/research \u2192 implement, or implement \u2192 debug/verify\n- A distinct problem is resolved and you move to the next\n\nWhen any occurs, compress the finished range of the previous topic at once. Do not wait. This is the single most effective way to keep context clear.\n\nAlso compress (when a section genuinely closes even without a topic change):\n\n- Research is done and findings are settled\n- Implementation is complete and verified\n- Exploration is exhausted and patterns understood\n- Dead-end noise can be dropped without waiting for the whole section to close\n\nDo NOT compress when:\n\n- Raw context is still needed for editing or exact reference\n- The target work is actively in progress\n- You may need the exact code, error message, or file content in the next steps\n\nAsk yourself before compressing: _\"Is this section closed enough to be summary-only?\"_\n\nIf the answer is \"the topic switched, the old content is no longer needed\" \u2014 the answer is always yes.\n\nPeriodically assess the conversation's signal-to-noise ratio. Use `compress` deliberately and provide high-quality summaries. Prioritize stale content to maintain a high-signal context window.\n\nKeeping a sharp, high-quality context window for best performance is your responsibility.\n";
1
+ export declare const SYSTEM = "\n\u4F60\u5728\u4E0A\u4E0B\u6587\u957F\u5EA6\u53D7\u9650\u7684\u73AF\u5883\u4E2D\u8FD0\u884C\u3002\u4E3B\u52A8\u7BA1\u7406\u4E0A\u4E0B\u6587\uFF0C\u907F\u514D\u65E0\u6548\u7D2F\u79EF\u5E76\u4FDD\u6301\u8F83\u9AD8\u7684\u68C0\u7D22\u8D28\u91CF\u3002\n\n\u552F\u4E00\u7684\u4E0A\u4E0B\u6587\u7BA1\u7406\u5DE5\u5177\u662F `compress`\u3002\u5B83\u4F1A\u7528\u4F60\u751F\u6210\u7684\u6280\u672F\u6458\u8981\u66FF\u6362\u8F83\u65E9\u7684\u5BF9\u8BDD\u5185\u5BB9\u3002\n\n\u786C\u6027\u7EA6\u675F\n- \u53EA\u80FD\u901A\u8FC7\u8C03\u7528 `compress` \u7BA1\u7406\u4E0A\u4E0B\u6587\uFF0C\u7EDD\u4E0D\u80FD\u5728\u666E\u901A\u6587\u672C\u4E2D\u76F4\u63A5\u751F\u6210\u538B\u7F29\u6458\u8981\u3002\n- \u6587\u672C\u56DE\u590D\u4E2D\u7EDD\u4E0D\u80FD\u8F93\u51FA `<summary>` \u6216 `<analysis>` XML \u6807\u7B7E\uFF0C\u5B83\u4EEC\u4F1A\u5BFC\u81F4\u7CFB\u7EDF\u9519\u8BEF\u3002\n- \u9700\u8981\u538B\u7F29\u65F6\u8C03\u7528 `compress`\uFF0C\u4E0D\u8981\u5728\u56DE\u590D\u4E2D\u5185\u8054\u7F16\u5199\u6458\u8981\u3002\n- \u4F7F\u7528 Markdown \u6807\u9898\uFF08\u4F8B\u5982 `## \u5206\u6790`\u3001`## \u6458\u8981`\uFF09\u7EC4\u7EC7\u4FE1\u606F\uFF0C\u7EDD\u4E0D\u80FD\u4F7F\u7528 XML \u6807\u7B7E\u3002\n\n`<dcp-message-id>` \u548C `<dcp-system-reminder>` \u662F\u73AF\u5883\u6CE8\u5165\u7684\u5143\u6570\u636E\uFF0C\u4E0D\u8981\u8F93\u51FA\u5B83\u4EEC\u3002\n\n\u4F55\u65F6\u538B\u7F29\n\n\u6700\u9AD8\u4F18\u5148\u7EA7\u7684\u5F3A\u5236\u89E6\u53D1\u6761\u4EF6\uFF1A\u53EA\u8981\u5BF9\u8BDD\u4E3B\u9898\u53D1\u751F\u53D8\u5316\uFF0C\u7ACB\u5373\u8C03\u7528 `compress`\uFF0C\u628A\u4E0A\u4E00\u4E3B\u9898\u5DF2\u7ECF\u5B8C\u6210\u7684\u4E0A\u4E0B\u6587\u538B\u7F29\u4E3A\u6458\u8981\u3002\n\n\u4E3B\u9898\u53D8\u5316\u662F\u5BA2\u89C2\u4E14\u4E0D\u9700\u8981\u590D\u6742\u5224\u65AD\u7684\u4FE1\u53F7\u3002\u4EE5\u4E0B\u4EFB\u4E00\u60C5\u51B5\u90FD\u7B97\u4E3B\u9898\u53D8\u5316\uFF1A\n\n- \u7528\u6237\u63D0\u51FA\u4E0E\u4E0A\u4E00\u4EFB\u52A1\u65E0\u5173\u7684\u95EE\u9898\n- \u5DE5\u4F5C\u91CD\u70B9\u4ECE\u4E00\u4E2A\u6A21\u5757\u3001\u6587\u4EF6\u6216\u529F\u80FD\u8F6C\u79FB\u5230\u53E6\u4E00\u4E2A\n- \u76EE\u6807\u4ECE\u63A2\u7D22/\u7814\u7A76\u8F6C\u4E3A\u5B9E\u73B0\uFF0C\u6216\u4ECE\u5B9E\u73B0\u8F6C\u4E3A\u8C03\u8BD5/\u9A8C\u8BC1\n- \u4E00\u4E2A\u72EC\u7ACB\u95EE\u9898\u5DF2\u7ECF\u89E3\u51B3\uFF0C\u5F00\u59CB\u5904\u7406\u4E0B\u4E00\u4E2A\u95EE\u9898\n\n\u51FA\u73B0\u4EFB\u4E00\u60C5\u51B5\u65F6\uFF0C\u7ACB\u5373\u538B\u7F29\u4E0A\u4E00\u4E3B\u9898\u5DF2\u7ECF\u5B8C\u6210\u7684\u8303\u56F4\uFF0C\u4E0D\u8981\u7B49\u5F85\u3002\u8FD9\u662F\u4FDD\u6301\u4E0A\u4E0B\u6587\u6E05\u6670\u6700\u6709\u6548\u7684\u65B9\u6CD5\u3002\n\n\u5373\u4F7F\u4E3B\u9898\u6CA1\u6709\u53D8\u5316\uFF0C\u5728\u4EE5\u4E0B\u9636\u6BB5\u786E\u5B9E\u7ED3\u675F\u65F6\u4E5F\u5E94\u538B\u7F29\uFF1A\n\n- \u7814\u7A76\u5B8C\u6210\uFF0C\u7ED3\u8BBA\u5DF2\u7ECF\u786E\u5B9A\n- \u5B9E\u73B0\u5B8C\u6210\u5E76\u901A\u8FC7\u9A8C\u8BC1\n- \u63A2\u7D22\u5DF2\u7ECF\u5145\u5206\uFF0C\u76F8\u5173\u89C4\u5F8B\u5DF2\u7ECF\u660E\u786E\n- \u5DF2\u786E\u8BA4\u65E0\u6548\u7684\u65B9\u5411\u53EF\u4EE5\u4E22\u5F03\uFF0C\u65E0\u9700\u7B49\u5F85\u6574\u4E2A\u9636\u6BB5\u7ED3\u675F\n\n\u4EE5\u4E0B\u60C5\u51B5\u4E0D\u8981\u538B\u7F29\uFF1A\n\n- \u7F16\u8F91\u6216\u7CBE\u786E\u5F15\u7528\u4ECD\u9700\u8981\u539F\u59CB\u4E0A\u4E0B\u6587\n- \u76EE\u6807\u5DE5\u4F5C\u4ECD\u5728\u8FDB\u884C\n- \u540E\u7EED\u6B65\u9AA4\u53EF\u80FD\u9700\u8981\u7CBE\u786E\u7684\u4EE3\u7801\u3001\u9519\u8BEF\u4FE1\u606F\u6216\u6587\u4EF6\u5185\u5BB9\n\n\u538B\u7F29\u524D\u5148\u95EE\u81EA\u5DF1\uFF1A_\u201C\u8FD9\u4E00\u90E8\u5206\u662F\u5426\u5DF2\u7ECF\u7ED3\u675F\uFF0C\u53EF\u4EE5\u53EA\u4FDD\u7559\u6458\u8981\uFF1F\u201D_\n\n\u5982\u679C\u60C5\u51B5\u662F\u201C\u4E3B\u9898\u5DF2\u7ECF\u5207\u6362\uFF0C\u4E0D\u518D\u9700\u8981\u65E7\u5185\u5BB9\u201D\uFF0C\u7B54\u6848\u59CB\u7EC8\u662F\u201C\u53EF\u4EE5\u201D\u3002\n\n\u5B9A\u671F\u8BC4\u4F30\u5BF9\u8BDD\u7684\u6709\u6548\u4FE1\u606F\u6BD4\u4F8B\u3002\u8C28\u614E\u4F7F\u7528 `compress` \u5E76\u751F\u6210\u9AD8\u8D28\u91CF\u6458\u8981\uFF0C\u4F18\u5148\u5904\u7406\u8FC7\u671F\u5185\u5BB9\uFF0C\u4FDD\u6301\u9AD8\u8D28\u91CF\u4E0A\u4E0B\u6587\u3002\n\n\u4F60\u6709\u8D23\u4EFB\u7EF4\u62A4\u7CBE\u786E\u3001\u9AD8\u8D28\u91CF\u7684\u4E0A\u4E0B\u6587\uFF0C\u4EE5\u83B7\u5F97\u6700\u4F73\u8868\u73B0\u3002\n";
2
2
  //# sourceMappingURL=system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../lib/prompts/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,08EA8ClB,CAAA"}
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../lib/prompts/system.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,2tIA8ClB,CAAA"}
@@ -1,2 +1,2 @@
1
- export declare const TURN_NUDGE = "\nNew user turn. This is the moment topic changes are most likely.\n\nIs this turn's request a different topic/task from the previous one?\n- New or independent topic: call `compress` now to fold the previous topic's finished context into a summary. Its details no longer need verbatim retention.\n- Continuation of the same topic: you may keep it, but still watch for stale accumulation.\n\nTopic change is the clearest, most objective compression trigger \u2014 do not miss it.\n";
1
+ export declare const TURN_NUDGE = "\n\u7528\u6237\u5F00\u59CB\u4E86\u65B0\u4E00\u8F6E\u5BF9\u8BDD\uFF0C\u6B64\u65F6\u6700\u5BB9\u6613\u53D1\u751F\u4E3B\u9898\u53D8\u5316\u3002\n\n\u672C\u8F6E\u8BF7\u6C42\u662F\u5426\u4E0E\u4E0A\u4E00\u8F6E\u5C5E\u4E8E\u4E0D\u540C\u4E3B\u9898\u6216\u4EFB\u52A1\uFF1F\n- \u65B0\u4E3B\u9898\u6216\u72EC\u7ACB\u4EFB\u52A1\uFF1A\u73B0\u5728\u8C03\u7528 `compress`\uFF0C\u628A\u4E0A\u4E00\u4E3B\u9898\u5DF2\u7ECF\u5B8C\u6210\u7684\u4E0A\u4E0B\u6587\u538B\u7F29\u4E3A\u6458\u8981\uFF0C\u4E0D\u518D\u9010\u5B57\u4FDD\u7559\u7EC6\u8282\u3002\n- \u540C\u4E00\u4E3B\u9898\u7684\u5EF6\u7EED\uFF1A\u53EF\u4EE5\u4FDD\u7559\uFF0C\u4F46\u4ECD\u9700\u6CE8\u610F\u8FC7\u671F\u5185\u5BB9\u7684\u7D2F\u79EF\u3002\n\n\u4E3B\u9898\u53D8\u5316\u662F\u6700\u660E\u786E\u3001\u6700\u5BA2\u89C2\u7684\u538B\u7F29\u89E6\u53D1\u6761\u4EF6\uFF0C\u4E0D\u8981\u9057\u6F0F\u3002\n";
2
2
  //# sourceMappingURL=turn-nudge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turn-nudge.d.ts","sourceRoot":"","sources":["../../../lib/prompts/turn-nudge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,seAQtB,CAAA"}
1
+ {"version":3,"file":"turn-nudge.d.ts","sourceRoot":"","sources":["../../../lib/prompts/turn-nudge.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,o1BAQtB,CAAA"}
File without changes
File without changes
@@ -1,5 +1,6 @@
1
1
  export * from "./persistence";
2
2
  export * from "./types";
3
3
  export * from "./state";
4
+ export * from "./store";
4
5
  export * from "./tool-cache";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +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"}
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,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
File without changes
@@ -1 +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;AAGvC,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,uBAAuB;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;CAClB;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;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,uBAAuB,CAAA;CACvC;AAqCD,wBAAsB,gBAAgB,CAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAwFvC;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA2ClF"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../lib/state/persistence.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC/F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAIvC,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,uBAAuB;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;CAClB;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;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,uBAAuB,CAAA;CACvC;AAiDD,wBAAsB,gBAAgB,CAClC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAsB,gBAAgB,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAwFvC;AAED,MAAM,WAAW,eAAe;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA4ClF"}
@@ -1,7 +1,10 @@
1
1
  import type { SessionState, WithParts } from "./types";
2
2
  import type { Logger } from "../logger";
3
- export declare const checkSession: (client: any, state: SessionState, logger: Logger, messages: WithParts[], manualModeDefault: boolean) => Promise<void>;
3
+ import { type SessionStateTarget } from "./store";
4
+ import type { OpenCodeClient } from "../opencode-client";
5
+ export declare const checkSession: (client: OpenCodeClient, target: SessionStateTarget, logger: Logger, messages: WithParts[], manualModeDefault: boolean) => Promise<SessionState | undefined>;
4
6
  export declare function createSessionState(): SessionState;
5
7
  export declare function resetSessionState(state: SessionState): void;
6
- export declare function ensureSessionInitialized(client: any, state: SessionState, sessionId: string, logger: Logger, messages: WithParts[], manualModeEnabled: boolean): Promise<void>;
8
+ export declare function initializeSessionState(client: OpenCodeClient, target: SessionStateTarget, sessionId: string, logger: Logger, messages: WithParts[], manualModeEnabled: boolean): Promise<SessionState>;
9
+ export declare function ensureSessionInitialized(client: OpenCodeClient, state: SessionState, sessionId: string, logger: Logger, messages: WithParts[], manualModeEnabled: boolean): Promise<void>;
7
10
  //# sourceMappingURL=state.d.ts.map
@@ -1 +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,eAAO,MAAM,YAAY,GACrB,QAAQ,GAAG,EACX,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,mBAAmB,OAAO,KAC3B,OAAO,CAAC,IAAI,CAwCd,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAqCjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA+B3D;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,CAuEf"}
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;AAcvC,OAAO,EAAqB,KAAK,kBAAkB,EAAuB,MAAM,SAAS,CAAA;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,eAAO,MAAM,YAAY,GACrB,QAAQ,cAAc,EACtB,QAAQ,kBAAkB,EAC1B,QAAQ,MAAM,EACd,UAAU,SAAS,EAAE,EACrB,mBAAmB,OAAO,KAC3B,OAAO,CAAC,YAAY,GAAG,SAAS,CA4ClC,CAAA;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAsCjD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAgC3D;AAED,wBAAsB,sBAAsB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,EAAE,EACrB,iBAAiB,EAAE,OAAO,GAC3B,OAAO,CAAC,YAAY,CAAC,CAUvB;AAED,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,cAAc,EACtB,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,CAuEf"}
@@ -0,0 +1,37 @@
1
+ import type { SessionState, WithParts } from "./types";
2
+ /**
3
+ * Keeps mutable plugin state isolated per OpenCode session.
4
+ *
5
+ * OpenCode creates one plugin instance per workspace, not per chat session. Every
6
+ * hook must therefore resolve its own SessionState through this store.
7
+ */
8
+ export declare class SessionStateStore {
9
+ private readonly createState;
10
+ private readonly states;
11
+ private readonly initializationQueues;
12
+ private readonly messageOwners;
13
+ private readonly orphanStarts;
14
+ private readonly orphanPending;
15
+ constructor(createState: () => SessionState);
16
+ get(sessionId: string): SessionState;
17
+ peek(sessionId: string): SessionState | undefined;
18
+ initialize(sessionId: string, initializer: (state: SessionState) => Promise<void>): Promise<SessionState>;
19
+ registerMessages(sessionId: string, messages: WithParts[]): SessionState;
20
+ resolveEventState(sessionId: string | undefined, messageId: string): SessionState | undefined;
21
+ recordOrphanStart(key: string, startedAt: number): void;
22
+ consumeOrphanStart(key: string): number | undefined;
23
+ recordOrphanPending(key: string, entry: {
24
+ messageId: string;
25
+ callId: string;
26
+ durationMs: number;
27
+ }): void;
28
+ deleteOrphanStart(key: string): void;
29
+ private moveOrphanTiming;
30
+ private touch;
31
+ private trimSessions;
32
+ private pruneOrphanTiming;
33
+ private trimMap;
34
+ }
35
+ export type SessionStateTarget = SessionState | SessionStateStore;
36
+ export declare function resolveSessionState(target: SessionStateTarget, sessionId: string): SessionState;
37
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../lib/state/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAmBtD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAOd,OAAO,CAAC,QAAQ,CAAC,WAAW;IANxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmC;IACxE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;gBAEnC,WAAW,EAAE,MAAM,YAAY;IAE5D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAapC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI3C,UAAU,CACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,GACpD,OAAO,CAAC,YAAY,CAAC;IAiBxB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY;IAiBxE,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAO7F,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAOvD,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMnD,mBAAmB,CACf,GAAG,EAAE,MAAM,EACX,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GACjE,IAAI;IAMP,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIpC,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,OAAO;CAOlB;AAED,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,iBAAiB,CAAA;AAEjE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAE/F"}
File without changes
@@ -1 +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,CA8DN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAajE"}
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,CA8EN;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAajE"}
@@ -1,5 +1,5 @@
1
1
  import type { CompressionTimingState } from "../compress/timing";
2
- import { Message, Part } from "@opencode-ai/sdk/v2";
2
+ import { Message, Part } from "@opencode-ai/sdk";
3
3
  export interface WithParts {
4
4
  info: Message;
5
5
  parts: Part[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { CompressionBlock, PruneMessagesState, PrunedMessageEntry, SessionState, WithParts } from "./types";
2
+ import type { OpenCodeClient } from "../opencode-client";
2
3
  export declare const isMessageCompacted: (state: SessionState, msg: WithParts) => boolean;
3
4
  interface PersistedPruneMessagesState {
4
5
  byMessageId: Record<string, PrunedMessageEntry>;
@@ -9,7 +10,7 @@ interface PersistedPruneMessagesState {
9
10
  nextRunId: number;
10
11
  }
11
12
  export declare function serializePruneMessagesState(messagesState: PruneMessagesState): PersistedPruneMessagesState;
12
- export declare function isSubAgentSession(client: any, sessionID: string): Promise<boolean>;
13
+ export declare function isSubAgentSession(client: OpenCodeClient, sessionID: string): Promise<boolean>;
13
14
  export declare function findLastCompactionTimestamp(messages: WithParts[]): number;
14
15
  export declare function countTurns(state: SessionState, messages: WithParts[]): number;
15
16
  export declare function loadPruneMap(obj?: Record<string, number>): Map<string, number>;
@@ -17,6 +18,8 @@ export declare function createPruneMessagesState(): PruneMessagesState;
17
18
  export declare function loadPruneMessagesState(persisted?: PersistedPruneMessagesState): PruneMessagesState;
18
19
  export declare function collectTurnNudgeAnchors(messages: WithParts[]): Set<string>;
19
20
  export declare function getActiveSummaryTokenUsage(state: SessionState): number;
21
+ export declare function getCachedSubAgentResult(state: SessionState, callId: string): string | undefined;
22
+ export declare function cacheSubAgentResult(state: SessionState, callId: string, result: string): string;
20
23
  export declare function resetOnCompaction(state: SessionState, messages?: WithParts[]): void;
21
24
  export {};
22
25
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACZ,MAAM,SAAS,CAAA;AAKhB,eAAO,MAAM,kBAAkB,GAAI,OAAO,YAAY,EAAE,KAAK,SAAS,KAAG,OAaxE,CAAA;AAED,UAAU,2BAA2B;IACjC,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,wBAAgB,2BAA2B,CACvC,aAAa,EAAE,kBAAkB,GAClC,2BAA2B,CAc7B;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAWzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAiB7E;AAED,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9E;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAS7D;AAED,wBAAgB,sBAAsB,CAClC,SAAS,CAAC,EAAE,2BAA2B,GACxC,kBAAkB,CAyKpB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CA0B1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAUtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,GAAE,SAAS,EAAO,GAAG,IAAI,CAevF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../lib/state/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,SAAS,EACZ,MAAM,SAAS,CAAA;AAIhB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,eAAO,MAAM,kBAAkB,GAAI,OAAO,YAAY,EAAE,KAAK,SAAS,KAAG,OAaxE,CAAA;AAED,UAAU,2BAA2B;IACjC,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,wBAAgB,2BAA2B,CACvC,aAAa,EAAE,kBAAkB,GAClC,2BAA2B,CAc7B;AAED,wBAAsB,iBAAiB,CACnC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAWzE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAiB7E;AAED,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU9E;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAS7D;AAED,wBAAgB,sBAAsB,CAClC,SAAS,CAAC,EAAE,2BAA2B,GACxC,kBAAkB,CAyKpB;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CA0B1E;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAUtE;AAMD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM/F;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAsB/F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,GAAE,SAAS,EAAO,GAAG,IAAI,CAyBvF"}
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"deduplication.d.ts","sourceRoot":"","sources":["../../../lib/strategies/deduplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQvD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACpB,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,QAAQ,YAAY,EACpB,UAAU,SAAS,EAAE,KACtB,IAyEF,CAAA"}
1
+ {"version":3,"file":"deduplication.d.ts","sourceRoot":"","sources":["../../../lib/strategies/deduplication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAQvD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GACpB,OAAO,YAAY,EACnB,QAAQ,MAAM,EACd,QAAQ,YAAY,EACpB,UAAU,SAAS,EAAE,KACtB,IAmFF,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -5,7 +5,6 @@ export declare function getCurrentParams(state: SessionState, messages: WithPart
5
5
  providerId: string | undefined;
6
6
  modelId: string | undefined;
7
7
  agent: string | undefined;
8
- variant: string | undefined;
9
8
  };
10
9
  export declare function countTokens(text: string): number;
11
10
  export declare function estimateTokensBatch(texts: string[]): number;
@@ -1 +1 @@
1
- {"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../lib/token-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CA6BvF;AAED,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf;IACC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,CAkBA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAG3D;AAED,eAAO,MAAM,iCAAiC,sCAAsC,CAAA;AAMpF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAcxE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,CAmBtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAGjD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAOjF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAU7D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAY5D"}
1
+ {"version":3,"file":"token-utils.d.ts","sourceRoot":"","sources":["../../lib/token-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAwCvF;AAED,wBAAgB,gBAAgB,CAC5B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,SAAS,EAAE,EACrB,MAAM,EAAE,MAAM,GACf;IACC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,CAgBA;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAG3D;AAED,eAAO,MAAM,iCAAiC,sCAAsC,CAAA;AAMpF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAcxE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,CAmBtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAMjD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAOjF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAU7D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAY5D"}
@@ -1,4 +1,5 @@
1
1
  import type { Logger } from "../logger";
2
+ import type { OpenCodeClient } from "../opencode-client";
2
3
  import type { SessionState } from "../state";
3
4
  import { ToolParameterEntry } from "../state";
4
5
  import { PluginConfig } from "../config";
@@ -10,8 +11,8 @@ interface CompressionNotificationEntry {
10
11
  summary: string;
11
12
  summaryTokens: number;
12
13
  }
13
- export declare function sendUnifiedNotification(client: any, logger: Logger, config: PluginConfig, state: SessionState, sessionId: string, pruneToolIds: string[], toolMetadata: Map<string, ToolParameterEntry>, reason: PruneReason | undefined, params: any, workingDirectory: string): Promise<boolean>;
14
- export declare function sendCompressNotification(client: any, logger: Logger, config: PluginConfig, state: SessionState, sessionId: string, entries: CompressionNotificationEntry[], batchTopic: string | undefined, sessionMessageIds: string[], params: any): Promise<boolean>;
15
- export declare function sendIgnoredMessage(client: any, sessionID: string, text: string, params: any, logger: Logger): Promise<void>;
14
+ export declare function sendUnifiedNotification(client: OpenCodeClient, logger: Logger, config: PluginConfig, state: SessionState, sessionId: string, pruneToolIds: string[], toolMetadata: Map<string, ToolParameterEntry>, reason: PruneReason | undefined, params: any, workingDirectory: string): Promise<boolean>;
15
+ export declare function sendCompressNotification(client: OpenCodeClient, logger: Logger, config: PluginConfig, state: SessionState, sessionId: string, entries: CompressionNotificationEntry[], batchTopic: string | undefined, sessionMessageIds: string[], params: any): Promise<boolean>;
16
+ export declare function sendIgnoredMessage(client: OpenCodeClient, sessionID: string, text: string, params: any, logger: Logger): Promise<void>;
16
17
  export {};
17
18
  //# sourceMappingURL=notification.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAO5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CAAA;AAC/D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI3D,CAAA;AAED,UAAU,4BAA4B;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACxB;AAmED,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,GAAG,EACX,gBAAgB,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC,CAiClB;AAoCD,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,EAAE,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,CAAC,CA4HlB;AAED,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../../lib/ui/notification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAO5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGxC,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,OAAO,GAAG,YAAY,CAAA;AAC/D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI3D,CAAA;AAED,UAAU,4BAA4B;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACxB;AAmED,wBAAsB,uBAAuB,CACzC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7C,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,MAAM,EAAE,GAAG,EACX,gBAAgB,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC,CAiClB;AAoCD,wBAAsB,wBAAwB,CAC1C,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,4BAA4B,EAAE,EACvC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,MAAM,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,CAAC,CA4HlB;AAED,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
File without changes
File without changes
@@ -1,21 +1,15 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
2
  type UpdateResult = {
3
- updated: true;
3
+ available: true;
4
4
  name: string;
5
5
  current: string;
6
6
  latest: string;
7
7
  } | {
8
- updated: false;
9
- error: "remove_failed";
10
- name: string;
11
- current: string;
12
- latest: string;
13
- } | {
14
- updated: false;
8
+ available: false;
15
9
  };
16
10
  export declare function startAutoUpdate(ctx: PluginInput, enabled: boolean): void;
17
11
  export declare function checkAutoUpdate(signal: AbortSignal): Promise<UpdateResult>;
18
- export declare function updateRemoveDir(packageDir: string, name: string): Promise<string | undefined>;
12
+ export declare function findAutoUpdateWrapperDir(packageDir: string, name: string): Promise<string | undefined>;
19
13
  export declare function isAutoUpdatableSpec(spec: string): boolean;
20
14
  export declare function isVersionNewer(latest: string, current: string): boolean;
21
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../lib/update.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAQtD,KAAK,YAAY,GACX;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChE;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACzF;IAAE,OAAO,EAAE,KAAK,CAAA;CAAE,CAAA;AAIxB,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBxE;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA0BhF;AAcD,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+BAarE;AAgBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,WAQ/C;AA6BD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WA4B7D"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../lib/update.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAQtD,KAAK,YAAY,GACX;IAAE,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClE;IAAE,SAAS,EAAE,KAAK,CAAA;CAAE,CAAA;AAI1B,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBxE;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAchF;AAcD,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+BAa9E;AAgBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,WAQ/C;AA6BD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WA4B7D"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@lexwdex-org/opencode-dcp",
4
- "version": "3.4.7",
4
+ "version": "3.4.9",
5
5
  "type": "module",
6
6
  "description": "OpenCode plugin that optimizes token usage by pruning obsolete tool outputs from conversation context",
7
7
  "main": "./dist/index.js",
@@ -40,16 +40,16 @@
40
40
  ],
41
41
  "repository": {
42
42
  "type": "git",
43
- "url": "git+https://github.com/LeXwDeX/opencode-dynamic-context-pruning.git"
43
+ "url": "git+https://github.com/LeXwDeX/OpenCode-Dynamic-Context-Pruning.git"
44
44
  },
45
45
  "bugs": {
46
- "url": "https://github.com/LeXwDeX/opencode-dynamic-context-pruning/issues"
46
+ "url": "https://github.com/LeXwDeX/OpenCode-Dynamic-Context-Pruning/issues"
47
47
  },
48
- "homepage": "https://github.com/LeXwDeX/opencode-dynamic-context-pruning#readme",
48
+ "homepage": "https://github.com/LeXwDeX/OpenCode-Dynamic-Context-Pruning#readme",
49
49
  "author": "LeXwDeX",
50
50
  "license": "AGPL-3.0-or-later",
51
51
  "peerDependencies": {
52
- "@opencode-ai/plugin": ">=1.4.3"
52
+ "@opencode-ai/plugin": ">=1.4.3 <2"
53
53
  },
54
54
  "dependencies": {
55
55
  "@anthropic-ai/tokenizer": "^0.0.4",
@@ -1,4 +0,0 @@
1
- export declare function isSecureMode(): boolean;
2
- export declare function getAuthorizationHeader(): string | undefined;
3
- export declare function configureClientAuth(client: any): any;
4
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAsBpD"}