@qlucent/fishi-core 0.14.7 → 0.15.0

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.
Files changed (2) hide show
  1. package/dist/index.js +40 -0
  2. package/package.json +36 -36
package/dist/index.js CHANGED
@@ -4549,6 +4549,12 @@ try {
4549
4549
  if (contextSummary) {
4550
4550
  console.log(\`Context: \${contextSummary}\`);
4551
4551
  }
4552
+
4553
+ // Emit monitoring event
4554
+ try {
4555
+ const { emitMonitorEvent } = await import('./monitor-emitter.mjs');
4556
+ emitMonitorEvent(projectRoot, { type: 'session.started', agent: 'master-orchestrator', data: { phase, sprint, projectName, taskCounts } });
4557
+ } catch {}
4552
4558
  } catch (err) {
4553
4559
  console.error(\`[FISHI] Session start hook error: \${err.message}\`);
4554
4560
  process.exit(0); // Non-fatal \u2014 don't block session
@@ -4788,6 +4794,12 @@ try {
4788
4794
  pruneCheckpoints();
4789
4795
 
4790
4796
  console.log(\`[FISHI] Checkpoint created: \${checkpointName}\`);
4797
+
4798
+ // Emit monitoring event
4799
+ try {
4800
+ const { emitMonitorEvent } = await import('./monitor-emitter.mjs');
4801
+ emitMonitorEvent(projectRoot, { type: 'checkpoint.created', agent: 'system', data: { checkpointId: paddedNum, phase: state['phase'] || state['current-phase'] || 'unknown', taskCounts } });
4802
+ } catch {}
4791
4803
  } catch (err) {
4792
4804
  console.error(\`[FISHI] Auto-checkpoint error: \${err.message}\`);
4793
4805
  process.exit(0); // Non-fatal
@@ -4970,6 +4982,12 @@ try {
4970
4982
  if (parsed.filesChanged.length > 0) {
4971
4983
  console.log(\`[FISHI] Files changed: \${parsed.filesChanged.join(', ')}\`);
4972
4984
  }
4985
+
4986
+ // Emit monitoring event
4987
+ try {
4988
+ const { emitMonitorEvent } = await import('./monitor-emitter.mjs');
4989
+ emitMonitorEvent(projectRoot, { type: 'agent.completed', agent: agentName || 'unknown', data: { status: status || 'unknown', filesChanged: parsed.filesChanged ? parsed.filesChanged.length : 0, summary: summary || '', taskId: taskId || '' } });
4990
+ } catch {}
4973
4991
  } catch (err) {
4974
4992
  console.error(\`[FISHI] Agent complete hook error: \${err.message}\`);
4975
4993
  process.exit(0); // Non-fatal
@@ -5685,6 +5703,9 @@ function cmdCreate() {
5685
5703
  // Update agent registry
5686
5704
  appendWorktreeEntry(agentSlug, taskSlug, coordinatorSlug, branch, treePath);
5687
5705
 
5706
+ // Emit monitoring event
5707
+ try { import('./monitor-emitter.mjs').then(m => m.emitMonitorEvent(ROOT, { type: 'worktree.created', agent: agentSlug, data: { task: taskSlug, coordinator: coordinatorSlug, branch } })).catch(() => {}); } catch {}
5708
+
5688
5709
  out({
5689
5710
  worktree: treePath,
5690
5711
  branch,
@@ -5850,6 +5871,9 @@ function cmdMerge() {
5850
5871
  fail(\`Merge failed: \${err.message}\`);
5851
5872
  }
5852
5873
 
5874
+ // Emit monitoring event
5875
+ try { import('./monitor-emitter.mjs').then(m => m.emitMonitorEvent(ROOT, { type: 'worktree.merged', agent: 'system', data: { branch } })).catch(() => {}); } catch {}
5876
+
5853
5877
  out({
5854
5878
  merged: branch,
5855
5879
  into: targetBranch,
@@ -5904,6 +5928,9 @@ function cmdCleanup() {
5904
5928
  // Update registry
5905
5929
  removeWorktreeEntry(worktreeName);
5906
5930
 
5931
+ // Emit monitoring event
5932
+ try { import('./monitor-emitter.mjs').then(m => m.emitMonitorEvent(ROOT, { type: 'worktree.cleaned', agent: 'system', data: { worktree: worktreeName } })).catch(() => {}); } catch {}
5933
+
5907
5934
  out({
5908
5935
  removed: treePath,
5909
5936
  branch: branch || 'unknown',
@@ -6085,6 +6112,10 @@ function createGate(phase, description) {
6085
6112
  });
6086
6113
 
6087
6114
  saveGates(data);
6115
+
6116
+ // Emit monitoring event
6117
+ try { import('./monitor-emitter.mjs').then(m => m.emitMonitorEvent(process.cwd(), { type: 'gate.created', agent: 'master-orchestrator', data: { phase } })).catch(() => {}); } catch {}
6118
+
6088
6119
  console.log(JSON.stringify({ phase, status: 'pending', action: 'created' }));
6089
6120
  }
6090
6121
 
@@ -6162,6 +6193,9 @@ function approveGate(phase) {
6162
6193
  // Update project.yaml phase
6163
6194
  updateProjectPhase(phase, 'approved');
6164
6195
 
6196
+ // Emit monitoring event
6197
+ try { import('./monitor-emitter.mjs').then(m => m.emitMonitorEvent(process.cwd(), { type: 'gate.approved', agent: 'master-orchestrator', data: { phase } })).catch(() => {}); } catch {}
6198
+
6165
6199
  console.log(JSON.stringify({ phase, status: 'approved', action: 'approved', docs_checked: gate.docs_checked }));
6166
6200
  }
6167
6201
 
@@ -6179,6 +6213,9 @@ function rejectGate(phase, reason) {
6179
6213
  gate.timestamp = new Date().toISOString();
6180
6214
  saveGates(data);
6181
6215
 
6216
+ // Emit monitoring event
6217
+ try { import('./monitor-emitter.mjs').then(m => m.emitMonitorEvent(process.cwd(), { type: 'gate.rejected', agent: 'master-orchestrator', data: { phase, reason: gate.reason } })).catch(() => {}); } catch {}
6218
+
6182
6219
  console.log(JSON.stringify({ phase, status: 'rejected', reason: gate.reason, action: 'rejected' }));
6183
6220
  }
6184
6221
 
@@ -6197,6 +6234,9 @@ function skipGate(phase) {
6197
6234
 
6198
6235
  updateProjectPhase(phase, 'skipped');
6199
6236
 
6237
+ // Emit monitoring event
6238
+ try { import('./monitor-emitter.mjs').then(m => m.emitMonitorEvent(process.cwd(), { type: 'gate.skipped', agent: 'master-orchestrator', data: { phase } })).catch(() => {}); } catch {}
6239
+
6200
6240
  console.log(JSON.stringify({ phase, status: 'skipped', action: 'skipped' }));
6201
6241
  }
6202
6242
 
package/package.json CHANGED
@@ -1,36 +1,36 @@
1
- {
2
- "name": "@qlucent/fishi-core",
3
- "version": "0.14.7",
4
- "description": "Shared templates, types, and generators for the FISHI framework",
5
- "license": "MIT",
6
- "type": "module",
7
- "main": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "exports": {
10
- ".": {
11
- "import": "./dist/index.js",
12
- "types": "./dist/index.d.ts"
13
- }
14
- },
15
- "scripts": {
16
- "build": "tsup src/index.ts --format esm --dts --clean",
17
- "dev": "tsup src/index.ts --format esm --dts --watch",
18
- "clean": "rm -rf dist",
19
- "test": "vitest run"
20
- },
21
- "files": [
22
- "dist"
23
- ],
24
- "engines": {
25
- "node": ">=18.0.0"
26
- },
27
- "repository": {
28
- "type": "git",
29
- "url": "https://github.com/kpkaranam/fishi"
30
- },
31
- "devDependencies": {
32
- "tsup": "^8.0.0",
33
- "typescript": "^5.4.0",
34
- "vitest": "^2.0.0"
35
- }
36
- }
1
+ {
2
+ "name": "@qlucent/fishi-core",
3
+ "version": "0.15.0",
4
+ "description": "Shared templates, types, and generators for the FISHI framework",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "scripts": {
16
+ "build": "tsup src/index.ts --format esm --dts --clean",
17
+ "dev": "tsup src/index.ts --format esm --dts --watch",
18
+ "clean": "rm -rf dist",
19
+ "test": "vitest run"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "engines": {
25
+ "node": ">=18.0.0"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/kpkaranam/fishi"
30
+ },
31
+ "devDependencies": {
32
+ "tsup": "^8.0.0",
33
+ "typescript": "^5.4.0",
34
+ "vitest": "^2.0.0"
35
+ }
36
+ }