@wolfx/opencode-magic-context 0.21.8-patch.2 → 0.21.8-patch.5
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/dist/config/schema/magic-context.d.ts +14 -0
- package/dist/config/schema/magic-context.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook.d.ts +2 -0
- package/dist/hooks/magic-context/hook.d.ts.map +1 -1
- package/dist/hooks/magic-context/text-complete.d.ts +41 -1
- package/dist/hooks/magic-context/text-complete.d.ts.map +1 -1
- package/dist/index.js +33 -5
- package/dist/plugin/hooks/create-session-hooks.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -362,6 +362,12 @@ export interface MagicContextConfig {
|
|
|
362
362
|
/** Minimum user message length in characters (skip short prompts). */
|
|
363
363
|
min_prompt_chars: number;
|
|
364
364
|
};
|
|
365
|
+
/** Custom leading prefix strip patterns for text-complete handler.
|
|
366
|
+
* When configured, overrides the built-in §N§/§N° patterns entirely. */
|
|
367
|
+
text_complete_strip?: {
|
|
368
|
+
enabled: boolean;
|
|
369
|
+
patterns?: string[];
|
|
370
|
+
};
|
|
365
371
|
/**
|
|
366
372
|
* Age-tier caveman compression for long user/assistant text parts.
|
|
367
373
|
*
|
|
@@ -601,6 +607,10 @@ export declare const MagicContextConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
601
607
|
score_threshold: z.ZodDefault<z.ZodNumber>;
|
|
602
608
|
min_prompt_chars: z.ZodDefault<z.ZodNumber>;
|
|
603
609
|
}, z.core.$strip>>;
|
|
610
|
+
text_complete_strip: z.ZodOptional<z.ZodObject<{
|
|
611
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
612
|
+
patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
613
|
+
}, z.core.$strip>>;
|
|
604
614
|
caveman_text_compression: z.ZodDefault<z.ZodObject<{
|
|
605
615
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
606
616
|
min_chars: z.ZodDefault<z.ZodNumber>;
|
|
@@ -734,6 +744,10 @@ export declare const MagicContextConfigSchema: z.ZodPipe<z.ZodObject<{
|
|
|
734
744
|
enabled: boolean;
|
|
735
745
|
min_chars: number;
|
|
736
746
|
};
|
|
747
|
+
text_complete_strip?: {
|
|
748
|
+
enabled: boolean;
|
|
749
|
+
patterns?: string[] | undefined;
|
|
750
|
+
} | undefined;
|
|
737
751
|
};
|
|
738
752
|
memory: {
|
|
739
753
|
enabled: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"magic-context.d.ts","sourceRoot":"","sources":["../../../src/config/schema/magic-context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"magic-context.d.ts","sourceRoot":"","sources":["../../../src/config/schema/magic-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import type { createCompactionHandler } from "../../features/magic-context/compa
|
|
|
3
3
|
import type { Scheduler } from "../../features/magic-context/scheduler";
|
|
4
4
|
import type { Tagger } from "../../features/magic-context/tagger";
|
|
5
5
|
import type { PluginContext } from "../../plugin/types";
|
|
6
|
+
import type { TextCompleteStripConfig } from "./text-complete";
|
|
6
7
|
export type { CommandExecuteInput, CommandExecuteOutput } from "./command-handler";
|
|
7
8
|
import type { LiveSessionState } from "./live-session-state";
|
|
8
9
|
export interface MagicContextDeps {
|
|
@@ -78,6 +79,7 @@ export interface MagicContextDeps {
|
|
|
78
79
|
enabled: boolean;
|
|
79
80
|
min_chars: number;
|
|
80
81
|
};
|
|
82
|
+
text_complete_strip?: TextCompleteStripConfig;
|
|
81
83
|
};
|
|
82
84
|
};
|
|
83
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"AAOA,OAAO,EAGH,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAOvF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AAOxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAGlE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"hook.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Leading prefix strip at the `experimental.text.complete` persistence boundary.
|
|
3
|
+
*
|
|
4
|
+
* When enabled (default), patterns are applied to LLM output before persistence.
|
|
5
|
+
* The built-in defaults match upstream behavior:
|
|
6
|
+
*
|
|
7
|
+
* 1. **Canonical leading prefix** — `^(§N§\s*)+` removes well-formed leading
|
|
8
|
+
* `§N§ ` runs. This handles legitimate cases where the model correctly
|
|
9
|
+
* mimics MC's tag prefix at the start of its response; persisted assistant
|
|
10
|
+
* text stays clean, and the transform layer re-injects the canonical
|
|
11
|
+
* `§N§ ` prefix on the next pass from authoritative DB tag state.
|
|
12
|
+
*
|
|
13
|
+
* 2. **Global `§` strip** — `\u00a7/g` removes any remaining `§` character
|
|
14
|
+
* anywhere in the text. Defends against cargo-cult patterns (mid-text
|
|
15
|
+
* `§N§`, stray `§`, malformed hybrids). Any `§` reaching this hook from
|
|
16
|
+
* the model is by definition wrong — only the transform layer is authorized
|
|
17
|
+
* to write `§N§` prefixes and it injects them AFTER this hook runs.
|
|
18
|
+
*
|
|
19
|
+
* Custom patterns can be supplied via `experimental.text_complete_strip.patterns`
|
|
20
|
+
* in magic-context.jsonc. When provided, they replace the built-in defaults
|
|
21
|
+
* entirely. Set `enabled: false` to skip all stripping.
|
|
22
|
+
*
|
|
23
|
+
* Cost of global `§` strip: legitimate usage in section references (`§5.1`)
|
|
24
|
+
* becomes plain digits (`5.1`). Use custom patterns to opt out if this matters.
|
|
25
|
+
*
|
|
26
|
+
* Notes on what this does NOT affect:
|
|
27
|
+
* - User message text — this hook only fires for assistant completions.
|
|
28
|
+
* - `[dropped §N§]` / `[truncated §N§]` sentinels — these are injected by the
|
|
29
|
+
* transform layer AFTER persistence; they appear in the wire-visible message
|
|
30
|
+
* tree, not in persisted assistant text.
|
|
31
|
+
* - The tagger's `§N§ ` prefix injection on user/tool text — injected during
|
|
32
|
+
* transform, not persisted; this hook never sees it.
|
|
33
|
+
*/
|
|
34
|
+
export interface TextCompleteStripConfig {
|
|
35
|
+
enabled: boolean;
|
|
36
|
+
/** Custom regex source strings. Supports `/pattern/flags` syntax for flags
|
|
37
|
+
* like `g`, `i`, etc. Plain strings (no leading `/`) are treated as the
|
|
38
|
+
* pattern with no flags. Example: `"/\\u00a7/g"` for global § strip. */
|
|
39
|
+
patterns?: string[];
|
|
40
|
+
}
|
|
41
|
+
export declare function createTextCompleteHandler(stripConfig?: TextCompleteStripConfig): (_input: {
|
|
2
42
|
sessionID: string;
|
|
3
43
|
messageID: string;
|
|
4
44
|
partID: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-complete.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/text-complete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text-complete.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/text-complete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAOH,MAAM,WAAW,uBAAuB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB;;6EAEyE;IACzE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAkBD,wBAAgB,yBAAyB,CAAC,WAAW,CAAC,EAAE,uBAAuB,IAavE,QAAQ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAChE,QAAQ;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,KACzB,OAAO,CAAC,IAAI,CAAC,CAKnB"}
|
package/dist/index.js
CHANGED
|
@@ -14985,6 +14985,10 @@ var init_magic_context = __esm(() => {
|
|
|
14985
14985
|
score_threshold: exports_external.number().min(0.3).max(0.95).default(0.6),
|
|
14986
14986
|
min_prompt_chars: exports_external.number().min(5).max(500).default(20)
|
|
14987
14987
|
}).default({ enabled: false, score_threshold: 0.6, min_prompt_chars: 20 }),
|
|
14988
|
+
text_complete_strip: exports_external.object({
|
|
14989
|
+
enabled: exports_external.boolean().default(true),
|
|
14990
|
+
patterns: exports_external.array(exports_external.string()).optional()
|
|
14991
|
+
}).optional(),
|
|
14988
14992
|
caveman_text_compression: exports_external.object({
|
|
14989
14993
|
enabled: exports_external.boolean().default(false),
|
|
14990
14994
|
min_chars: exports_external.number().min(100).max(1e4).default(500)
|
|
@@ -176095,11 +176099,35 @@ function estimateProjectedPercentage(db, sessionId, contextUsage, preloadedTags)
|
|
|
176095
176099
|
await init_read_session_db();
|
|
176096
176100
|
|
|
176097
176101
|
// src/hooks/magic-context/text-complete.ts
|
|
176098
|
-
var
|
|
176099
|
-
|
|
176100
|
-
|
|
176102
|
+
var DEFAULT_PATTERNS = [
|
|
176103
|
+
/^(\u00a7\d+\u00a7\s*)+/,
|
|
176104
|
+
/\u00a7/g
|
|
176105
|
+
];
|
|
176106
|
+
function parseRegex(src) {
|
|
176107
|
+
if (src.startsWith("/")) {
|
|
176108
|
+
const lastSlash = src.lastIndexOf("/");
|
|
176109
|
+
if (lastSlash > 1) {
|
|
176110
|
+
const pattern = src.slice(1, lastSlash);
|
|
176111
|
+
const flags = src.slice(lastSlash + 1);
|
|
176112
|
+
return new RegExp(pattern, flags);
|
|
176113
|
+
}
|
|
176114
|
+
}
|
|
176115
|
+
return new RegExp(src);
|
|
176116
|
+
}
|
|
176117
|
+
function createTextCompleteHandler(stripConfig) {
|
|
176118
|
+
const isEnabled = stripConfig?.enabled ?? true;
|
|
176119
|
+
let patterns;
|
|
176120
|
+
if (!isEnabled) {
|
|
176121
|
+
patterns = [];
|
|
176122
|
+
} else if (stripConfig?.patterns && stripConfig.patterns.length > 0) {
|
|
176123
|
+
patterns = stripConfig.patterns.map(parseRegex);
|
|
176124
|
+
} else {
|
|
176125
|
+
patterns = DEFAULT_PATTERNS;
|
|
176126
|
+
}
|
|
176101
176127
|
return async (_input, output) => {
|
|
176102
|
-
|
|
176128
|
+
for (const regex of patterns) {
|
|
176129
|
+
output.text = output.text.replace(regex, "");
|
|
176130
|
+
}
|
|
176103
176131
|
};
|
|
176104
176132
|
}
|
|
176105
176133
|
|
|
@@ -177074,7 +177102,7 @@ function createMagicContextHook(deps) {
|
|
|
177074
177102
|
return {
|
|
177075
177103
|
"experimental.chat.messages.transform": transform2,
|
|
177076
177104
|
"experimental.chat.system.transform": systemPromptHashHandler,
|
|
177077
|
-
"experimental.text.complete": createTextCompleteHandler(),
|
|
177105
|
+
"experimental.text.complete": createTextCompleteHandler(deps.config.experimental?.text_complete_strip),
|
|
177078
177106
|
"chat.message": createChatMessageHook({
|
|
177079
177107
|
db,
|
|
177080
177108
|
toolUsageSinceUserTurn,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAU7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;CACtC;;;;;;qBAoDkuJ,CAAC;;;;;;;;;;;;qBAA9sC,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;
|
|
1
|
+
{"version":3,"file":"create-session-hooks.d.ts","sourceRoot":"","sources":["../../../src/plugin/hooks/create-session-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAU7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACrC,GAAG,EAAE,aAAa,CAAC;IACnB,YAAY,EAAE,wBAAwB,CAAC;IACvC,gBAAgB,EAAE,gBAAgB,CAAC;CACtC;;;;;;qBAoDkuJ,CAAC;;;;;;;;;;;;qBAA9sC,CAAC;mBAAyB,CAAC;iBAAuB,CAAC;iBAAuB,CAAC;0BAAc,CAAC;uBAAiB,CAAC;;;;;;0BAA8xuB,CAAC;;;;;;EADh61B"}
|
package/package.json
CHANGED