murmur8 4.7.7 → 4.7.11
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 +2 -4
- package/REFINE_SKILL.md +1 -1
- package/SKILL.md +1 -1
- package/package.json +1 -1
- package/src/telemetry.js +4 -2
- package/src/update.js +11 -0
package/README.md
CHANGED
|
@@ -120,15 +120,13 @@ npx murmur8 stack-config set linter ruff
|
|
|
120
120
|
|
|
121
121
|
## Keeping Up to Date
|
|
122
122
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
**Project files** (agent specs, templates, skill definition) are copied to your project and need explicit updating:
|
|
123
|
+
One command updates everything — the npm package and all project files:
|
|
126
124
|
|
|
127
125
|
```bash
|
|
128
126
|
npx murmur8 update
|
|
129
127
|
```
|
|
130
128
|
|
|
131
|
-
This
|
|
129
|
+
This runs `npm update murmur8` first, then refreshes `.blueprint/agents/`, `.blueprint/templates/`, `.blueprint/ways_of_working/`, and `.claude/commands/implement-feature.md` from the updated package. Your content in `features/` and `system_specification/` is preserved.
|
|
132
130
|
|
|
133
131
|
## Commands
|
|
134
132
|
|
package/REFINE_SKILL.md
CHANGED
|
@@ -219,7 +219,7 @@ Use the Task tool with `subagent_type="general-purpose"` (same prompt as main pi
|
|
|
219
219
|
```bash
|
|
220
220
|
node -e "
|
|
221
221
|
const path = require('path');
|
|
222
|
-
const { loadConfig, buildPayload, generateRunId, resolveGitContext, ensureFeatureId, sendTelemetry } = require(
|
|
222
|
+
const { loadConfig, buildPayload, generateRunId, resolveGitContext, ensureFeatureId, sendTelemetry } = require(require.resolve('murmur8/src/telemetry'));
|
|
223
223
|
const config = loadConfig(path.join(process.cwd(), '.env'));
|
|
224
224
|
// config reads MURMUR8_TELEMETRY_URL and MURMUR8_TELEMETRY_KEY from .env / process.env
|
|
225
225
|
if (!config.url) process.exit(0);
|
package/SKILL.md
CHANGED
|
@@ -727,7 +727,7 @@ Then send telemetry (fire-and-forget, silent on success or failure):
|
|
|
727
727
|
```bash
|
|
728
728
|
node -e "
|
|
729
729
|
const path = require('path');
|
|
730
|
-
const { loadConfig, buildPayload, generateRunId, resolveGitContext, ensureFeatureId, sendTelemetry } = require(
|
|
730
|
+
const { loadConfig, buildPayload, generateRunId, resolveGitContext, ensureFeatureId, sendTelemetry } = require(require.resolve('murmur8/src/telemetry'));
|
|
731
731
|
const config = loadConfig(path.join(process.cwd(), '.env'));
|
|
732
732
|
// config reads MURMUR8_TELEMETRY_URL and MURMUR8_TELEMETRY_KEY from .env / process.env
|
|
733
733
|
if (!config.url) process.exit(0);
|
package/package.json
CHANGED
package/src/telemetry.js
CHANGED
|
@@ -168,7 +168,9 @@ function sendTelemetry(payload, config) {
|
|
|
168
168
|
if (!url) return Promise.resolve();
|
|
169
169
|
|
|
170
170
|
return new Promise((resolve) => {
|
|
171
|
-
|
|
171
|
+
// Portal expects flat fields — unwrap the { runId, run } envelope if present
|
|
172
|
+
const data = (payload && payload.run) ? payload.run : payload;
|
|
173
|
+
const body = JSON.stringify(data);
|
|
172
174
|
const parsedUrl = new URL(url);
|
|
173
175
|
const isHttps = parsedUrl.protocol === 'https:';
|
|
174
176
|
const transport = isHttps ? require('https') : require('http');
|
|
@@ -181,7 +183,7 @@ function sendTelemetry(payload, config) {
|
|
|
181
183
|
headers: {
|
|
182
184
|
'Content-Type': 'application/json',
|
|
183
185
|
'Content-Length': Buffer.byteLength(body),
|
|
184
|
-
'
|
|
186
|
+
'Authorization': `Bearer ${key || ''}`,
|
|
185
187
|
},
|
|
186
188
|
};
|
|
187
189
|
|
package/src/update.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const fs = require('fs');
|
|
2
2
|
const path = require('path');
|
|
3
|
+
const { execSync } = require('child_process');
|
|
3
4
|
|
|
4
5
|
const { prompt } = require('./utils');
|
|
5
6
|
|
|
@@ -81,6 +82,15 @@ async function update() {
|
|
|
81
82
|
process.exit(1);
|
|
82
83
|
}
|
|
83
84
|
|
|
85
|
+
// Update the npm package first so subsequent file copies use the new version
|
|
86
|
+
console.log('Updating murmur8 npm package...');
|
|
87
|
+
try {
|
|
88
|
+
execSync('npm update murmur8', { cwd: TARGET_DIR, stdio: 'inherit' });
|
|
89
|
+
console.log('');
|
|
90
|
+
} catch (err) {
|
|
91
|
+
console.warn('Warning: npm update murmur8 failed — continuing with installed version\n');
|
|
92
|
+
}
|
|
93
|
+
|
|
84
94
|
console.log('Updating agent-workflow...');
|
|
85
95
|
console.log('(Preserving: features/, system_specification/)\n');
|
|
86
96
|
|
|
@@ -127,6 +137,7 @@ async function update() {
|
|
|
127
137
|
Update complete!
|
|
128
138
|
|
|
129
139
|
Updated:
|
|
140
|
+
- murmur8 npm package (node_modules/murmur8/)
|
|
130
141
|
- .blueprint/agents/
|
|
131
142
|
- .blueprint/prompts/
|
|
132
143
|
- .blueprint/templates/
|