@spilno/herald-mcp 1.36.0 → 1.36.2
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/README.md +4 -4
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +5 -8
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/init.d.ts +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +39 -15
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/login.d.ts +1 -0
- package/dist/cli/login.d.ts.map +1 -1
- package/dist/cli/login.js +15 -2
- package/dist/cli/login.js.map +1 -1
- package/dist/cli/templates/claude-md.d.ts +3 -3
- package/dist/cli/templates/claude-md.d.ts.map +1 -1
- package/dist/cli/templates/claude-md.js +9 -9
- package/dist/cli/templates/claude-md.js.map +1 -1
- package/dist/cli.js +345 -30
- package/dist/cli.js.map +1 -1
- package/dist/sanitization.spec.js +1 -1
- package/dist/sanitization.spec.js.map +1 -1
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +74 -2
- package/dist/sdk.js.map +1 -1
- package/dist/session-tools.spec.js +3 -3
- package/dist/session-tools.spec.js.map +1 -1
- package/package.json +3 -3
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2822
- package/dist/index.js.map +0 -1
package/README.md
CHANGED
|
@@ -68,7 +68,7 @@ herald.configure({ baseUrl: 'https://custom.ceda.com', token: 'your-token' });
|
|
|
68
68
|
2. Fetches learned patterns from CEDA (if any exist)
|
|
69
69
|
3. Creates/updates `CLAUDE.md` with patterns baked in
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
Org and project default to your folder name. Zero config.
|
|
72
72
|
|
|
73
73
|
## Interactive Chat
|
|
74
74
|
|
|
@@ -139,10 +139,10 @@ user (your personal patterns)
|
|
|
139
139
|
↓ inherits from
|
|
140
140
|
project (team patterns)
|
|
141
141
|
↓ inherits from
|
|
142
|
-
|
|
142
|
+
org (org-wide patterns)
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
-
More specific patterns take precedence. If you have a pattern and your
|
|
145
|
+
More specific patterns take precedence. If you have a pattern and your org has the same one, yours wins.
|
|
146
146
|
|
|
147
147
|
## MCP Resources
|
|
148
148
|
|
|
@@ -151,7 +151,7 @@ Herald exposes patterns as MCP resources (auto-readable by Claude Code):
|
|
|
151
151
|
| Resource | Description |
|
|
152
152
|
|----------|-------------|
|
|
153
153
|
| `herald://patterns` | Learned patterns for current context |
|
|
154
|
-
| `herald://context` | Current configuration (
|
|
154
|
+
| `herald://context` | Current configuration (org/project/user) |
|
|
155
155
|
|
|
156
156
|
## Core Tools
|
|
157
157
|
|
package/dist/cli/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAuBH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAiB7D;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAuBH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAiB7D;AAmFD,wBAAsB,SAAS,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA4ClE"}
|
package/dist/cli/config.js
CHANGED
|
@@ -63,19 +63,16 @@ The config uses your logged-in identity. Run 'herald login' first.
|
|
|
63
63
|
`);
|
|
64
64
|
}
|
|
65
65
|
function buildConfig(auth, project) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
};
|
|
69
|
-
// Add token if authenticated
|
|
70
|
-
if (auth?.token) {
|
|
71
|
-
env.CEDA_TOKEN = auth.token;
|
|
72
|
-
}
|
|
66
|
+
// CEDA-FIX: No CEDA_TOKEN needed in config - MCP server reads from ~/.herald/token.json
|
|
67
|
+
// This means ONE login works for ALL projects
|
|
73
68
|
return {
|
|
74
69
|
mcpServers: {
|
|
75
70
|
herald: {
|
|
76
71
|
command: "npx",
|
|
77
72
|
args: ["@spilno/herald-mcp@latest"],
|
|
78
|
-
env
|
|
73
|
+
env: {
|
|
74
|
+
CEDA_URL: "https://getceda.com"
|
|
75
|
+
}
|
|
79
76
|
}
|
|
80
77
|
}
|
|
81
78
|
};
|
package/dist/cli/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAOlD,SAAS,aAAa;IACpB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AASD,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBb,CAAC,CAAC;AACH,CAAC;AAYD,SAAS,WAAW,CAAC,IAAuB,EAAE,OAAe;IAC3D,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.d.ts
CHANGED
package/dist/cli/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AA+DH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAyBzD;AAgDD,wBAAsB,OAAO,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiKhE"}
|
package/dist/cli/init.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { existsSync, mkdirSync, writeFileSync, readFileSync } from "fs";
|
|
11
11
|
import { join, basename } from "path";
|
|
12
|
-
import { userInfo } from "os";
|
|
12
|
+
import { userInfo, homedir } from "os";
|
|
13
13
|
import { updateClaudeMdContent, fetchLearnedPatterns } from "./templates/claude-md.js";
|
|
14
14
|
import { getHookifyRulesContent } from "./templates/hookify-rules.js";
|
|
15
15
|
function deriveUser() {
|
|
@@ -23,6 +23,7 @@ function deriveUser() {
|
|
|
23
23
|
function buildHeraldConfig() {
|
|
24
24
|
// CEDA-105: Pure git derivation - no HERALD_* env vars needed
|
|
25
25
|
// org/project/user all derived from git remote and git config
|
|
26
|
+
// Auth: Global token from ~/.herald/token.json (via `herald login`)
|
|
26
27
|
return {
|
|
27
28
|
mcpServers: {
|
|
28
29
|
herald: {
|
|
@@ -30,7 +31,7 @@ function buildHeraldConfig() {
|
|
|
30
31
|
args: ["@spilno/herald-mcp@latest"],
|
|
31
32
|
env: {
|
|
32
33
|
CEDA_URL: "https://getceda.com"
|
|
33
|
-
// CEDA_TOKEN
|
|
34
|
+
// No CEDA_TOKEN needed here - uses global ~/.herald/token.json
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
}
|
|
@@ -74,8 +75,8 @@ export function parseInitArgs(args) {
|
|
|
74
75
|
else if (arg === "--force" || arg === "-f") {
|
|
75
76
|
options.force = true;
|
|
76
77
|
}
|
|
77
|
-
else if (arg === "--
|
|
78
|
-
options.
|
|
78
|
+
else if (arg === "--org" || arg === "-c") {
|
|
79
|
+
options.org = args[++i];
|
|
79
80
|
}
|
|
80
81
|
else if (arg === "--project" || arg === "-p") {
|
|
81
82
|
options.project = args[++i];
|
|
@@ -99,24 +100,24 @@ async function runSyncPatterns(cwd, claudeMdPath, options) {
|
|
|
99
100
|
const projectName = basename(cwd);
|
|
100
101
|
const mcpJsonPath = join(cwd, ".mcp.json");
|
|
101
102
|
// Try to get context from .mcp.json, fall back to folder name
|
|
102
|
-
let
|
|
103
|
+
let org = options.org || projectName;
|
|
103
104
|
let project = options.project || projectName;
|
|
104
105
|
let user = options.user || deriveUser();
|
|
105
106
|
if (existsSync(mcpJsonPath)) {
|
|
106
107
|
try {
|
|
107
108
|
const mcpConfig = JSON.parse(readFileSync(mcpJsonPath, "utf-8"));
|
|
108
109
|
const heraldEnv = mcpConfig.mcpServers?.herald?.env || {};
|
|
109
|
-
// Support both HERALD_ORG (new) and
|
|
110
|
-
|
|
110
|
+
// Support both HERALD_ORG (new) and HERALD_ORG (legacy)
|
|
111
|
+
org = options.org || heraldEnv.HERALD_ORG || heraldEnv.HERALD_ORG || projectName;
|
|
111
112
|
project = options.project || heraldEnv.HERALD_PROJECT || projectName;
|
|
112
113
|
user = options.user || heraldEnv.HERALD_USER || deriveUser();
|
|
113
114
|
}
|
|
114
115
|
catch { /* ignore */ }
|
|
115
116
|
}
|
|
116
|
-
const context = {
|
|
117
|
+
const context = { org, project, user };
|
|
117
118
|
const cedaUrl = "https://getceda.com";
|
|
118
|
-
console.log(`Syncing patterns for ${user}→${project}→${
|
|
119
|
-
const learnedPatterns = await fetchLearnedPatterns(cedaUrl,
|
|
119
|
+
console.log(`Syncing patterns for ${user}→${project}→${org}...`);
|
|
120
|
+
const learnedPatterns = await fetchLearnedPatterns(cedaUrl, org, project, user);
|
|
120
121
|
if (!learnedPatterns) {
|
|
121
122
|
console.log("Failed to fetch patterns from CEDA");
|
|
122
123
|
return;
|
|
@@ -147,10 +148,10 @@ export async function runInit(args = []) {
|
|
|
147
148
|
return runSyncPatterns(cwd, claudeMdPath, options);
|
|
148
149
|
}
|
|
149
150
|
// Zero-config: derive from folder name, flags override
|
|
150
|
-
const
|
|
151
|
+
const org = options.org || projectName;
|
|
151
152
|
const project = options.project || projectName;
|
|
152
153
|
const context = {
|
|
153
|
-
|
|
154
|
+
org,
|
|
154
155
|
project,
|
|
155
156
|
user: options.user || deriveUser(),
|
|
156
157
|
};
|
|
@@ -208,7 +209,7 @@ To overwrite:
|
|
|
208
209
|
// Fetch learned patterns from CEDA
|
|
209
210
|
const cedaUrl = "https://getceda.com";
|
|
210
211
|
console.log("Fetching learned patterns from CEDA...");
|
|
211
|
-
const learnedPatterns = await fetchLearnedPatterns(cedaUrl,
|
|
212
|
+
const learnedPatterns = await fetchLearnedPatterns(cedaUrl, org, project);
|
|
212
213
|
if (learnedPatterns) {
|
|
213
214
|
const totalPatterns = learnedPatterns.patterns.length + learnedPatterns.antipatterns.length;
|
|
214
215
|
if (totalPatterns > 0) {
|
|
@@ -239,14 +240,36 @@ To overwrite:
|
|
|
239
240
|
console.log(" - Pattern check reminder on prompts");
|
|
240
241
|
console.log(" - Pattern capture reminder on session end");
|
|
241
242
|
}
|
|
242
|
-
|
|
243
|
+
// Check if user is already logged in globally
|
|
244
|
+
const globalTokenPath = join(homedir(), ".herald", "token.json");
|
|
245
|
+
const hasGlobalToken = existsSync(globalTokenPath);
|
|
246
|
+
if (hasGlobalToken) {
|
|
247
|
+
console.log(`
|
|
248
|
+
✓ Herald configured
|
|
249
|
+
|
|
250
|
+
Backend: https://getceda.com
|
|
251
|
+
Context: Derived from git (org/project/user)
|
|
252
|
+
Auth: Using global token from ~/.herald/token.json ✓
|
|
253
|
+
|
|
254
|
+
Next steps:
|
|
255
|
+
1. Start Claude Code in this directory
|
|
256
|
+
2. Say "herald health" to verify
|
|
257
|
+
|
|
258
|
+
Capture patterns:
|
|
259
|
+
Say "Herald reflect - that was smooth"
|
|
260
|
+
Claude asks what worked → you answer → saved.
|
|
261
|
+
`);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
console.log(`
|
|
243
265
|
✓ Herald configured
|
|
244
266
|
|
|
245
267
|
Backend: https://getceda.com
|
|
246
268
|
Context: Derived from git (org/project/user)
|
|
247
269
|
|
|
248
270
|
Next steps:
|
|
249
|
-
1.
|
|
271
|
+
1. Run: npx @spilno/herald-mcp login
|
|
272
|
+
(One-time login - works for all your projects)
|
|
250
273
|
2. Start Claude Code in this directory
|
|
251
274
|
3. Say "herald health" to verify
|
|
252
275
|
|
|
@@ -254,5 +277,6 @@ Capture patterns:
|
|
|
254
277
|
Say "Herald reflect - that was smooth"
|
|
255
278
|
Claude asks what worked → you answer → saved.
|
|
256
279
|
`);
|
|
280
|
+
}
|
|
257
281
|
}
|
|
258
282
|
//# sourceMappingURL=init.js.map
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/login.d.ts
CHANGED
package/dist/cli/login.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAYH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AA0CD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAY3D;AAuBD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAYH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AA0CD,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAY3D;AAuBD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHjE"}
|
package/dist/cli/login.js
CHANGED
|
@@ -114,6 +114,7 @@ To logout:
|
|
|
114
114
|
const url = new URL(req.url || "", `http://localhost:${PORT}`);
|
|
115
115
|
if (url.pathname === CALLBACK_PATH) {
|
|
116
116
|
const token = url.searchParams.get("token");
|
|
117
|
+
const refreshToken = url.searchParams.get("refresh_token");
|
|
117
118
|
const login = url.searchParams.get("login");
|
|
118
119
|
const email = url.searchParams.get("email");
|
|
119
120
|
const error = url.searchParams.get("error");
|
|
@@ -133,10 +134,22 @@ To logout:
|
|
|
133
134
|
process.exit(1);
|
|
134
135
|
}
|
|
135
136
|
if (token && login) {
|
|
136
|
-
//
|
|
137
|
+
// Compute expiresAt from JWT exp claim
|
|
138
|
+
let expiresAt;
|
|
139
|
+
try {
|
|
140
|
+
const payload = JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
|
|
141
|
+
expiresAt = payload.exp
|
|
142
|
+
? new Date(payload.exp * 1000).toISOString()
|
|
143
|
+
: new Date(Date.now() + 60 * 60 * 1000).toISOString(); // fallback 1h
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
expiresAt = new Date(Date.now() + 60 * 60 * 1000).toISOString();
|
|
147
|
+
}
|
|
148
|
+
// Store the token (and refresh token if provided)
|
|
137
149
|
const auth = {
|
|
138
150
|
token,
|
|
139
|
-
|
|
151
|
+
refreshToken: refreshToken || undefined,
|
|
152
|
+
expiresAt,
|
|
140
153
|
user: { login, email: email || undefined }
|
|
141
154
|
};
|
|
142
155
|
storeAuth(auth);
|
package/dist/cli/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,qBAAqB,CAAC;AAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/cli/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* when running `herald-mcp init`.
|
|
6
6
|
*/
|
|
7
7
|
export interface HeraldContext {
|
|
8
|
-
|
|
8
|
+
org: string;
|
|
9
9
|
project: string;
|
|
10
10
|
user: string;
|
|
11
11
|
}
|
|
@@ -22,8 +22,8 @@ export interface LearnedPatterns {
|
|
|
22
22
|
}>;
|
|
23
23
|
}
|
|
24
24
|
export declare const HERALD_SECTION_MARKER = "## Herald Integration";
|
|
25
|
-
export declare const HERALD_SECTION_TEMPLATE = "## Herald Integration\n\nYou have Herald MCP tools available. USE THEM.\n\n### On Session Start\n- Call `herald_patterns()` to learn from past sessions\n- Review antipatterns below BEFORE starting work\n\n### Pattern Capture\n- When things go WRONG: \"Herald reflect - that was rough\"\n- When things go WELL: \"Herald reflect - that was smooth\"\n- For deep analysis: \"Herald simulate\"\n\n### Context\n-
|
|
25
|
+
export declare const HERALD_SECTION_TEMPLATE = "## Herald Integration\n\nYou have Herald MCP tools available. USE THEM.\n\n### On Session Start\n- Call `herald_patterns()` to learn from past sessions\n- Review antipatterns below BEFORE starting work\n\n### Pattern Capture\n- When things go WRONG: \"Herald reflect - that was rough\"\n- When things go WELL: \"Herald reflect - that was smooth\"\n- For deep analysis: \"Herald simulate\"\n\n### Context\n- Org: {{org}}\n- Project: {{project}}\n- User: {{user}}\n\n{{learned_patterns}}\n";
|
|
26
26
|
export declare function renderHeraldSection(context: HeraldContext, learnedPatterns?: LearnedPatterns): string;
|
|
27
|
-
export declare function fetchLearnedPatterns(cedaUrl: string,
|
|
27
|
+
export declare function fetchLearnedPatterns(cedaUrl: string, org: string, project: string, user?: string): Promise<LearnedPatterns | null>;
|
|
28
28
|
export declare function updateClaudeMdContent(existingContent: string | null, context: HeraldContext, projectName: string, learnedPatterns?: LearnedPatterns): string;
|
|
29
29
|
//# sourceMappingURL=claude-md.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/claude-md.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/claude-md.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,YAAY,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5E;AAED,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,eAAO,MAAM,uBAAuB,4eAmBnC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,MAAM,CAkCrG;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,MAAkB,GACvB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAkDjC;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,eAAe,GAChC,MAAM,CAaR"}
|
|
@@ -19,7 +19,7 @@ You have Herald MCP tools available. USE THEM.
|
|
|
19
19
|
- For deep analysis: "Herald simulate"
|
|
20
20
|
|
|
21
21
|
### Context
|
|
22
|
-
-
|
|
22
|
+
- Org: {{org}}
|
|
23
23
|
- Project: {{project}}
|
|
24
24
|
- User: {{user}}
|
|
25
25
|
|
|
@@ -29,7 +29,7 @@ export function renderHeraldSection(context, learnedPatterns) {
|
|
|
29
29
|
let learnedSection = "";
|
|
30
30
|
if (learnedPatterns && (learnedPatterns.antipatterns.length > 0 || learnedPatterns.patterns.length > 0)) {
|
|
31
31
|
learnedSection = "### Learned from Past Sessions\n\n";
|
|
32
|
-
learnedSection += `*Inheritance: ${context.user}→${context.project}→${context.
|
|
32
|
+
learnedSection += `*Inheritance: ${context.user}→${context.project}→${context.org}*\n\n`;
|
|
33
33
|
if (learnedPatterns.antipatterns.length > 0) {
|
|
34
34
|
learnedSection += "**Antipatterns (AVOID THESE):**\n";
|
|
35
35
|
learnedPatterns.antipatterns.slice(0, 5).forEach((ap, i) => {
|
|
@@ -53,23 +53,23 @@ export function renderHeraldSection(context, learnedPatterns) {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
return HERALD_SECTION_TEMPLATE
|
|
56
|
-
.replace("{{
|
|
56
|
+
.replace("{{org}}", context.org)
|
|
57
57
|
.replace("{{project}}", context.project)
|
|
58
58
|
.replace("{{user}}", context.user)
|
|
59
59
|
.replace("{{learned_patterns}}", learnedSection);
|
|
60
60
|
}
|
|
61
|
-
export async function fetchLearnedPatterns(cedaUrl,
|
|
61
|
+
export async function fetchLearnedPatterns(cedaUrl, org, project, user = "unknown") {
|
|
62
62
|
try {
|
|
63
|
-
// Cascade: user → project →
|
|
63
|
+
// Cascade: user → project → org (more specific wins)
|
|
64
64
|
const queries = [
|
|
65
|
-
`${cedaUrl}/api/herald/reflections?
|
|
66
|
-
`${cedaUrl}/api/herald/reflections?
|
|
67
|
-
`${cedaUrl}/api/herald/reflections?
|
|
65
|
+
`${cedaUrl}/api/herald/reflections?org=${org}&project=${project}&user=${user}&limit=10`,
|
|
66
|
+
`${cedaUrl}/api/herald/reflections?org=${org}&project=${project}&limit=10`,
|
|
67
|
+
`${cedaUrl}/api/herald/reflections?org=${org}&limit=10`,
|
|
68
68
|
];
|
|
69
69
|
const seenInsights = new Set();
|
|
70
70
|
const patterns = [];
|
|
71
71
|
const antipatterns = [];
|
|
72
|
-
const scopes = ["user", "project", "
|
|
72
|
+
const scopes = ["user", "project", "org"];
|
|
73
73
|
for (let i = 0; i < queries.length; i++) {
|
|
74
74
|
try {
|
|
75
75
|
const response = await fetch(queries[i]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../../src/cli/templates/claude-md.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;CAmBtC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAAsB,EAAE,eAAiC;IAC3F,IAAI,cAAc,GAAG,EAAE,CAAC;IAExB,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACxG,cAAc,GAAG,oCAAoC,CAAC;QACtD,cAAc,IAAI,iBAAiB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../../src/cli/templates/claude-md.ts"],"names":[],"mappings":"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"}
|