@lexwdex-org/opencode-dcp 3.4.6 → 3.4.8
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 +0 -0
- package/README.md +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.d.ts.map +0 -0
- package/dist/index.js +18 -8
- package/dist/index.js.map +1 -1
- package/dist/lib/auth.d.ts +0 -0
- package/dist/lib/auth.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/commands/context.d.ts.map +0 -0
- package/dist/lib/commands/decompress.d.ts +0 -0
- package/dist/lib/commands/decompress.d.ts.map +0 -0
- package/dist/lib/commands/help.d.ts +0 -0
- package/dist/lib/commands/help.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/commands/manual.d.ts.map +1 -1
- package/dist/lib/commands/recompress.d.ts +0 -0
- package/dist/lib/commands/recompress.d.ts.map +0 -0
- package/dist/lib/commands/stats.d.ts +0 -0
- package/dist/lib/commands/stats.d.ts.map +0 -0
- package/dist/lib/commands/sweep.d.ts +0 -0
- package/dist/lib/commands/sweep.d.ts.map +0 -0
- package/dist/lib/compress/external-inference.d.ts +0 -0
- package/dist/lib/compress/external-inference.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/compress/pipeline.d.ts +0 -0
- package/dist/lib/compress/pipeline.d.ts.map +0 -0
- package/dist/lib/compress/protected-content.d.ts +0 -0
- package/dist/lib/compress/protected-content.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/compress/search.d.ts +0 -0
- package/dist/lib/compress/search.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/compress/timing.d.ts.map +0 -0
- package/dist/lib/compress/types.d.ts +0 -0
- package/dist/lib/compress/types.d.ts.map +0 -0
- package/dist/lib/compress-permission.d.ts +0 -0
- package/dist/lib/compress-permission.d.ts.map +0 -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 +0 -0
- package/dist/lib/hooks.d.ts +0 -0
- package/dist/lib/hooks.d.ts.map +0 -0
- 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 +1 -1
- 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 +0 -0
- package/dist/lib/messages/inject/subagent-results.d.ts +0 -0
- package/dist/lib/messages/inject/subagent-results.d.ts.map +0 -0
- package/dist/lib/messages/inject/utils.d.ts +0 -0
- package/dist/lib/messages/inject/utils.d.ts.map +0 -0
- 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 +0 -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 +0 -0
- package/dist/lib/prompts/context-limit-nudge.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/prompts/iteration-nudge.d.ts.map +0 -0
- package/dist/lib/prompts/store.d.ts +0 -0
- package/dist/lib/prompts/store.d.ts.map +0 -0
- package/dist/lib/prompts/system.d.ts +0 -0
- package/dist/lib/prompts/system.d.ts.map +0 -0
- package/dist/lib/prompts/turn-nudge.d.ts +0 -0
- package/dist/lib/prompts/turn-nudge.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/state/index.d.ts.map +0 -0
- package/dist/lib/state/persistence.d.ts +0 -0
- package/dist/lib/state/persistence.d.ts.map +0 -0
- package/dist/lib/state/state.d.ts +0 -0
- package/dist/lib/state/state.d.ts.map +0 -0
- package/dist/lib/state/tool-cache.d.ts +0 -0
- package/dist/lib/state/tool-cache.d.ts.map +0 -0
- package/dist/lib/state/types.d.ts +0 -0
- package/dist/lib/state/types.d.ts.map +0 -0
- package/dist/lib/state/utils.d.ts +0 -0
- package/dist/lib/state/utils.d.ts.map +0 -0
- package/dist/lib/strategies/deduplication.d.ts +0 -0
- package/dist/lib/strategies/deduplication.d.ts.map +0 -0
- 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 -0
- package/dist/lib/token-utils.d.ts.map +0 -0
- package/dist/lib/ui/notification.d.ts +0 -0
- package/dist/lib/ui/notification.d.ts.map +0 -0
- 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 +0 -0
- package/dist/lib/update.d.ts.map +0 -0
- package/package.json +4 -4
package/LICENSE
CHANGED
|
File without changes
|
package/README.en.md
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.d.ts.map
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -1993,6 +1993,9 @@ function assignMessageRefs(state, messages) {
|
|
|
1993
1993
|
if (typeof rawMessageId !== "string" || rawMessageId.length === 0) {
|
|
1994
1994
|
continue;
|
|
1995
1995
|
}
|
|
1996
|
+
if (state.lastCompaction > 0 && message.info.time.created < state.lastCompaction && !state.messageIds.byRawId.has(rawMessageId)) {
|
|
1997
|
+
continue;
|
|
1998
|
+
}
|
|
1996
1999
|
const existingRef = state.messageIds.byRawId.get(rawMessageId);
|
|
1997
2000
|
if (existingRef) {
|
|
1998
2001
|
if (state.messageIds.byRef.get(existingRef) !== rawMessageId) {
|
|
@@ -6121,9 +6124,11 @@ function buildCompressedBlockGuidance(state) {
|
|
|
6121
6124
|
"- \u5982\u679C\u4F60\u9009\u62E9\u7684\u538B\u7F29\u8303\u56F4\u5305\u542B\u4EFB\u4F55\u5217\u51FA\u7684\u5757\uFF0C\u5728\u6458\u8981\u4E2D\u4F7F\u7528 `(bN)` \u6070\u597D\u5305\u542B\u6BCF\u4E2A\u5FC5\u9700\u7684\u5360\u4F4D\u7B26\u4E00\u6B21\u3002"
|
|
6122
6125
|
].join("\n");
|
|
6123
6126
|
}
|
|
6124
|
-
function buildAvailableMessageIdGuidance(state, messages) {
|
|
6127
|
+
function buildAvailableMessageIdGuidance(state, config, messages) {
|
|
6125
6128
|
const visibleIds = new Set(
|
|
6126
|
-
messages.filter(
|
|
6129
|
+
messages.filter(
|
|
6130
|
+
(msg) => !isIgnoredUserMessage(msg) && !isMessageCompacted(state, msg) && !isProtectedUserMessage(config, msg)
|
|
6131
|
+
).map((msg) => msg.info.id)
|
|
6127
6132
|
);
|
|
6128
6133
|
const refs = [];
|
|
6129
6134
|
for (const [ref, rawId] of state.messageIds.byRef) {
|
|
@@ -6143,7 +6148,7 @@ function buildAvailableMessageIdGuidance(state, messages) {
|
|
|
6143
6148
|
return [
|
|
6144
6149
|
"\u53EF\u7528\u6D88\u606F\u8FB9\u754C ID\uFF1A",
|
|
6145
6150
|
`- \u5F53\u524D\u4E0A\u4E0B\u6587\u4E2D\u53EF\u4F5C\u4E3A compress \u8FB9\u754C\u7684\u5408\u6CD5\u6D88\u606F ID\uFF1A${refList}`,
|
|
6146
|
-
"- \u53EA\u4ECE\u4EE5\u4E0A\u5217\u8868\u4E2D\u9009\u53D6 startId \u548C endId\u3002\u4E0D\u8981\u53D1\u660E\u3001\u5916\u63A8\u6216\u4F7F\u7528\u4E0D\u5728\u5217\u8868\u4E2D\u7684 ID\u3002"
|
|
6151
|
+
config.compress.mode === "message" ? "- \u53EA\u4ECE\u4EE5\u4E0A\u5217\u8868\u4E2D\u9009\u53D6 content[].messageId\u3002\u4E0D\u8981\u53D1\u660E\u3001\u5916\u63A8\u6216\u4F7F\u7528\u4E0D\u5728\u5217\u8868\u4E2D\u7684 ID\u3002" : "- \u53EA\u4ECE\u4EE5\u4E0A\u5217\u8868\u4E2D\u9009\u53D6 startId \u548C endId\u3002\u4E0D\u8981\u53D1\u660E\u3001\u5916\u63A8\u6216\u4F7F\u7528\u4E0D\u5728\u5217\u8868\u4E2D\u7684 ID\u3002"
|
|
6147
6152
|
].join("\n");
|
|
6148
6153
|
}
|
|
6149
6154
|
function renderMessagePriorityGuidance(priorityLabel, refs) {
|
|
@@ -6438,7 +6443,7 @@ function applyMessageModeAnchoredNudge(anchorMessageIds, messages, baseNudgeText
|
|
|
6438
6443
|
function applyAnchoredNudges(state, config, messages, prompts, compressionPriorities) {
|
|
6439
6444
|
const turnNudgeAnchors = collectTurnNudgeAnchors2(state, config, messages);
|
|
6440
6445
|
if (config.compress.mode === "message") {
|
|
6441
|
-
const availableMessageIdGuidance2 = buildAvailableMessageIdGuidance(state, messages);
|
|
6446
|
+
const availableMessageIdGuidance2 = buildAvailableMessageIdGuidance(state, config, messages);
|
|
6442
6447
|
applyMessageModeAnchoredNudge(
|
|
6443
6448
|
state.nudges.contextLimitAnchors,
|
|
6444
6449
|
messages,
|
|
@@ -6463,7 +6468,7 @@ function applyAnchoredNudges(state, config, messages, prompts, compressionPriori
|
|
|
6463
6468
|
return;
|
|
6464
6469
|
}
|
|
6465
6470
|
const compressedBlockGuidance = buildCompressedBlockGuidance(state);
|
|
6466
|
-
const availableMessageIdGuidance = buildAvailableMessageIdGuidance(state, messages);
|
|
6471
|
+
const availableMessageIdGuidance = buildAvailableMessageIdGuidance(state, config, messages);
|
|
6467
6472
|
applyRangeModeAnchoredNudge(
|
|
6468
6473
|
state.nudges.contextLimitAnchors,
|
|
6469
6474
|
messages,
|
|
@@ -7286,10 +7291,15 @@ var COMPRESS_TRIGGER_PROMPT = [
|
|
|
7286
7291
|
"Follow the active compress mode, preserve all critical implementation details, and choose safe targets.",
|
|
7287
7292
|
"Return after compress with a brief explanation of what content was compressed."
|
|
7288
7293
|
].join("\n\n");
|
|
7289
|
-
function getTriggerPrompt(tool3, state, config, userFocus) {
|
|
7294
|
+
function getTriggerPrompt(tool3, state, config, messages, userFocus) {
|
|
7290
7295
|
const base = COMPRESS_TRIGGER_PROMPT;
|
|
7291
7296
|
const compressedBlockGuidance = config.compress.mode === "message" ? "" : buildCompressedBlockGuidance(state);
|
|
7292
|
-
const
|
|
7297
|
+
const availableMessageIdGuidance = buildAvailableMessageIdGuidance(
|
|
7298
|
+
state,
|
|
7299
|
+
config,
|
|
7300
|
+
messages
|
|
7301
|
+
);
|
|
7302
|
+
const sections = [base, availableMessageIdGuidance, compressedBlockGuidance];
|
|
7293
7303
|
if (userFocus && userFocus.trim().length > 0) {
|
|
7294
7304
|
sections.push(`Additional user focus:
|
|
7295
7305
|
${userFocus.trim()}`);
|
|
@@ -7317,7 +7327,7 @@ async function handleManualToggleCommand(ctx, modeArg) {
|
|
|
7317
7327
|
logger.info("Manual mode toggled", { manualMode: state.manualMode });
|
|
7318
7328
|
}
|
|
7319
7329
|
async function handleManualTriggerCommand(ctx, tool3, userFocus) {
|
|
7320
|
-
return getTriggerPrompt(tool3, ctx.state, ctx.config, userFocus);
|
|
7330
|
+
return getTriggerPrompt(tool3, ctx.state, ctx.config, ctx.messages, userFocus);
|
|
7321
7331
|
}
|
|
7322
7332
|
function applyPendingManualTrigger(state, messages, logger) {
|
|
7323
7333
|
const pending = state.pendingManualTrigger;
|