@gramatr/opencode-plugin 0.22.11 → 0.22.12
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 +42 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAYH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1F,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AACzF,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnF,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,qBAAqB,CAAC,EAAE,wBAAwB,CAAC;IACjD,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;IAC/C,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,iCAAiC,CAAC,EAAE,iBAAiB,CAAC;IACtD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAoF9B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,EAAE,MAyL3B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,39 @@
|
|
|
31
31
|
*
|
|
32
32
|
* Source-of-truth manifest: contracts/mcp/opencode-plugin-manifest.yaml
|
|
33
33
|
*/
|
|
34
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
35
|
+
import { dirname, join } from 'node:path';
|
|
36
|
+
import { fileURLToPath } from 'node:url';
|
|
37
|
+
// ── Typed helpers ─────────────────────────────────────────────────────────────
|
|
38
|
+
/**
|
|
39
|
+
* Installed plugin version (#3355) — baked into the route_request guidance so the
|
|
40
|
+
* agent passes client_version + client_type='opencode', letting the server compute
|
|
41
|
+
* manifest.update_available for the OpenCode channel. OpenCode does not expose a
|
|
42
|
+
* typed client.callTool yet (see file header), so the plugin can't emit
|
|
43
|
+
* route_request directly; the version travels through the guidance the agent acts
|
|
44
|
+
* on. Resolved from the bundled package.json (shipped alongside dist/index.js).
|
|
45
|
+
* Falls back to undefined so the guidance simply omits the version when unreadable.
|
|
46
|
+
*/
|
|
47
|
+
function resolvePluginVersion() {
|
|
48
|
+
try {
|
|
49
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
50
|
+
for (const candidate of [
|
|
51
|
+
join(here, '..', 'package.json'),
|
|
52
|
+
join(here, '..', '..', 'package.json'),
|
|
53
|
+
]) {
|
|
54
|
+
if (existsSync(candidate)) {
|
|
55
|
+
const pkg = JSON.parse(readFileSync(candidate, 'utf8'));
|
|
56
|
+
if (typeof pkg.version === 'string' && pkg.version)
|
|
57
|
+
return pkg.version;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
/* unreadable — omit version from guidance */
|
|
63
|
+
}
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
const PLUGIN_VERSION = resolvePluginVersion();
|
|
34
67
|
/** Narrowing guard — checks if `client` exposes the session.prompt API. */
|
|
35
68
|
function hasSessionPrompt(client) {
|
|
36
69
|
return (typeof client === 'object' &&
|
|
@@ -133,10 +166,18 @@ export const GramatrPlugin = async ({ project, client, directory }) => {
|
|
|
133
166
|
// When @opencode-ai/plugin adds client.callTool support, replace this block with:
|
|
134
167
|
// const packet = await client.callTool('route_request', { prompt: messageText, session_id: sessionId });
|
|
135
168
|
// await injectGuidance(client, sessionId, JSON.stringify(packet));
|
|
169
|
+
// #3355 — instruct the agent to pass client_type='opencode' and the baked
|
|
170
|
+
// plugin version as client_version, so the server can surface
|
|
171
|
+
// manifest.update_available for the OpenCode channel. The plugin can't emit
|
|
172
|
+
// route_request itself yet (no typed client.callTool), so the version rides
|
|
173
|
+
// in the guidance. Omit the client_version line when the version is unknown.
|
|
174
|
+
const clientFields = PLUGIN_VERSION
|
|
175
|
+
? `client_type='opencode', client_version='${PLUGIN_VERSION}'`
|
|
176
|
+
: `client_type='opencode'`;
|
|
136
177
|
const routeGuidance = [
|
|
137
178
|
'## grāmatr intelligence contract',
|
|
138
179
|
'',
|
|
139
|
-
`Call \`route_request\` with the following prompt before responding:`,
|
|
180
|
+
`Call \`route_request\` (with ${clientFields}) and the following prompt before responding:`,
|
|
140
181
|
'',
|
|
141
182
|
'```',
|
|
142
183
|
messageText.slice(0, 500),
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gramatr/opencode-plugin",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.12",
|
|
4
4
|
"description": "grāmatr lifecycle plugin for OpenCode — maps OpenCode plugin events to grāmatr hooks via the connected MCP client (route_request injection, session continuity, git-gate).",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"publishConfig": {
|