@gramatr/mcp 0.12.7 → 0.12.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-listener.d.ts","sourceRoot":"","sources":["../../src/server/hooks-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiBH,8EAA8E;AAC9E,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AA6ND;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CA8B1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC"}
1
+ {"version":3,"file":"hooks-listener.d.ts","sourceRoot":"","sources":["../../src/server/hooks-listener.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiBH,8EAA8E;AAC9E,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAE9C;AAkQD;;;;GAIG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CA8B1D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAMxC"}
@@ -55,59 +55,71 @@ function json(res, status, body) {
55
55
  }
56
56
  // ── Statusline rendering helpers ──
57
57
  function formatTokens(n) {
58
- if (n >= 1000)
59
- return `${(n / 1000).toFixed(1)}k`;
58
+ if (n >= 1_000_000_000)
59
+ return `${(n / 1_000_000_000).toFixed(1)}B`;
60
+ if (n >= 1_000_000)
61
+ return `${(n / 1_000_000).toFixed(1)}M`;
62
+ if (n >= 1_000)
63
+ return `${(n / 1_000).toFixed(1)}k`;
64
+ return String(n);
65
+ }
66
+ function formatCount(n) {
67
+ if (n >= 1_000_000)
68
+ return `${(n / 1_000_000).toFixed(1)}M`;
69
+ if (n >= 1_000)
70
+ return `${(n / 1_000).toFixed(0)}K`;
60
71
  return String(n);
61
72
  }
62
73
  /**
63
- * Assemble the rendered statusline string from resource data and git state.
74
+ * Assemble the rendered statusline string.
64
75
  *
65
- * small: ● grāmatr │ branch │ ⚡Xk saved
66
- * medium: ● grāmatr │ project @ branch N ✎M] │ ⚡Xk saved │ N calls
67
- * large: ● grāmatr │ project @ branch N ✎M ?U] │ ⚡Xk saved │ N calls85% cache
76
+ * small: ● grāmatr │ branch ✎N │ ⚡119M saved
77
+ * medium: ● grāmatr │ project · branch N │ ⚡119M saved │ standard/analyze 94%
78
+ * large: ● grāmatr v0.12.7 ⬆0.12.8 │ project · branch N │ ⚡119M saved │ ◇168K obsstandard/analyze 94%
68
79
  */
69
- function renderStatusline(body, stats, _profile) {
80
+ function renderStatusline(body, stats, classification) {
70
81
  const size = body.size ?? 'medium';
71
82
  const git = body.git_state ?? {};
72
83
  const branch = git.branch || 'HEAD';
73
84
  const project = body.project_id ? body.project_id.replace(/^.*\//, '') : '';
74
85
  const savings = stats?.token_savings_total ?? 0;
75
- const calls = stats?.tool_call_count ?? 0;
76
- const cacheRate = stats?.cache_hit_rate ?? 0;
77
- // Build git annotation: ↑N↓M for ahead/behind, ✎N for modified
78
- const aheadBehind = [
79
- (git.ahead ?? 0) > 0 ? `↑${git.ahead}` : '',
80
- (git.behind ?? 0) > 0 ? `↓${git.behind}` : '',
81
- ].filter(Boolean).join('');
82
- const dirty = (git.modified ?? 0) > 0 ? `✎${git.modified}` : '';
83
- const untracked = (git.untracked ?? 0) > 0 ? `?${git.untracked}` : '';
84
- const gitSuffix = [aheadBehind, dirty].filter(Boolean).join(' ');
85
- const gitFull = [aheadBehind, dirty, untracked].filter(Boolean).join(' ');
86
- const branchStr = branch + (gitSuffix ? ` ${gitSuffix}` : '');
87
- const branchFull = branch + (gitFull ? ` ${gitFull}` : '');
86
+ const observations = stats?.observations_total ?? 0;
87
+ const serverVersion = stats?.server_version;
88
+ const clientVersion = stats?.client_version;
89
+ const dirty = (git.modified ?? 0) > 0 ? ` ✎${git.modified}` : '';
90
+ const branchStr = branch + dirty;
88
91
  const savingsStr = savings > 0 ? `⚡${formatTokens(savings)} saved` : '';
92
+ // Classification segment: "standard/analyze 94%"
93
+ const classifStr = classification?.effort_level && classification?.intent_type
94
+ ? `${classification.effort_level}/${classification.intent_type}${classification.confidence ? ` ${classification.confidence}%` : ''}`
95
+ : '';
96
+ // Upgrade indicator: ⬆X.Y.Z when server version is newer than client
97
+ const upgradeStr = serverVersion && clientVersion && serverVersion !== clientVersion
98
+ ? ` ⬆${serverVersion}`
99
+ : '';
89
100
  if (size === 'small') {
90
101
  const parts = [' ● grāmatr', branchStr, savingsStr].filter(Boolean);
91
102
  return parts.join(' │ ') + '\n';
92
103
  }
93
104
  if (size === 'medium') {
94
- const loc = project ? `${project} @ ${branchStr}` : branchStr;
105
+ const loc = project ? `${project} · ${branchStr}` : branchStr;
95
106
  const parts = [' ● grāmatr', loc];
96
107
  if (savingsStr)
97
108
  parts.push(savingsStr);
98
- if (calls > 0)
99
- parts.push(`${calls} calls`);
109
+ if (classifStr)
110
+ parts.push(classifStr);
100
111
  return parts.join(' │ ') + '\n';
101
112
  }
102
113
  // large
103
- const loc = project ? `${project} @ ${branchFull}` : branchFull;
104
- const parts = [' ● grāmatr', loc];
114
+ const versionStr = clientVersion ? `grāmatr v${clientVersion}${upgradeStr}` : 'grāmatr';
115
+ const loc = project ? `${project} · ${branchStr}` : branchStr;
116
+ const parts = [` ● ${versionStr}`, loc];
105
117
  if (savingsStr)
106
118
  parts.push(savingsStr);
107
- if (calls > 0)
108
- parts.push(`${calls} calls`);
109
- if (cacheRate > 0)
110
- parts.push(`${Math.round(cacheRate * 100)}% cache`);
119
+ if (observations > 0)
120
+ parts.push(`◇${formatCount(observations)} obs`);
121
+ if (classifStr)
122
+ parts.push(classifStr);
111
123
  return parts.join(' │ ') + '\n';
112
124
  }
113
125
  // ── Route handlers ──
@@ -162,30 +174,66 @@ async function handleRequest(req, res) {
162
174
  }
163
175
  return;
164
176
  }
165
- // ── POST /hooks/statusline — render statusline from local state ──
166
- // Reads token savings from local SQLite and session context from the in-process
167
- // session store. No remote calls works entirely within the hook environment.
177
+ // ── POST /hooks/statusline — render statusline ──
178
+ // Fetches all-time stats from the remote stats API (fast Redis-backed, ~10ms).
179
+ // Falls back to local SQLite on any remote failure so the statusline never goes blank.
168
180
  if (url.pathname === '/hooks/statusline' && method === 'POST') {
169
181
  const raw = await readBody(req);
170
182
  try {
171
183
  const body = JSON.parse(raw);
172
- // Read token savings from local SQLite no remote call.
173
- const { getAllTimeTokensSaved } = await import('../hooks/lib/hook-state.js');
174
- const allTimeSaved = getAllTimeTokensSaved();
175
- // Pull session-scoped call count from in-process session store if available.
184
+ // Pull last classification from session context for the effort/intent segment.
176
185
  const sessionCtx = (body.session_id
177
186
  ? sessionStore.get(body.session_id)
178
187
  : sessionStore.get('__latest__')) ?? null;
179
- const callCount = typeof sessionCtx?.['tool_call_count'] === 'number'
180
- ? sessionCtx['tool_call_count']
181
- : 0;
182
- const stats = {
183
- token_savings_total: allTimeSaved,
184
- tool_call_count: callCount,
185
- cache_hit_rate: 0,
186
- server_version: undefined,
187
- };
188
- const rendered = renderStatusline(body, stats, null);
188
+ const lastClassif = sessionCtx?.['last_classification'];
189
+ const classification = lastClassif ? {
190
+ effort_level: lastClassif['effort_level'],
191
+ intent_type: lastClassif['intent_type'],
192
+ confidence: typeof lastClassif['confidence'] === 'number'
193
+ ? Math.round(lastClassif['confidence'] * 100)
194
+ : undefined,
195
+ } : null;
196
+ // Fetch all-time stats from remote API. Fast path: Redis-backed on the server.
197
+ // Fall back to local SQLite on any failure so statusline never goes blank.
198
+ let tokenSavingsTotal = 0;
199
+ let observationsTotal = 0;
200
+ let serverVersion;
201
+ const { getAllTimeTokensSaved } = await import('../hooks/lib/hook-state.js');
202
+ try {
203
+ const { resolveAuthToken, resolveMcpUrl } = await import('../hooks/lib/gramatr-hook-utils.js');
204
+ const token = resolveAuthToken();
205
+ const mcpUrl = resolveMcpUrl();
206
+ const baseUrl = mcpUrl.replace(/\/mcp\/?$/, '');
207
+ const resp = await fetch(`${baseUrl}/api/v1/stats/statusline`, {
208
+ headers: token ? { Authorization: `Bearer ${token}` } : {},
209
+ signal: AbortSignal.timeout(2000),
210
+ });
211
+ if (resp.ok) {
212
+ const data = await resp.json();
213
+ tokenSavingsTotal = typeof data['tokens_saved_total'] === 'number' ? data['tokens_saved_total'] : 0;
214
+ observationsTotal = typeof data['observation_count'] === 'number' ? data['observation_count'] : 0;
215
+ serverVersion = typeof data['server_version'] === 'string' ? data['server_version'] : undefined;
216
+ }
217
+ else {
218
+ tokenSavingsTotal = getAllTimeTokensSaved();
219
+ }
220
+ }
221
+ catch {
222
+ tokenSavingsTotal = getAllTimeTokensSaved();
223
+ }
224
+ // Read the installed client version from the package.json bundled with this module.
225
+ let clientVersion;
226
+ try {
227
+ const { readFileSync } = await import('node:fs');
228
+ const { join: pathJoin, dirname } = await import('node:path');
229
+ const { fileURLToPath } = await import('node:url');
230
+ const pkgPath = pathJoin(dirname(fileURLToPath(import.meta.url)), '..', '..', 'package.json');
231
+ const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
232
+ clientVersion = pkg.version;
233
+ }
234
+ catch { /* non-critical */ }
235
+ const stats = { token_savings_total: tokenSavingsTotal, observations_total: observationsTotal, server_version: serverVersion, client_version: clientVersion };
236
+ const rendered = renderStatusline(body, stats, classification);
189
237
  json(res, 200, { rendered });
190
238
  }
191
239
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-listener.js","sourceRoot":"","sources":["../../src/server/hooks-listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-listener.js","sourceRoot":"","sources":["../../src/server/hooks-listener.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * AUTO-GENERATED — do not edit manually.
3
3
  * Source: contracts/methodology/instruction-blocks.yaml
4
4
  * Generator: contracts/generator/generate.ts
5
- * Generated: 2026-04-21T21:37:33.100Z
5
+ * Generated: 2026-04-23T02:47:24.805Z
6
6
  */
7
7
  /** Mandatory contract fields from the v2 intelligence packet */
8
8
  export declare const CONTRACT_RULES = "**Mandatory contract fields \u2014 treat as execution requirements:**\n- `directives.hard_gates` \u2014 non-negotiable behavioral constraints\n- `directives.behavioral_rules` \u2014 algorithm phases, code rules, safety rules\n- `directives.behavioral_directives` \u2014 per-turn instructions from the classifier\n- `process.phase_template` \u2014 effort-gated phase sequence (MUST follow)\n- `process.quality_gate_config` \u2014 Quality Gate verification rules (MUST pass before done)\n- `enrichment.data.reasoning` \u2014 RE + Quality Gate scaffold when present (MUST consume)";
@@ -23,7 +23,7 @@ export declare const IDENTITY = "**Identity:** Read from `~/.gramatr/settings.js
23
23
  /** Behavior when server is unavailable */
24
24
  export declare const DEGRADED_MODE = "**If the server is unavailable:** Degrade cleanly and keep working. Use the\n7-phase structure. Create Quality Gates before work. Never combine phases.";
25
25
  /** Show classification details to user on non-instant responses */
26
- export declare const CLASSIFICATION_SUMMARY = "**Classification summary (MANDATORY for non-instant effort):**\nStart each response with a one-line gramatr classification summary.\nFormat: `gramatr | {effort}/{intent} | {confidence}% | {tokens_saved_all_time} saved`\nRead effort/intent/confidence from classification. Read tokens_saved_all_time from execution.token_savings.all_time.\nSkip for instant effort only.";
26
+ export declare const CLASSIFICATION_SUMMARY = "**Classification summary (MANDATORY for non-instant effort):**\nStart each response with a one-line gr\u0101matr classification summary.\nFormat: `gr\u0101matr | {effort}/{intent} | {confidence}% | {tokens_saved_all_time} saved`\nRead effort/intent/confidence from classification. Read tokens_saved_all_time from execution.token_savings.all_time.\nIf the intelligence packet was degraded or failed to deliver, prefix with `gr\u0101matr [degraded] |` so the user sees the trust signal immediately.\nIf memories were loaded, append `| {memories_delivered} memories` so the user knows context was retrieved.\nSkip for instant effort only.";
27
27
  /** Legacy alias — kept for backward compat, content now points to the three sub-blocks */
28
28
  export declare const PROJECT_RESOLUTION = "**Project resolution:** When `project_resolution_needed: true` appears in\nthe v2 intelligence packet, call `gramatr_resolve_project` with\n`action: 'list'` to show the user their projects. Once they pick one,\ncall `gramatr_resolve_project` with `action: 'resolve'` and the slug,\nthen use the returned project_id for all subsequent tool calls.";
29
29
  /** No project context — prompt user to pick */
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-blocks.d.ts","sourceRoot":"","sources":["../../../src/setup/generated/instruction-blocks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gEAAgE;AAChE,eAAO,MAAM,cAAc,skBAAmiB,CAAC;AAE/jB,8BAA8B;AAC9B,eAAO,MAAM,YAAY,oJAAoJ,CAAC;AAE9K,oDAAoD;AACpD,eAAO,MAAM,eAAe,sJAAsJ,CAAC;AAEnL,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,oeAA+d,CAAC;AAErgB,sDAAsD;AACtD,eAAO,MAAM,cAAc,+YAAgY,CAAC;AAE5Z,mDAAmD;AACnD,eAAO,MAAM,cAAc,08BAAw5B,CAAC;AAEp7B,mCAAmC;AACnC,eAAO,MAAM,aAAa,iTAA+P,CAAC;AAE1R,wCAAwC;AACxC,eAAO,MAAM,QAAQ,4HAAuH,CAAC;AAE7I,0CAA0C;AAC1C,eAAO,MAAM,aAAa,4JAA4J,CAAC;AAEvL,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,oXAAoX,CAAC;AAExZ,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB,8VAA8V,CAAC;AAE9X,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,ikBAA4jB,CAAC;AAE5lB,mDAAmD;AACnD,eAAO,MAAM,WAAW,4WAA4W,CAAC;AAErY,kDAAkD;AAClD,eAAO,MAAM,eAAe,8ZAA8Z,CAAC;AAE3b,gGAAgG;AAChG,eAAO,MAAM,aAAa,4dAAkd,CAAC;AAE7e,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,0aAAqa,CAAC;AAE5c,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,smCAA4lC,CAAC;AAE7nC,4GAA4G;AAC5G,eAAO,MAAM,cAAc,2pCAAmnC,CAAC"}
1
+ {"version":3,"file":"instruction-blocks.d.ts","sourceRoot":"","sources":["../../../src/setup/generated/instruction-blocks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gEAAgE;AAChE,eAAO,MAAM,cAAc,skBAAmiB,CAAC;AAE/jB,8BAA8B;AAC9B,eAAO,MAAM,YAAY,oJAAoJ,CAAC;AAE9K,oDAAoD;AACpD,eAAO,MAAM,eAAe,sJAAsJ,CAAC;AAEnL,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,oeAA+d,CAAC;AAErgB,sDAAsD;AACtD,eAAO,MAAM,cAAc,+YAAgY,CAAC;AAE5Z,mDAAmD;AACnD,eAAO,MAAM,cAAc,08BAAw5B,CAAC;AAEp7B,mCAAmC;AACnC,eAAO,MAAM,aAAa,iTAA+P,CAAC;AAE1R,wCAAwC;AACxC,eAAO,MAAM,QAAQ,4HAAuH,CAAC;AAE7I,0CAA0C;AAC1C,eAAO,MAAM,aAAa,4JAA4J,CAAC;AAEvL,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,goBAAinB,CAAC;AAErpB,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB,8VAA8V,CAAC;AAE9X,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,ikBAA4jB,CAAC;AAE5lB,mDAAmD;AACnD,eAAO,MAAM,WAAW,4WAA4W,CAAC;AAErY,kDAAkD;AAClD,eAAO,MAAM,eAAe,8ZAA8Z,CAAC;AAE3b,gGAAgG;AAChG,eAAO,MAAM,aAAa,4dAAkd,CAAC;AAE7e,sEAAsE;AACtE,eAAO,MAAM,yBAAyB,0aAAqa,CAAC;AAE5c,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,smCAA4lC,CAAC;AAE7nC,4GAA4G;AAC5G,eAAO,MAAM,cAAc,2pCAAmnC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * AUTO-GENERATED — do not edit manually.
3
3
  * Source: contracts/methodology/instruction-blocks.yaml
4
4
  * Generator: contracts/generator/generate.ts
5
- * Generated: 2026-04-21T21:37:33.100Z
5
+ * Generated: 2026-04-23T02:47:24.805Z
6
6
  */
7
7
  /** Mandatory contract fields from the v2 intelligence packet */
8
8
  export const CONTRACT_RULES = "**Mandatory contract fields — treat as execution requirements:**\n- `directives.hard_gates` — non-negotiable behavioral constraints\n- `directives.behavioral_rules` — algorithm phases, code rules, safety rules\n- `directives.behavioral_directives` — per-turn instructions from the classifier\n- `process.phase_template` — effort-gated phase sequence (MUST follow)\n- `process.quality_gate_config` — Quality Gate verification rules (MUST pass before done)\n- `enrichment.data.reasoning` — RE + Quality Gate scaffold when present (MUST consume)";
@@ -23,7 +23,7 @@ export const IDENTITY = "**Identity:** Read from `~/.gramatr/settings.json` —
23
23
  /** Behavior when server is unavailable */
24
24
  export const DEGRADED_MODE = "**If the server is unavailable:** Degrade cleanly and keep working. Use the\n7-phase structure. Create Quality Gates before work. Never combine phases.";
25
25
  /** Show classification details to user on non-instant responses */
26
- export const CLASSIFICATION_SUMMARY = "**Classification summary (MANDATORY for non-instant effort):**\nStart each response with a one-line gramatr classification summary.\nFormat: `gramatr | {effort}/{intent} | {confidence}% | {tokens_saved_all_time} saved`\nRead effort/intent/confidence from classification. Read tokens_saved_all_time from execution.token_savings.all_time.\nSkip for instant effort only.";
26
+ export const CLASSIFICATION_SUMMARY = "**Classification summary (MANDATORY for non-instant effort):**\nStart each response with a one-line grāmatr classification summary.\nFormat: `grāmatr | {effort}/{intent} | {confidence}% | {tokens_saved_all_time} saved`\nRead effort/intent/confidence from classification. Read tokens_saved_all_time from execution.token_savings.all_time.\nIf the intelligence packet was degraded or failed to deliver, prefix with `grāmatr [degraded] |` so the user sees the trust signal immediately.\nIf memories were loaded, append `| {memories_delivered} memories` so the user knows context was retrieved.\nSkip for instant effort only.";
27
27
  /** Legacy alias — kept for backward compat, content now points to the three sub-blocks */
28
28
  export const PROJECT_RESOLUTION = "**Project resolution:** When `project_resolution_needed: true` appears in\nthe v2 intelligence packet, call `gramatr_resolve_project` with\n`action: 'list'` to show the user their projects. Once they pick one,\ncall `gramatr_resolve_project` with `action: 'resolve'` and the slug,\nthen use the returned project_id for all subsequent tool calls.";
29
29
  /** No project context — prompt user to pick */
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-blocks.js","sourceRoot":"","sources":["../../../src/setup/generated/instruction-blocks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,giBAAgiB,CAAC;AAE/jB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,iJAAiJ,CAAC;AAE9K,oDAAoD;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,mJAAmJ,CAAC;AAEnL,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,4dAA4d,CAAC;AAErgB,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,6XAA6X,CAAC;AAE5Z,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,q5BAAq5B,CAAC;AAEp7B,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,4PAA4P,CAAC;AAE1R,wCAAwC;AACxC,MAAM,CAAC,MAAM,QAAQ,GAAG,oHAAoH,CAAC;AAE7I,0CAA0C;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,yJAAyJ,CAAC;AAEvL,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,iXAAiX,CAAC;AAExZ,0FAA0F;AAC1F,MAAM,CAAC,MAAM,kBAAkB,GAAG,2VAA2V,CAAC;AAE9X,+CAA+C;AAC/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,yjBAAyjB,CAAC;AAE5lB,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,yWAAyW,CAAC;AAErY,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,2ZAA2Z,CAAC;AAE3b,gGAAgG;AAChG,MAAM,CAAC,MAAM,aAAa,GAAG,+cAA+c,CAAC;AAE7e,sEAAsE;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,kaAAka,CAAC;AAE5c,sGAAsG;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,ylCAAylC,CAAC;AAE7nC,4GAA4G;AAC5G,MAAM,CAAC,MAAM,cAAc,GAAG,gnCAAgnC,CAAC"}
1
+ {"version":3,"file":"instruction-blocks.js","sourceRoot":"","sources":["../../../src/setup/generated/instruction-blocks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,giBAAgiB,CAAC;AAE/jB,8BAA8B;AAC9B,MAAM,CAAC,MAAM,YAAY,GAAG,iJAAiJ,CAAC;AAE9K,oDAAoD;AACpD,MAAM,CAAC,MAAM,eAAe,GAAG,mJAAmJ,CAAC;AAEnL,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,4dAA4d,CAAC;AAErgB,sDAAsD;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,6XAA6X,CAAC;AAE5Z,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,q5BAAq5B,CAAC;AAEp7B,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,4PAA4P,CAAC;AAE1R,wCAAwC;AACxC,MAAM,CAAC,MAAM,QAAQ,GAAG,oHAAoH,CAAC;AAE7I,0CAA0C;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,yJAAyJ,CAAC;AAEvL,mEAAmE;AACnE,MAAM,CAAC,MAAM,sBAAsB,GAAG,8mBAA8mB,CAAC;AAErpB,0FAA0F;AAC1F,MAAM,CAAC,MAAM,kBAAkB,GAAG,2VAA2V,CAAC;AAE9X,+CAA+C;AAC/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,yjBAAyjB,CAAC;AAE5lB,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAG,yWAAyW,CAAC;AAErY,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAAG,2ZAA2Z,CAAC;AAE3b,gGAAgG;AAChG,MAAM,CAAC,MAAM,aAAa,GAAG,+cAA+c,CAAC;AAE7e,sEAAsE;AACtE,MAAM,CAAC,MAAM,yBAAyB,GAAG,kaAAka,CAAC;AAE5c,sGAAsG;AACtG,MAAM,CAAC,MAAM,mBAAmB,GAAG,ylCAAylC,CAAC;AAE7nC,4GAA4G;AAC5G,MAAM,CAAC,MAAM,cAAc,GAAG,gnCAAgnC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Generated: 2026-04-20T22:10:09.298Z
2
+ * Generated: 2026-04-23T02:45:28.090Z
3
3
  * Source: contracts/platforms/*.yaml (claude_md block)
4
4
  *
5
5
  * Platform-specific CLAUDE.md guidance markers and intro text.
@@ -9,14 +9,14 @@
9
9
  export declare const CLAUDECODE_CLAUDE_MD: {
10
10
  readonly blockStart: "<!-- GRAMATR-START -->";
11
11
  readonly blockEnd: "<!-- GRAMATR-END -->";
12
- readonly title: "gramatr";
13
- readonly intro: "You have gramatr installed. Hooks inject a `gmtr.intelligence.contract.v2`\npacket into your context on every prompt.\n\n**Follow the packet.** It contains classification, behavioral directives,\nphase templates, capability audit, quality gates, memory/search results,\nagent suggestions, and enrichment (RE + Quality Gate scaffold).";
12
+ readonly title: "grāmatr";
13
+ readonly intro: "You have grāmatr installed. Hooks inject a `gmtr.intelligence.contract.v2`\npacket into your context on every prompt.\n\n**Follow the packet.** It contains classification, behavioral directives,\nphase templates, capability audit, quality gates, memory/search results,\nagent suggestions, and enrichment (RE + Quality Gate scaffold).";
14
14
  readonly instructionBlocks: readonly ["CONTRACT_RULES", "MEMORY_RULES", "ENTITY_TYPES", "REQUIRED_FIELDS", "FEEDBACK_RULES", "SUBAGENT_RULES", "EFFORT_PHASES", "QUALITY_GATE_REQUIREMENT", "CLASSIFICATION_SUMMARY", "IDENTITY", "DEGRADED_MODE"];
15
15
  };
16
16
  export declare const CODEX_CLAUDE_MD: {
17
17
  readonly blockStart: "<!-- GRAMATR-CODEX-START -->";
18
18
  readonly blockEnd: "<!-- GRAMATR-CODEX-END -->";
19
- readonly title: "gramatr codex guidance";
19
+ readonly title: "grāmatr codex guidance";
20
20
  readonly intro: "Hooks inject a `gmtr.intelligence.contract.v2` packet on every prompt.\nFollow it as authoritative. Call `gramatr_route_request` when missing.";
21
21
  readonly instructionBlocks: readonly ["CONTRACT_RULES", "MEMORY_RULES", "ENTITY_TYPES", "REQUIRED_FIELDS", "FEEDBACK_RULES", "SUBAGENT_RULES", "EFFORT_PHASES", "QUALITY_GATE_REQUIREMENT", "CLASSIFICATION_SUMMARY", "IDENTITY", "PROJECT_UNRESOLVED", "PROJECT_NEW", "PROJECT_RESUMED", "DEGRADED_MODE"];
22
22
  };
@@ -24,14 +24,14 @@ export declare const PLATFORM_CLAUDE_MD_MAP: {
24
24
  readonly 'claude-code': {
25
25
  readonly blockStart: "<!-- GRAMATR-START -->";
26
26
  readonly blockEnd: "<!-- GRAMATR-END -->";
27
- readonly title: "gramatr";
28
- readonly intro: "You have gramatr installed. Hooks inject a `gmtr.intelligence.contract.v2`\npacket into your context on every prompt.\n\n**Follow the packet.** It contains classification, behavioral directives,\nphase templates, capability audit, quality gates, memory/search results,\nagent suggestions, and enrichment (RE + Quality Gate scaffold).";
27
+ readonly title: "grāmatr";
28
+ readonly intro: "You have grāmatr installed. Hooks inject a `gmtr.intelligence.contract.v2`\npacket into your context on every prompt.\n\n**Follow the packet.** It contains classification, behavioral directives,\nphase templates, capability audit, quality gates, memory/search results,\nagent suggestions, and enrichment (RE + Quality Gate scaffold).";
29
29
  readonly instructionBlocks: readonly ["CONTRACT_RULES", "MEMORY_RULES", "ENTITY_TYPES", "REQUIRED_FIELDS", "FEEDBACK_RULES", "SUBAGENT_RULES", "EFFORT_PHASES", "QUALITY_GATE_REQUIREMENT", "CLASSIFICATION_SUMMARY", "IDENTITY", "DEGRADED_MODE"];
30
30
  };
31
31
  readonly codex: {
32
32
  readonly blockStart: "<!-- GRAMATR-CODEX-START -->";
33
33
  readonly blockEnd: "<!-- GRAMATR-CODEX-END -->";
34
- readonly title: "gramatr codex guidance";
34
+ readonly title: "grāmatr codex guidance";
35
35
  readonly intro: "Hooks inject a `gmtr.intelligence.contract.v2` packet on every prompt.\nFollow it as authoritative. Call `gramatr_route_request` when missing.";
36
36
  readonly instructionBlocks: readonly ["CONTRACT_RULES", "MEMORY_RULES", "ENTITY_TYPES", "REQUIRED_FIELDS", "FEEDBACK_RULES", "SUBAGENT_RULES", "EFFORT_PHASES", "QUALITY_GATE_REQUIREMENT", "CLASSIFICATION_SUMMARY", "IDENTITY", "PROJECT_UNRESOLVED", "PROJECT_NEW", "PROJECT_RESUMED", "DEGRADED_MODE"];
37
37
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Generated: 2026-04-20T22:10:09.298Z
2
+ * Generated: 2026-04-23T02:45:28.090Z
3
3
  * Source: contracts/platforms/*.yaml (claude_md block)
4
4
  *
5
5
  * Platform-specific CLAUDE.md guidance markers and intro text.
@@ -9,14 +9,14 @@
9
9
  export const CLAUDECODE_CLAUDE_MD = {
10
10
  blockStart: "<!-- GRAMATR-START -->",
11
11
  blockEnd: "<!-- GRAMATR-END -->",
12
- title: "gramatr",
13
- intro: "You have gramatr installed. Hooks inject a `gmtr.intelligence.contract.v2`\npacket into your context on every prompt.\n\n**Follow the packet.** It contains classification, behavioral directives,\nphase templates, capability audit, quality gates, memory/search results,\nagent suggestions, and enrichment (RE + Quality Gate scaffold).",
12
+ title: "grāmatr",
13
+ intro: "You have grāmatr installed. Hooks inject a `gmtr.intelligence.contract.v2`\npacket into your context on every prompt.\n\n**Follow the packet.** It contains classification, behavioral directives,\nphase templates, capability audit, quality gates, memory/search results,\nagent suggestions, and enrichment (RE + Quality Gate scaffold).",
14
14
  instructionBlocks: ['CONTRACT_RULES', 'MEMORY_RULES', 'ENTITY_TYPES', 'REQUIRED_FIELDS', 'FEEDBACK_RULES', 'SUBAGENT_RULES', 'EFFORT_PHASES', 'QUALITY_GATE_REQUIREMENT', 'CLASSIFICATION_SUMMARY', 'IDENTITY', 'DEGRADED_MODE'],
15
15
  };
16
16
  export const CODEX_CLAUDE_MD = {
17
17
  blockStart: "<!-- GRAMATR-CODEX-START -->",
18
18
  blockEnd: "<!-- GRAMATR-CODEX-END -->",
19
- title: "gramatr codex guidance",
19
+ title: "grāmatr codex guidance",
20
20
  intro: "Hooks inject a `gmtr.intelligence.contract.v2` packet on every prompt.\nFollow it as authoritative. Call `gramatr_route_request` when missing.",
21
21
  instructionBlocks: ['CONTRACT_RULES', 'MEMORY_RULES', 'ENTITY_TYPES', 'REQUIRED_FIELDS', 'FEEDBACK_RULES', 'SUBAGENT_RULES', 'EFFORT_PHASES', 'QUALITY_GATE_REQUIREMENT', 'CLASSIFICATION_SUMMARY', 'IDENTITY', 'PROJECT_UNRESOLVED', 'PROJECT_NEW', 'PROJECT_RESUMED', 'DEGRADED_MODE'],
22
22
  };
@@ -2,7 +2,7 @@
2
2
  * AUTO-GENERATED — do not edit manually.
3
3
  * Source: contracts/platforms/*.yaml
4
4
  * Generator: contracts/generator/generate.ts
5
- * Generated: 2026-04-23T02:08:57.072Z
5
+ * Generated: 2026-04-23T02:45:28.089Z
6
6
  */
7
7
  export interface PlatformHookEntry {
8
8
  hook: string;
@@ -2,7 +2,7 @@
2
2
  * AUTO-GENERATED — do not edit manually.
3
3
  * Source: contracts/platforms/*.yaml
4
4
  * Generator: contracts/generator/generate.ts
5
- * Generated: 2026-04-23T02:08:57.072Z
5
+ * Generated: 2026-04-23T02:45:28.089Z
6
6
  */
7
7
  /** grāmatr for ChatGPT — ChatGPT official plugin/add-on — sandbox environment, OAuth auth, OpenAPI manifest */
8
8
  export const CHATGPT_ADDON_HOOKS = {
@@ -158,28 +158,28 @@ export const CLAUDE_ADDON_HOOKS = {
158
158
  "UserPromptSubmit": [
159
159
  {
160
160
  "hook": "user-prompt-submit",
161
- "statusMessage": "Routing through gramatr intelligence layer",
161
+ "statusMessage": "Routing through grāmatr intelligence layer",
162
162
  "timeout": 10
163
163
  }
164
164
  ],
165
165
  "SessionStart": [
166
166
  {
167
167
  "hook": "session-start",
168
- "statusMessage": "Loading gramatr session context",
168
+ "statusMessage": "Loading grāmatr session context",
169
169
  "timeout": 10
170
170
  }
171
171
  ],
172
172
  "SessionEnd": [
173
173
  {
174
174
  "hook": "session-end",
175
- "statusMessage": "Saving gramatr session",
175
+ "statusMessage": "Saving grāmatr session",
176
176
  "timeout": 10
177
177
  }
178
178
  ],
179
179
  "Stop": [
180
180
  {
181
181
  "hook": "stop",
182
- "statusMessage": "Submitting gramatr classification feedback",
182
+ "statusMessage": "Submitting grāmatr classification feedback",
183
183
  "timeout": 8
184
184
  }
185
185
  ]
@@ -190,7 +190,7 @@ export const CLAUDE_ADDON_HOOKS = {
190
190
  "@gramatr/mcp"
191
191
  ],
192
192
  "env": {
193
- "GRAMATR_DIR": "~/.gramatr"
193
+ "GRAMATR_DIR": "~/.grāmatr"
194
194
  }
195
195
  },
196
196
  "instruction_blocks": [
@@ -242,7 +242,7 @@ export const CLAUDE_CODE_HOOKS = {
242
242
  },
243
243
  {
244
244
  "hook": "input-validator",
245
- "matcher": "mcp__.*gramatr.*__"
245
+ "matcher": "mcp__.*grāmatr.*__"
246
246
  },
247
247
  {
248
248
  "hook": "agent-gate",
@@ -256,7 +256,7 @@ export const CLAUDE_CODE_HOOKS = {
256
256
  },
257
257
  {
258
258
  "hook": "tool-tracker",
259
- "matcher": "mcp__.*gramatr.*__"
259
+ "matcher": "mcp__.*grāmatr.*__"
260
260
  }
261
261
  ],
262
262
  "UserPromptSubmit": [
@@ -270,19 +270,19 @@ export const CLAUDE_CODE_HOOKS = {
270
270
  "SessionStart": [
271
271
  {
272
272
  "hook": "session-start",
273
- "statusMessage": "Loading gramatr session context"
273
+ "statusMessage": "Loading grāmatr session context"
274
274
  }
275
275
  ],
276
276
  "SessionEnd": [
277
277
  {
278
278
  "hook": "session-end",
279
- "statusMessage": "Saving gramatr session"
279
+ "statusMessage": "Saving grāmatr session"
280
280
  }
281
281
  ],
282
282
  "Stop": [
283
283
  {
284
284
  "hook": "stop",
285
- "statusMessage": "Submitting gramatr classification feedback"
285
+ "statusMessage": "Submitting grāmatr classification feedback"
286
286
  }
287
287
  ],
288
288
  "SubagentStart": [
@@ -317,8 +317,8 @@ export const CLAUDE_CODE_HOOKS = {
317
317
  "command": "npx -y --prefer-offline @gramatr/mcp statusline"
318
318
  },
319
319
  "attribution": {
320
- "commit": "Co-Authored-By: gramatr — Real-Time Intelligent Context Engineering <noreply@gramatr.com>",
321
- "pr": "Co-Authored-By: gramatr — Real-Time Intelligent Context Engineering <noreply@gramatr.com>"
320
+ "commit": "Co-Authored-By: grāmatr — Real-Time Intelligent Context Engineering <noreply@gramatr.com>",
321
+ "pr": "Co-Authored-By: grāmatr — Real-Time Intelligent Context Engineering <noreply@gramatr.com>"
322
322
  }
323
323
  },
324
324
  "instruction_blocks": [
@@ -435,26 +435,26 @@ export const CODEX_HOOKS = {
435
435
  {
436
436
  "hook": "session-start",
437
437
  "matcher": "startup|resume",
438
- "statusMessage": "Loading gramatr session context",
438
+ "statusMessage": "Loading grāmatr session context",
439
439
  "timeout": 15
440
440
  }
441
441
  ],
442
442
  "UserPromptSubmit": [
443
443
  {
444
444
  "hook": "user-prompt-submit",
445
- "statusMessage": "Routing request through gramatr",
445
+ "statusMessage": "Routing request through grāmatr",
446
446
  "timeout": 15
447
447
  }
448
448
  ],
449
449
  "Stop": [
450
450
  {
451
451
  "hook": "session-end",
452
- "statusMessage": "Saving gramatr session state",
452
+ "statusMessage": "Saving grāmatr session state",
453
453
  "timeout": 15
454
454
  },
455
455
  {
456
456
  "hook": "stop",
457
- "statusMessage": "Submitting gramatr classification feedback",
457
+ "statusMessage": "Submitting grāmatr classification feedback",
458
458
  "timeout": 10
459
459
  }
460
460
  ]
@@ -525,7 +525,7 @@ export const GEMINI_CLI_HOOKS = {
525
525
  "hook": "session-start",
526
526
  "name": "gramatr-session-start",
527
527
  "timeout": 15,
528
- "description": "Load gramatr session context and handoff"
528
+ "description": "Load grāmatr session context and handoff"
529
529
  }
530
530
  ],
531
531
  "BeforeAgent": [
@@ -533,7 +533,7 @@ export const GEMINI_CLI_HOOKS = {
533
533
  "hook": "user-prompt-submit",
534
534
  "name": "gramatr-prompt-routing",
535
535
  "timeout": 15,
536
- "description": "Route prompt through gramatr intelligence"
536
+ "description": "Route prompt through grāmatr intelligence"
537
537
  }
538
538
  ],
539
539
  "SessionEnd": [
@@ -541,13 +541,13 @@ export const GEMINI_CLI_HOOKS = {
541
541
  "hook": "session-end",
542
542
  "name": "gramatr-session-save",
543
543
  "timeout": 15,
544
- "description": "Persist gramatr session state and save handoff"
544
+ "description": "Persist grāmatr session state and save handoff"
545
545
  },
546
546
  {
547
547
  "hook": "stop",
548
548
  "name": "gramatr-session-feedback",
549
549
  "timeout": 10,
550
- "description": "Submit classification feedback to gramatr"
550
+ "description": "Submit classification feedback to grāmatr"
551
551
  }
552
552
  ]
553
553
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gramatr/mcp",
3
- "version": "0.12.7",
3
+ "version": "0.12.8",
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": {