@gramatr/mcp 0.7.21 → 0.8.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/bin/setup.d.ts +2 -1
- package/dist/bin/setup.d.ts.map +1 -1
- package/dist/bin/setup.js +35 -1
- package/dist/bin/setup.js.map +1 -1
- package/dist/gramatr +0 -0
- package/dist/hooks/agent-gate.d.ts.map +1 -1
- package/dist/hooks/agent-gate.js +3 -2
- package/dist/hooks/agent-gate.js.map +1 -1
- package/dist/hooks/agent-verify.d.ts.map +1 -1
- package/dist/hooks/agent-verify.js +2 -1
- package/dist/hooks/agent-verify.js.map +1 -1
- package/dist/hooks/edit-tracker.d.ts.map +1 -1
- package/dist/hooks/edit-tracker.js +2 -1
- package/dist/hooks/edit-tracker.js.map +1 -1
- package/dist/hooks/generated/hook-timeouts.d.ts +41 -0
- package/dist/hooks/generated/hook-timeouts.d.ts.map +1 -0
- package/dist/hooks/generated/hook-timeouts.js +41 -0
- package/dist/hooks/generated/hook-timeouts.js.map +1 -0
- package/dist/hooks/generated/schema-constants.d.ts +46 -0
- package/dist/hooks/generated/schema-constants.d.ts.map +1 -1
- package/dist/hooks/generated/schema-constants.js +88 -11
- package/dist/hooks/generated/schema-constants.js.map +1 -1
- package/dist/hooks/git-gate.d.ts.map +1 -1
- package/dist/hooks/git-gate.js +14 -13
- package/dist/hooks/git-gate.js.map +1 -1
- package/dist/hooks/input-validator.d.ts.map +1 -1
- package/dist/hooks/input-validator.js +2 -1
- package/dist/hooks/input-validator.js.map +1 -1
- package/dist/hooks/lib/gramatr-hook-utils.d.ts.map +1 -1
- package/dist/hooks/lib/gramatr-hook-utils.js +2 -1
- package/dist/hooks/lib/gramatr-hook-utils.js.map +1 -1
- package/dist/hooks/lib/hook-state.d.ts.map +1 -1
- package/dist/hooks/lib/hook-state.js +2 -1
- package/dist/hooks/lib/hook-state.js.map +1 -1
- package/dist/hooks/lib/routing.d.ts.map +1 -1
- package/dist/hooks/lib/routing.js +8 -7
- package/dist/hooks/lib/routing.js.map +1 -1
- package/dist/hooks/lib/version-check.d.ts +1 -1
- package/dist/hooks/lib/version-check.d.ts.map +1 -1
- package/dist/hooks/lib/version-check.js +4 -5
- package/dist/hooks/lib/version-check.js.map +1 -1
- package/dist/hooks/rating-capture.d.ts.map +1 -1
- package/dist/hooks/rating-capture.js +3 -3
- package/dist/hooks/rating-capture.js.map +1 -1
- package/dist/hooks/stop.d.ts.map +1 -1
- package/dist/hooks/stop.js +1 -1
- package/dist/hooks/stop.js.map +1 -1
- package/dist/hooks/tool-tracker.d.ts.map +1 -1
- package/dist/hooks/tool-tracker.js +2 -1
- package/dist/hooks/tool-tracker.js.map +1 -1
- package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +15 -50
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/proxy/local-client.d.ts +12 -6
- package/dist/proxy/local-client.d.ts.map +1 -1
- package/dist/proxy/local-client.js +35 -7
- package/dist/proxy/local-client.js.map +1 -1
- package/dist/setup/examples/gramatr-opencode-plugin.d.ts +45 -0
- package/dist/setup/examples/gramatr-opencode-plugin.d.ts.map +1 -0
- package/dist/setup/examples/gramatr-opencode-plugin.js +129 -0
- package/dist/setup/examples/gramatr-opencode-plugin.js.map +1 -0
- package/dist/setup/generated/platform-hooks.d.ts +64 -0
- package/dist/setup/generated/platform-hooks.d.ts.map +1 -0
- package/dist/setup/generated/platform-hooks.js +526 -0
- package/dist/setup/generated/platform-hooks.js.map +1 -0
- package/dist/setup/instructions.d.ts +3 -3
- package/dist/setup/instructions.d.ts.map +1 -1
- package/dist/setup/instructions.js +50 -16
- package/dist/setup/instructions.js.map +1 -1
- package/dist/setup/integrations.d.ts.map +1 -1
- package/dist/setup/integrations.js +31 -42
- package/dist/setup/integrations.js.map +1 -1
- package/dist/setup/targets.d.ts +3 -0
- package/dist/setup/targets.d.ts.map +1 -1
- package/dist/setup/targets.js +16 -0
- package/dist/setup/targets.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../../src/hooks/lib/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../../../src/hooks/lib/version-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating-capture.d.ts","sourceRoot":"","sources":["../../src/hooks/rating-capture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rating-capture.d.ts","sourceRoot":"","sources":["../../src/hooks/rating-capture.ts"],"names":[],"mappings":"AAwBA,wBAAsB,oBAAoB,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAkFhF"}
|
|
@@ -5,6 +5,7 @@ import { getGramatrDirFromEnv, getHomeDir } from '../config-runtime.js';
|
|
|
5
5
|
import { readHookInput } from './lib/gramatr-hook-utils.js';
|
|
6
6
|
import { submitPendingClassificationFeedback } from './lib/feedback.js';
|
|
7
7
|
import { resolveHookClientRuntime } from './lib/client-runtime.js';
|
|
8
|
+
import { RATING_FEEDBACK_TIMEOUT_MS, RATING_API_TIMEOUT_MS } from './generated/hook-timeouts.js';
|
|
8
9
|
function parseExplicitRating(prompt) {
|
|
9
10
|
const trimmed = prompt.trim();
|
|
10
11
|
const match = trimmed.match(/^(10|[1-9])(?:\s*[-:]\s*|\s+)?(.*)$/);
|
|
@@ -21,7 +22,6 @@ function parseExplicitRating(prompt) {
|
|
|
21
22
|
}
|
|
22
23
|
return { rating, comment };
|
|
23
24
|
}
|
|
24
|
-
const FEEDBACK_TIMEOUT_MS = 5000;
|
|
25
25
|
export async function runRatingCaptureHook(_args = []) {
|
|
26
26
|
const runtime = resolveHookClientRuntime(_args);
|
|
27
27
|
try {
|
|
@@ -35,7 +35,7 @@ export async function runRatingCaptureHook(_args = []) {
|
|
|
35
35
|
clientType: runtime.clientType,
|
|
36
36
|
agentName: runtime.agentName,
|
|
37
37
|
}),
|
|
38
|
-
new Promise((resolve) => setTimeout(() => resolve(null),
|
|
38
|
+
new Promise((resolve) => setTimeout(() => resolve(null), RATING_FEEDBACK_TIMEOUT_MS)),
|
|
39
39
|
]);
|
|
40
40
|
}
|
|
41
41
|
catch (err) {
|
|
@@ -79,7 +79,7 @@ export async function runRatingCaptureHook(_args = []) {
|
|
|
79
79
|
client_type: entry.client_type,
|
|
80
80
|
agent_name: entry.agent_name,
|
|
81
81
|
}),
|
|
82
|
-
signal: AbortSignal.timeout(
|
|
82
|
+
signal: AbortSignal.timeout(RATING_API_TIMEOUT_MS),
|
|
83
83
|
}).catch(() => { });
|
|
84
84
|
if (result.rating <= 3) {
|
|
85
85
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating-capture.js","sourceRoot":"","sources":["../../src/hooks/rating-capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"rating-capture.js","sourceRoot":"","sources":["../../src/hooks/rating-capture.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/stop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":"AAcA,wBAAsB,WAAW,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAevE"}
|
package/dist/hooks/stop.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readHookInput } from './lib/gramatr-hook-utils.js';
|
|
2
2
|
import { submitPendingClassificationFeedback } from './lib/feedback.js';
|
|
3
3
|
import { resolveHookClientRuntime } from './lib/client-runtime.js';
|
|
4
|
-
|
|
4
|
+
import { STOP_FEEDBACK_TIMEOUT_MS } from './generated/hook-timeouts.js';
|
|
5
5
|
function withTimeout(promise, timeoutMs) {
|
|
6
6
|
return Promise.race([
|
|
7
7
|
promise,
|
package/dist/hooks/stop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/hooks/stop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mCAAmC,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,SAAS,WAAW,CAAI,OAAmB,EAAE,SAAiB;IAC5D,OAAO,OAAO,CAAC,IAAI,CAAC;QAClB,OAAO;QACP,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAkB,EAAE;IACpD,MAAM,OAAO,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,MAAM,WAAW,CAAC,mCAAmC,CAAC;YACpD,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,SAAS;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,IAAI,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC;AACX,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-tracker.d.ts","sourceRoot":"","sources":["../../src/hooks/tool-tracker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-tracker.d.ts","sourceRoot":"","sources":["../../src/hooks/tool-tracker.ts"],"names":[],"mappings":"AA0BA,wBAAsB,kBAAkB,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA+D9E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { buildStatusLine, extractExecutionSummary, extractToolShortName } from './lib/tool-tracker-utils.js';
|
|
4
|
+
import { HOOK_STDIN_EXTENDED_TIMEOUT_MS } from './generated/hook-timeouts.js';
|
|
4
5
|
const STATE_DIR = join(process.env.GRAMATR_DIR || join(process.env.HOME || '', '.gramatr'), '.state');
|
|
5
6
|
function ensureStateDir() { if (!existsSync(STATE_DIR))
|
|
6
7
|
mkdirSync(STATE_DIR, { recursive: true }); }
|
|
@@ -16,7 +17,7 @@ function readStdin(timeoutMs) {
|
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
export async function runToolTrackerHook(_args = []) {
|
|
19
|
-
const raw = await readStdin(
|
|
20
|
+
const raw = await readStdin(HOOK_STDIN_EXTENDED_TIMEOUT_MS);
|
|
20
21
|
process.stdout.write(JSON.stringify({ continue: true }));
|
|
21
22
|
if (!raw.trim())
|
|
22
23
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-tracker.js","sourceRoot":"","sources":["../../src/hooks/tool-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-tracker.js","sourceRoot":"","sources":["../../src/hooks/tool-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-prompt-submit.d.ts","sourceRoot":"","sources":["../../src/hooks/user-prompt-submit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user-prompt-submit.d.ts","sourceRoot":"","sources":["../../src/hooks/user-prompt-submit.ts"],"names":[],"mappings":"AAiFA,wBAAsB,uBAAuB,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA6JnF"}
|
|
@@ -1,19 +1,14 @@
|
|
|
1
|
-
import { getClaudeModelFromEnv,
|
|
1
|
+
import { getClaudeModelFromEnv, getGramatrTimeoutFromEnv, isGramatrEnrichEnabledFromEnv, } from '../config-runtime.js';
|
|
2
2
|
import { deriveProjectId, getGitContext, readHookInput, } from './lib/gramatr-hook-utils.js';
|
|
3
|
-
import { emitStatus, formatFailureWarning, formatIntelligence,
|
|
4
|
-
import {
|
|
3
|
+
import { emitStatus, formatFailureWarning, formatIntelligence, } from './lib/intelligence.js';
|
|
4
|
+
import { persistClassificationResult, routePrompt, shouldSkipPromptRouting, } from './lib/routing.js';
|
|
5
5
|
import { appendOpHistory, appendTurn, getSessionContext, hydrateSessionContextFromServer, isFilesystemAvailable, setLatestClassification, } from './lib/hook-state.js';
|
|
6
6
|
import { resolveHookClientRuntime } from './lib/client-runtime.js';
|
|
7
7
|
import { appendPacketDebugLog } from './lib/packet-debug-log.js';
|
|
8
|
+
import { HOOK_ROUTE_TIMEOUT_DEFAULT_MS, HOOK_ROUTE_TIMEOUT_CAP_MS, } from './generated/hook-timeouts.js';
|
|
8
9
|
let turnCounter = 0;
|
|
9
|
-
const TIMEOUT_MS = getGramatrTimeoutFromEnv(
|
|
10
|
+
const TIMEOUT_MS = getGramatrTimeoutFromEnv(HOOK_ROUTE_TIMEOUT_DEFAULT_MS);
|
|
10
11
|
const ENABLED = isGramatrEnrichEnabledFromEnv();
|
|
11
|
-
const PACKET_MODE = getGramatrPacketModeFromEnv();
|
|
12
|
-
const PACKET2_WAIT_MS = getGramatrPacket2WaitMsFromEnv(20000);
|
|
13
|
-
const HOOK_ROUTE_TIMEOUT_CAP_MS = 60000;
|
|
14
|
-
const HOOK_PACKET2_TIMEOUT_CAP_MS = 15000;
|
|
15
|
-
const HOOK_PACKET2_WAIT_CAP_MS = 20000;
|
|
16
|
-
const HOOK_PACKET2_POLL_MS = 500;
|
|
17
12
|
function persistLastClassification(prompt, sessionId, route, downstreamModel, clientType, agentName) {
|
|
18
13
|
try {
|
|
19
14
|
persistClassificationResult({
|
|
@@ -89,7 +84,6 @@ export async function runUserPromptSubmitHook(_args = []) {
|
|
|
89
84
|
});
|
|
90
85
|
const result = routed.route;
|
|
91
86
|
const elapsed = Date.now() - t0;
|
|
92
|
-
const isV2 = result?.schema === 'gmtr.intelligence.contract.v2';
|
|
93
87
|
let lastFailure = null;
|
|
94
88
|
if (!result && routed.error) {
|
|
95
89
|
lastFailure = mapRoutingFailure(routed.error.reason, routed.error.detail);
|
|
@@ -109,40 +103,13 @@ export async function runUserPromptSubmitHook(_args = []) {
|
|
|
109
103
|
packet: result ?? null,
|
|
110
104
|
error: routed.error ? { reason: routed.error.reason, detail: routed.error.detail } : null,
|
|
111
105
|
});
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
// v2: manifest is a top-level field; v1: it's nested under packet_1
|
|
115
|
-
const manifest = isV2 ? result?.manifest : (packet1?.manifest || result);
|
|
116
|
-
// v2: token_savings lives under result.execution; v1: under packet_1 or result directly
|
|
117
|
-
const packetTokenSavings = packet1?.token_savings
|
|
118
|
-
|| (isV2 ? result?.execution?.token_savings : result?.token_savings)
|
|
119
|
-
|| {};
|
|
120
|
-
const packet2Required = Boolean(
|
|
121
|
-
// v2: enrichment.required is the canonical signal
|
|
122
|
-
result?.enrichment?.required === true
|
|
123
|
-
// v1 fallbacks
|
|
124
|
-
|| result?.packet_2?.required === true
|
|
125
|
-
|| manifest?.packet_2_status === 'required'
|
|
126
|
-
|| manifest?.packet_2_required === true);
|
|
127
|
-
const enrichmentId = result?.enrichment?.enrichment_id
|
|
128
|
-
|| result?.packet_2?.enrichment_id
|
|
129
|
-
|| manifest?.enrichment_id;
|
|
130
|
-
if (result && packet2Required && enrichmentId) {
|
|
131
|
-
enrichment = await fetchEnrichment(enrichmentId, {
|
|
132
|
-
mode: PACKET_MODE,
|
|
133
|
-
timeoutMs: HOOK_PACKET2_TIMEOUT_CAP_MS,
|
|
134
|
-
waitMs: Math.min(PACKET2_WAIT_MS, HOOK_PACKET2_WAIT_CAP_MS),
|
|
135
|
-
pollMs: HOOK_PACKET2_POLL_MS,
|
|
136
|
-
});
|
|
137
|
-
if (enrichment) {
|
|
138
|
-
mergeEnrichmentIntoRoute(result, enrichment);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
106
|
+
// v2 unified packet — enrichment is always merged inline by the server
|
|
107
|
+
const packetTokenSavings = result?.execution?.token_savings || result?.token_savings || {};
|
|
141
108
|
emitStatus(result, elapsed, lastFailure);
|
|
142
109
|
try {
|
|
143
110
|
const ts = packetTokenSavings;
|
|
144
|
-
const es =
|
|
145
|
-
const cl =
|
|
111
|
+
const es = result?.execution_summary || {};
|
|
112
|
+
const cl = result?.classification || {};
|
|
146
113
|
const tokensSaved = ts.total_saved || ts.tokens_saved || 0;
|
|
147
114
|
setLatestClassification({
|
|
148
115
|
session_id: gramatrSessionId,
|
|
@@ -153,9 +120,7 @@ export async function runUserPromptSubmitHook(_args = []) {
|
|
|
153
120
|
effort: cl.effort_level || null,
|
|
154
121
|
intent: cl.intent_type || null,
|
|
155
122
|
confidence: cl.confidence ?? null,
|
|
156
|
-
memory_delivered:
|
|
157
|
-
? (result?.memory?.search_results?.length ?? null)
|
|
158
|
-
: ((packet1?.memory_context || result?.memory_context)?.results?.length ?? null),
|
|
123
|
+
memory_delivered: result?.memory?.search_results?.length ?? null,
|
|
159
124
|
downstream_model: downstreamModel || null,
|
|
160
125
|
server_version: es.server_version || null,
|
|
161
126
|
stage_timing: es.stage_timing ? JSON.stringify(es.stage_timing) : null,
|
|
@@ -166,7 +131,7 @@ export async function runUserPromptSubmitHook(_args = []) {
|
|
|
166
131
|
client_type: runtime.clientType,
|
|
167
132
|
agent_name: runtime.agentName,
|
|
168
133
|
memory_tier: cl.memory_tier || null,
|
|
169
|
-
memory_scope: cl.memory_scope ||
|
|
134
|
+
memory_scope: cl.memory_scope || result?.routing_signals?.memory_scope || null,
|
|
170
135
|
});
|
|
171
136
|
if (tokensSaved > 0) {
|
|
172
137
|
appendOpHistory({
|
|
@@ -183,8 +148,8 @@ export async function runUserPromptSubmitHook(_args = []) {
|
|
|
183
148
|
}
|
|
184
149
|
persistLastClassification(prompt, sessionId, result, downstreamModel, runtime.clientType, runtime.agentName);
|
|
185
150
|
try {
|
|
186
|
-
const cl =
|
|
187
|
-
const es =
|
|
151
|
+
const cl = result?.classification || {};
|
|
152
|
+
const es = result?.execution_summary || {};
|
|
188
153
|
appendTurn({
|
|
189
154
|
session_id: gramatrSessionId,
|
|
190
155
|
turn_number: turnCounter++,
|
|
@@ -199,7 +164,7 @@ export async function runUserPromptSubmitHook(_args = []) {
|
|
|
199
164
|
catch {
|
|
200
165
|
// Non-critical
|
|
201
166
|
}
|
|
202
|
-
if (!result || !
|
|
167
|
+
if (!result || !result.classification) {
|
|
203
168
|
if (lastFailure) {
|
|
204
169
|
process.stdout.write(JSON.stringify({
|
|
205
170
|
hookSpecificOutput: {
|
|
@@ -216,7 +181,7 @@ export async function runUserPromptSubmitHook(_args = []) {
|
|
|
216
181
|
process.stdout.write(JSON.stringify({
|
|
217
182
|
hookSpecificOutput: {
|
|
218
183
|
hookEventName: 'UserPromptSubmit',
|
|
219
|
-
additionalContext: formatIntelligence(result,
|
|
184
|
+
additionalContext: formatIntelligence(result, null),
|
|
220
185
|
},
|
|
221
186
|
}));
|
|
222
187
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-prompt-submit.js","sourceRoot":"","sources":["../../src/hooks/user-prompt-submit.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"user-prompt-submit.js","sourceRoot":"","sources":["../../src/hooks/user-prompt-submit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* local-client.ts — Hook-side client for gramatr tool calls.
|
|
3
3
|
*
|
|
4
|
-
* Hooks call gramatr tools
|
|
5
|
-
*
|
|
4
|
+
* Hooks call gramatr tools through the proxyToolCall pipeline, which provides
|
|
5
|
+
* validation, session management, caching, offline queue, and the
|
|
6
|
+
* gmtr.tool.result.v1 envelope. The compiled binary IS the local MCP server —
|
|
7
|
+
* all tools look local to the consumer.
|
|
6
8
|
*
|
|
7
9
|
* Session context (project_id, interaction_id) is managed locally via SQLite
|
|
8
10
|
* in hook-state.ts. pushSessionContextToLocal / pullSessionContextFromLocal
|
|
9
11
|
* are retained as no-ops for call-site compatibility while the port IPC is removed.
|
|
10
12
|
*/
|
|
11
|
-
|
|
13
|
+
import { type ToolCallResult } from './tool-proxy.js';
|
|
14
|
+
/** Always true — the proxy pipeline is available in-process. */
|
|
12
15
|
export declare function isLocalHooksServerAvailable(): boolean;
|
|
13
16
|
/**
|
|
14
|
-
* Call a gramatr tool
|
|
15
|
-
*
|
|
17
|
+
* Call a gramatr tool through the proxy pipeline.
|
|
18
|
+
*
|
|
19
|
+
* Lazy-loads the tool registry on first call. If the registry fails to load
|
|
20
|
+
* (offline/unavailable) and proxyToolCall returns an "Unknown tool" error,
|
|
21
|
+
* falls back to callRemoteTool directly to preserve current behavior.
|
|
16
22
|
*/
|
|
17
|
-
export declare function callTool(name: string, args: Record<string, unknown>): Promise<
|
|
23
|
+
export declare function callTool(name: string, args: Record<string, unknown>): Promise<ToolCallResult>;
|
|
18
24
|
/**
|
|
19
25
|
* No-op — session context is persisted to SQLite via setSessionContext in hook-state.ts.
|
|
20
26
|
* Retained for call-site compatibility.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-client.d.ts","sourceRoot":"","sources":["../../src/proxy/local-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"local-client.d.ts","sourceRoot":"","sources":["../../src/proxy/local-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMrE,gEAAgE;AAChE,wBAAgB,2BAA2B,IAAI,OAAO,CAErD;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAwBzB;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/E;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAEzC"}
|
|
@@ -1,24 +1,52 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* local-client.ts — Hook-side client for gramatr tool calls.
|
|
3
3
|
*
|
|
4
|
-
* Hooks call gramatr tools
|
|
5
|
-
*
|
|
4
|
+
* Hooks call gramatr tools through the proxyToolCall pipeline, which provides
|
|
5
|
+
* validation, session management, caching, offline queue, and the
|
|
6
|
+
* gmtr.tool.result.v1 envelope. The compiled binary IS the local MCP server —
|
|
7
|
+
* all tools look local to the consumer.
|
|
6
8
|
*
|
|
7
9
|
* Session context (project_id, interaction_id) is managed locally via SQLite
|
|
8
10
|
* in hook-state.ts. pushSessionContextToLocal / pullSessionContextFromLocal
|
|
9
11
|
* are retained as no-ops for call-site compatibility while the port IPC is removed.
|
|
10
12
|
*/
|
|
13
|
+
import { proxyToolCall } from './tool-proxy.js';
|
|
14
|
+
import { loadRemoteTools } from './tool-registry.js';
|
|
11
15
|
import { callRemoteTool } from './remote-client.js';
|
|
12
|
-
|
|
16
|
+
let registryLoaded = false;
|
|
17
|
+
/** Always true — the proxy pipeline is available in-process. */
|
|
13
18
|
export function isLocalHooksServerAvailable() {
|
|
14
|
-
return
|
|
19
|
+
return true;
|
|
15
20
|
}
|
|
16
21
|
/**
|
|
17
|
-
* Call a gramatr tool
|
|
18
|
-
*
|
|
22
|
+
* Call a gramatr tool through the proxy pipeline.
|
|
23
|
+
*
|
|
24
|
+
* Lazy-loads the tool registry on first call. If the registry fails to load
|
|
25
|
+
* (offline/unavailable) and proxyToolCall returns an "Unknown tool" error,
|
|
26
|
+
* falls back to callRemoteTool directly to preserve current behavior.
|
|
19
27
|
*/
|
|
20
28
|
export async function callTool(name, args) {
|
|
21
|
-
|
|
29
|
+
// Lazy-init: load tool registry on first call
|
|
30
|
+
if (!registryLoaded) {
|
|
31
|
+
try {
|
|
32
|
+
await loadRemoteTools();
|
|
33
|
+
registryLoaded = true;
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Registry unavailable (offline?) — fall through to proxyToolCall
|
|
37
|
+
// which will handle unknown tools gracefully
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const result = await proxyToolCall(name, args);
|
|
41
|
+
// Safety net: if registry never loaded and proxy rejected as unknown tool,
|
|
42
|
+
// fall back to direct remote call to preserve current behavior
|
|
43
|
+
if (!registryLoaded && result.isError) {
|
|
44
|
+
const text = result.content?.[0]?.text ?? '';
|
|
45
|
+
if (text.includes('Unknown tool')) {
|
|
46
|
+
return (await callRemoteTool(name, args));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return result;
|
|
22
50
|
}
|
|
23
51
|
/**
|
|
24
52
|
* No-op — session context is persisted to SQLite via setSessionContext in hook-state.ts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-client.js","sourceRoot":"","sources":["../../src/proxy/local-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"local-client.js","sourceRoot":"","sources":["../../src/proxy/local-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,gEAAgE;AAChE,MAAM,UAAU,2BAA2B;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAY,EACZ,IAA6B;IAE7B,8CAA8C;IAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,eAAe,EAAE,CAAC;YACxB,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;YAClE,6CAA6C;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/C,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAmB,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAa;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAAkB;IAElB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* gramatr OpenCode Plugin Scaffold
|
|
3
|
+
*
|
|
4
|
+
* Maps OpenCode's plugin lifecycle events to gramatr hook logic.
|
|
5
|
+
* OpenCode uses a plugin-based architecture instead of hooks.json files.
|
|
6
|
+
*
|
|
7
|
+
* Install: Place this file in your OpenCode plugins directory or reference
|
|
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.
|
|
12
|
+
*/
|
|
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
|
+
/**
|
|
34
|
+
* gramatr plugin for OpenCode.
|
|
35
|
+
*
|
|
36
|
+
* Event mapping:
|
|
37
|
+
* session.created -> gramatr session-start (restore session context + handoff)
|
|
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)
|
|
42
|
+
*/
|
|
43
|
+
declare const gramatrPlugin: OpenCodePlugin;
|
|
44
|
+
export default gramatrPlugin;
|
|
45
|
+
//# sourceMappingURL=gramatr-opencode-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gramatr-opencode-plugin.d.ts","sourceRoot":"","sources":["../../../src/setup/examples/gramatr-opencode-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IAEpB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1G,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,EAAE,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9F;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,EAAE,cAgHpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|