@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.
- package/LICENSE +0 -0
- package/README.en.md +2 -2
- package/README.md +2 -2
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +712 -351
- package/dist/index.js.map +1 -1
- package/dist/lib/commands/compression-targets.d.ts +0 -0
- package/dist/lib/commands/compression-targets.d.ts.map +0 -0
- package/dist/lib/commands/context.d.ts +2 -1
- package/dist/lib/commands/context.d.ts.map +1 -1
- package/dist/lib/commands/decompress.d.ts +2 -1
- package/dist/lib/commands/decompress.d.ts.map +1 -1
- package/dist/lib/commands/help.d.ts +2 -1
- package/dist/lib/commands/help.d.ts.map +1 -1
- package/dist/lib/commands/index.d.ts +0 -0
- package/dist/lib/commands/index.d.ts.map +0 -0
- package/dist/lib/commands/manual.d.ts +2 -1
- package/dist/lib/commands/manual.d.ts.map +1 -1
- package/dist/lib/commands/recompress.d.ts +2 -1
- package/dist/lib/commands/recompress.d.ts.map +1 -1
- package/dist/lib/commands/stats.d.ts +2 -1
- package/dist/lib/commands/stats.d.ts.map +1 -1
- package/dist/lib/commands/sweep.d.ts +2 -1
- package/dist/lib/commands/sweep.d.ts.map +1 -1
- package/dist/lib/compress/external-content.d.ts +4 -0
- package/dist/lib/compress/external-content.d.ts.map +1 -0
- package/dist/lib/compress/external-inference.d.ts +0 -0
- package/dist/lib/compress/external-inference.d.ts.map +1 -1
- package/dist/lib/compress/index.d.ts +0 -0
- package/dist/lib/compress/index.d.ts.map +0 -0
- package/dist/lib/compress/message-utils.d.ts +0 -0
- package/dist/lib/compress/message-utils.d.ts.map +0 -0
- package/dist/lib/compress/message.d.ts +0 -0
- package/dist/lib/compress/message.d.ts.map +1 -1
- package/dist/lib/compress/pipeline.d.ts +3 -2
- package/dist/lib/compress/pipeline.d.ts.map +1 -1
- package/dist/lib/compress/protected-content.d.ts +2 -1
- package/dist/lib/compress/protected-content.d.ts.map +1 -1
- package/dist/lib/compress/range-utils.d.ts +0 -0
- package/dist/lib/compress/range-utils.d.ts.map +0 -0
- package/dist/lib/compress/range.d.ts +0 -0
- package/dist/lib/compress/range.d.ts.map +1 -1
- package/dist/lib/compress/search.d.ts +2 -1
- package/dist/lib/compress/search.d.ts.map +1 -1
- package/dist/lib/compress/state.d.ts +0 -0
- package/dist/lib/compress/state.d.ts.map +0 -0
- package/dist/lib/compress/timing.d.ts +2 -0
- package/dist/lib/compress/timing.d.ts.map +1 -1
- package/dist/lib/compress/types.d.ts +4 -3
- package/dist/lib/compress/types.d.ts.map +1 -1
- package/dist/lib/compress-permission.d.ts +0 -0
- package/dist/lib/compress-permission.d.ts.map +1 -1
- package/dist/lib/concurrency.d.ts +2 -0
- package/dist/lib/concurrency.d.ts.map +1 -0
- package/dist/lib/config-env-override.d.ts +0 -0
- package/dist/lib/config-env-override.d.ts.map +0 -0
- package/dist/lib/config.d.ts +0 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/hooks.d.ts +6 -5
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/host-permissions.d.ts +0 -0
- package/dist/lib/host-permissions.d.ts.map +0 -0
- package/dist/lib/logger.d.ts +0 -0
- package/dist/lib/logger.d.ts.map +0 -0
- package/dist/lib/message-ids.d.ts +0 -0
- package/dist/lib/message-ids.d.ts.map +0 -0
- package/dist/lib/messages/index.d.ts +0 -0
- package/dist/lib/messages/index.d.ts.map +0 -0
- package/dist/lib/messages/inject/inject.d.ts +0 -0
- package/dist/lib/messages/inject/inject.d.ts.map +1 -1
- package/dist/lib/messages/inject/subagent-results.d.ts +2 -1
- package/dist/lib/messages/inject/subagent-results.d.ts.map +1 -1
- package/dist/lib/messages/inject/utils.d.ts +2 -2
- package/dist/lib/messages/inject/utils.d.ts.map +1 -1
- package/dist/lib/messages/priority.d.ts +0 -0
- package/dist/lib/messages/priority.d.ts.map +0 -0
- package/dist/lib/messages/prune.d.ts +0 -0
- package/dist/lib/messages/prune.d.ts.map +0 -0
- package/dist/lib/messages/query.d.ts +0 -0
- package/dist/lib/messages/query.d.ts.map +0 -0
- package/dist/lib/messages/reasoning-strip.d.ts +0 -0
- package/dist/lib/messages/reasoning-strip.d.ts.map +0 -0
- package/dist/lib/messages/shape.d.ts +0 -0
- package/dist/lib/messages/shape.d.ts.map +0 -0
- package/dist/lib/messages/sync.d.ts +0 -0
- package/dist/lib/messages/sync.d.ts.map +0 -0
- package/dist/lib/messages/utils.d.ts +0 -0
- package/dist/lib/messages/utils.d.ts.map +1 -1
- package/dist/lib/opencode-client.d.ts +3 -0
- package/dist/lib/opencode-client.d.ts.map +1 -0
- package/dist/lib/prompts/compress-message.d.ts +0 -0
- package/dist/lib/prompts/compress-message.d.ts.map +0 -0
- package/dist/lib/prompts/compress-range.d.ts +0 -0
- package/dist/lib/prompts/compress-range.d.ts.map +0 -0
- package/dist/lib/prompts/context-limit-nudge.d.ts +1 -1
- package/dist/lib/prompts/context-limit-nudge.d.ts.map +1 -1
- package/dist/lib/prompts/extensions/nudge.d.ts +2 -1
- package/dist/lib/prompts/extensions/nudge.d.ts.map +1 -1
- package/dist/lib/prompts/extensions/system.d.ts +0 -0
- package/dist/lib/prompts/extensions/system.d.ts.map +0 -0
- package/dist/lib/prompts/extensions/tool.d.ts +0 -0
- package/dist/lib/prompts/extensions/tool.d.ts.map +0 -0
- package/dist/lib/prompts/index.d.ts +0 -0
- package/dist/lib/prompts/index.d.ts.map +0 -0
- package/dist/lib/prompts/iteration-nudge.d.ts +1 -1
- package/dist/lib/prompts/iteration-nudge.d.ts.map +1 -1
- package/dist/lib/prompts/store.d.ts +1 -0
- package/dist/lib/prompts/store.d.ts.map +1 -1
- package/dist/lib/prompts/system.d.ts +1 -1
- package/dist/lib/prompts/system.d.ts.map +1 -1
- package/dist/lib/prompts/turn-nudge.d.ts +1 -1
- package/dist/lib/prompts/turn-nudge.d.ts.map +1 -1
- package/dist/lib/protected-patterns.d.ts +0 -0
- package/dist/lib/protected-patterns.d.ts.map +0 -0
- package/dist/lib/state/index.d.ts +1 -0
- package/dist/lib/state/index.d.ts.map +1 -1
- package/dist/lib/state/persistence.d.ts +0 -0
- package/dist/lib/state/persistence.d.ts.map +1 -1
- package/dist/lib/state/state.d.ts +5 -2
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/store.d.ts +37 -0
- package/dist/lib/state/store.d.ts.map +1 -0
- package/dist/lib/state/tool-cache.d.ts +0 -0
- package/dist/lib/state/tool-cache.d.ts.map +1 -1
- package/dist/lib/state/types.d.ts +1 -1
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/state/utils.d.ts +4 -1
- package/dist/lib/state/utils.d.ts.map +1 -1
- package/dist/lib/strategies/deduplication.d.ts +0 -0
- package/dist/lib/strategies/deduplication.d.ts.map +1 -1
- package/dist/lib/strategies/index.d.ts +0 -0
- package/dist/lib/strategies/index.d.ts.map +0 -0
- package/dist/lib/strategies/purge-errors.d.ts +0 -0
- package/dist/lib/strategies/purge-errors.d.ts.map +0 -0
- package/dist/lib/subagents/subagent-results.d.ts +0 -0
- package/dist/lib/subagents/subagent-results.d.ts.map +0 -0
- package/dist/lib/token-utils.d.ts +0 -1
- package/dist/lib/token-utils.d.ts.map +1 -1
- package/dist/lib/ui/notification.d.ts +4 -3
- package/dist/lib/ui/notification.d.ts.map +1 -1
- package/dist/lib/ui/utils.d.ts +0 -0
- package/dist/lib/ui/utils.d.ts.map +0 -0
- package/dist/lib/update.d.ts +3 -9
- package/dist/lib/update.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/lib/auth.d.ts +0 -4
- 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 = "\
|
|
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,
|
|
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;
|
|
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 = "\
|
|
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,
|
|
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 = "\
|
|
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,
|
|
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 +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;
|
|
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
|
-
|
|
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
|
|
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;
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/state/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAEtE,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,GAAG,CAAA;IACf,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,cAAc,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,SAAS,CAAA;AAEjD,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,kBAAkB;IAC/B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC5C,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACzC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,KAAK;IAClB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1B,QAAQ,EAAE,kBAAkB,CAAA;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,MAAM;IACnB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,KAAK,GAAG,QAAQ,GAAG,kBAAkB,CAAA;IACjD,kBAAkB,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;IACxD,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAA;IACjD,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,YAAY,CAAA;IACnB,iBAAiB,EAAE,sBAAsB,CAAA;IACzC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC/C,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxC,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,UAAU,EAAE,cAAc,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;CACzC"}
|
|
@@ -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:
|
|
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;
|
|
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,
|
|
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,
|
|
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:
|
|
14
|
-
export declare function sendCompressNotification(client:
|
|
15
|
-
export declare function sendIgnoredMessage(client:
|
|
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,
|
|
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"}
|
package/dist/lib/ui/utils.d.ts
CHANGED
|
File without changes
|
|
File without changes
|
package/dist/lib/update.d.ts
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
1
|
import type { PluginInput } from "@opencode-ai/plugin";
|
|
2
2
|
type UpdateResult = {
|
|
3
|
-
|
|
3
|
+
available: true;
|
|
4
4
|
name: string;
|
|
5
5
|
current: string;
|
|
6
6
|
latest: string;
|
|
7
7
|
} | {
|
|
8
|
-
|
|
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
|
|
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 {};
|
package/dist/lib/update.d.ts.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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/
|
|
43
|
+
"url": "git+https://github.com/LeXwDeX/OpenCode-Dynamic-Context-Pruning.git"
|
|
44
44
|
},
|
|
45
45
|
"bugs": {
|
|
46
|
-
"url": "https://github.com/LeXwDeX/
|
|
46
|
+
"url": "https://github.com/LeXwDeX/OpenCode-Dynamic-Context-Pruning/issues"
|
|
47
47
|
},
|
|
48
|
-
"homepage": "https://github.com/LeXwDeX/
|
|
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",
|
package/dist/lib/auth.d.ts
DELETED
package/dist/lib/auth.d.ts.map
DELETED
|
@@ -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"}
|