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 CHANGED
@@ -120,15 +120,13 @@ npx murmur8 stack-config set linter ruff
120
120
 
121
121
  ## Keeping Up to Date
122
122
 
123
- **Modules** (history, insights, feedback, retry, validate) are part of the npm package and update automatically when you use `npx` - no action needed.
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 updates `.blueprint/agents/`, `.blueprint/templates/`, `.blueprint/ways_of_working/`, and `.claude/commands/implement-feature.md` while preserving your content in `features/` and `system_specification/`.
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(path.join(process.cwd(), 'src/telemetry'));
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(path.join(process.cwd(), 'src/telemetry'));
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "murmur8",
3
- "version": "4.7.7",
3
+ "version": "4.7.11",
4
4
  "description": "Multi-agent workflow framework for automated feature development",
5
5
  "main": "src/index.js",
6
6
  "bin": {
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
- const body = JSON.stringify(payload);
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
- 'X-API-Key': key || '',
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/