@cortexkit/opencode-magic-context 0.15.2 → 0.15.3
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/cli.js +12 -2
- package/dist/features/magic-context/resolve-subagent-fallback.d.ts +40 -0
- package/dist/features/magic-context/resolve-subagent-fallback.d.ts.map +1 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts +7 -0
- package/dist/features/magic-context/storage-meta-persisted.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta-session.d.ts.map +1 -1
- package/dist/features/magic-context/storage-meta.d.ts +1 -1
- package/dist/features/magic-context/storage-meta.d.ts.map +1 -1
- package/dist/features/magic-context/storage.d.ts +1 -1
- package/dist/features/magic-context/storage.d.ts.map +1 -1
- package/dist/hooks/magic-context/event-handler.d.ts.map +1 -1
- package/dist/hooks/magic-context/hook-handlers.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform-postprocess-phase.d.ts.map +1 -1
- package/dist/hooks/magic-context/transform.d.ts.map +1 -1
- package/dist/index.js +83 -11
- package/dist/shared/conflict-detector.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/shared/conflict-detector.test.ts +189 -0
- package/src/shared/conflict-detector.ts +68 -7
package/dist/cli.js
CHANGED
|
@@ -8247,9 +8247,18 @@ function readUserCompaction() {
|
|
|
8247
8247
|
} catch {}
|
|
8248
8248
|
return { auto: false, prune: false, resolved: false };
|
|
8249
8249
|
}
|
|
8250
|
+
var DCP_PACKAGE_NAMES = new Set(["@tarquinen/opencode-dcp"]);
|
|
8250
8251
|
function checkDcpPlugin(directory) {
|
|
8251
8252
|
const plugins = collectPluginEntries(directory);
|
|
8252
|
-
return plugins.some((p) => p
|
|
8253
|
+
return plugins.some((p) => matchesPackageName(p, DCP_PACKAGE_NAMES));
|
|
8254
|
+
}
|
|
8255
|
+
function matchesPackageName(entry, canonicalNames) {
|
|
8256
|
+
if (entry.startsWith("file:") || entry.startsWith("http:") || entry.startsWith("https:") || entry.startsWith("/") || entry.startsWith("./") || entry.startsWith("../")) {
|
|
8257
|
+
return false;
|
|
8258
|
+
}
|
|
8259
|
+
const lastAt = entry.lastIndexOf("@");
|
|
8260
|
+
const nameOnly = lastAt > 0 ? entry.slice(0, lastAt) : entry;
|
|
8261
|
+
return canonicalNames.has(nameOnly);
|
|
8253
8262
|
}
|
|
8254
8263
|
function collectPluginEntries(directory) {
|
|
8255
8264
|
const plugins = [];
|
|
@@ -8275,6 +8284,7 @@ function collectPluginEntries(directory) {
|
|
|
8275
8284
|
} catch {}
|
|
8276
8285
|
return plugins;
|
|
8277
8286
|
}
|
|
8287
|
+
var OMO_PACKAGE_NAMES = new Set(["oh-my-opencode", "oh-my-openagent"]);
|
|
8278
8288
|
function checkOmoHooks(directory) {
|
|
8279
8289
|
const result = {
|
|
8280
8290
|
preemptiveCompaction: false,
|
|
@@ -8282,7 +8292,7 @@ function checkOmoHooks(directory) {
|
|
|
8282
8292
|
anthropicRecovery: false
|
|
8283
8293
|
};
|
|
8284
8294
|
const plugins = collectPluginEntries(directory);
|
|
8285
|
-
const hasOmo = plugins.some((p) =>
|
|
8295
|
+
const hasOmo = plugins.some((p) => matchesPackageName(p, OMO_PACKAGE_NAMES));
|
|
8286
8296
|
if (!hasOmo)
|
|
8287
8297
|
return result;
|
|
8288
8298
|
const disabledHooks = readOmoDisabledHooks(directory);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fallback detection for `is_subagent` when OpenCode's `session.created` event
|
|
3
|
+
* has not yet been processed by our event handler.
|
|
4
|
+
*
|
|
5
|
+
* Why this exists:
|
|
6
|
+
* OpenCode creates a session and returns the ID to the API caller. The
|
|
7
|
+
* caller can immediately prompt against that session. Our
|
|
8
|
+
* `experimental.chat.system.transform` and `experimental.chat.messages.transform`
|
|
9
|
+
* hooks fire during that prompt flow. But the `session.created` event is
|
|
10
|
+
* published via `Effect.sync(SyncEvent.run(...))` → `Database.effect(() => ...)`
|
|
11
|
+
* → `void publish(result)` in OpenCode's sync/index.ts. Fire-and-forget.
|
|
12
|
+
*
|
|
13
|
+
* So on a fresh child session, the very first transform pass can run BEFORE
|
|
14
|
+
* our event handler has written `is_subagent=1` to session_meta.
|
|
15
|
+
* `getOrCreateSessionMeta` then returns the default `isSubagent: false`,
|
|
16
|
+
* which misclassifies the session as primary for that pass. The plugin
|
|
17
|
+
* injects §N§ prefixes, adjunct blocks, and attempts primary-mode gates —
|
|
18
|
+
* all of which are wrong for a subagent and can bust Anthropic prompt-cache
|
|
19
|
+
* when the correct reduced-mode state kicks in on the next pass.
|
|
20
|
+
*
|
|
21
|
+
* This fallback bridges that gap by reading OpenCode's `session.parent_id`
|
|
22
|
+
* directly from its SQLite DB when we first create a session_meta row.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Peek at OpenCode's `session` table to determine whether the given session
|
|
26
|
+
* is a subagent (has a non-empty `parent_id`).
|
|
27
|
+
*
|
|
28
|
+
* Returns:
|
|
29
|
+
* - `true` → session row exists with non-empty parent_id → SUBAGENT
|
|
30
|
+
* - `false` → session row exists with null/empty parent_id → PRIMARY
|
|
31
|
+
* - `null` → session row doesn't exist yet OR DB read failed → UNKNOWN
|
|
32
|
+
*
|
|
33
|
+
* Callers should default to PRIMARY behavior on `null` because the common
|
|
34
|
+
* case (root sessions, test harness edge cases, DB unavailable) is primary.
|
|
35
|
+
* But when the row EXISTS and `parent_id` is populated, we can trust it
|
|
36
|
+
* immediately — OpenCode writes this row synchronously as part of
|
|
37
|
+
* `Session.create()`, before returning the session ID to the API caller.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveIsSubagentFromOpenCodeDb(sessionId: string): boolean | null;
|
|
40
|
+
//# sourceMappingURL=resolve-subagent-fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-subagent-fallback.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/resolve-subagent-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAUH;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAejF"}
|
|
@@ -71,6 +71,13 @@ export declare function getOverflowState(db: Database, sessionId: string): Persi
|
|
|
71
71
|
* error message. Transactional so the two fields always agree.
|
|
72
72
|
*/
|
|
73
73
|
export declare function recordOverflowDetected(db: Database, sessionId: string, reportedLimit: number | undefined): void;
|
|
74
|
+
/**
|
|
75
|
+
* Record the real provider-reported context limit WITHOUT arming emergency
|
|
76
|
+
* recovery. Used for subagent overflow: the limit is useful data for accurate
|
|
77
|
+
* pressure math (consumed by `resolveContextLimit()` via `getOverflowState()`),
|
|
78
|
+
* but subagents can't run historian so the recovery flag would be orphan state.
|
|
79
|
+
*/
|
|
80
|
+
export declare function recordDetectedContextLimit(db: Database, sessionId: string, reportedLimit: number): void;
|
|
74
81
|
/** Clear the recovery flag. Keeps the detected limit (valuable even after recovery). */
|
|
75
82
|
export declare function clearEmergencyRecovery(db: Database, sessionId: string): void;
|
|
76
83
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-meta-persisted.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta-persisted.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage-meta-persisted.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta-persisted.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-meta-session.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-meta-session.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAY3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CA2BnF;AAED,wBAAgB,iBAAiB,CAC7B,EAAE,EAAE,QAAQ,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAC9B,IAAI,CA+BN;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAelE"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { clearDetectedContextLimit, clearEmergencyRecovery, clearHistorianFailureState, clearPersistedNoteNudge, clearPersistedNudgePlacement, clearPersistedReasoningWatermark, clearPersistedStickyTurnReminder, getHistorianFailureState, getNoteLastReadAt, getOverflowState, getPersistedNoteNudge, getPersistedNudgePlacement, getPersistedReasoningWatermark, getPersistedStickyTurnReminder, getStrippedPlaceholderIds, incrementHistorianFailure, loadPersistedUsage, type PersistedOverflowState, recordOverflowDetected, removeStrippedPlaceholderId, setNoteLastReadAt, setPersistedNudgePlacement, setPersistedReasoningWatermark, setPersistedStickyTurnReminder, setStrippedPlaceholderIds, } from "./storage-meta-persisted";
|
|
1
|
+
export { clearDetectedContextLimit, clearEmergencyRecovery, clearHistorianFailureState, clearPersistedNoteNudge, clearPersistedNudgePlacement, clearPersistedReasoningWatermark, clearPersistedStickyTurnReminder, getHistorianFailureState, getNoteLastReadAt, getOverflowState, getPersistedNoteNudge, getPersistedNudgePlacement, getPersistedReasoningWatermark, getPersistedStickyTurnReminder, getStrippedPlaceholderIds, incrementHistorianFailure, loadPersistedUsage, type PersistedOverflowState, recordDetectedContextLimit, recordOverflowDetected, removeStrippedPlaceholderId, setNoteLastReadAt, setPersistedNudgePlacement, setPersistedReasoningWatermark, setPersistedStickyTurnReminder, setStrippedPlaceholderIds, } from "./storage-meta-persisted";
|
|
2
2
|
export { clearSession, getOrCreateSessionMeta, updateSessionMeta, } from "./storage-meta-session";
|
|
3
3
|
//# sourceMappingURL=storage-meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-meta.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,GACpB,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"storage-meta.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage-meta.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,YAAY,EACZ,sBAAsB,EACtB,iBAAiB,GACpB,MAAM,wBAAwB,CAAC"}
|
|
@@ -2,7 +2,7 @@ export { buildCompartmentBlock, escapeXmlAttr, escapeXmlContent, getCompartments
|
|
|
2
2
|
export { clearCompressionDepth, getAverageCompressionDepth, getMaxCompressionDepth, incrementCompressionDepth, } from "./compression-depth-storage";
|
|
3
3
|
export { clearIndexedMessages, deleteIndexedMessage, } from "./message-index";
|
|
4
4
|
export { type ContextDatabase, closeDatabase, getDatabasePersistenceError, isDatabasePersisted, openDatabase, } from "./storage-db";
|
|
5
|
-
export { clearDetectedContextLimit, clearEmergencyRecovery, clearHistorianFailureState, clearPersistedNoteNudge, clearPersistedNudgePlacement, clearPersistedReasoningWatermark, clearPersistedStickyTurnReminder, clearSession, getHistorianFailureState, getNoteLastReadAt, getOrCreateSessionMeta, getOverflowState, getPersistedNoteNudge, getPersistedNudgePlacement, getPersistedReasoningWatermark, getPersistedStickyTurnReminder, getStrippedPlaceholderIds, incrementHistorianFailure, loadPersistedUsage, type PersistedOverflowState, recordOverflowDetected, removeStrippedPlaceholderId, setNoteLastReadAt, setPersistedNudgePlacement, setPersistedReasoningWatermark, setPersistedStickyTurnReminder, setStrippedPlaceholderIds, updateSessionMeta, } from "./storage-meta";
|
|
5
|
+
export { clearDetectedContextLimit, clearEmergencyRecovery, clearHistorianFailureState, clearPersistedNoteNudge, clearPersistedNudgePlacement, clearPersistedReasoningWatermark, clearPersistedStickyTurnReminder, clearSession, getHistorianFailureState, getNoteLastReadAt, getOrCreateSessionMeta, getOverflowState, getPersistedNoteNudge, getPersistedNudgePlacement, getPersistedReasoningWatermark, getPersistedStickyTurnReminder, getStrippedPlaceholderIds, incrementHistorianFailure, loadPersistedUsage, type PersistedOverflowState, recordDetectedContextLimit, recordOverflowDetected, removeStrippedPlaceholderId, setNoteLastReadAt, setPersistedNudgePlacement, setPersistedReasoningWatermark, setPersistedStickyTurnReminder, setStrippedPlaceholderIds, updateSessionMeta, } from "./storage-meta";
|
|
6
6
|
export { addNote, deleteNote, dismissNote, getNotes, getPendingSmartNotes, getReadySmartNotes, getSessionNotes, getSmartNotes, markNoteChecked, markNoteReady, type Note, type NoteStatus, type NoteType, replaceAllSessionNotes, updateNote, } from "./storage-notes";
|
|
7
7
|
export { clearPendingOps, getPendingOps, queuePendingOp, removePendingOp, } from "./storage-ops";
|
|
8
8
|
export { getSourceContents, replaceSourceContent, saveSourceContent, } from "./storage-source";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,KAAK,WAAW,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,KAAK,eAAe,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,YAAY,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,YAAY,EACZ,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,iBAAiB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,OAAO,EACP,UAAU,EACV,WAAW,EACX,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,sBAAsB,EACtB,UAAU,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAClB,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/features/magic-context/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,KAAK,WAAW,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACH,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,oBAAoB,EACpB,oBAAoB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,KAAK,eAAe,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,YAAY,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACH,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,YAAY,EACZ,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,yBAAyB,EACzB,iBAAiB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,OAAO,EACP,UAAU,EACV,WAAW,EACX,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,sBAAsB,EACtB,UAAU,GACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACH,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAClB,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAyBvF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAoBvE,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKhF,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,UAAU,iBAAiB;IACvB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAOD,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAChD,iBAAiB,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IAC9D,eAAe,EAAE,mBAAmB,CAAC;IACrC,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,MAAM,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,4BAA4B,CAAC,EAAE,MAAM,GAAG;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;QACxF,wBAAwB,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;SAAE,CAAC;QACxF,SAAS,EAAE,cAAc,CAAC;QAC1B,sBAAsB,CAAC,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,CAAC;KACvE,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,UAAU,CAAC,cAAc,sCAAsC,EAAE,YAAY,CAAC,CAAC;CACtF;AAqGD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,IACvC,OAAO;IAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,KAAG,OAAO,CAAC,IAAI,CAAC,CA8ZzF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hook-handlers.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/hook-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-postprocess-phase.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/transform-postprocess-phase.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transform-postprocess-phase.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/transform-postprocess-phase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/transform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/hooks/magic-context/transform.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -147829,7 +147829,15 @@ function readUserCompaction() {
|
|
|
147829
147829
|
}
|
|
147830
147830
|
function checkDcpPlugin(directory) {
|
|
147831
147831
|
const plugins = collectPluginEntries(directory);
|
|
147832
|
-
return plugins.some((p) => p
|
|
147832
|
+
return plugins.some((p) => matchesPackageName(p, DCP_PACKAGE_NAMES));
|
|
147833
|
+
}
|
|
147834
|
+
function matchesPackageName(entry, canonicalNames) {
|
|
147835
|
+
if (entry.startsWith("file:") || entry.startsWith("http:") || entry.startsWith("https:") || entry.startsWith("/") || entry.startsWith("./") || entry.startsWith("../")) {
|
|
147836
|
+
return false;
|
|
147837
|
+
}
|
|
147838
|
+
const lastAt = entry.lastIndexOf("@");
|
|
147839
|
+
const nameOnly = lastAt > 0 ? entry.slice(0, lastAt) : entry;
|
|
147840
|
+
return canonicalNames.has(nameOnly);
|
|
147833
147841
|
}
|
|
147834
147842
|
function collectPluginEntries(directory) {
|
|
147835
147843
|
const plugins = [];
|
|
@@ -147862,7 +147870,7 @@ function checkOmoHooks(directory) {
|
|
|
147862
147870
|
anthropicRecovery: false
|
|
147863
147871
|
};
|
|
147864
147872
|
const plugins = collectPluginEntries(directory);
|
|
147865
|
-
const hasOmo = plugins.some((p) =>
|
|
147873
|
+
const hasOmo = plugins.some((p) => matchesPackageName(p, OMO_PACKAGE_NAMES));
|
|
147866
147874
|
if (!hasOmo)
|
|
147867
147875
|
return result;
|
|
147868
147876
|
const disabledHooks = readOmoDisabledHooks(directory);
|
|
@@ -147914,9 +147922,12 @@ function formatConflictShort(result) {
|
|
|
147914
147922
|
return lines.join(`
|
|
147915
147923
|
`);
|
|
147916
147924
|
}
|
|
147925
|
+
var DCP_PACKAGE_NAMES, OMO_PACKAGE_NAMES;
|
|
147917
147926
|
var init_conflict_detector = __esm(() => {
|
|
147918
147927
|
init_jsonc_parser();
|
|
147919
147928
|
init_opencode_config_dir();
|
|
147929
|
+
DCP_PACKAGE_NAMES = new Set(["@tarquinen/opencode-dcp"]);
|
|
147930
|
+
OMO_PACKAGE_NAMES = new Set(["oh-my-opencode", "oh-my-openagent"]);
|
|
147920
147931
|
});
|
|
147921
147932
|
|
|
147922
147933
|
// src/plugin/conflict-warning-hook.ts
|
|
@@ -151291,6 +151302,14 @@ function recordOverflowDetected(db, sessionId, reportedLimit) {
|
|
|
151291
151302
|
}
|
|
151292
151303
|
})();
|
|
151293
151304
|
}
|
|
151305
|
+
function recordDetectedContextLimit(db, sessionId, reportedLimit) {
|
|
151306
|
+
if (!(reportedLimit > 0))
|
|
151307
|
+
return;
|
|
151308
|
+
db.transaction(() => {
|
|
151309
|
+
ensureSessionMetaRow(db, sessionId);
|
|
151310
|
+
db.prepare("UPDATE session_meta SET detected_context_limit = ? WHERE session_id = ?").run(reportedLimit, sessionId);
|
|
151311
|
+
})();
|
|
151312
|
+
}
|
|
151294
151313
|
function clearEmergencyRecovery(db, sessionId) {
|
|
151295
151314
|
db.transaction(() => {
|
|
151296
151315
|
ensureSessionMetaRow(db, sessionId);
|
|
@@ -151351,6 +151370,25 @@ var init_storage_meta_persisted = __esm(() => {
|
|
|
151351
151370
|
init_storage_meta_shared();
|
|
151352
151371
|
});
|
|
151353
151372
|
|
|
151373
|
+
// src/features/magic-context/resolve-subagent-fallback.ts
|
|
151374
|
+
function resolveIsSubagentFromOpenCodeDb(sessionId) {
|
|
151375
|
+
try {
|
|
151376
|
+
return withReadOnlySessionDb((openCodeDb) => {
|
|
151377
|
+
const row = openCodeDb.prepare("SELECT parent_id FROM session WHERE id = ?").get(sessionId);
|
|
151378
|
+
if (!row)
|
|
151379
|
+
return null;
|
|
151380
|
+
return typeof row.parent_id === "string" && row.parent_id.length > 0;
|
|
151381
|
+
});
|
|
151382
|
+
} catch (error48) {
|
|
151383
|
+
log(`[magic-context] resolveIsSubagentFromOpenCodeDb failed for ${sessionId}:`, error48);
|
|
151384
|
+
return null;
|
|
151385
|
+
}
|
|
151386
|
+
}
|
|
151387
|
+
var init_resolve_subagent_fallback = __esm(() => {
|
|
151388
|
+
init_read_session_db();
|
|
151389
|
+
init_logger();
|
|
151390
|
+
});
|
|
151391
|
+
|
|
151354
151392
|
// src/features/magic-context/storage-meta-session.ts
|
|
151355
151393
|
function getOrCreateSessionMeta(db, sessionId) {
|
|
151356
151394
|
const result = db.prepare("SELECT session_id, last_response_time, cache_ttl, counter, last_nudge_tokens, last_nudge_band, last_transform_error, is_subagent, last_context_percentage, last_input_tokens, times_execute_threshold_reached, compartment_in_progress, system_prompt_hash, system_prompt_tokens, conversation_tokens, tool_call_tokens, cleared_reasoning_through_tag FROM session_meta WHERE session_id = ?").get(sessionId);
|
|
@@ -151358,7 +151396,14 @@ function getOrCreateSessionMeta(db, sessionId) {
|
|
|
151358
151396
|
return toSessionMeta(result);
|
|
151359
151397
|
}
|
|
151360
151398
|
const defaults = getDefaultSessionMeta(sessionId);
|
|
151399
|
+
const fallbackSubagent = resolveIsSubagentFromOpenCodeDb(sessionId);
|
|
151400
|
+
if (fallbackSubagent === true) {
|
|
151401
|
+
defaults.isSubagent = true;
|
|
151402
|
+
}
|
|
151361
151403
|
ensureSessionMetaRow(db, sessionId);
|
|
151404
|
+
if (fallbackSubagent === true) {
|
|
151405
|
+
db.prepare("UPDATE session_meta SET is_subagent = 1 WHERE session_id = ?").run(sessionId);
|
|
151406
|
+
}
|
|
151362
151407
|
return defaults;
|
|
151363
151408
|
}
|
|
151364
151409
|
function updateSessionMeta(db, sessionId, updates) {
|
|
@@ -151406,6 +151451,7 @@ function clearSession(db, sessionId) {
|
|
|
151406
151451
|
var init_storage_meta_session = __esm(() => {
|
|
151407
151452
|
init_compression_depth_storage();
|
|
151408
151453
|
init_message_index();
|
|
151454
|
+
init_resolve_subagent_fallback();
|
|
151409
151455
|
init_storage_meta_shared();
|
|
151410
151456
|
});
|
|
151411
151457
|
|
|
@@ -169381,7 +169427,14 @@ async function runPostTransformPhase(args) {
|
|
|
169381
169427
|
}
|
|
169382
169428
|
}
|
|
169383
169429
|
}
|
|
169384
|
-
const pendingUserTurnReminder = getPersistedStickyTurnReminder(args.db, args.sessionId);
|
|
169430
|
+
const pendingUserTurnReminder = args.fullFeatureMode ? getPersistedStickyTurnReminder(args.db, args.sessionId) : null;
|
|
169431
|
+
if (!args.fullFeatureMode && isCacheBustingPass) {
|
|
169432
|
+
const stale = getPersistedStickyTurnReminder(args.db, args.sessionId);
|
|
169433
|
+
if (stale) {
|
|
169434
|
+
clearPersistedStickyTurnReminder(args.db, args.sessionId);
|
|
169435
|
+
sessionLog(args.sessionId, "sticky turn reminder cleared \u2014 subagent should not have this state (cache-busting pass)");
|
|
169436
|
+
}
|
|
169437
|
+
}
|
|
169385
169438
|
if (pendingUserTurnReminder) {
|
|
169386
169439
|
if (args.hasRecentReduceCall && isCacheBustingPass) {
|
|
169387
169440
|
clearPersistedStickyTurnReminder(args.db, args.sessionId);
|
|
@@ -169738,7 +169791,7 @@ Historian previously failed ${historianFailureState.failureCount} time(s), so ma
|
|
|
169738
169791
|
hasRecentReduceCall = result.hasRecentReduceCall;
|
|
169739
169792
|
const hadPriorCommitState = deps.commitSeenLastPass?.has(sessionId) ?? false;
|
|
169740
169793
|
const sawCommitLastPass = deps.commitSeenLastPass?.get(sessionId) ?? false;
|
|
169741
|
-
if (hadPriorCommitState && result.hasRecentCommit && !sawCommitLastPass) {
|
|
169794
|
+
if (fullFeatureMode && hadPriorCommitState && result.hasRecentCommit && !sawCommitLastPass) {
|
|
169742
169795
|
onNoteTrigger(db, sessionId, "commit_detected");
|
|
169743
169796
|
}
|
|
169744
169797
|
deps.commitSeenLastPass?.set(sessionId, result.hasRecentCommit);
|
|
@@ -170107,6 +170160,14 @@ function createEventHandler2(deps) {
|
|
|
170107
170160
|
if (!detection.isOverflow) {
|
|
170108
170161
|
return;
|
|
170109
170162
|
}
|
|
170163
|
+
const sessionMeta = getOrCreateSessionMeta(deps.db, errInfo.sessionID);
|
|
170164
|
+
if (sessionMeta.isSubagent) {
|
|
170165
|
+
if (typeof detection.reportedLimit === "number" && detection.reportedLimit > 0) {
|
|
170166
|
+
recordDetectedContextLimit(deps.db, errInfo.sessionID, detection.reportedLimit);
|
|
170167
|
+
}
|
|
170168
|
+
sessionLog(errInfo.sessionID, `overflow detected on subagent: reportedLimit=${detection.reportedLimit ?? "unknown"} pattern=${detection.matchedPattern ?? "n/a"} \u2014 recorded limit only (subagents cannot run historian)`);
|
|
170169
|
+
return;
|
|
170170
|
+
}
|
|
170110
170171
|
const existing = getOverflowState(deps.db, errInfo.sessionID);
|
|
170111
170172
|
recordOverflowDetected(deps.db, errInfo.sessionID, detection.reportedLimit);
|
|
170112
170173
|
sessionLog(errInfo.sessionID, `overflow detected via session.error: reportedLimit=${detection.reportedLimit ?? "unknown"} pattern=${detection.matchedPattern ?? "n/a"} (previousRecovery=${existing.needsEmergencyRecovery})`);
|
|
@@ -170136,9 +170197,17 @@ function createEventHandler2(deps) {
|
|
|
170136
170197
|
const detection = detectOverflow(info.error);
|
|
170137
170198
|
if (detection.isOverflow) {
|
|
170138
170199
|
try {
|
|
170139
|
-
|
|
170140
|
-
|
|
170141
|
-
|
|
170200
|
+
const metaForOverflow = getOrCreateSessionMeta(deps.db, info.sessionID);
|
|
170201
|
+
if (metaForOverflow.isSubagent) {
|
|
170202
|
+
if (typeof detection.reportedLimit === "number" && detection.reportedLimit > 0) {
|
|
170203
|
+
recordDetectedContextLimit(deps.db, info.sessionID, detection.reportedLimit);
|
|
170204
|
+
}
|
|
170205
|
+
sessionLog(info.sessionID, `overflow detected on subagent via message.updated: reportedLimit=${detection.reportedLimit ?? "unknown"} pattern=${detection.matchedPattern ?? "n/a"} \u2014 recorded limit only`);
|
|
170206
|
+
} else {
|
|
170207
|
+
recordOverflowDetected(deps.db, info.sessionID, detection.reportedLimit);
|
|
170208
|
+
sessionLog(info.sessionID, `overflow detected via message.updated: reportedLimit=${detection.reportedLimit ?? "unknown"} pattern=${detection.matchedPattern ?? "n/a"}`);
|
|
170209
|
+
deps.onSessionCacheInvalidated?.(info.sessionID);
|
|
170210
|
+
}
|
|
170142
170211
|
} catch (error48) {
|
|
170143
170212
|
sessionLog(info.sessionID, "event message.updated overflow persistence failed:", error48);
|
|
170144
170213
|
}
|
|
@@ -170579,7 +170648,10 @@ function createToolExecuteAfterHook(args) {
|
|
|
170579
170648
|
const todoArgs = typedInput.args;
|
|
170580
170649
|
const todos = todoArgs?.todos;
|
|
170581
170650
|
if (Array.isArray(todos) && todos.length > 0 && todos.every((t) => t.status === "completed" || t.status === "cancelled")) {
|
|
170582
|
-
|
|
170651
|
+
const sessionMeta = getOrCreateSessionMeta(args.db, typedInput.sessionID);
|
|
170652
|
+
if (!sessionMeta.isSubagent) {
|
|
170653
|
+
onNoteTrigger(args.db, typedInput.sessionID, "todos_complete");
|
|
170654
|
+
}
|
|
170583
170655
|
}
|
|
170584
170656
|
}
|
|
170585
170657
|
if (typedInput.tool === "ctx_note") {
|
|
@@ -170869,7 +170941,7 @@ function createSystemPromptHashHandler(deps) {
|
|
|
170869
170941
|
sessionLog(sessionId, `injected ${detectedAgent ?? "generic"} guidance into system prompt (ctxReduce=${effectiveCtxReduceEnabled}, subagent=${isSubagentSession})`);
|
|
170870
170942
|
}
|
|
170871
170943
|
const isCacheBusting = deps.flushedSessions.has(sessionId);
|
|
170872
|
-
if (shouldInjectDocs) {
|
|
170944
|
+
if (shouldInjectDocs && !isSubagentSession) {
|
|
170873
170945
|
const hasCached = cachedDocsBySession.has(sessionId);
|
|
170874
170946
|
if (!hasCached || isCacheBusting) {
|
|
170875
170947
|
const docsContent = readProjectDocs(deps.directory);
|
|
@@ -170885,7 +170957,7 @@ function createSystemPromptHashHandler(deps) {
|
|
|
170885
170957
|
output.system.push(docsBlock);
|
|
170886
170958
|
}
|
|
170887
170959
|
}
|
|
170888
|
-
if (deps.experimentalUserMemories) {
|
|
170960
|
+
if (deps.experimentalUserMemories && !isSubagentSession) {
|
|
170889
170961
|
const hasCachedProfile = cachedUserProfileBySession.has(sessionId);
|
|
170890
170962
|
if (!hasCachedProfile || isCacheBusting) {
|
|
170891
170963
|
const memories = getActiveUserMemories(deps.db);
|
|
@@ -170907,7 +170979,7 @@ ${items}
|
|
|
170907
170979
|
output.system.push(profileBlock);
|
|
170908
170980
|
}
|
|
170909
170981
|
}
|
|
170910
|
-
if (deps.experimentalPinKeyFiles) {
|
|
170982
|
+
if (deps.experimentalPinKeyFiles && !isSubagentSession) {
|
|
170911
170983
|
const hasCachedKeyFiles = cachedKeyFilesBySession.has(sessionId);
|
|
170912
170984
|
if (!hasCachedKeyFiles || isCacheBusting) {
|
|
170913
170985
|
const keyFileEntries = getKeyFiles(deps.db, sessionId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../../src/shared/conflict-detector.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC3B,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE;QACP,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC;QACnB,uBAAuB,EAAE,OAAO,CAAC;QACjC,uBAAuB,EAAE,OAAO,CAAC;QACjC,oBAAoB,EAAE,OAAO,CAAC;KACjC,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAyDjE;
|
|
1
|
+
{"version":3,"file":"conflict-detector.d.ts","sourceRoot":"","sources":["../../src/shared/conflict-detector.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC3B,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE;QACP,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC;QACnB,uBAAuB,EAAE,OAAO,CAAC;QACjC,uBAAuB,EAAE,OAAO,CAAC;QACjC,oBAAoB,EAAE,OAAO,CAAC;KACjC,CAAC;CACL;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAyDjE;AAuPD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAWlE"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/// <reference types="bun-types" />
|
|
2
|
+
|
|
3
|
+
import { afterEach, beforeEach, describe, expect, it } from "bun:test";
|
|
4
|
+
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { tmpdir } from "node:os";
|
|
6
|
+
import { join } from "node:path";
|
|
7
|
+
import { detectConflicts } from "./conflict-detector";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Regression tests for plugin-conflict detection. The previous substring-
|
|
11
|
+
* based matcher misclassified `oh-my-opencode-slim` and `opencode-dcp-fork`
|
|
12
|
+
* as the canonical plugins, causing magic-context to disable itself with
|
|
13
|
+
* a false-positive conflict warning. See issue #43.
|
|
14
|
+
*/
|
|
15
|
+
describe("detectConflicts", () => {
|
|
16
|
+
let projectDir: string;
|
|
17
|
+
let userConfigDir: string;
|
|
18
|
+
let originalEnv: Record<string, string | undefined>;
|
|
19
|
+
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
const root = mkdtempSync(join(tmpdir(), "mc-conflict-"));
|
|
22
|
+
projectDir = join(root, "project");
|
|
23
|
+
mkdirSync(projectDir, { recursive: true });
|
|
24
|
+
userConfigDir = join(root, "user-config", "opencode");
|
|
25
|
+
mkdirSync(userConfigDir, { recursive: true });
|
|
26
|
+
|
|
27
|
+
// Save and override every env var that affects config-path resolution.
|
|
28
|
+
// OPENCODE_CONFIG_DIR takes precedence over XDG_CONFIG_HOME, so we set
|
|
29
|
+
// it directly and clear XDG to fully isolate from any inherited or
|
|
30
|
+
// test-leaked state.
|
|
31
|
+
originalEnv = {
|
|
32
|
+
OPENCODE_CONFIG_DIR: process.env.OPENCODE_CONFIG_DIR,
|
|
33
|
+
XDG_CONFIG_HOME: process.env.XDG_CONFIG_HOME,
|
|
34
|
+
OPENCODE_DISABLE_AUTOCOMPACT: process.env.OPENCODE_DISABLE_AUTOCOMPACT,
|
|
35
|
+
};
|
|
36
|
+
process.env.OPENCODE_CONFIG_DIR = userConfigDir;
|
|
37
|
+
delete process.env.XDG_CONFIG_HOME;
|
|
38
|
+
// Disable auto-compaction default during tests so we isolate plugin
|
|
39
|
+
// detection from compaction detection.
|
|
40
|
+
process.env.OPENCODE_DISABLE_AUTOCOMPACT = "1";
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
afterEach(() => {
|
|
44
|
+
for (const [k, v] of Object.entries(originalEnv)) {
|
|
45
|
+
if (v === undefined) delete process.env[k];
|
|
46
|
+
else process.env[k] = v;
|
|
47
|
+
}
|
|
48
|
+
// Test directories live under tmpdir(); cleanup is best-effort.
|
|
49
|
+
rmSync(projectDir, { recursive: true, force: true });
|
|
50
|
+
rmSync(userConfigDir, { recursive: true, force: true });
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
function writeProjectConfig(plugins: string[]): void {
|
|
54
|
+
writeFileSync(join(projectDir, "opencode.json"), JSON.stringify({ plugin: plugins }));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// --- DCP detection ---
|
|
58
|
+
|
|
59
|
+
describe("DCP detection", () => {
|
|
60
|
+
it("matches the canonical @tarquinen/opencode-dcp package", () => {
|
|
61
|
+
writeProjectConfig(["@tarquinen/opencode-dcp"]);
|
|
62
|
+
const result = detectConflicts(projectDir);
|
|
63
|
+
expect(result.conflicts.dcpPlugin).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
it("matches the canonical package with a version suffix", () => {
|
|
67
|
+
writeProjectConfig(["@tarquinen/opencode-dcp@latest"]);
|
|
68
|
+
const result = detectConflicts(projectDir);
|
|
69
|
+
expect(result.conflicts.dcpPlugin).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
it("matches with a semver range suffix", () => {
|
|
73
|
+
writeProjectConfig(["@tarquinen/opencode-dcp@^3.1.0"]);
|
|
74
|
+
const result = detectConflicts(projectDir);
|
|
75
|
+
expect(result.conflicts.dcpPlugin).toBe(true);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("does NOT match a fork with a different package name", () => {
|
|
79
|
+
writeProjectConfig(["@some-fork/opencode-dcp-fork"]);
|
|
80
|
+
const result = detectConflicts(projectDir);
|
|
81
|
+
expect(result.conflicts.dcpPlugin).toBe(false);
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it("does NOT match a file:// path that contains 'opencode-dcp'", () => {
|
|
85
|
+
writeProjectConfig(["file:///home/user/work/opencode-dcp-fork"]);
|
|
86
|
+
const result = detectConflicts(projectDir);
|
|
87
|
+
expect(result.conflicts.dcpPlugin).toBe(false);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
// --- OMO detection (the issue #43 case) ---
|
|
92
|
+
|
|
93
|
+
describe("OMO detection", () => {
|
|
94
|
+
it("matches the canonical oh-my-opencode package", () => {
|
|
95
|
+
writeProjectConfig(["oh-my-opencode"]);
|
|
96
|
+
const result = detectConflicts(projectDir);
|
|
97
|
+
// No OMO config = hooks default ACTIVE = all three flagged
|
|
98
|
+
expect(result.conflicts.omoPreemptiveCompaction).toBe(true);
|
|
99
|
+
expect(result.conflicts.omoContextWindowMonitor).toBe(true);
|
|
100
|
+
expect(result.conflicts.omoAnthropicRecovery).toBe(true);
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
it("matches the canonical oh-my-openagent package alias", () => {
|
|
104
|
+
writeProjectConfig(["oh-my-openagent"]);
|
|
105
|
+
const result = detectConflicts(projectDir);
|
|
106
|
+
expect(result.conflicts.omoPreemptiveCompaction).toBe(true);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it("matches a canonical OMO with a version suffix", () => {
|
|
110
|
+
writeProjectConfig(["oh-my-opencode@3.17.5", "oh-my-openagent@latest"]);
|
|
111
|
+
const result = detectConflicts(projectDir);
|
|
112
|
+
expect(result.conflicts.omoPreemptiveCompaction).toBe(true);
|
|
113
|
+
expect(result.conflicts.omoContextWindowMonitor).toBe(true);
|
|
114
|
+
expect(result.conflicts.omoAnthropicRecovery).toBe(true);
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
it("does NOT match oh-my-opencode-slim (issue #43)", () => {
|
|
118
|
+
writeProjectConfig(["oh-my-opencode-slim"]);
|
|
119
|
+
const result = detectConflicts(projectDir);
|
|
120
|
+
expect(result.hasConflict).toBe(false);
|
|
121
|
+
expect(result.conflicts.omoPreemptiveCompaction).toBe(false);
|
|
122
|
+
expect(result.conflicts.omoContextWindowMonitor).toBe(false);
|
|
123
|
+
expect(result.conflicts.omoAnthropicRecovery).toBe(false);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
it("does NOT match oh-my-opencode-slim with a version suffix (issue #43)", () => {
|
|
127
|
+
writeProjectConfig(["oh-my-opencode-slim@latest", "oh-my-opencode-slim@1.0.3"]);
|
|
128
|
+
const result = detectConflicts(projectDir);
|
|
129
|
+
expect(result.hasConflict).toBe(false);
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it("does NOT match a file:// path containing 'oh-my-opencode' (issue #43)", () => {
|
|
133
|
+
writeProjectConfig(["file:///home/user/workspace/oh-my-opencode-slim-dev"]);
|
|
134
|
+
const result = detectConflicts(projectDir);
|
|
135
|
+
expect(result.hasConflict).toBe(false);
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it("does NOT match other forks under different package names", () => {
|
|
139
|
+
writeProjectConfig([
|
|
140
|
+
"oh-my-opencode-cli",
|
|
141
|
+
"@some-org/oh-my-opencode-fork",
|
|
142
|
+
"my-oh-my-opencode-customizations",
|
|
143
|
+
]);
|
|
144
|
+
const result = detectConflicts(projectDir);
|
|
145
|
+
expect(result.hasConflict).toBe(false);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it("still detects canonical OMO when slim is also installed", () => {
|
|
149
|
+
// A user running both slim and the real OMO should still get
|
|
150
|
+
// the conflict warning for the real one.
|
|
151
|
+
writeProjectConfig(["oh-my-opencode-slim", "oh-my-opencode@latest"]);
|
|
152
|
+
const result = detectConflicts(projectDir);
|
|
153
|
+
expect(result.conflicts.omoPreemptiveCompaction).toBe(true);
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
it("respects disabled_hooks in project-level OMO config", () => {
|
|
157
|
+
writeProjectConfig(["oh-my-opencode"]);
|
|
158
|
+
// Use project-scoped OMO config to avoid relying on user
|
|
159
|
+
// config-path resolution, which can be leaked across files
|
|
160
|
+
// by `spyOn(getOpenCodeConfigPaths)` mocks in sibling tests.
|
|
161
|
+
writeFileSync(
|
|
162
|
+
join(projectDir, "oh-my-opencode.json"),
|
|
163
|
+
JSON.stringify({
|
|
164
|
+
disabled_hooks: [
|
|
165
|
+
"preemptive-compaction",
|
|
166
|
+
"context-window-monitor",
|
|
167
|
+
"anthropic-context-window-limit-recovery",
|
|
168
|
+
],
|
|
169
|
+
}),
|
|
170
|
+
);
|
|
171
|
+
const result = detectConflicts(projectDir);
|
|
172
|
+
expect(result.hasConflict).toBe(false);
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
// --- Combined / control cases ---
|
|
177
|
+
|
|
178
|
+
it("returns no conflicts for an empty plugin list", () => {
|
|
179
|
+
writeProjectConfig([]);
|
|
180
|
+
const result = detectConflicts(projectDir);
|
|
181
|
+
expect(result.hasConflict).toBe(false);
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
it("returns no conflicts for unrelated plugins", () => {
|
|
185
|
+
writeProjectConfig(["@cortexkit/opencode-magic-context@latest", "some-other-plugin"]);
|
|
186
|
+
const result = detectConflicts(projectDir);
|
|
187
|
+
expect(result.hasConflict).toBe(false);
|
|
188
|
+
});
|
|
189
|
+
});
|
|
@@ -167,9 +167,60 @@ function readUserCompaction(): { auto: boolean; prune: boolean; resolved: boolea
|
|
|
167
167
|
|
|
168
168
|
// --- DCP detection ---
|
|
169
169
|
|
|
170
|
+
/**
|
|
171
|
+
* Canonical npm package names that represent the conflicting plugin.
|
|
172
|
+
* Matched against the npm-style segment of each plugin entry, so:
|
|
173
|
+
* - "@tarquinen/opencode-dcp" ✓ direct match
|
|
174
|
+
* - "@tarquinen/opencode-dcp@latest" ✓ version suffix stripped
|
|
175
|
+
* - "@tarquinen/opencode-dcp@^3.1.0" ✓ semver suffix stripped
|
|
176
|
+
* - "file:///path/to/opencode-dcp-fork" ✗ unrelated path
|
|
177
|
+
*
|
|
178
|
+
* forks/renames that don't ship the conflicting transform/system hooks are
|
|
179
|
+
* intentionally NOT matched.
|
|
180
|
+
*/
|
|
181
|
+
const DCP_PACKAGE_NAMES = new Set(["@tarquinen/opencode-dcp"]);
|
|
182
|
+
|
|
170
183
|
function checkDcpPlugin(directory: string): boolean {
|
|
171
184
|
const plugins = collectPluginEntries(directory);
|
|
172
|
-
return plugins.some((p) => p
|
|
185
|
+
return plugins.some((p) => matchesPackageName(p, DCP_PACKAGE_NAMES));
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Match a plugin entry against a set of canonical npm package names.
|
|
190
|
+
*
|
|
191
|
+
* A plugin entry can be:
|
|
192
|
+
* - "pkg-name"
|
|
193
|
+
* - "pkg-name@version"
|
|
194
|
+
* - "@scope/pkg-name"
|
|
195
|
+
* - "@scope/pkg-name@version"
|
|
196
|
+
* - "file://..." or other URL/path forms (never matched here)
|
|
197
|
+
*
|
|
198
|
+
* For the canonical-name path we only match the exact package name (with
|
|
199
|
+
* optional version suffix). file:// paths and forks with different
|
|
200
|
+
* package names are intentionally NOT matched — even if a path string
|
|
201
|
+
* happens to contain a substring like "oh-my-opencode" (e.g. forks like
|
|
202
|
+
* "oh-my-opencode-slim" published under a different package name).
|
|
203
|
+
*/
|
|
204
|
+
function matchesPackageName(entry: string, canonicalNames: Set<string>): boolean {
|
|
205
|
+
// Skip URL/path forms — only npm-style entries can be canonically matched.
|
|
206
|
+
// (Local file:// checkouts of canonical plugins are rare; users running
|
|
207
|
+
// those need to ensure the path itself doesn't match a fork's name.)
|
|
208
|
+
if (
|
|
209
|
+
entry.startsWith("file:") ||
|
|
210
|
+
entry.startsWith("http:") ||
|
|
211
|
+
entry.startsWith("https:") ||
|
|
212
|
+
entry.startsWith("/") ||
|
|
213
|
+
entry.startsWith("./") ||
|
|
214
|
+
entry.startsWith("../")
|
|
215
|
+
) {
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
// Strip version suffix: "@scope/pkg@1.2.3" → "@scope/pkg"
|
|
220
|
+
// Careful with scoped packages: the leading "@" is part of the name.
|
|
221
|
+
const lastAt = entry.lastIndexOf("@");
|
|
222
|
+
const nameOnly = lastAt > 0 ? entry.slice(0, lastAt) : entry;
|
|
223
|
+
return canonicalNames.has(nameOnly);
|
|
173
224
|
}
|
|
174
225
|
|
|
175
226
|
function collectPluginEntries(directory: string): string[] {
|
|
@@ -206,6 +257,21 @@ function collectPluginEntries(directory: string): string[] {
|
|
|
206
257
|
|
|
207
258
|
// --- OMO hook detection ---
|
|
208
259
|
|
|
260
|
+
/**
|
|
261
|
+
* Canonical OMO npm package names. The plugin publishes under both names as
|
|
262
|
+
* a versioned alias (latest 3.17.5 on npm at time of writing).
|
|
263
|
+
*
|
|
264
|
+
* Forks under a different package name (e.g. `oh-my-opencode-slim`,
|
|
265
|
+
* `oh-my-opencode-cli`, etc.) are intentionally NOT matched here — they
|
|
266
|
+
* don't ship the `preemptive-compaction`, `context-window-monitor`, or
|
|
267
|
+
* `anthropic-context-window-limit-recovery` hooks that conflict with
|
|
268
|
+
* Magic Context. See https://github.com/cortexkit/opencode-magic-context/issues/43.
|
|
269
|
+
*
|
|
270
|
+
* The legacy `@code-yeongyu/` scope is no longer used — both names are
|
|
271
|
+
* unscoped on npm.
|
|
272
|
+
*/
|
|
273
|
+
const OMO_PACKAGE_NAMES = new Set(["oh-my-opencode", "oh-my-openagent"]);
|
|
274
|
+
|
|
209
275
|
function checkOmoHooks(directory: string): {
|
|
210
276
|
preemptiveCompaction: boolean;
|
|
211
277
|
contextWindowMonitor: boolean;
|
|
@@ -219,12 +285,7 @@ function checkOmoHooks(directory: string): {
|
|
|
219
285
|
|
|
220
286
|
// First check if OMO is even installed
|
|
221
287
|
const plugins = collectPluginEntries(directory);
|
|
222
|
-
const hasOmo = plugins.some(
|
|
223
|
-
(p) =>
|
|
224
|
-
p.includes("oh-my-opencode") ||
|
|
225
|
-
p.includes("oh-my-openagent") ||
|
|
226
|
-
p.includes("@code-yeongyu/"),
|
|
227
|
-
);
|
|
288
|
+
const hasOmo = plugins.some((p) => matchesPackageName(p, OMO_PACKAGE_NAMES));
|
|
228
289
|
if (!hasOmo) return result;
|
|
229
290
|
|
|
230
291
|
// Read OMO config to check disabled_hooks
|