@gramatr/mcp 0.8.9 → 0.8.10
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/build-mcpb.d.ts +8 -2
- package/dist/bin/build-mcpb.d.ts.map +1 -1
- package/dist/bin/build-mcpb.js +7 -7
- package/dist/bin/build-mcpb.js.map +1 -1
- package/dist/bin/gramatr-mcp.d.ts.map +1 -1
- package/dist/bin/gramatr-mcp.js +1 -0
- package/dist/bin/gramatr-mcp.js.map +1 -1
- package/dist/bin/setup.d.ts +1 -1
- package/dist/bin/setup.d.ts.map +1 -1
- package/dist/bin/setup.js +8 -22
- package/dist/bin/setup.js.map +1 -1
- package/dist/hooks/generated/hook-timeouts.d.ts +13 -1
- package/dist/hooks/generated/hook-timeouts.d.ts.map +1 -1
- package/dist/hooks/generated/hook-timeouts.js +13 -1
- package/dist/hooks/generated/hook-timeouts.js.map +1 -1
- package/dist/hooks/generated/schema-constants.d.ts +23 -9
- package/dist/hooks/generated/schema-constants.d.ts.map +1 -1
- package/dist/hooks/generated/schema-constants.js +26 -9
- package/dist/hooks/generated/schema-constants.js.map +1 -1
- package/dist/hooks/input-validator.d.ts +5 -0
- package/dist/hooks/input-validator.d.ts.map +1 -1
- package/dist/hooks/input-validator.js +113 -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 -2
- 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 +29 -28
- package/dist/hooks/lib/hook-state.js.map +1 -1
- package/dist/hooks/lib/routing.js +1 -1
- package/dist/hooks/lib/routing.js.map +1 -1
- package/dist/hooks/lib/types.d.ts +0 -1
- package/dist/hooks/lib/types.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +1 -1
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/proxy/remote-client.d.ts.map +1 -1
- package/dist/proxy/remote-client.js +2 -1
- package/dist/proxy/remote-client.js.map +1 -1
- package/dist/setup/examples/gramatr-opencode-plugin.js +5 -5
- package/dist/setup/examples/gramatr-opencode-plugin.js.map +1 -1
- package/dist/setup/generated/instruction-blocks.d.ts +27 -0
- package/dist/setup/generated/instruction-blocks.d.ts.map +1 -0
- package/dist/setup/generated/instruction-blocks.js +27 -0
- package/dist/setup/generated/instruction-blocks.js.map +1 -0
- package/dist/setup/generated/platform-hooks.d.ts +1 -1
- package/dist/setup/generated/platform-hooks.d.ts.map +1 -1
- package/dist/setup/generated/platform-hooks.js +37 -6
- package/dist/setup/generated/platform-hooks.js.map +1 -1
- package/dist/setup/instructions.d.ts.map +1 -1
- package/dist/setup/instructions.js +9 -46
- package/dist/setup/instructions.js.map +1 -1
- package/dist/setup/targets.d.ts +2 -2
- package/dist/setup/targets.d.ts.map +1 -1
- package/dist/setup/targets.js +5 -6
- package/dist/setup/targets.js.map +1 -1
- package/package.json +3 -2
- package/scripts/postinstall.mjs +54 -6
|
@@ -2,16 +2,11 @@
|
|
|
2
2
|
* AUTO-GENERATED — do not edit manually.
|
|
3
3
|
* Source: contracts/enums/*.yaml
|
|
4
4
|
* Generator: contracts/generator/generate.ts
|
|
5
|
-
* Generated: 2026-04-
|
|
6
|
-
*
|
|
7
|
-
* These constants are extracted from canonical YAML contract files
|
|
8
|
-
* at build time so client hooks can validate MCP tool inputs without
|
|
9
|
-
* depending on @gramatr/core at runtime.
|
|
5
|
+
* Generated: 2026-04-16T15:29:43.476Z
|
|
10
6
|
*/
|
|
11
7
|
// ── Classifier enums ──
|
|
12
8
|
export const EFFORT_LEVELS = ["instant", "fast", "standard", "extended", "deep", "advanced", "comprehensive"];
|
|
13
9
|
export const INTENT_TYPES = ["search", "retrieve", "create", "update", "analyze", "generate"];
|
|
14
|
-
export const MEMORY_TIERS = ["hot", "warm", "cold", "none"];
|
|
15
10
|
// ── Entity type enum (#686 identity taxonomy — see EntityTypeEnum in @gramatr/core) ──
|
|
16
11
|
export const ENTITY_TYPES = ["profile", "voice", "craft", "work_style", "memory", "relationship", "preference", "team_identity", "org_identity", "task", "milestone", "prd", "decision", "steering_rule", "skill", "agent_definition", "playbook", "standard", "reference", "blog_idea", "agent_diary", "session", "conversation", "turn", "classification_record", "agent_execution", "intelligence_packet", "learning_signal", "learning_reflection", "learning_pattern", "learning_correction", "attachment", "execution_record", "model_evaluation", "benchmark", "external_connection", "infrastructure", "audit_log"];
|
|
17
12
|
// ── Lifecycle enums ──
|
|
@@ -21,9 +16,11 @@ export const SESSION_STATUSES = ["active", "completed", "abandoned"];
|
|
|
21
16
|
export const DECISION_STATUSES = ["proposed", "accepted", "superseded", "deprecated"];
|
|
22
17
|
export const PRD_STATUSES = ["draft", "criteria_defined", "planned", "in_progress", "verifying", "complete", "failed", "blocked"];
|
|
23
18
|
export const OUTCOMES = ["success", "partial", "failed", "abandoned"];
|
|
24
|
-
export const EMBEDDING_STATUSES = ["pending", "processing", "
|
|
19
|
+
export const EMBEDDING_STATUSES = ["pending", "processing", "completed", "failed"];
|
|
20
|
+
// ── Scope & isolation ──
|
|
21
|
+
export const MEMORY_SCOPES = ["none", "session", "project", "user", "team", "system"];
|
|
25
22
|
// ── Domain & classification ──
|
|
26
|
-
export const ALGORITHM_PHASES = ["
|
|
23
|
+
export const ALGORITHM_PHASES = ["OBSERVE", "THINK", "PLAN", "BUILD", "EXECUTE", "VERIFY", "LEARN"];
|
|
27
24
|
export const AGENT_TYPES = ["Architect", "Engineer", "Researcher", "QATester", "Designer", "Intern", "Pentester", "Artist", "custom"];
|
|
28
25
|
export const PATTERN_TYPES = ["sequential_actions", "tool_preference", "effort_pattern", "time_pattern", "domain_affinity", "skill_chain"];
|
|
29
26
|
export const DIARY_SCOPES = ["system", "org", "team", "user", "project"];
|
|
@@ -42,10 +39,30 @@ export const MODEL_PREFERENCES = ["opus", "sonnet", "haiku", "gpt-4o", "gpt-4o-m
|
|
|
42
39
|
export const AUDIT_EVENT_TYPES = ["auth", "entity_crud", "search", "admin", "api_key", "config", "oauth", "export"];
|
|
43
40
|
export const AUDIT_ACTIONS = ["create", "read", "update", "delete", "login", "logout", "grant", "revoke", "export", "import"];
|
|
44
41
|
export const AUDIT_RESOURCE_TYPES = ["entity", "observation", "relation", "api_key", "session", "oauth_client", "user", "embedding_model"];
|
|
42
|
+
// ── BERT classifier heads (12-head model) ──
|
|
43
|
+
export const INTENT_MODES = ["read", "write"];
|
|
44
|
+
export const EFFORT_WEIGHTS = ["light", "medium", "heavy"];
|
|
45
|
+
export const DOMAIN_CLASSES = ["general", "technical", "business", "personal"];
|
|
46
|
+
export const SENTIMENT_LABELS = ["frustrated", "negative", "neutral", "positive", "delighted"];
|
|
47
|
+
export const URGENCY_LABELS = ["blocking", "high", "normal", "low"];
|
|
48
|
+
export const INTENT_ACTION_READS = ["question", "status", "lookup"];
|
|
49
|
+
export const INTENT_ACTION_WRITES = ["create", "modify", "execute"];
|
|
50
|
+
export const DOMAIN_SUB_TECHNICALS = ["devops", "frontend", "backend", "security", "data-engineering", "design", "operations"];
|
|
51
|
+
export const DOMAIN_SUB_BUSINESSES = ["marketing", "sales", "finance", "legal", "product", "project-management", "people"];
|
|
52
|
+
export const DOMAIN_SUB_PERSONALS = ["personal", "learning", "writing", "research"];
|
|
53
|
+
export const EFFORT_MEDIUMS = ["standard", "extended"];
|
|
54
|
+
export const EFFORT_HEAVYS = ["advanced", "deep", "comprehensive"];
|
|
55
|
+
export const ENTITY_SCOPE_CLASSES = ["system", "org", "team", "user", "project"];
|
|
56
|
+
export const ENTITY_CATEGORIES = ["identity", "work", "knowledge"];
|
|
57
|
+
// ── Routing & operational ──
|
|
58
|
+
export const CONVERSATION_PHASES = ["start", "work", "review", "pivot", "wrap"];
|
|
59
|
+
export const CRUD_OPERATIONS = ["read", "create", "update", "execute", "unknown"];
|
|
60
|
+
export const PACKET2_STATUSES = ["pending", "not_applicable"];
|
|
61
|
+
export const STATUSLINE_SIZES = ["small", "medium", "large"];
|
|
62
|
+
export const STATUSLINE_RENDER_MODES = ["native", "markdown", "data"];
|
|
45
63
|
// ── Lookup sets (for O(1) validation in hooks) ──
|
|
46
64
|
export const EFFORT_LEVEL_SET = new Set(EFFORT_LEVELS);
|
|
47
65
|
export const INTENT_TYPE_SET = new Set(INTENT_TYPES);
|
|
48
|
-
export const MEMORY_TIER_SET = new Set(MEMORY_TIERS);
|
|
49
66
|
export const ENTITY_TYPE_SET = new Set(ENTITY_TYPES);
|
|
50
67
|
export const WORK_STATUS_SET = new Set(WORK_STATUSES);
|
|
51
68
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-constants.js","sourceRoot":"","sources":["../../../src/hooks/generated/schema-constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-constants.js","sourceRoot":"","sources":["../../../src/hooks/generated/schema-constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check file content for banned patterns.
|
|
3
|
+
* Returns a warning string if violations are found, or undefined if clean.
|
|
4
|
+
*/
|
|
5
|
+
export declare function checkContractViolations(filePath: string, content: string): string | undefined;
|
|
1
6
|
export declare function runInputValidatorHook(_args?: string[]): Promise<number>;
|
|
2
7
|
//# sourceMappingURL=input-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-validator.d.ts","sourceRoot":"","sources":["../../src/hooks/input-validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"input-validator.d.ts","sourceRoot":"","sources":["../../src/hooks/input-validator.ts"],"names":[],"mappings":"AAgFA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiB7F;AA6GD,wBAAsB,qBAAqB,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BjF"}
|
|
@@ -1,5 +1,94 @@
|
|
|
1
1
|
import { ENTITY_TYPE_SET, TOOL_INPUT_RULES } from './generated/schema-constants.js';
|
|
2
2
|
import { HOOK_STDIN_DEFAULT_TIMEOUT_MS } from './generated/hook-timeouts.js';
|
|
3
|
+
const CONTRACT_BANNED_PATTERNS = [
|
|
4
|
+
{
|
|
5
|
+
label: 'hardcoded effort-level enum (instant/fast/standard/…)',
|
|
6
|
+
regex: /['"`]instant['"`]\s*,\s*['"`]fast['"`]\s*,\s*['"`]standard['"`]/,
|
|
7
|
+
fix: "Import EFFORT_LEVELS from '@gramatr/mcp/hooks/generated/schema-constants.js' instead of hardcoding.",
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
label: 'hardcoded intent-type enum array (search/retrieve/create/update/…)',
|
|
11
|
+
// Only flag when these four appear together as an array literal — not inside
|
|
12
|
+
// switch/case or if/else where partial matches are legitimate.
|
|
13
|
+
regex: /\[\s*['"`]search['"`]\s*,\s*['"`]retrieve['"`]\s*,\s*['"`]create['"`]\s*,\s*['"`]update['"`]/,
|
|
14
|
+
fix: "Import INTENT_TYPES from '@gramatr/mcp/hooks/generated/schema-constants.js' instead of hardcoding.",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
label: "hardcoded memory-tier enum (hot/warm/cold) — concept removed from contracts",
|
|
18
|
+
// Flag any array literal that includes these three tier strings together.
|
|
19
|
+
regex: /['"`]hot['"`]\s*,\s*['"`]warm['"`]\s*,\s*['"`]cold['"`]/,
|
|
20
|
+
fix: "The hot/warm/cold memory-tier concept has been removed. Use MEMORY_SCOPES from schema-constants.js.",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
label: 'inline Zod enum that should import from generated contracts',
|
|
24
|
+
// z.enum([ followed immediately by a string literal — catches inline enum
|
|
25
|
+
// definitions that bypass the generated constants.
|
|
26
|
+
regex: /z\.enum\(\s*\[\s*['"`]/,
|
|
27
|
+
fix: "Use z.enum(EFFORT_LEVELS) / z.enum(INTENT_TYPES) / z.enum(ENTITY_TYPES) — import arrays from '@gramatr/mcp/hooks/generated/schema-constants.js'.",
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* Determine whether a file path is subject to contract enforcement.
|
|
32
|
+
*
|
|
33
|
+
* Rules:
|
|
34
|
+
* - Must be a Write or Edit tool call
|
|
35
|
+
* - Target path must be a .ts file under packages/{pkg}/src/
|
|
36
|
+
* - Skip generated/ directories
|
|
37
|
+
* - Skip test files
|
|
38
|
+
*/
|
|
39
|
+
function isEnforcedPath(filePath) {
|
|
40
|
+
// Normalise to forward slashes for consistent matching
|
|
41
|
+
const p = filePath.replace(/\\/g, '/');
|
|
42
|
+
if (!p.endsWith('.ts'))
|
|
43
|
+
return false;
|
|
44
|
+
if (!/\/packages\/[^/]+\/src\//.test(p))
|
|
45
|
+
return false;
|
|
46
|
+
if (/\/generated\//.test(p))
|
|
47
|
+
return false;
|
|
48
|
+
if (/\.test\./.test(p))
|
|
49
|
+
return false;
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check file content for banned patterns.
|
|
54
|
+
* Returns a warning string if violations are found, or undefined if clean.
|
|
55
|
+
*/
|
|
56
|
+
export function checkContractViolations(filePath, content) {
|
|
57
|
+
if (!isEnforcedPath(filePath))
|
|
58
|
+
return undefined;
|
|
59
|
+
const violations = [];
|
|
60
|
+
for (const pattern of CONTRACT_BANNED_PATTERNS) {
|
|
61
|
+
if (pattern.regex.test(content)) {
|
|
62
|
+
violations.push(` • ${pattern.label}\n Fix: ${pattern.fix}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (violations.length === 0)
|
|
66
|
+
return undefined;
|
|
67
|
+
return (`[gramatr contract enforcement] Banned hardcoded enum pattern(s) detected in ${filePath}:\n` +
|
|
68
|
+
violations.join('\n') +
|
|
69
|
+
'\n\nAll classifier enums must be imported from generated/schema-constants.js, not inlined.');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Extract the file path and new content from a Write or Edit tool input.
|
|
73
|
+
* Returns undefined if the tool is not a Write/Edit or the input is missing fields.
|
|
74
|
+
*/
|
|
75
|
+
function extractWriteTarget(toolName, input) {
|
|
76
|
+
const shortTool = toolName.split('__').pop() ?? toolName;
|
|
77
|
+
if (shortTool === 'Write') {
|
|
78
|
+
const filePath = typeof input.file_path === 'string' ? input.file_path : undefined;
|
|
79
|
+
const content = typeof input.content === 'string' ? input.content : undefined;
|
|
80
|
+
if (filePath && content !== undefined)
|
|
81
|
+
return { filePath, content };
|
|
82
|
+
}
|
|
83
|
+
if (shortTool === 'Edit') {
|
|
84
|
+
const filePath = typeof input.file_path === 'string' ? input.file_path : undefined;
|
|
85
|
+
// Check both new_string (Edit) — old_string is not the new content
|
|
86
|
+
const newString = typeof input.new_string === 'string' ? input.new_string : undefined;
|
|
87
|
+
if (filePath && newString !== undefined)
|
|
88
|
+
return { filePath, content: newString };
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
3
92
|
function readStdin(timeoutMs) {
|
|
4
93
|
return new Promise((resolve) => {
|
|
5
94
|
let data = '';
|
|
@@ -40,12 +129,28 @@ function validate(toolName, input) {
|
|
|
40
129
|
}
|
|
41
130
|
return { allow: true };
|
|
42
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Validate contract compliance for Write/Edit tool calls targeting .ts source files.
|
|
134
|
+
* Returns a warning-level result (allow: true with reason) when violations are found.
|
|
135
|
+
*/
|
|
136
|
+
function validateContractCompliance(toolName, input) {
|
|
137
|
+
const target = extractWriteTarget(toolName, input);
|
|
138
|
+
if (!target)
|
|
139
|
+
return { allow: true };
|
|
140
|
+
const warning = checkContractViolations(target.filePath, target.content);
|
|
141
|
+
if (!warning)
|
|
142
|
+
return { allow: true };
|
|
143
|
+
// Return allow:true with a reason — this surfaces as a warning, not a hard block.
|
|
144
|
+
return { allow: true, reason: warning };
|
|
145
|
+
}
|
|
43
146
|
function buildPreToolUseOutput(allow, reason) {
|
|
44
147
|
if (allow) {
|
|
45
148
|
return {
|
|
46
149
|
hookSpecificOutput: {
|
|
47
150
|
hookEventName: 'PreToolUse',
|
|
48
151
|
permissionDecision: 'allow',
|
|
152
|
+
// Include reason as an informational warning when present (allow + reason = warning)
|
|
153
|
+
...(reason ? { permissionDecisionReason: reason } : {}),
|
|
49
154
|
},
|
|
50
155
|
};
|
|
51
156
|
}
|
|
@@ -69,8 +174,15 @@ export async function runInputValidatorHook(_args = []) {
|
|
|
69
174
|
process.stdout.write(JSON.stringify(buildPreToolUseOutput(true)));
|
|
70
175
|
return 0;
|
|
71
176
|
}
|
|
177
|
+
// Step 1: MCP tool input validation (hard block on invalid inputs)
|
|
72
178
|
const result = validate(input.tool_name, input.tool_input);
|
|
73
|
-
|
|
179
|
+
if (!result.allow) {
|
|
180
|
+
process.stdout.write(JSON.stringify(buildPreToolUseOutput(false, result.reason)));
|
|
181
|
+
return 0;
|
|
182
|
+
}
|
|
183
|
+
// Step 2: Contract enforcement on Write/Edit to packages/*/src/*.ts (warning only)
|
|
184
|
+
const contractResult = validateContractCompliance(input.tool_name, input.tool_input);
|
|
185
|
+
process.stdout.write(JSON.stringify(buildPreToolUseOutput(contractResult.allow, contractResult.reason)));
|
|
74
186
|
}
|
|
75
187
|
catch {
|
|
76
188
|
process.stdout.write(JSON.stringify(buildPreToolUseOutput(true)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-validator.js","sourceRoot":"","sources":["../../src/hooks/input-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"input-validator.js","sourceRoot":"","sources":["../../src/hooks/input-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gramatr-hook-utils.d.ts","sourceRoot":"","sources":["../../../src/hooks/lib/gramatr-hook-utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gramatr-hook-utils.d.ts","sourceRoot":"","sources":["../../../src/hooks/lib/gramatr-hook-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { execSync } from 'child_process';
|
|
|
10
10
|
import { readFileSync, writeFileSync, renameSync, mkdirSync, existsSync, appendFileSync } from 'fs';
|
|
11
11
|
import { join, basename } from 'path';
|
|
12
12
|
import { getGramatrTokenFromEnv, getGramatrUrlFromEnv, getGramatrDirFromEnv, getHomeDir, } from '../../config-runtime.js';
|
|
13
|
-
import { HOOK_INPUT_READ_TIMEOUT_MS } from '../generated/hook-timeouts.js';
|
|
13
|
+
import { HOOK_INPUT_READ_TIMEOUT_MS, HEALTH_CHECK_TIMEOUT_MS } from '../generated/hook-timeouts.js';
|
|
14
14
|
// ── Constants ──
|
|
15
15
|
const HOME = getHomeDir();
|
|
16
16
|
// ── Logging ──
|
|
@@ -255,7 +255,7 @@ export function resolveMcpUrl() {
|
|
|
255
255
|
}
|
|
256
256
|
// ── Health Check ──
|
|
257
257
|
/** Check gramatr server health. Returns true if reachable. */
|
|
258
|
-
export async function checkServerHealth(timeoutMs =
|
|
258
|
+
export async function checkServerHealth(timeoutMs = HEALTH_CHECK_TIMEOUT_MS) {
|
|
259
259
|
const mcpUrl = resolveMcpUrl();
|
|
260
260
|
const baseUrl = mcpUrl.replace(/\/mcp$/, '');
|
|
261
261
|
const controller = new AbortController();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gramatr-hook-utils.js","sourceRoot":"","sources":["../../../src/hooks/lib/gramatr-hook-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gramatr-hook-utils.js","sourceRoot":"","sources":["../../../src/hooks/lib/gramatr-hook-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/lib/hook-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"hook-state.d.ts","sourceRoot":"","sources":["../../../src/hooks/lib/hook-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Set GRAMATR_STATE_DB=:memory: in tests to avoid touching the filesystem.
|
|
9
9
|
*/
|
|
10
|
-
import
|
|
10
|
+
import BetterSqlite3 from 'better-sqlite3';
|
|
11
11
|
import { existsSync, mkdirSync } from 'node:fs';
|
|
12
12
|
import { dirname, join } from 'node:path';
|
|
13
13
|
import { getGramatrDirFromEnv, getHomeDir } from '../../config-runtime.js';
|
|
@@ -15,12 +15,13 @@ import { HOOK_STATE_ABORT_TIMEOUT_MS } from '../generated/hook-timeouts.js';
|
|
|
15
15
|
// ── DB singleton ──
|
|
16
16
|
let _db = null;
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Pass-through for better-sqlite3 named parameter binding.
|
|
19
|
+
* better-sqlite3 does NOT require the @ prefix in the object key —
|
|
20
|
+
* it matches { session_id: val } to @session_id in the SQL automatically.
|
|
21
|
+
* (bun:sqlite required the prefix; better-sqlite3 does not.)
|
|
21
22
|
*/
|
|
22
23
|
function p(obj) {
|
|
23
|
-
return
|
|
24
|
+
return obj;
|
|
24
25
|
}
|
|
25
26
|
/** Set to false if the state DB directory cannot be created or the file cannot be opened. */
|
|
26
27
|
let _filesystemAvailable = true;
|
|
@@ -45,11 +46,11 @@ function getDb() {
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
try {
|
|
48
|
-
_db = new
|
|
49
|
+
_db = new BetterSqlite3(_filesystemAvailable ? path : ':memory:');
|
|
49
50
|
}
|
|
50
51
|
catch {
|
|
51
52
|
_filesystemAvailable = false;
|
|
52
|
-
_db = new
|
|
53
|
+
_db = new BetterSqlite3(':memory:');
|
|
53
54
|
}
|
|
54
55
|
_db.exec('PRAGMA journal_mode = WAL');
|
|
55
56
|
_db.exec('PRAGMA synchronous = NORMAL');
|
|
@@ -252,7 +253,7 @@ export async function hydrateSessionContextFromServer(sessionId) {
|
|
|
252
253
|
// ── Session context — cross-hook IPC ──
|
|
253
254
|
/** Write current project/session context so other hooks can read it. */
|
|
254
255
|
export function setSessionContext(ctx) {
|
|
255
|
-
getDb().
|
|
256
|
+
getDb().prepare(`
|
|
256
257
|
INSERT OR REPLACE INTO session_context
|
|
257
258
|
(session_id, project_id, interaction_id, entity_id, project_name, git_root,
|
|
258
259
|
git_branch, git_remote, working_directory, session_start, updated_at,
|
|
@@ -273,26 +274,26 @@ export function getSessionContext(sessionId) {
|
|
|
273
274
|
const db = getDb();
|
|
274
275
|
if (sessionId && sessionId !== 'unknown') {
|
|
275
276
|
const scoped = db
|
|
276
|
-
.
|
|
277
|
+
.prepare('SELECT * FROM session_context WHERE session_id = ? ORDER BY updated_at DESC LIMIT 1')
|
|
277
278
|
.get(sessionId);
|
|
278
279
|
if (scoped)
|
|
279
280
|
return scoped;
|
|
280
281
|
}
|
|
281
282
|
const row = db
|
|
282
|
-
.
|
|
283
|
+
.prepare('SELECT * FROM session_context ORDER BY updated_at DESC LIMIT 1')
|
|
283
284
|
.get();
|
|
284
285
|
return row ?? null;
|
|
285
286
|
}
|
|
286
287
|
export function getSessionContextByProject(projectId) {
|
|
287
288
|
const row = getDb()
|
|
288
|
-
.
|
|
289
|
+
.prepare('SELECT * FROM session_context WHERE project_id = ? ORDER BY updated_at DESC LIMIT 1')
|
|
289
290
|
.get(projectId);
|
|
290
291
|
return row ?? null;
|
|
291
292
|
}
|
|
292
293
|
// ── Turns — per-prompt metadata accumulated across user-prompt-submit calls ──
|
|
293
294
|
/** Append one turn record. Called once per user-prompt-submit invocation. */
|
|
294
295
|
export function appendTurn(turn) {
|
|
295
|
-
getDb().
|
|
296
|
+
getDb().prepare(`
|
|
296
297
|
INSERT INTO turns
|
|
297
298
|
(session_id, turn_number, timestamp, prompt, effort_level, intent_type, confidence, tokens_saved)
|
|
298
299
|
VALUES
|
|
@@ -303,15 +304,15 @@ export function appendTurn(turn) {
|
|
|
303
304
|
export function flushTurns(sessionId) {
|
|
304
305
|
const db = getDb();
|
|
305
306
|
const rows = db
|
|
306
|
-
.
|
|
307
|
+
.prepare('SELECT * FROM turns WHERE session_id = ? ORDER BY id')
|
|
307
308
|
.all(sessionId);
|
|
308
|
-
db.
|
|
309
|
+
db.prepare('DELETE FROM turns WHERE session_id = ?').run(sessionId);
|
|
309
310
|
return rows;
|
|
310
311
|
}
|
|
311
312
|
// ── Op history — tool call log accumulated per session ──
|
|
312
313
|
/** Append one op record. Called once per gramatr tool call. */
|
|
313
314
|
export function appendOpHistory(op) {
|
|
314
|
-
getDb().
|
|
315
|
+
getDb().prepare(`
|
|
315
316
|
INSERT INTO op_history (session_id, tool, time_ms, tokens_saved, timestamp)
|
|
316
317
|
VALUES (@session_id, @tool, @time_ms, @tokens_saved, @timestamp)
|
|
317
318
|
`).run(p(op));
|
|
@@ -320,15 +321,15 @@ export function appendOpHistory(op) {
|
|
|
320
321
|
export function flushOpHistory(sessionId) {
|
|
321
322
|
const db = getDb();
|
|
322
323
|
const rows = db
|
|
323
|
-
.
|
|
324
|
+
.prepare('SELECT * FROM op_history WHERE session_id = ? ORDER BY id')
|
|
324
325
|
.all(sessionId);
|
|
325
|
-
db.
|
|
326
|
+
db.prepare('DELETE FROM op_history WHERE session_id = ?').run(sessionId);
|
|
326
327
|
return rows;
|
|
327
328
|
}
|
|
328
329
|
// ── Latest classification — for statusline display and feedback ──
|
|
329
330
|
/** Overwrite the latest classification result for a session. */
|
|
330
331
|
export function setLatestClassification(record) {
|
|
331
|
-
getDb().
|
|
332
|
+
getDb().prepare(`
|
|
332
333
|
INSERT OR REPLACE INTO latest_classification
|
|
333
334
|
(session_id, classifier_model, classifier_time_ms, tokens_saved, savings_ratio,
|
|
334
335
|
effort, intent, confidence, memory_delivered, downstream_model,
|
|
@@ -349,7 +350,7 @@ export function setLatestClassification(record) {
|
|
|
349
350
|
/** Read the latest classification record for a session. */
|
|
350
351
|
export function getLatestClassification(sessionId) {
|
|
351
352
|
const row = getDb()
|
|
352
|
-
.
|
|
353
|
+
.prepare('SELECT * FROM latest_classification WHERE session_id = ?')
|
|
353
354
|
.get(sessionId);
|
|
354
355
|
if (!row)
|
|
355
356
|
return null;
|
|
@@ -358,7 +359,7 @@ export function getLatestClassification(sessionId) {
|
|
|
358
359
|
/** Mark pending feedback as submitted for a session. */
|
|
359
360
|
export function markClassificationFeedbackSubmitted(sessionId, submittedAt) {
|
|
360
361
|
const ts = submittedAt ?? new Date().toISOString();
|
|
361
|
-
getDb().
|
|
362
|
+
getDb().prepare(`
|
|
362
363
|
UPDATE latest_classification
|
|
363
364
|
SET pending_feedback = 0, feedback_submitted_at = ?
|
|
364
365
|
WHERE session_id = ?
|
|
@@ -367,7 +368,7 @@ export function markClassificationFeedbackSubmitted(sessionId, submittedAt) {
|
|
|
367
368
|
// ── Session log — persistent history across sessions ──
|
|
368
369
|
/** Append a session-end entry. Replaces session-history.log + last-session-commits.txt. */
|
|
369
370
|
export function appendSessionLog(entry) {
|
|
370
|
-
getDb().
|
|
371
|
+
getDb().prepare(`
|
|
371
372
|
INSERT INTO session_log
|
|
372
373
|
(session_id, project_id, ended_at, reason, commit_log,
|
|
373
374
|
interaction_id, entity_id, client_type, agent_name, synced_at)
|
|
@@ -382,7 +383,7 @@ export function appendSessionLog(entry) {
|
|
|
382
383
|
*/
|
|
383
384
|
export function getLastSessionForProject(projectId) {
|
|
384
385
|
const row = getDb()
|
|
385
|
-
.
|
|
386
|
+
.prepare(`
|
|
386
387
|
SELECT session_id, interaction_id, entity_id, client_type, agent_name, ended_at
|
|
387
388
|
FROM session_log
|
|
388
389
|
WHERE project_id = ?
|
|
@@ -395,7 +396,7 @@ export function getLastSessionForProject(projectId) {
|
|
|
395
396
|
/** Return the commit log from the most recent session that had commits. */
|
|
396
397
|
export function getLastSessionCommits() {
|
|
397
398
|
const row = getDb()
|
|
398
|
-
.
|
|
399
|
+
.prepare('SELECT commit_log FROM session_log WHERE commit_log IS NOT NULL ORDER BY id DESC LIMIT 1')
|
|
399
400
|
.get();
|
|
400
401
|
return row?.commit_log ?? null;
|
|
401
402
|
}
|
|
@@ -408,7 +409,7 @@ export function upsertSessionsFromServer(sessions) {
|
|
|
408
409
|
if (sessions.length === 0)
|
|
409
410
|
return;
|
|
410
411
|
const syncedAt = new Date().toISOString();
|
|
411
|
-
const stmt = getDb().
|
|
412
|
+
const stmt = getDb().prepare(`
|
|
412
413
|
INSERT OR IGNORE INTO session_log
|
|
413
414
|
(session_id, project_id, ended_at, reason, commit_log,
|
|
414
415
|
interaction_id, entity_id, client_type, agent_name, synced_at)
|
|
@@ -441,21 +442,21 @@ export function migrateProjectId(oldProjectId, newProjectId) {
|
|
|
441
442
|
if (oldProjectId === newProjectId)
|
|
442
443
|
return 0;
|
|
443
444
|
const db = getDb();
|
|
444
|
-
db.
|
|
445
|
-
const row = db.
|
|
445
|
+
db.prepare('UPDATE session_log SET project_id = ? WHERE project_id = ?').run(newProjectId, oldProjectId);
|
|
446
|
+
const row = db.prepare('SELECT changes() as changes').get();
|
|
446
447
|
return row?.changes ?? 0;
|
|
447
448
|
}
|
|
448
449
|
/** Mark a local session as synced to the server after a successful session-end call. */
|
|
449
450
|
export function markSessionSynced(sessionId, syncedAt) {
|
|
450
451
|
const ts = syncedAt ?? new Date().toISOString();
|
|
451
452
|
getDb()
|
|
452
|
-
.
|
|
453
|
+
.prepare('UPDATE session_log SET synced_at = ? WHERE session_id = ?')
|
|
453
454
|
.run(ts, sessionId);
|
|
454
455
|
}
|
|
455
456
|
/** Count total sessions for a project (for "Session #N" display). */
|
|
456
457
|
export function getProjectSessionCount(projectId) {
|
|
457
458
|
const row = getDb()
|
|
458
|
-
.
|
|
459
|
+
.prepare('SELECT COUNT(*) as cnt FROM session_log WHERE project_id = ?')
|
|
459
460
|
.get(projectId);
|
|
460
461
|
return row?.cnt ?? 0;
|
|
461
462
|
}
|