@ekroon/opencode-copilot-instructions 0.3.1 → 0.4.0
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/index.d.ts.map +1 -1
- package/dist/index.js +21 -35
- package/dist/index.js.map +1 -1
- package/dist/session-state.d.ts +6 -10
- package/dist/session-state.d.ts.map +1 -1
- package/dist/session-state.js +7 -15
- package/dist/session-state.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAgDjD,eAAO,MAAM,yBAAyB,EAAE,MA4JvC,CAAA;AAGD,eAAe,yBAAyB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import * as path from 'node:path';
|
|
2
2
|
import { loadRepoInstructions, loadPathInstructions } from './loader';
|
|
3
3
|
import { SessionState } from './session-state';
|
|
4
|
+
/**
|
|
5
|
+
* Type guard to check if an event is a session.compacted event.
|
|
6
|
+
* Narrows the Event union type to EventSessionCompacted.
|
|
7
|
+
*/
|
|
8
|
+
function isSessionCompactedEvent(event) {
|
|
9
|
+
return event.type === 'session.compacted';
|
|
10
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* Convert an absolute path to a relative path from the given directory.
|
|
6
13
|
* If the path is already relative, returns it as-is.
|
|
@@ -69,47 +76,28 @@ export const CopilotInstructionsPlugin = async (ctx) => {
|
|
|
69
76
|
// Encapsulated state management
|
|
70
77
|
const state = new SessionState();
|
|
71
78
|
return {
|
|
72
|
-
// Listen for session
|
|
79
|
+
// Listen for session events
|
|
73
80
|
event: async ({ event }) => {
|
|
74
81
|
// Log all events for debugging
|
|
75
82
|
log(`Event received: ${event.type}`, 'debug');
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
path: { id: sessionId },
|
|
89
|
-
body: {
|
|
90
|
-
noReply: true,
|
|
91
|
-
parts: [{
|
|
92
|
-
type: 'text',
|
|
93
|
-
text: `## Copilot Custom Instructions\n\n${repoInstructions}`
|
|
94
|
-
}]
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
log(`Successfully injected repo instructions into session ${sessionId}`);
|
|
98
|
-
}
|
|
99
|
-
catch (err) {
|
|
100
|
-
log(`Failed to inject repo instructions: ${err}`);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else if (!sessionId) {
|
|
104
|
-
log(`No sessionId found in event.properties`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
83
|
+
// Clear path-specific injection state on compaction to allow re-injection
|
|
84
|
+
if (isSessionCompactedEvent(event)) {
|
|
85
|
+
const sessionId = event.properties.sessionID;
|
|
86
|
+
log(`session.compacted event received for session ${sessionId}`);
|
|
87
|
+
state.clearSession(sessionId);
|
|
88
|
+
log(`Cleared path-specific injection state for session ${sessionId}, instructions will be re-injected on next file access`);
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
// Inject repo-wide instructions into the system prompt on every LLM call
|
|
92
|
+
'experimental.chat.system.transform': async (_input, output) => {
|
|
93
|
+
if (repoInstructions) {
|
|
94
|
+
output.system.push(`Instructions from: .github/copilot-instructions.md\n${repoInstructions}`);
|
|
107
95
|
}
|
|
108
96
|
},
|
|
109
97
|
// Preserve repo-wide instructions during compaction
|
|
110
98
|
'experimental.session.compacting': async (_input, output) => {
|
|
111
99
|
if (repoInstructions) {
|
|
112
|
-
output.context.push(
|
|
100
|
+
output.context.push(`Instructions from: .github/copilot-instructions.md\n${repoInstructions}`);
|
|
113
101
|
}
|
|
114
102
|
},
|
|
115
103
|
'tool.execute.before': async (input, output) => {
|
|
@@ -179,9 +167,7 @@ export const CopilotInstructionsPlugin = async (ctx) => {
|
|
|
179
167
|
}
|
|
180
168
|
// Sync injection state with actual markers in message history
|
|
181
169
|
// This enables re-injection after undo operations
|
|
182
|
-
const clearedFiles = [];
|
|
183
170
|
state.syncWithMarkers(presentMarkers);
|
|
184
|
-
// Note: logging of cleared files now handled internally by SessionState
|
|
185
171
|
}
|
|
186
172
|
};
|
|
187
173
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/session-state.d.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Encapsulates all session-related state for the Copilot Instructions plugin.
|
|
3
3
|
*
|
|
4
|
-
* Manages
|
|
4
|
+
* Manages two types of state:
|
|
5
5
|
* 1. Path instruction injection tracking (with undo support via marker sync)
|
|
6
|
-
* 2.
|
|
7
|
-
* 3. Pending instructions for tool call lifecycle (ephemeral)
|
|
6
|
+
* 2. Pending instructions for tool call lifecycle (ephemeral)
|
|
8
7
|
*/
|
|
9
8
|
export declare class SessionState {
|
|
10
9
|
private injectedPerSession;
|
|
11
|
-
private repoInstructionsInjected;
|
|
12
10
|
private pendingInstructions;
|
|
13
11
|
/**
|
|
14
12
|
* Check if a file has been injected in a session.
|
|
@@ -36,13 +34,11 @@ export declare class SessionState {
|
|
|
36
34
|
*/
|
|
37
35
|
syncWithMarkers(presentMarkers: Set<string>): void;
|
|
38
36
|
/**
|
|
39
|
-
*
|
|
37
|
+
* Clear path-specific injection state for a session.
|
|
38
|
+
* Used when a session is compacted to allow re-injection of instructions.
|
|
39
|
+
* Note: Does not clear pending instructions as they are keyed by callID, not sessionID.
|
|
40
40
|
*/
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Mark repo instructions as injected for a session.
|
|
44
|
-
*/
|
|
45
|
-
markRepoInstructionsInjected(sessionId: string): void;
|
|
41
|
+
clearSession(sessionId: string): void;
|
|
46
42
|
/**
|
|
47
43
|
* Store pending instructions to inject after a tool call completes.
|
|
48
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../src/session-state.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../src/session-state.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,qBAAa,YAAY;IAGvB,OAAO,CAAC,kBAAkB,CAAiC;IAI3D,OAAO,CAAC,mBAAmB,CAA4B;IAIvD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAKxD;;OAEG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IASvD;;;OAGG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKtD;;;OAGG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAKhD;;;;;OAKG;IACH,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI;IAWlD;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMrC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9C;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAOnD"}
|
package/dist/session-state.js
CHANGED
|
@@ -2,17 +2,14 @@ import * as path from 'node:path';
|
|
|
2
2
|
/**
|
|
3
3
|
* Encapsulates all session-related state for the Copilot Instructions plugin.
|
|
4
4
|
*
|
|
5
|
-
* Manages
|
|
5
|
+
* Manages two types of state:
|
|
6
6
|
* 1. Path instruction injection tracking (with undo support via marker sync)
|
|
7
|
-
* 2.
|
|
8
|
-
* 3. Pending instructions for tool call lifecycle (ephemeral)
|
|
7
|
+
* 2. Pending instructions for tool call lifecycle (ephemeral)
|
|
9
8
|
*/
|
|
10
9
|
export class SessionState {
|
|
11
10
|
// Track which instruction files have been injected per session
|
|
12
11
|
// Map<sessionID, Set<instructionFilePath>>
|
|
13
12
|
injectedPerSession = new Map();
|
|
14
|
-
// Track sessions where repo-wide instructions have been injected
|
|
15
|
-
repoInstructionsInjected = new Set();
|
|
16
13
|
// Track pending instructions to inject per tool call (ephemeral)
|
|
17
14
|
// Map<callID, instructionText>
|
|
18
15
|
pendingInstructions = new Map();
|
|
@@ -67,18 +64,13 @@ export class SessionState {
|
|
|
67
64
|
}
|
|
68
65
|
}
|
|
69
66
|
}
|
|
70
|
-
// --- Repo instruction tracking ---
|
|
71
67
|
/**
|
|
72
|
-
*
|
|
68
|
+
* Clear path-specific injection state for a session.
|
|
69
|
+
* Used when a session is compacted to allow re-injection of instructions.
|
|
70
|
+
* Note: Does not clear pending instructions as they are keyed by callID, not sessionID.
|
|
73
71
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Mark repo instructions as injected for a session.
|
|
79
|
-
*/
|
|
80
|
-
markRepoInstructionsInjected(sessionId) {
|
|
81
|
-
this.repoInstructionsInjected.add(sessionId);
|
|
72
|
+
clearSession(sessionId) {
|
|
73
|
+
this.injectedPerSession.delete(sessionId);
|
|
82
74
|
}
|
|
83
75
|
// --- Pending instructions (tool call lifecycle) ---
|
|
84
76
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../src/session-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC
|
|
1
|
+
{"version":3,"file":"session-state.js","sourceRoot":"","sources":["../src/session-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC;;;;;;GAMG;AACH,MAAM,OAAO,YAAY;IACvB,+DAA+D;IAC/D,2CAA2C;IACnC,kBAAkB,GAAG,IAAI,GAAG,EAAuB,CAAA;IAE3D,iEAAiE;IACjE,+BAA+B;IACvB,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEvD,oCAAoC;IAEpC;;OAEG;IACH,cAAc,CAAC,SAAiB,EAAE,IAAY;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3D,OAAO,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,SAAiB,EAAE,IAAY;QAC9C,IAAI,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,GAAG,EAAU,CAAA;YAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACtD,CAAC;QACD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,SAAiB,EAAE,IAAY;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3D,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,SAAiB;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;QAC3D,OAAO,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,cAA2B;QACzC,KAAK,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAClC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAiB;QAC5B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC;IAED,qDAAqD;IAErD;;OAEG;IACH,UAAU,CAAC,MAAc,EAAE,IAAY;QACrC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,MAAc;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACjD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ekroon/opencode-copilot-instructions",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
24
|
"build": "tsc",
|
|
25
|
-
"test": "vitest run --exclude src/e2e.test.ts",
|
|
26
|
-
"test:watch": "vitest --exclude src/e2e.test.ts",
|
|
27
|
-
"test:e2e": "vitest run src/e2e.test.ts",
|
|
28
|
-
"test:e2e:full": "OPENCODE_E2E=true vitest run src/e2e.test.ts",
|
|
29
|
-
"test:all": "vitest run"
|
|
25
|
+
"test": "vitest run --exclude src/e2e.test.ts --exclude '.vendor/**'",
|
|
26
|
+
"test:watch": "vitest --exclude src/e2e.test.ts --exclude '.vendor/**'",
|
|
27
|
+
"test:e2e": "vitest run src/e2e.test.ts --exclude '.vendor/**'",
|
|
28
|
+
"test:e2e:full": "OPENCODE_E2E=true vitest run src/e2e.test.ts --exclude '.vendor/**'",
|
|
29
|
+
"test:all": "vitest run --exclude '.vendor/**'"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"front-matter": "^4.0.2",
|