@gramatr/mcp 0.12.33 → 0.13.9
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/hook-dispatcher.d.ts.map +1 -1
- package/dist/bin/hook-dispatcher.js +6 -1
- package/dist/bin/hook-dispatcher.js.map +1 -1
- package/dist/config-runtime.d.ts +18 -3
- package/dist/config-runtime.d.ts.map +1 -1
- package/dist/config-runtime.js +33 -5
- package/dist/config-runtime.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +38 -2
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/project-id-cleanup.d.ts +37 -0
- package/dist/daemon/project-id-cleanup.d.ts.map +1 -0
- package/dist/daemon/project-id-cleanup.js +113 -0
- package/dist/daemon/project-id-cleanup.js.map +1 -0
- package/dist/hooks/agent-gate.d.ts.map +1 -1
- package/dist/hooks/agent-gate.js +16 -6
- package/dist/hooks/agent-gate.js.map +1 -1
- package/dist/hooks/compact.d.ts +2 -0
- package/dist/hooks/compact.d.ts.map +1 -0
- package/dist/hooks/compact.js +27 -0
- package/dist/hooks/compact.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/lib/compact-writer.d.ts +0 -2
- package/dist/hooks/lib/compact-writer.d.ts.map +1 -1
- package/dist/hooks/lib/compact-writer.js +9 -16
- package/dist/hooks/lib/compact-writer.js.map +1 -1
- package/dist/hooks/lib/hook-state.d.ts +15 -0
- package/dist/hooks/lib/hook-state.d.ts.map +1 -1
- package/dist/hooks/lib/hook-state.js +37 -0
- package/dist/hooks/lib/hook-state.js.map +1 -1
- package/dist/hooks/lib/intelligence.d.ts +6 -0
- package/dist/hooks/lib/intelligence.d.ts.map +1 -1
- package/dist/hooks/lib/intelligence.js +106 -25
- package/dist/hooks/lib/intelligence.js.map +1 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +15 -19
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/hooks/stop.d.ts.map +1 -1
- package/dist/hooks/stop.js +21 -0
- package/dist/hooks/stop.js.map +1 -1
- package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +75 -28
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/types/generated/rest-api-types.d.ts +275 -0
- package/dist/types/generated/rest-api-types.d.ts.map +1 -0
- package/dist/types/generated/rest-api-types.js +48 -0
- package/dist/types/generated/rest-api-types.js.map +1 -0
- package/package.json +5 -3
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED — do not edit manually.
|
|
3
|
+
* Source: contracts/responses/*.yaml
|
|
4
|
+
* Generator: contracts/generator/generate.ts
|
|
5
|
+
* Generated: 2026-04-24T06:29:46.353Z
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/** Response shape for GET /api/v1/orgs/:orgId/brands/:slug — canonical brand entity with structured voice sub-object. metadata field retained for backward compatibility only; new code must use structured fields. */
|
|
9
|
+
export const BrandGetResponseSchema = z.object({
|
|
10
|
+
id: z.string().describe("Brand entity UUID"),
|
|
11
|
+
slug: z.string().describe("Brand slug (entity name)"),
|
|
12
|
+
brainVersion: z.number().optional().describe("Studio conflict detection version counter"),
|
|
13
|
+
voice: z.object({
|
|
14
|
+
voiceFingerprint: z.object({
|
|
15
|
+
sample_count: z.number().optional().describe("Number of text samples used to compute this fingerprint"),
|
|
16
|
+
sample_tokens_total: z.number().optional().describe("Total tokens across all samples"),
|
|
17
|
+
style_vector: z.array(z.any()).optional().describe("Embedding-space style vector (model-internal)"),
|
|
18
|
+
tonal_attributes: z.array(z.object({
|
|
19
|
+
attribute: z.string(),
|
|
20
|
+
confidence: z.number()
|
|
21
|
+
})).optional().describe("LLM-extracted tonal qualities with confidence scores"),
|
|
22
|
+
forbidden_phrases: z.array(z.string()).optional().describe("Phrases the brand voice avoids"),
|
|
23
|
+
preferred_constructions: z.array(z.string()).optional().describe("Sentence constructions the brand voice favors"),
|
|
24
|
+
fingerprint_model_version: z.string().optional().describe("Model version that produced this fingerprint"),
|
|
25
|
+
last_fingerprinted_at: z.string().optional().describe("ISO 8601 timestamp of last fingerprint computation"),
|
|
26
|
+
stylistic_descriptors: z.object({
|
|
27
|
+
sentence_length_mean: z.number().optional(),
|
|
28
|
+
sentence_length_stddev: z.number().optional(),
|
|
29
|
+
avg_syllables_per_word: z.number().optional(),
|
|
30
|
+
reading_grade: z.number().optional(),
|
|
31
|
+
passive_voice_ratio: z.number().optional(),
|
|
32
|
+
contraction_rate: z.number().optional(),
|
|
33
|
+
em_dash_density: z.number().optional(),
|
|
34
|
+
oxford_comma_preference: z.string().optional().describe("always | never | mixed | unknown"),
|
|
35
|
+
first_person_ratio: z.number().optional(),
|
|
36
|
+
hedging_phrase_inventory: z.array(z.string()).optional(),
|
|
37
|
+
signature_phrases: z.array(z.string()).optional()
|
|
38
|
+
}).optional().describe("Quantitative stylometric measurements computed from raw text")
|
|
39
|
+
}).nullable().optional().describe("Computed voice fingerprint. Null if brand has not been fingerprinted yet."),
|
|
40
|
+
voiceGenerationRole: z.string().optional().describe("How the voice fingerprint is used in generation: style_only | full_persona | off"),
|
|
41
|
+
exemplarExcerpts: z.array(z.object({
|
|
42
|
+
text: z.string(),
|
|
43
|
+
label: z.string()
|
|
44
|
+
})).optional().describe("Representative text excerpts used as generation exemplars")
|
|
45
|
+
}).optional().describe("Structured voice identity. Canonical path — do not read from metadata.voice_*"),
|
|
46
|
+
metadata: z.record(z.string(), z.unknown()).optional().describe("Raw entity metadata — backward compatibility only. Deprecated: use structured fields above.")
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=rest-api-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rest-api-types.js","sourceRoot":"","sources":["../../../src/types/generated/rest-api-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gramatr/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.9",
|
|
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": {
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
"main": "dist/server/server.js",
|
|
42
42
|
"exports": {
|
|
43
43
|
".": "./dist/server/server.js",
|
|
44
|
-
"./bin": "./dist/bin/gramatr-mcp.js"
|
|
44
|
+
"./bin": "./dist/bin/gramatr-mcp.js",
|
|
45
|
+
"./types": "./dist/types/generated/rest-api-types.js"
|
|
45
46
|
},
|
|
46
47
|
"files": [
|
|
47
48
|
"dist/**/*.js",
|
|
@@ -53,7 +54,8 @@
|
|
|
53
54
|
],
|
|
54
55
|
"dependencies": {
|
|
55
56
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
56
|
-
"ajv": "^8.18.0"
|
|
57
|
+
"ajv": "^8.18.0",
|
|
58
|
+
"zod": "^3.24.0"
|
|
57
59
|
},
|
|
58
60
|
"devDependencies": {
|
|
59
61
|
"@types/node": "^22.0.0",
|