@gramatr/mcp 0.13.79 → 0.13.80
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/bin/setup-platforms.d.ts.map +1 -1
- package/dist/bin/setup-platforms.js +8 -2
- package/dist/bin/setup-platforms.js.map +1 -1
- package/dist/hooks/lib/client-runtime.d.ts +3 -3
- package/dist/hooks/lib/client-runtime.d.ts.map +1 -1
- package/dist/hooks/lib/client-runtime.js +10 -1
- package/dist/hooks/lib/client-runtime.js.map +1 -1
- package/dist/setup/examples/gramatr-opencode-plugin.d.ts +20 -38
- package/dist/setup/examples/gramatr-opencode-plugin.d.ts.map +1 -1
- package/dist/setup/examples/gramatr-opencode-plugin.js +192 -121
- package/dist/setup/examples/gramatr-opencode-plugin.js.map +1 -1
- package/dist/setup/instructions.d.ts +2 -0
- package/dist/setup/instructions.d.ts.map +1 -1
- package/dist/setup/instructions.js +32 -2
- package/dist/setup/instructions.js.map +1 -1
- package/dist/setup/targets.d.ts +2 -0
- package/dist/setup/targets.d.ts.map +1 -1
- package/dist/setup/targets.js +181 -0
- package/dist/setup/targets.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-platforms.d.ts","sourceRoot":"","sources":["../../src/bin/setup-platforms.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,EAIL,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-platforms.d.ts","sourceRoot":"","sources":["../../src/bin/setup-platforms.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,EAIL,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAoDlC,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAsBrE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAM5G;AAED,wBAAgB,UAAU,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CA+CpE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAkB5F;AAED,wBAAgB,WAAW,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CA2BrE;AAED,wBAAgB,aAAa,CAAC,MAAM,UAAQ,EAAE,WAAW,UAAQ,GAAG,IAAI,CAgCvE;AAED,wBAAsB,QAAQ,CAAC,MAAM,GAAE,YAAY,GAAG,aAAa,GAAG,YAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmChH"}
|
|
@@ -9,7 +9,7 @@ import { join, dirname } from 'node:path';
|
|
|
9
9
|
import { getGramatrDirFromEnv, getGramatrUrlFromEnv } from '../config-runtime.js';
|
|
10
10
|
import { buildCodexHooksFile, ensureCodexHooksFeature, mergeManagedHooks, } from '../setup/integrations.js';
|
|
11
11
|
import { CODEX_BLOCK_END, CODEX_BLOCK_START, CODEX_GUIDANCE, buildInstallPromptSuggestion, } from '../setup/instructions.js';
|
|
12
|
-
import { buildGeminiExtensionManifest, buildGeminiHooksFile, buildLocalMcpServerEntry, buildOpenCodeMcpServerEntry, getGeminiExtensionDir, getGeminiHooksPath, getGeminiManifestPath, getOpenCodeConfigPath, mergeMcpServerConfig, mergeOpenCodeMcpConfig, } from '../setup/targets.js';
|
|
12
|
+
import { buildGeminiExtensionManifest, buildGeminiHooksFile, buildLocalMcpServerEntry, buildOpenCodeMcpServerEntry, buildOpenCodePlugin, getGeminiExtensionDir, getGeminiHooksPath, getGeminiManifestPath, getOpenCodeConfigPath, getOpenCodePluginPath, mergeMcpServerConfig, mergeOpenCodeMcpConfig, } from '../setup/targets.js';
|
|
13
13
|
import { buildConnectorInstructions, buildPromptSuggestion, validateServerReachability, } from '../setup/web-connector.js';
|
|
14
14
|
import { deployPlatformBinary, resolveBinaryPath, writeHookWrappers } from './setup-shared.js';
|
|
15
15
|
import { readJsonFile, readClaudeConfig, escapeRegExp, upsertManagedBlock, ensureLocalSettings, getCodexHooksPath, getCodexConfigPath, getCodexAgentsPath, HOME, } from './setup-config-io.js';
|
|
@@ -144,18 +144,24 @@ export function setupOpenCode(dryRun = false, showPrompts = false) {
|
|
|
144
144
|
// OpenCode stores its config as JSON with an mcp section (similar to Cursor/VS Code)
|
|
145
145
|
const current = readJsonFile(configPath, {});
|
|
146
146
|
const next = mergeOpenCodeMcpConfig(current, mcpEntry);
|
|
147
|
+
const pluginSource = buildOpenCodePlugin();
|
|
148
|
+
const pluginPath = getOpenCodePluginPath(HOME);
|
|
147
149
|
if (dryRun) {
|
|
148
150
|
process.stderr.write('[gramatr] Dry run — would write OpenCode config to: ' + configPath + '\n');
|
|
149
151
|
process.stderr.write(JSON.stringify(next, null, 2) + '\n');
|
|
152
|
+
process.stderr.write(`[gramatr] Dry run — would write OpenCode plugin to: ${pluginPath}\n`);
|
|
153
|
+
process.stderr.write(pluginSource.split('\n').slice(0, 10).join('\n') + '\n');
|
|
150
154
|
if (showPrompts)
|
|
151
155
|
emitInstallPromptSuggestion('opencode');
|
|
152
156
|
return;
|
|
153
157
|
}
|
|
154
158
|
mkdirSync(dirname(configPath), { recursive: true });
|
|
159
|
+
mkdirSync(dirname(pluginPath), { recursive: true });
|
|
155
160
|
ensureLocalSettings();
|
|
156
161
|
writeFileSync(configPath, JSON.stringify(next, null, 2) + '\n', 'utf8');
|
|
162
|
+
writeFileSync(pluginPath, pluginSource, 'utf8');
|
|
157
163
|
process.stderr.write(`[gramatr] Configured OpenCode MCP server in ${configPath}\n`);
|
|
158
|
-
process.stderr.write(
|
|
164
|
+
process.stderr.write(`[gramatr] Deployed OpenCode plugin to ${pluginPath}\n`);
|
|
159
165
|
process.stderr.write('[gramatr] Restart OpenCode to pick up the change.\n');
|
|
160
166
|
if (showPrompts)
|
|
161
167
|
emitInstallPromptSuggestion('opencode');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-platforms.js","sourceRoot":"","sources":["../../src/bin/setup-platforms.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"setup-platforms.js","sourceRoot":"","sources":["../../src/bin/setup-platforms.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export interface HookClientRuntime {
|
|
2
|
-
clientType: 'claude_code' | 'codex' | 'gemini_cli';
|
|
3
|
-
agentName: 'Claude Code' | 'Codex' | 'Gemini CLI';
|
|
4
|
-
modeFlag: '--claude-code' | '--codex' | '--gemini';
|
|
2
|
+
clientType: 'claude_code' | 'codex' | 'gemini_cli' | 'opencode';
|
|
3
|
+
agentName: 'Claude Code' | 'Codex' | 'Gemini CLI' | 'OpenCode';
|
|
4
|
+
modeFlag: '--claude-code' | '--codex' | '--gemini' | '--opencode';
|
|
5
5
|
/** Slash command to clear context in this client, or null if unsupported. */
|
|
6
6
|
clearCommand: '/clear' | null;
|
|
7
7
|
/** True when the client supports a hook-driven clear cycle (inject message → user runs clearCommand). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-runtime.d.ts","sourceRoot":"","sources":["../../../src/hooks/lib/client-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,aAAa,GAAG,OAAO,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"client-runtime.d.ts","sourceRoot":"","sources":["../../../src/hooks/lib/client-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC;IAChE,SAAS,EAAE,aAAa,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,CAAC;IAC/D,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAAC;IAClE,6EAA6E;IAC7E,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC9B,yGAAyG;IACzG,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,iBAAiB,CAyC/E"}
|
|
@@ -26,7 +26,16 @@ export function resolveHookClientRuntime(args = []) {
|
|
|
26
26
|
supportsHookedClear: true,
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
if (args.includes('--opencode')) {
|
|
30
|
+
return {
|
|
31
|
+
clientType: 'opencode',
|
|
32
|
+
agentName: 'OpenCode',
|
|
33
|
+
modeFlag: '--opencode',
|
|
34
|
+
clearCommand: null,
|
|
35
|
+
supportsHookedClear: false,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
29
38
|
// gramatr-allow: B1 — hook entry point, no @gramatr/core dependency in thin CLI shim
|
|
30
|
-
throw new Error('Missing client runtime flag. Pass --claude-code, --codex, or --
|
|
39
|
+
throw new Error('Missing client runtime flag. Pass --claude-code, --codex, --gemini, or --opencode to identify the calling agent.');
|
|
31
40
|
}
|
|
32
41
|
//# sourceMappingURL=client-runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-runtime.js","sourceRoot":"","sources":["../../../src/hooks/lib/client-runtime.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,wBAAwB,CAAC,OAAiB,EAAE;IAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,QAAQ;YACtB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,UAAU,EAAE,YAAY;YACxB,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,KAAK;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,QAAQ;YACtB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IACD,qFAAqF;IACrF,MAAM,IAAI,KAAK,CACb,
|
|
1
|
+
{"version":3,"file":"client-runtime.js","sourceRoot":"","sources":["../../../src/hooks/lib/client-runtime.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,wBAAwB,CAAC,OAAiB,EAAE;IAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,UAAU,EAAE,OAAO;YACnB,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,QAAQ;YACtB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,UAAU,EAAE,YAAY;YACxB,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,KAAK;SAC3B,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,eAAe;YACzB,YAAY,EAAE,QAAQ;YACtB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,UAAU,EAAE,UAAU;YACtB,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,IAAI;YAClB,mBAAmB,EAAE,KAAK;SAC3B,CAAC;IACJ,CAAC;IACD,qFAAqF;IACrF,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;AACJ,CAAC"}
|
|
@@ -1,45 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* gramatr OpenCode Plugin
|
|
2
|
+
* gramatr OpenCode Plugin — Deployed Implementation
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* This is the deployed plugin written to ~/.config/opencode/plugins/gramatr.ts
|
|
5
|
+
* by `gramatr setup opencode`. It maps OpenCode's plugin lifecycle events to
|
|
6
|
+
* gramatr hook invocations using the canonical `gramatr-hook` shell wrapper at
|
|
7
|
+
* ~/.gramatr/bin/gramatr-hook (resolves gramatr binary → global > local > npx).
|
|
6
8
|
*
|
|
7
|
-
*
|
|
8
|
-
* it in your opencode.json config.
|
|
9
|
-
*
|
|
10
|
-
* This is a scaffold with TODO comments — not a full implementation.
|
|
11
|
-
* Each event handler shows which gramatr hook logic to invoke.
|
|
9
|
+
* Do NOT use Bun's $ API or npx directly — always invoke via gramatr-hook.
|
|
12
10
|
*/
|
|
13
|
-
interface OpenCodePluginContext {
|
|
14
|
-
sessionId: string;
|
|
15
|
-
projectDir: string;
|
|
16
|
-
config: Record<string, unknown>;
|
|
17
|
-
}
|
|
18
|
-
interface OpenCodeToolCall {
|
|
19
|
-
name: string;
|
|
20
|
-
input: Record<string, unknown>;
|
|
21
|
-
output?: unknown;
|
|
22
|
-
}
|
|
23
|
-
interface OpenCodePlugin {
|
|
24
|
-
name: string;
|
|
25
|
-
version: string;
|
|
26
|
-
description: string;
|
|
27
|
-
'session.created'?: (ctx: OpenCodePluginContext) => Promise<void>;
|
|
28
|
-
'session.updated'?: (ctx: OpenCodePluginContext) => Promise<void>;
|
|
29
|
-
'session.idle'?: (ctx: OpenCodePluginContext) => Promise<void>;
|
|
30
|
-
'tool.execute.before'?: (ctx: OpenCodePluginContext, tool: OpenCodeToolCall) => Promise<OpenCodeToolCall>;
|
|
31
|
-
'tool.execute.after'?: (ctx: OpenCodePluginContext, tool: OpenCodeToolCall) => Promise<void>;
|
|
32
|
-
}
|
|
33
11
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* tool.execute.before -> gramatr agent-gate + input-validator (pre-tool checks)
|
|
39
|
-
* tool.execute.after -> gramatr tool-tracker (post-tool telemetry)
|
|
40
|
-
* session.idle -> gramatr stop (classification feedback on idle)
|
|
41
|
-
* session.updated -> gramatr session-end (persist session state)
|
|
12
|
+
* Minimal Plugin type shape from @opencode-ai/plugin.
|
|
13
|
+
* Defined locally so this file compiles without the external package installed.
|
|
14
|
+
* When deployed to ~/.config/opencode/plugins/gramatr.ts, OpenCode resolves the
|
|
15
|
+
* real type from its own runtime.
|
|
42
16
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
17
|
+
type PluginContext = {
|
|
18
|
+
project?: unknown;
|
|
19
|
+
client?: unknown;
|
|
20
|
+
directory?: string;
|
|
21
|
+
worktree?: unknown;
|
|
22
|
+
$?: unknown;
|
|
23
|
+
};
|
|
24
|
+
type Plugin = (ctx: PluginContext) => Promise<Record<string, ((...args: unknown[]) => Promise<unknown>) | undefined>>;
|
|
25
|
+
export declare const GramatrPlugin: Plugin;
|
|
26
|
+
export {};
|
|
45
27
|
//# sourceMappingURL=gramatr-opencode-plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gramatr-opencode-plugin.d.ts","sourceRoot":"","sources":["../../../src/setup/examples/gramatr-opencode-plugin.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"gramatr-opencode-plugin.d.ts","sourceRoot":"","sources":["../../../src/setup/examples/gramatr-opencode-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH;;;;;GAKG;AACH,KAAK,aAAa,GAAG;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,CAAC,EAAE,OAAO,CAAC;CACb,CAAC;AACF,KAAK,MAAM,GAAG,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAoCtH,eAAO,MAAM,aAAa,EAAE,MA4K3B,CAAC"}
|
|
@@ -1,129 +1,200 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* gramatr OpenCode Plugin
|
|
2
|
+
* gramatr OpenCode Plugin — Deployed Implementation
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* This is the deployed plugin written to ~/.config/opencode/plugins/gramatr.ts
|
|
5
|
+
* by `gramatr setup opencode`. It maps OpenCode's plugin lifecycle events to
|
|
6
|
+
* gramatr hook invocations using the canonical `gramatr-hook` shell wrapper at
|
|
7
|
+
* ~/.gramatr/bin/gramatr-hook (resolves gramatr binary → global > local > npx).
|
|
6
8
|
*
|
|
7
|
-
*
|
|
8
|
-
* it in your opencode.json config.
|
|
9
|
-
*
|
|
10
|
-
* This is a scaffold with TODO comments — not a full implementation.
|
|
11
|
-
* Each event handler shows which gramatr hook logic to invoke.
|
|
9
|
+
* Do NOT use Bun's $ API or npx directly — always invoke via gramatr-hook.
|
|
12
10
|
*/
|
|
11
|
+
import { execSync } from 'node:child_process';
|
|
12
|
+
import { homedir } from 'node:os';
|
|
13
|
+
const GRAMATR_DIR = process.env['GRAMATR_DIR'] ?? `${homedir()}/.gramatr`;
|
|
14
|
+
const HOOK_BIN = `${GRAMATR_DIR}/bin/gramatr-hook`;
|
|
13
15
|
/**
|
|
14
|
-
* gramatr
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* session.created -> gramatr session-start (restore session context + handoff)
|
|
18
|
-
* tool.execute.before -> gramatr agent-gate + input-validator (pre-tool checks)
|
|
19
|
-
* tool.execute.after -> gramatr tool-tracker (post-tool telemetry)
|
|
20
|
-
* session.idle -> gramatr stop (classification feedback on idle)
|
|
21
|
-
* session.updated -> gramatr session-end (persist session state)
|
|
16
|
+
* Invoke a gramatr hook by name, passing JSON as stdin.
|
|
17
|
+
* Returns the hook's stdout (trimmed) or empty string on error/no output.
|
|
18
|
+
* Errors are caught and logged to stderr — hooks never throw and block OpenCode.
|
|
22
19
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
20
|
+
function hook(name, stdinPayload) {
|
|
21
|
+
try {
|
|
22
|
+
const result = execSync(`${HOOK_BIN} ${name} --opencode`, {
|
|
23
|
+
input: JSON.stringify(stdinPayload),
|
|
24
|
+
env: { ...process.env, GRAMATR_DIR },
|
|
25
|
+
timeout: 15_000,
|
|
26
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
27
|
+
});
|
|
28
|
+
return result.toString().trim();
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
32
|
+
process.stderr.write(`[gramatr] hook ${name} error: ${msg}\n`);
|
|
33
|
+
return '';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/** Parse a hook stdout string as JSON, returning null on failure. */
|
|
37
|
+
function parseJson(raw) {
|
|
38
|
+
if (!raw || raw === '{}')
|
|
39
|
+
return null;
|
|
40
|
+
try {
|
|
41
|
+
return JSON.parse(raw);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export const GramatrPlugin = async ({ project, client, directory }) => {
|
|
48
|
+
// Session ID captured once session.created fires; used by all subsequent handlers.
|
|
49
|
+
let sessionId = 'unknown';
|
|
50
|
+
// Track seen message IDs to avoid re-firing user-prompt-submit on edits.
|
|
51
|
+
const seenMessageIds = new Set();
|
|
52
|
+
/** Inject text into the session via client.session.prompt if client supports it. */
|
|
53
|
+
async function injectText(text) {
|
|
54
|
+
if (!text || text === '{}')
|
|
55
|
+
return;
|
|
56
|
+
try {
|
|
57
|
+
await client.session.prompt({
|
|
58
|
+
path: { id: sessionId },
|
|
59
|
+
body: { noReply: true, parts: [{ type: 'text', text }] },
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
process.stderr.write(`[gramatr] injection failed\n`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
/**
|
|
68
|
+
* session.created — Initialize gramatr session context.
|
|
69
|
+
* Equivalent to SessionStart hook in Claude Code / Codex.
|
|
70
|
+
*/
|
|
71
|
+
'session.created': async (event) => {
|
|
72
|
+
const evtSessionId = event.sessionId ?? 'unknown';
|
|
73
|
+
sessionId = evtSessionId;
|
|
74
|
+
const stdout = hook('session-start', {
|
|
75
|
+
session_id: sessionId,
|
|
76
|
+
project_dir: project?.dir ?? directory ?? '',
|
|
77
|
+
});
|
|
78
|
+
await injectText(stdout);
|
|
79
|
+
},
|
|
80
|
+
/**
|
|
81
|
+
* message.updated — Route new user messages through gramatr intelligence.
|
|
82
|
+
* Equivalent to UserPromptSubmit hook.
|
|
83
|
+
* Only fires for user-role messages and only once per message ID (dedup).
|
|
84
|
+
*/
|
|
85
|
+
'message.updated': async (event) => {
|
|
86
|
+
const evt = event;
|
|
87
|
+
const role = evt.properties?.role;
|
|
88
|
+
if (role !== 'user')
|
|
89
|
+
return;
|
|
90
|
+
const msgId = evt.properties?.id;
|
|
91
|
+
if (msgId) {
|
|
92
|
+
if (seenMessageIds.has(msgId))
|
|
93
|
+
return;
|
|
94
|
+
seenMessageIds.add(msgId);
|
|
95
|
+
}
|
|
96
|
+
// Extract text content from message parts.
|
|
97
|
+
const parts = evt.properties?.parts ?? [];
|
|
98
|
+
const messageText = parts
|
|
99
|
+
.filter((p) => p.type === 'text')
|
|
100
|
+
.map((p) => p.text ?? '')
|
|
101
|
+
.join('\n')
|
|
102
|
+
.trim();
|
|
103
|
+
if (!messageText)
|
|
104
|
+
return;
|
|
105
|
+
const stdout = hook('user-prompt-submit', {
|
|
106
|
+
prompt: messageText,
|
|
107
|
+
session_id: sessionId,
|
|
108
|
+
});
|
|
109
|
+
await injectText(stdout);
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* tool.execute.before — Pre-tool validation and gate checks.
|
|
113
|
+
* Equivalent to PreToolUse hooks (agent-gate, input-validator, git-gate, edit-tracker).
|
|
114
|
+
*/
|
|
115
|
+
'tool.execute.before': async (input, _output) => {
|
|
116
|
+
const inp = input;
|
|
117
|
+
const toolName = inp.tool ?? '';
|
|
118
|
+
const toolInput = inp.args ?? {};
|
|
119
|
+
const payload = { tool_name: toolName, tool_input: toolInput };
|
|
120
|
+
const dispatch = [];
|
|
121
|
+
if (toolName === 'bash' || toolName === 'shell') {
|
|
122
|
+
dispatch.push('git-gate', 'input-validator');
|
|
123
|
+
}
|
|
124
|
+
else if (toolName === 'edit' || toolName === 'write') {
|
|
125
|
+
dispatch.push('input-validator', 'edit-tracker');
|
|
126
|
+
}
|
|
127
|
+
else if (toolName === 'agent') {
|
|
128
|
+
dispatch.push('agent-gate');
|
|
129
|
+
}
|
|
130
|
+
else if (toolName.includes('gramatr')) {
|
|
131
|
+
dispatch.push('input-validator');
|
|
132
|
+
}
|
|
133
|
+
for (const hookName of dispatch) {
|
|
134
|
+
const stdout = hook(hookName, payload);
|
|
135
|
+
const parsed = parseJson(stdout);
|
|
136
|
+
if (parsed?.['decision'] === 'block') {
|
|
137
|
+
const reason = typeof parsed['reason'] === 'string' ? parsed['reason'] : `Blocked by ${hookName}`;
|
|
138
|
+
// gramatr-allow: B1 — deployed plugin file, no @gramatr/core dependency
|
|
139
|
+
throw new Error(reason);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
/**
|
|
144
|
+
* tool.execute.after — Post-tool telemetry.
|
|
145
|
+
* Equivalent to PostToolUse hook (tool-tracker, agent-verify).
|
|
146
|
+
*/
|
|
147
|
+
'tool.execute.after': async (input, output) => {
|
|
148
|
+
const inp = input;
|
|
149
|
+
const toolName = inp.tool ?? '';
|
|
150
|
+
const toolInput = inp.args ?? {};
|
|
151
|
+
const payload = { tool_name: toolName, tool_input: toolInput, tool_output: output };
|
|
152
|
+
if (toolName === 'agent') {
|
|
153
|
+
hook('agent-verify', payload);
|
|
154
|
+
}
|
|
155
|
+
else if (toolName.includes('gramatr')) {
|
|
156
|
+
hook('tool-tracker', payload);
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
/**
|
|
160
|
+
* session.idle — Submit classification feedback and end session.
|
|
161
|
+
* Equivalent to Stop + SessionEnd hooks.
|
|
162
|
+
*/
|
|
163
|
+
'session.idle': async (_event) => {
|
|
164
|
+
const payload = { session_id: sessionId };
|
|
165
|
+
hook('stop', payload);
|
|
166
|
+
hook('session-end', payload);
|
|
167
|
+
},
|
|
168
|
+
/**
|
|
169
|
+
* session.compacted — Notify gramatr of context compaction.
|
|
170
|
+
*/
|
|
171
|
+
'session.compacted': async (_event) => {
|
|
172
|
+
hook('compact', { session_id: sessionId });
|
|
173
|
+
},
|
|
174
|
+
/**
|
|
175
|
+
* experimental.session.compacting — Inject gramatr continuation context.
|
|
176
|
+
* Appends an instruction block to preserve gramatr state across compaction.
|
|
177
|
+
*/
|
|
178
|
+
'experimental.session.compacting': async (_input, output) => {
|
|
179
|
+
const out = output;
|
|
180
|
+
const continuationBlock = [
|
|
181
|
+
'',
|
|
182
|
+
'## gramatr session continuity',
|
|
183
|
+
'Preserve the following gramatr state across this compaction:',
|
|
184
|
+
'- Active session ID and project_id (do not reset)',
|
|
185
|
+
'- Open tasks and their statuses (open/in_progress/blocked/review)',
|
|
186
|
+
'- Recent decisions and their rationale',
|
|
187
|
+
'- Classification feedback state for the current session',
|
|
188
|
+
'- Any pending Quality Gate criteria not yet verified',
|
|
189
|
+
'Resume the gramatr intelligence contract (gmtr.intelligence.contract.v2) on the next turn.',
|
|
190
|
+
].join('\n');
|
|
191
|
+
if (typeof out.context === 'string') {
|
|
192
|
+
out.context += continuationBlock;
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
out.context = continuationBlock;
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
};
|
|
127
199
|
};
|
|
128
|
-
export default gramatrPlugin;
|
|
129
200
|
//# sourceMappingURL=gramatr-opencode-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gramatr-opencode-plugin.js","sourceRoot":"","sources":["../../../src/setup/examples/gramatr-opencode-plugin.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"gramatr-opencode-plugin.js","sourceRoot":"","sources":["../../../src/setup/examples/gramatr-opencode-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,4 +6,6 @@ export type InstallPromptTarget = 'claude-code' | 'codex' | 'gemini-cli' | 'open
|
|
|
6
6
|
export declare const CLAUDE_CODE_GUIDANCE: string;
|
|
7
7
|
export declare const CODEX_GUIDANCE: string;
|
|
8
8
|
export declare function buildInstallPromptSuggestion(target: InstallPromptTarget): string;
|
|
9
|
+
export declare function buildOpenCodeInstructions(): string;
|
|
10
|
+
export declare const OPENCODE_GUIDANCE: string;
|
|
9
11
|
//# sourceMappingURL=instructions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/setup/instructions.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,kBAAkB,0BAAkC,CAAC;AAClE,eAAO,MAAM,gBAAgB,wBAAkC,CAAC;AAChE,eAAO,MAAM,iBAAiB,gCAA8B,CAAC;AAC7D,eAAO,MAAM,eAAe,8BAA2B,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,OAAO,GACP,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAab,eAAO,MAAM,oBAAoB,QAiChC,CAAC;AAEF,eAAO,MAAM,cAAc,QA2B1B,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAmBhF"}
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/setup/instructions.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,kBAAkB,0BAAkC,CAAC;AAClE,eAAO,MAAM,gBAAgB,wBAAkC,CAAC;AAChE,eAAO,MAAM,iBAAiB,gCAA8B,CAAC;AAC7D,eAAO,MAAM,eAAe,8BAA2B,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,OAAO,GACP,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAab,eAAO,MAAM,oBAAoB,QAiChC,CAAC;AAEF,eAAO,MAAM,cAAc,QA2B1B,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAmBhF;AAwGD,wBAAgB,yBAAyB,IAAI,MAAM,CA4BlD;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAoC,CAAC"}
|
|
@@ -188,8 +188,38 @@ After non-trivial work, call classification_feedback to train the classifier. In
|
|
|
188
188
|
|
|
189
189
|
Entity types are validated server-side. Call list_entity_types for valid types. Required fields: task/milestone need status, decision needs status + project_id.
|
|
190
190
|
|
|
191
|
-
For continuity questions ("what were we doing?"), call load_handoff then search_semantic for detail.
|
|
191
|
+
For continuity questions ("what were we doing?"), call load_handoff then search_semantic for detail.
|
|
192
192
|
|
|
193
|
-
For common retrieval, prefer execute_intent over chaining low-level tools.`;
|
|
193
|
+
For common retrieval, prefer execute_intent over chaining low-level tools.`;
|
|
194
194
|
}
|
|
195
|
+
export function buildOpenCodeInstructions() {
|
|
196
|
+
return `# gramatr (OpenCode)
|
|
197
|
+
|
|
198
|
+
gramatr is installed. Call \`gramatr_route_request\` before responding to any user message.
|
|
199
|
+
Follow the returned \`gmtr.intelligence.contract.v2\` packet as authoritative.
|
|
200
|
+
Use gramatr MCP tools for memory (search_semantic, create_entity, add_observation) — not local files.
|
|
201
|
+
|
|
202
|
+
${CONTRACT_RULES}
|
|
203
|
+
|
|
204
|
+
${ENTITY_TYPES}
|
|
205
|
+
|
|
206
|
+
${REQUIRED_FIELDS}
|
|
207
|
+
|
|
208
|
+
${QUALITY_GATE_REQUIREMENT}
|
|
209
|
+
|
|
210
|
+
${FEEDBACK_RULES}
|
|
211
|
+
|
|
212
|
+
${SUBAGENT_RULES}
|
|
213
|
+
|
|
214
|
+
${EFFORT_PHASES}
|
|
215
|
+
|
|
216
|
+
${PROJECT_UNRESOLVED}
|
|
217
|
+
|
|
218
|
+
${PROJECT_NEW}
|
|
219
|
+
|
|
220
|
+
${PROJECT_RESUMED}
|
|
221
|
+
|
|
222
|
+
${DEGRADED_MODE}`;
|
|
223
|
+
}
|
|
224
|
+
export const OPENCODE_GUIDANCE = buildOpenCodeInstructions();
|
|
195
225
|
//# sourceMappingURL=instructions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/setup/instructions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/setup/instructions.ts"],"names":[],"mappings":"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"}
|
package/dist/setup/targets.d.ts
CHANGED
|
@@ -55,5 +55,7 @@ export declare function buildLocalMcpServerEntry(home: string, serverUrl: string
|
|
|
55
55
|
export declare function mergeMcpServerConfig(existing: McpJsonConfig, entry: McpCommandServerEntry): McpJsonConfig;
|
|
56
56
|
export declare function mergeOpenCodeMcpConfig(existing: McpJsonConfig, entry: OpenCodeMcpEntry): McpJsonConfig;
|
|
57
57
|
export declare function buildGeminiExtensionManifest(home: string, serverUrl: string): GeminiExtensionManifest;
|
|
58
|
+
export declare function getOpenCodePluginPath(home: string): string;
|
|
59
|
+
export declare function buildOpenCodePlugin(): string;
|
|
58
60
|
export declare function buildGeminiHooksFile(_home: string, _platform?: string): GeminiHooksFile;
|
|
59
61
|
//# sourceMappingURL=targets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/setup/targets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../src/setup/targets.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,MAAM,CAKpG;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAyB,GAAG,MAAM,CAKrG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,MAAyB,GAAG,gBAAgB,CAWnI;AAGD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,mBAAmB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;CAC/C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,MAAyB,GAAG,qBAAqB,CAUrI;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,GAAG,aAAa,CAQzG;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAQtG;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,uBAAuB,CAYrG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAiL5C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,MAAyB,GAAG,eAAe,CA8CzG"}
|
package/dist/setup/targets.js
CHANGED
|
@@ -90,6 +90,187 @@ export function buildGeminiExtensionManifest(home, serverUrl) {
|
|
|
90
90
|
},
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
|
+
export function getOpenCodePluginPath(home) {
|
|
94
|
+
return join(home, '.config', 'opencode', 'plugins', 'gramatr.ts');
|
|
95
|
+
}
|
|
96
|
+
export function buildOpenCodePlugin() {
|
|
97
|
+
return `/**
|
|
98
|
+
* gramatr OpenCode Plugin — Deployed Implementation
|
|
99
|
+
*
|
|
100
|
+
* This is the deployed plugin written to ~/.config/opencode/plugins/gramatr.ts
|
|
101
|
+
* by \`gramatr setup opencode\`. It maps OpenCode's plugin lifecycle events to
|
|
102
|
+
* gramatr hook invocations using the canonical \`gramatr-hook\` shell wrapper at
|
|
103
|
+
* ~/.gramatr/bin/gramatr-hook (resolves gramatr binary → global > local > npx).
|
|
104
|
+
*
|
|
105
|
+
* Do NOT use Bun's $ API or npx directly — always invoke via gramatr-hook.
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
import { execSync } from 'node:child_process';
|
|
109
|
+
import { homedir } from 'node:os';
|
|
110
|
+
import type { Plugin } from '@opencode-ai/plugin';
|
|
111
|
+
|
|
112
|
+
const GRAMATR_DIR = process.env['GRAMATR_DIR'] ?? \`\${homedir()}/.gramatr\`;
|
|
113
|
+
const HOOK_BIN = \`\${GRAMATR_DIR}/bin/gramatr-hook\`;
|
|
114
|
+
|
|
115
|
+
function hook(name: string, stdinPayload: Record<string, unknown>): string {
|
|
116
|
+
try {
|
|
117
|
+
const result = execSync(\`\${HOOK_BIN} \${name} --opencode\`, {
|
|
118
|
+
input: JSON.stringify(stdinPayload),
|
|
119
|
+
env: { ...process.env, GRAMATR_DIR },
|
|
120
|
+
timeout: 15_000,
|
|
121
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
122
|
+
});
|
|
123
|
+
return result.toString().trim();
|
|
124
|
+
} catch (err: unknown) {
|
|
125
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
126
|
+
process.stderr.write(\`[gramatr] hook \${name} error: \${msg}\\n\`);
|
|
127
|
+
return '';
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function parseJson(raw: string): Record<string, unknown> | null {
|
|
132
|
+
if (!raw || raw === '{}') return null;
|
|
133
|
+
try {
|
|
134
|
+
return JSON.parse(raw) as Record<string, unknown>;
|
|
135
|
+
} catch {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export const GramatrPlugin: Plugin = async ({ project, client, directory }) => {
|
|
141
|
+
let sessionId = 'unknown';
|
|
142
|
+
const seenMessageIds = new Set<string>();
|
|
143
|
+
|
|
144
|
+
return {
|
|
145
|
+
'session.created': async (event) => {
|
|
146
|
+
const evtSessionId = (event as { sessionId?: string }).sessionId ?? 'unknown';
|
|
147
|
+
sessionId = evtSessionId;
|
|
148
|
+
const stdout = hook('session-start', {
|
|
149
|
+
session_id: sessionId,
|
|
150
|
+
project_dir: (project as { dir?: string } | undefined)?.dir ?? directory ?? '',
|
|
151
|
+
});
|
|
152
|
+
if (stdout && stdout !== '{}') {
|
|
153
|
+
try {
|
|
154
|
+
await (client as {
|
|
155
|
+
session: {
|
|
156
|
+
prompt: (opts: {
|
|
157
|
+
path: { id: string };
|
|
158
|
+
body: { noReply: boolean; parts: Array<{ type: string; text: string }> };
|
|
159
|
+
}) => Promise<unknown>;
|
|
160
|
+
};
|
|
161
|
+
}).session.prompt({
|
|
162
|
+
path: { id: sessionId },
|
|
163
|
+
body: { noReply: true, parts: [{ type: 'text', text: stdout }] },
|
|
164
|
+
});
|
|
165
|
+
} catch {
|
|
166
|
+
process.stderr.write('[gramatr] session.created injection failed\\n');
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
'message.updated': async (event) => {
|
|
172
|
+
const evt = event as {
|
|
173
|
+
properties?: { role?: string; id?: string; parts?: Array<{ type: string; text?: string }> };
|
|
174
|
+
};
|
|
175
|
+
if (evt.properties?.role !== 'user') return;
|
|
176
|
+
const msgId = evt.properties?.id;
|
|
177
|
+
if (msgId) {
|
|
178
|
+
if (seenMessageIds.has(msgId)) return;
|
|
179
|
+
seenMessageIds.add(msgId);
|
|
180
|
+
}
|
|
181
|
+
const parts = evt.properties?.parts ?? [];
|
|
182
|
+
const messageText = parts.filter((p) => p.type === 'text').map((p) => p.text ?? '').join('\\n').trim();
|
|
183
|
+
if (!messageText) return;
|
|
184
|
+
const stdout = hook('user-prompt-submit', { prompt: messageText, session_id: sessionId });
|
|
185
|
+
if (stdout && stdout !== '{}') {
|
|
186
|
+
try {
|
|
187
|
+
await (client as {
|
|
188
|
+
session: {
|
|
189
|
+
prompt: (opts: {
|
|
190
|
+
path: { id: string };
|
|
191
|
+
body: { noReply: boolean; parts: Array<{ type: string; text: string }> };
|
|
192
|
+
}) => Promise<unknown>;
|
|
193
|
+
};
|
|
194
|
+
}).session.prompt({
|
|
195
|
+
path: { id: sessionId },
|
|
196
|
+
body: { noReply: true, parts: [{ type: 'text', text: stdout }] },
|
|
197
|
+
});
|
|
198
|
+
} catch {
|
|
199
|
+
process.stderr.write('[gramatr] message.updated injection failed\\n');
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
|
|
204
|
+
'tool.execute.before': async (input, _output) => {
|
|
205
|
+
const inp = input as { tool?: string; args?: Record<string, unknown> };
|
|
206
|
+
const toolName = inp.tool ?? '';
|
|
207
|
+
const toolInput = inp.args ?? {};
|
|
208
|
+
const payload = { tool_name: toolName, tool_input: toolInput };
|
|
209
|
+
const dispatch: string[] = [];
|
|
210
|
+
if (toolName === 'bash' || toolName === 'shell') {
|
|
211
|
+
dispatch.push('git-gate', 'input-validator');
|
|
212
|
+
} else if (toolName === 'edit' || toolName === 'write') {
|
|
213
|
+
dispatch.push('input-validator', 'edit-tracker');
|
|
214
|
+
} else if (toolName === 'agent') {
|
|
215
|
+
dispatch.push('agent-gate');
|
|
216
|
+
} else if (toolName.includes('gramatr')) {
|
|
217
|
+
dispatch.push('input-validator');
|
|
218
|
+
}
|
|
219
|
+
for (const hookName of dispatch) {
|
|
220
|
+
const stdout = hook(hookName, payload);
|
|
221
|
+
const parsed = parseJson(stdout);
|
|
222
|
+
if (parsed?.decision === 'block') {
|
|
223
|
+
const reason = typeof parsed.reason === 'string' ? parsed.reason : \`Blocked by \${hookName}\`;
|
|
224
|
+
// gramatr-allow: B1 — deployed plugin file, no @gramatr/core dependency
|
|
225
|
+
throw new Error(reason);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
|
|
230
|
+
'tool.execute.after': async (input, output) => {
|
|
231
|
+
const inp = input as { tool?: string; args?: Record<string, unknown> };
|
|
232
|
+
const toolName = inp.tool ?? '';
|
|
233
|
+
const payload = { tool_name: toolName, tool_input: inp.args ?? {}, tool_output: output };
|
|
234
|
+
if (toolName === 'agent') {
|
|
235
|
+
hook('agent-verify', payload);
|
|
236
|
+
} else if (toolName.includes('gramatr')) {
|
|
237
|
+
hook('tool-tracker', payload);
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
|
|
241
|
+
'session.idle': async (_event) => {
|
|
242
|
+
const payload = { session_id: sessionId };
|
|
243
|
+
hook('stop', payload);
|
|
244
|
+
hook('session-end', payload);
|
|
245
|
+
},
|
|
246
|
+
|
|
247
|
+
'session.compacted': async (_event) => {
|
|
248
|
+
hook('compact', { session_id: sessionId });
|
|
249
|
+
},
|
|
250
|
+
|
|
251
|
+
'experimental.session.compacting': async (_input, output) => {
|
|
252
|
+
const out = output as { context?: string };
|
|
253
|
+
const continuationBlock = [
|
|
254
|
+
'',
|
|
255
|
+
'## gramatr session continuity',
|
|
256
|
+
'Preserve the following gramatr state across this compaction:',
|
|
257
|
+
'- Active session ID and project_id (do not reset)',
|
|
258
|
+
'- Open tasks and their statuses (open/in_progress/blocked/review)',
|
|
259
|
+
'- Recent decisions and their rationale',
|
|
260
|
+
'- Classification feedback state for the current session',
|
|
261
|
+
'- Any pending Quality Gate criteria not yet verified',
|
|
262
|
+
'Resume the gramatr intelligence contract (gmtr.intelligence.contract.v2) on the next turn.',
|
|
263
|
+
].join('\\n');
|
|
264
|
+
if (typeof out.context === 'string') {
|
|
265
|
+
out.context += continuationBlock;
|
|
266
|
+
} else {
|
|
267
|
+
out.context = continuationBlock;
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
`;
|
|
273
|
+
}
|
|
93
274
|
export function buildGeminiHooksFile(_home, _platform = process.platform) {
|
|
94
275
|
const { command, args } = resolveBinaryPath();
|
|
95
276
|
const hookBase = args.length > 0 ? 'npx -y @gramatr/mcp hook' : `${command} hook`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/setup/targets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../../src/setup/targets.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gramatr/mcp",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.80",
|
|
4
4
|
"description": "grāmatr — Intelligence middleware for AI agents. Pre-classifies every request, injects relevant memory and behavioral context, enforces data quality, and maintains session continuity across Claude, ChatGPT, Codex, Cursor, Gemini, and any MCP-compatible client.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"publishConfig": {
|