swarmdo 1.58.23 → 1.58.27

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 (172) hide show
  1. package/.claude/helpers/statusline.cjs +9 -1
  2. package/README.md +1 -1
  3. package/package.json +1 -1
  4. package/v3/@swarmdo/cli/.claude/helpers/statusline.cjs +9 -1
  5. package/v3/@swarmdo/cli/dist/src/init/statusline-generator.js +8 -0
  6. package/v3/@swarmdo/cli/package.json +1 -1
  7. package/v3/@swarmdo/cli-core/dist/src/index.js +1 -1
  8. package/v3/@swarmdo/codex/dist/cli.js +0 -0
  9. package/v3/@swarmdo/hooks/dist/cli/guidance-cli.js +0 -0
  10. package/v3/@swarmdo/hooks/dist/statusline/index.d.ts +3 -3
  11. package/v3/@swarmdo/hooks/dist/statusline/index.js +3 -3
  12. package/v3/@swarmdo/integration/dist/__tests__/agentic-flow-agent.test.js +4 -1
  13. package/v3/@swarmdo/neural/dist/flash-attention.d.ts +1 -1
  14. package/v3/@swarmdo/neural/dist/flash-attention.js +1 -1
  15. package/v3/@swarmdo/plugin-agent-federation/dist/plugin.js +1 -1
  16. package/v3/@swarmdo/plugin-agent-federation/dist/transport/midstream-aware-loader.js +2 -2
  17. package/v3/@swarmdo/providers/dist/swarmvector-provider.d.ts +1 -1
  18. package/v3/@swarmdo/providers/dist/swarmvector-provider.js +1 -1
  19. package/v3/@swarmdo/security/dist/input-validator.d.ts +6 -6
  20. package/v3/@swarmdo/shared/dist/hooks/safety/git-commit.js +1 -1
  21. package/v3/@swarmdo/shared/dist/mcp/transport/http.js +8 -1
  22. package/.claude/settings.local.json +0 -7
  23. package/v3/@swarmdo/plugin-iot-cognitum/dist/application/index.d.ts +0 -2
  24. package/v3/@swarmdo/plugin-iot-cognitum/dist/application/index.js +0 -2
  25. package/v3/@swarmdo/plugin-iot-cognitum/dist/application/iot-coordinator.d.ts +0 -138
  26. package/v3/@swarmdo/plugin-iot-cognitum/dist/application/iot-coordinator.js +0 -418
  27. package/v3/@swarmdo/plugin-iot-cognitum/dist/bin.d.ts +0 -15
  28. package/v3/@swarmdo/plugin-iot-cognitum/dist/bin.js +0 -240
  29. package/v3/@swarmdo/plugin-iot-cognitum/dist/cli-commands.d.ts +0 -7
  30. package/v3/@swarmdo/plugin-iot-cognitum/dist/cli-commands.js +0 -508
  31. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/device-agent.d.ts +0 -54
  32. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/device-agent.js +0 -2
  33. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/device-fleet.d.ts +0 -46
  34. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/device-fleet.js +0 -2
  35. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/device-trust-level.d.ts +0 -18
  36. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/device-trust-level.js +0 -28
  37. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/index.d.ts +0 -5
  38. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/index.js +0 -2
  39. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/telemetry.d.ts +0 -35
  40. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/entities/telemetry.js +0 -2
  41. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/device-repository.d.ts +0 -11
  42. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/device-repository.js +0 -2
  43. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/fleet-repository.d.ts +0 -9
  44. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/fleet-repository.js +0 -2
  45. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/index.d.ts +0 -5
  46. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/index.js +0 -2
  47. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/telemetry-repository.d.ts +0 -12
  48. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/telemetry-repository.js +0 -2
  49. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/trust-history-repository.d.ts +0 -19
  50. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/repositories/trust-history-repository.js +0 -2
  51. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/anomaly-detection-service.d.ts +0 -44
  52. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/anomaly-detection-service.js +0 -117
  53. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/device-lifecycle-service.d.ts +0 -70
  54. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/device-lifecycle-service.js +0 -194
  55. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/firmware-orchestration-service.d.ts +0 -69
  56. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/firmware-orchestration-service.js +0 -139
  57. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/fleet-topology-service.d.ts +0 -34
  58. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/fleet-topology-service.js +0 -101
  59. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/index.d.ts +0 -10
  60. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/index.js +0 -10
  61. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/mesh-service.d.ts +0 -64
  62. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/mesh-service.js +0 -70
  63. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/sona-integration-service.d.ts +0 -44
  64. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/sona-integration-service.js +0 -79
  65. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/telemetry-ingestion-service.d.ts +0 -37
  66. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/telemetry-ingestion-service.js +0 -39
  67. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/telemetry-service.d.ts +0 -67
  68. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/telemetry-service.js +0 -58
  69. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/witness-verification-service.d.ts +0 -45
  70. package/v3/@swarmdo/plugin-iot-cognitum/dist/domain/services/witness-verification-service.js +0 -63
  71. package/v3/@swarmdo/plugin-iot-cognitum/dist/index.d.ts +0 -26
  72. package/v3/@swarmdo/plugin-iot-cognitum/dist/index.js +0 -17
  73. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/agentdb-telemetry-repository.d.ts +0 -51
  74. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/agentdb-telemetry-repository.js +0 -110
  75. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/in-memory-device-repository.d.ts +0 -13
  76. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/in-memory-device-repository.js +0 -25
  77. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/in-memory-fleet-repository.d.ts +0 -11
  78. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/in-memory-fleet-repository.js +0 -19
  79. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/in-memory-trust-history-repository.d.ts +0 -11
  80. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/in-memory-trust-history-repository.js +0 -27
  81. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/index.d.ts +0 -6
  82. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/index.js +0 -6
  83. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/seed-client-factory.d.ts +0 -41
  84. package/v3/@swarmdo/plugin-iot-cognitum/dist/infrastructure/seed-client-factory.js +0 -64
  85. package/v3/@swarmdo/plugin-iot-cognitum/dist/mcp-tools.d.ts +0 -8
  86. package/v3/@swarmdo/plugin-iot-cognitum/dist/mcp-tools.js +0 -703
  87. package/v3/@swarmdo/plugin-iot-cognitum/dist/plugin.d.ts +0 -23
  88. package/v3/@swarmdo/plugin-iot-cognitum/dist/plugin.js +0 -239
  89. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/anomaly-scan-worker.d.ts +0 -17
  90. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/anomaly-scan-worker.js +0 -42
  91. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/firmware-watch-worker.d.ts +0 -18
  92. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/firmware-watch-worker.js +0 -45
  93. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/health-probe-worker.d.ts +0 -19
  94. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/health-probe-worker.js +0 -50
  95. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/mesh-sync-worker.d.ts +0 -19
  96. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/mesh-sync-worker.js +0 -47
  97. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/telemetry-ingest-worker.d.ts +0 -17
  98. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/telemetry-ingest-worker.js +0 -40
  99. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/witness-audit-worker.d.ts +0 -18
  100. package/v3/@swarmdo/plugin-iot-cognitum/dist/workers/witness-audit-worker.js +0 -51
  101. package/v3/@swarmdo/testing/dist/fixtures/agent-fixtures.d.ts +0 -214
  102. package/v3/@swarmdo/testing/dist/fixtures/agent-fixtures.js +0 -595
  103. package/v3/@swarmdo/testing/dist/fixtures/agents.d.ts +0 -76
  104. package/v3/@swarmdo/testing/dist/fixtures/agents.js +0 -158
  105. package/v3/@swarmdo/testing/dist/fixtures/configurations.d.ts +0 -157
  106. package/v3/@swarmdo/testing/dist/fixtures/configurations.js +0 -337
  107. package/v3/@swarmdo/testing/dist/fixtures/index.d.ts +0 -10
  108. package/v3/@swarmdo/testing/dist/fixtures/index.js +0 -17
  109. package/v3/@swarmdo/testing/dist/fixtures/mcp-fixtures.d.ts +0 -329
  110. package/v3/@swarmdo/testing/dist/fixtures/mcp-fixtures.js +0 -714
  111. package/v3/@swarmdo/testing/dist/fixtures/memory-entries.d.ts +0 -159
  112. package/v3/@swarmdo/testing/dist/fixtures/memory-entries.js +0 -262
  113. package/v3/@swarmdo/testing/dist/fixtures/memory-fixtures.d.ts +0 -290
  114. package/v3/@swarmdo/testing/dist/fixtures/memory-fixtures.js +0 -547
  115. package/v3/@swarmdo/testing/dist/fixtures/swarm-fixtures.d.ts +0 -289
  116. package/v3/@swarmdo/testing/dist/fixtures/swarm-fixtures.js +0 -534
  117. package/v3/@swarmdo/testing/dist/fixtures/tasks.d.ts +0 -106
  118. package/v3/@swarmdo/testing/dist/fixtures/tasks.js +0 -229
  119. package/v3/@swarmdo/testing/dist/helpers/assertion-helpers.d.ts +0 -213
  120. package/v3/@swarmdo/testing/dist/helpers/assertion-helpers.js +0 -435
  121. package/v3/@swarmdo/testing/dist/helpers/assertions.d.ts +0 -135
  122. package/v3/@swarmdo/testing/dist/helpers/assertions.js +0 -217
  123. package/v3/@swarmdo/testing/dist/helpers/create-mock.d.ts +0 -96
  124. package/v3/@swarmdo/testing/dist/helpers/create-mock.js +0 -164
  125. package/v3/@swarmdo/testing/dist/helpers/index.d.ts +0 -14
  126. package/v3/@swarmdo/testing/dist/helpers/index.js +0 -22
  127. package/v3/@swarmdo/testing/dist/helpers/mock-factory.d.ts +0 -323
  128. package/v3/@swarmdo/testing/dist/helpers/mock-factory.js +0 -350
  129. package/v3/@swarmdo/testing/dist/helpers/setup-teardown.d.ts +0 -271
  130. package/v3/@swarmdo/testing/dist/helpers/setup-teardown.js +0 -446
  131. package/v3/@swarmdo/testing/dist/helpers/swarm-instance.d.ts +0 -142
  132. package/v3/@swarmdo/testing/dist/helpers/swarm-instance.js +0 -205
  133. package/v3/@swarmdo/testing/dist/helpers/test-application.d.ts +0 -190
  134. package/v3/@swarmdo/testing/dist/helpers/test-application.js +0 -138
  135. package/v3/@swarmdo/testing/dist/helpers/test-utils.d.ts +0 -274
  136. package/v3/@swarmdo/testing/dist/helpers/test-utils.js +0 -456
  137. package/v3/@swarmdo/testing/dist/index.d.ts +0 -42
  138. package/v3/@swarmdo/testing/dist/index.js +0 -66
  139. package/v3/@swarmdo/testing/dist/mocks/index.d.ts +0 -8
  140. package/v3/@swarmdo/testing/dist/mocks/index.js +0 -10
  141. package/v3/@swarmdo/testing/dist/mocks/mock-mcp-client.d.ts +0 -206
  142. package/v3/@swarmdo/testing/dist/mocks/mock-mcp-client.js +0 -575
  143. package/v3/@swarmdo/testing/dist/mocks/mock-services.d.ts +0 -287
  144. package/v3/@swarmdo/testing/dist/mocks/mock-services.js +0 -563
  145. package/v3/@swarmdo/testing/dist/regression/api-contract.d.ts +0 -109
  146. package/v3/@swarmdo/testing/dist/regression/api-contract.js +0 -374
  147. package/v3/@swarmdo/testing/dist/regression/index.d.ts +0 -18
  148. package/v3/@swarmdo/testing/dist/regression/index.js +0 -18
  149. package/v3/@swarmdo/testing/dist/regression/integration-regression.d.ts +0 -67
  150. package/v3/@swarmdo/testing/dist/regression/integration-regression.js +0 -334
  151. package/v3/@swarmdo/testing/dist/regression/performance-baseline.d.ts +0 -106
  152. package/v3/@swarmdo/testing/dist/regression/performance-baseline.js +0 -268
  153. package/v3/@swarmdo/testing/dist/regression/regression-runner.d.ts +0 -124
  154. package/v3/@swarmdo/testing/dist/regression/regression-runner.js +0 -227
  155. package/v3/@swarmdo/testing/dist/regression/security-regression.d.ts +0 -73
  156. package/v3/@swarmdo/testing/dist/regression/security-regression.js +0 -258
  157. package/v3/@swarmdo/testing/dist/setup.d.ts +0 -43
  158. package/v3/@swarmdo/testing/dist/setup.js +0 -91
  159. package/v3/@swarmdo/testing/dist/v2-compat/api-compat.test.d.ts +0 -10
  160. package/v3/@swarmdo/testing/dist/v2-compat/api-compat.test.js +0 -433
  161. package/v3/@swarmdo/testing/dist/v2-compat/cli-compat.test.d.ts +0 -10
  162. package/v3/@swarmdo/testing/dist/v2-compat/cli-compat.test.js +0 -352
  163. package/v3/@swarmdo/testing/dist/v2-compat/compatibility-validator.d.ts +0 -206
  164. package/v3/@swarmdo/testing/dist/v2-compat/compatibility-validator.js +0 -839
  165. package/v3/@swarmdo/testing/dist/v2-compat/hooks-compat.test.d.ts +0 -10
  166. package/v3/@swarmdo/testing/dist/v2-compat/hooks-compat.test.js +0 -428
  167. package/v3/@swarmdo/testing/dist/v2-compat/index.d.ts +0 -38
  168. package/v3/@swarmdo/testing/dist/v2-compat/index.js +0 -41
  169. package/v3/@swarmdo/testing/dist/v2-compat/mcp-compat.test.d.ts +0 -10
  170. package/v3/@swarmdo/testing/dist/v2-compat/mcp-compat.test.js +0 -419
  171. package/v3/@swarmdo/testing/dist/v2-compat/report-generator.d.ts +0 -34
  172. package/v3/@swarmdo/testing/dist/v2-compat/report-generator.js +0 -372
@@ -642,7 +642,11 @@ function renderRateLimitSlot() {
642
642
  // misses, the displayed version is meaningful (matches what the user
643
643
  // installed), not a stale hard-coded string.
644
644
  function getPkgVersion() {
645
- let ver = '1.58.9';
645
+ // #1951: an explicit SWARMDO_VERSION override (set by the CLI wrapper) wins over
646
+ // every probe below, so the header can't silently revert to a stale baked default
647
+ // when a global/npx install layout hides package.json.
648
+ if (process.env.SWARMDO_VERSION) return process.env.SWARMDO_VERSION;
649
+ let ver = '1.58.24';
646
650
  try {
647
651
  const home = os.homedir();
648
652
  const pkgPaths = [
@@ -862,6 +866,10 @@ function generateJSON() {
862
866
  return Object.assign({}, d, {
863
867
  user: Object.assign({ name: git.name, gitBranch: git.gitBranch }, d.user || {}),
864
868
  git: { modified: git.modified, untracked: git.untracked, staged: git.staged, ahead: git.ahead, behind: git.behind },
869
+ // #2195: surface the baked maxAgents denominator in the swarm object so the
870
+ // delegation contract (and its smoke) always sees swarm.maxAgents, even though
871
+ // 'hooks statusline --json' reports only the live activeSwarms/activeAgents.
872
+ swarm: Object.assign({ maxAgents: CONFIG.maxAgents }, d.swarm || {}),
865
873
  lastUpdated: new Date().toISOString(),
866
874
  });
867
875
  }
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![swarmdo](swarmdo/assets/brand/logo-full.svg)](https://swarmdo.com)
4
4
 
5
- [![npm version (swarmdo)](https://img.shields.io/badge/npx%20swarmdo-v1.58.23-cb3837?style=for-the-badge&logo=npm&logoColor=white)](https://github.com/SwarmDo/swarmdo/releases)
5
+ [![npm version (swarmdo)](https://img.shields.io/npm/v/swarmdo?style=for-the-badge&logo=npm&logoColor=white&label=npx%20swarmdo&color=cb3837)](https://github.com/SwarmDo/swarmdo/releases)
6
6
  [![MIT License](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](https://github.com/SwarmDo/swarmdo/blob/main/LICENSE)
7
7
  [![Website](https://img.shields.io/badge/swarmdo.com-e2a33c?style=for-the-badge&logoColor=black)](https://swarmdo.com)
8
8
  [![Star on GitHub](https://img.shields.io/github/stars/SwarmDo/swarmdo?style=for-the-badge&logo=github&color=gold)](https://github.com/SwarmDo/swarmdo)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "swarmdo",
3
- "version": "1.58.23",
3
+ "version": "1.58.27",
4
4
  "description": "Swarmdo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -642,7 +642,11 @@ function renderRateLimitSlot() {
642
642
  // misses, the displayed version is meaningful (matches what the user
643
643
  // installed), not a stale hard-coded string.
644
644
  function getPkgVersion() {
645
- let ver = '1.58.9';
645
+ // #1951: an explicit SWARMDO_VERSION override (set by the CLI wrapper) wins over
646
+ // every probe below, so the header can't silently revert to a stale baked default
647
+ // when a global/npx install layout hides package.json.
648
+ if (process.env.SWARMDO_VERSION) return process.env.SWARMDO_VERSION;
649
+ let ver = '1.58.24';
646
650
  try {
647
651
  const home = os.homedir();
648
652
  const pkgPaths = [
@@ -862,6 +866,10 @@ function generateJSON() {
862
866
  return Object.assign({}, d, {
863
867
  user: Object.assign({ name: git.name, gitBranch: git.gitBranch }, d.user || {}),
864
868
  git: { modified: git.modified, untracked: git.untracked, staged: git.staged, ahead: git.ahead, behind: git.behind },
869
+ // #2195: surface the baked maxAgents denominator in the swarm object so the
870
+ // delegation contract (and its smoke) always sees swarm.maxAgents, even though
871
+ // 'hooks statusline --json' reports only the live activeSwarms/activeAgents.
872
+ swarm: Object.assign({ maxAgents: CONFIG.maxAgents }, d.swarm || {}),
865
873
  lastUpdated: new Date().toISOString(),
866
874
  });
867
875
  }
@@ -703,6 +703,10 @@ function renderRateLimitSlot() {
703
703
  // misses, the displayed version is meaningful (matches what the user
704
704
  // installed), not a stale hard-coded string.
705
705
  function getPkgVersion() {
706
+ // #1951: an explicit SWARMDO_VERSION override (set by the CLI wrapper) wins over
707
+ // every probe below, so the header can't silently revert to a stale baked default
708
+ // when a global/npx install layout hides package.json.
709
+ if (process.env.SWARMDO_VERSION) return process.env.SWARMDO_VERSION;
706
710
  let ver = '${BAKED_CLI_VERSION}';
707
711
  try {
708
712
  const home = os.homedir();
@@ -923,6 +927,10 @@ function generateJSON() {
923
927
  return Object.assign({}, d, {
924
928
  user: Object.assign({ name: git.name, gitBranch: git.gitBranch }, d.user || {}),
925
929
  git: { modified: git.modified, untracked: git.untracked, staged: git.staged, ahead: git.ahead, behind: git.behind },
930
+ // #2195: surface the baked maxAgents denominator in the swarm object so the
931
+ // delegation contract (and its smoke) always sees swarm.maxAgents, even though
932
+ // 'hooks statusline --json' reports only the live activeSwarms/activeAgents.
933
+ swarm: Object.assign({ maxAgents: CONFIG.maxAgents }, d.swarm || {}),
926
934
  lastUpdated: new Date().toISOString(),
927
935
  });
928
936
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swarmdo/cli",
3
- "version": "1.58.23",
3
+ "version": "1.58.27",
4
4
  "type": "module",
5
5
  "description": "Swarmdo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
6
6
  "main": "dist/src/index.js",
@@ -103,7 +103,7 @@ Storage:
103
103
  Programmatic use:
104
104
  import { JsonMemoryBackend, runMemoryCommand } from '@swarmdo/cli-core';
105
105
 
106
- Track progress: https://github.com/ruvnet/swarmdo/issues/1760`);
106
+ Track progress: the upstream project (see NOTICE)`);
107
107
  process.exit(0);
108
108
  }
109
109
  console.error(`@swarmdo/cli-core: command "${args[0]}" not yet wired into cli-core.
File without changes
File without changes
@@ -5,7 +5,7 @@
5
5
  * Provides real-time progress, metrics, and status information.
6
6
  *
7
7
  * Format matches the working .claude/statusline.sh output:
8
- * ▊ Swarmdo V3 ● ruvnet │ ⎇ v3 │ Opus 4.5
8
+ * ▊ Swarmdo V3 ● upstream │ ⎇ v3 │ Opus 4.5
9
9
  * ─────────────────────────────────────────────────────
10
10
  * 🏗️ DDD Domains [●●●●●] 5/5 ⚡ 1.0x → 2.49x-7.47x
11
11
  * 🤖 Swarm ◉ [58/15] 👥 0 🟢 CVE 3/3 💾 22282MB 📂 47% 🧠 10%
@@ -76,7 +76,7 @@ export declare class StatuslineGenerator {
76
76
  * This avoids the multi-line collision bug where Claude Code's internal status
77
77
  * (written at absolute terminal coordinates ~cols 15-25) bleeds into conversation
78
78
  *
79
- * @see https://github.com/ruvnet/claude-flow/issues/985
79
+ * @see the upstream project (see NOTICE)
80
80
  */
81
81
  generateSingleLine(): string;
82
82
  /**
@@ -84,7 +84,7 @@ export declare class StatuslineGenerator {
84
84
  * The collision zone is columns 15-25 on the SECOND-TO-LAST line
85
85
  * We restructure output so that line has minimal/no content in that zone
86
86
  *
87
- * @see https://github.com/ruvnet/claude-flow/issues/985
87
+ * @see the upstream project (see NOTICE)
88
88
  */
89
89
  generateSafeStatusline(): string;
90
90
  /**
@@ -5,7 +5,7 @@
5
5
  * Provides real-time progress, metrics, and status information.
6
6
  *
7
7
  * Format matches the working .claude/statusline.sh output:
8
- * ▊ Swarmdo V3 ● ruvnet │ ⎇ v3 │ Opus 4.5
8
+ * ▊ Swarmdo V3 ● upstream │ ⎇ v3 │ Opus 4.5
9
9
  * ─────────────────────────────────────────────────────
10
10
  * 🏗️ DDD Domains [●●●●●] 5/5 ⚡ 1.0x → 2.49x-7.47x
11
11
  * 🤖 Swarm ◉ [58/15] 👥 0 🟢 CVE 3/3 💾 22282MB 📂 47% 🧠 10%
@@ -189,7 +189,7 @@ export class StatuslineGenerator {
189
189
  * This avoids the multi-line collision bug where Claude Code's internal status
190
190
  * (written at absolute terminal coordinates ~cols 15-25) bleeds into conversation
191
191
  *
192
- * @see https://github.com/ruvnet/claude-flow/issues/985
192
+ * @see the upstream project (see NOTICE)
193
193
  */
194
194
  generateSingleLine() {
195
195
  if (!this.config.enabled) {
@@ -212,7 +212,7 @@ export class StatuslineGenerator {
212
212
  * The collision zone is columns 15-25 on the SECOND-TO-LAST line
213
213
  * We restructure output so that line has minimal/no content in that zone
214
214
  *
215
- * @see https://github.com/ruvnet/claude-flow/issues/985
215
+ * @see the upstream project (see NOTICE)
216
216
  */
217
217
  generateSafeStatusline() {
218
218
  if (!this.config.enabled) {
@@ -55,7 +55,10 @@ describe('AgenticFlowAgent', () => {
55
55
  });
56
56
  expect(result.success).toBe(true);
57
57
  expect(result.taskId).toBe('task-1');
58
- expect(result.duration).toBeGreaterThan(0);
58
+ // ≥0, not >0: a mocked task can complete inside one Date.now() tick on
59
+ // fast runners — the intent is "duration was measured", not "took time"
60
+ expect(result.duration).toBeGreaterThanOrEqual(0);
61
+ expect(typeof result.duration).toBe('number');
59
62
  expect(agent.metrics?.tasksCompleted).toBe(1);
60
63
  });
61
64
  it('should update status during task execution', async () => {
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * Target: 2-5x speedup on CPU vs naive attention
14
14
  *
15
- * Created with love by ruv.io
15
+ * Created with love by swarmdo.com
16
16
  */
17
17
  export interface FlashAttentionConfig {
18
18
  /** Block size for tiling (32-64 optimal for CPU L1 cache) */
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * Target: 2-5x speedup on CPU vs naive attention
14
14
  *
15
- * Created with love by ruv.io
15
+ * Created with love by swarmdo.com
16
16
  */
17
17
  // ============================================================================
18
18
  // Flash Attention Implementation
@@ -20,7 +20,7 @@ import { PolicyEngine } from './application/policy-engine.js';
20
20
  import { getTrustLevelLabel } from './domain/entities/trust-level.js';
21
21
  // ADR-104: real wire transport via agentic-flow loader pattern.
22
22
  // ADR-120: midstream-aware loader wraps the agentic-flow loader so
23
- // when `midstreamer` (ruvnet/midstream) ships its production QUIC
23
+ // when `midstreamer` (upstream/midstream) ships its production QUIC
24
24
  // build (Step 1 of ADR-120) and operators opt in with
25
25
  // MIDSTREAMER_QUIC_NATIVE=1, the federation transport auto-upgrades.
26
26
  // Until then, the wrapper transparently defers to the agentic-flow
@@ -83,7 +83,7 @@ async function probeMidstreamerTransport(config) {
83
83
  try {
84
84
  // Lazy + indirect so bundlers don't try to resolve at compile time.
85
85
  // Prefer the `midstreamer/quic` sub-path (added in midstreamer@0.3.1
86
- // per upstream ruvnet/midstream#81) which exposes
86
+ // per upstream upstream/midstream#81) which exposes
87
87
  // `loadQuicTransport` directly without WASM init. Fall back to the
88
88
  // root `midstreamer` package for older versions that put the QUIC
89
89
  // surface on the default export.
@@ -112,7 +112,7 @@ async function probeMidstreamerTransport(config) {
112
112
  // QuicMultistream as a counter-tracking stub with no real UDP, TLS,
113
113
  // or protocol — using it would silently downgrade the federation
114
114
  // path. midstreamer@0.3.1+ ships a real QUIC transport via
115
- // `midstreamer/quic` (ADR-120, Step 1 — upstream PR ruvnet/midstream#81)
115
+ // `midstreamer/quic` (ADR-120, Step 1 — upstream PR upstream/midstream#81)
116
116
  // and reports `isNative() === true`. Older versions either expose
117
117
  // `isStub()` returning true or omit both probes.
118
118
  if (typeof surface.isStub === 'function' && surface.isStub()) {
@@ -34,7 +34,7 @@ export declare class SwarmVectorProvider extends BaseProvider {
34
34
  protected doHealthCheck(): Promise<HealthCheckResult>;
35
35
  /**
36
36
  * Build swarmLLM native API query format
37
- * See: https://github.com/ruvnet/swarmvector/tree/main/examples/swarmLLM
37
+ * See: the upstream project (see NOTICE)
38
38
  */
39
39
  private buildSwarmvectorQuery;
40
40
  private buildRequest;
@@ -410,7 +410,7 @@ export class SwarmVectorProvider extends BaseProvider {
410
410
  }
411
411
  /**
412
412
  * Build swarmLLM native API query format
413
- * See: https://github.com/ruvnet/swarmvector/tree/main/examples/swarmLLM
413
+ * See: the upstream project (see NOTICE)
414
414
  */
415
415
  buildSwarmvectorQuery(request) {
416
416
  // swarmLLM uses simple query format, not OpenAI-compatible
@@ -159,14 +159,14 @@ export declare const SpawnAgentSchema: z.ZodObject<{
159
159
  timeout: z.ZodOptional<z.ZodNumber>;
160
160
  }, "strip", z.ZodTypeAny, {
161
161
  type: "coder" | "reviewer" | "tester" | "planner" | "researcher" | "security-architect" | "security-auditor" | "memory-specialist" | "swarm-specialist" | "integration-architect" | "performance-engineer" | "core-architect" | "test-architect" | "queen-coordinator" | "project-coordinator";
162
- id?: string | undefined;
163
162
  config?: Record<string, unknown> | undefined;
164
163
  timeout?: number | undefined;
164
+ id?: string | undefined;
165
165
  }, {
166
166
  type: "coder" | "reviewer" | "tester" | "planner" | "researcher" | "security-architect" | "security-auditor" | "memory-specialist" | "swarm-specialist" | "integration-architect" | "performance-engineer" | "core-architect" | "test-architect" | "queen-coordinator" | "project-coordinator";
167
- id?: string | undefined;
168
167
  config?: Record<string, unknown> | undefined;
169
168
  timeout?: number | undefined;
169
+ id?: string | undefined;
170
170
  }>;
171
171
  /**
172
172
  * Task input schema
@@ -181,13 +181,13 @@ export declare const TaskInputSchema: z.ZodObject<{
181
181
  taskId: string;
182
182
  content: string;
183
183
  agentType: "coder" | "reviewer" | "tester" | "planner" | "researcher" | "security-architect" | "security-auditor" | "memory-specialist" | "swarm-specialist" | "integration-architect" | "performance-engineer" | "core-architect" | "test-architect" | "queen-coordinator" | "project-coordinator";
184
- priority?: "low" | "medium" | "high" | "critical" | undefined;
184
+ priority?: "critical" | "high" | "medium" | "low" | undefined;
185
185
  metadata?: Record<string, unknown> | undefined;
186
186
  }, {
187
187
  taskId: string;
188
188
  content: string;
189
189
  agentType: "coder" | "reviewer" | "tester" | "planner" | "researcher" | "security-architect" | "security-auditor" | "memory-specialist" | "swarm-specialist" | "integration-architect" | "performance-engineer" | "core-architect" | "test-architect" | "queen-coordinator" | "project-coordinator";
190
- priority?: "low" | "medium" | "high" | "critical" | undefined;
190
+ priority?: "critical" | "high" | "medium" | "low" | undefined;
191
191
  metadata?: Record<string, unknown> | undefined;
192
192
  }>;
193
193
  /**
@@ -234,16 +234,16 @@ export declare const ExecutorConfigSchema: z.ZodObject<{
234
234
  cwd: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
235
235
  allowSudo: z.ZodDefault<z.ZodBoolean>;
236
236
  }, "strip", z.ZodTypeAny, {
237
- timeout: number;
238
237
  allowedCommands: string[];
238
+ timeout: number;
239
239
  maxBuffer: number;
240
240
  allowSudo: boolean;
241
241
  blockedPatterns?: string[] | undefined;
242
242
  cwd?: string | undefined;
243
243
  }, {
244
244
  allowedCommands: string[];
245
- timeout?: number | undefined;
246
245
  blockedPatterns?: string[] | undefined;
246
+ timeout?: number | undefined;
247
247
  maxBuffer?: number | undefined;
248
248
  cwd?: string | undefined;
249
249
  allowSudo?: boolean | undefined;
@@ -135,7 +135,7 @@ export class GitCommitHook {
135
135
  const result = await this.processCommitMessage(message, branchName);
136
136
  // Modify the command with the new message
137
137
  if (result.success && result.modifiedMessage !== message) {
138
- const modifiedCommand = command.replace(/-m\s+["'][^"']+["']/, `-m "${result.modifiedMessage.replace(/"/g, '\\"')}"`);
138
+ const modifiedCommand = command.replace(/-m\s+["'][^"']+["']/, `-m "${result.modifiedMessage.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`);
139
139
  return {
140
140
  ...result,
141
141
  data: {
@@ -161,7 +161,14 @@ export class HttpTransport extends EventEmitter {
161
161
  setupMiddleware() {
162
162
  // Security headers
163
163
  this.app.use(helmet({
164
- contentSecurityPolicy: false, // Allow for flexibility
164
+ // JSON-RPC API serves no HTML, so a strict CSP is inert for responses but
165
+ // satisfies js/insecure-helmet-configuration (disabling CSP is flagged).
166
+ contentSecurityPolicy: {
167
+ directives: {
168
+ defaultSrc: ["'none'"],
169
+ frameAncestors: ["'none'"],
170
+ },
171
+ },
165
172
  }));
166
173
  // CORS - Secure defaults (no wildcard in production)
167
174
  if (this.config.corsEnabled !== false) {
@@ -1,7 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(gh run *)"
5
- ]
6
- }
7
- }
@@ -1,2 +0,0 @@
1
- export { IoTCoordinator, type IoTCoordinatorConfig, type IoTCoordinatorCallbacks, } from './iot-coordinator.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +0,0 @@
1
- export { IoTCoordinator, } from './iot-coordinator.js';
2
- //# sourceMappingURL=index.js.map
@@ -1,138 +0,0 @@
1
- import type { WitnessChain, CustodyEpoch } from '@cognitum-one/sdk/seed';
2
- import type { StoreQueryResult, IngestResult, StoreHealthStatus } from '../domain/services/telemetry-service.js';
3
- import type { MeshTopology } from '../domain/services/mesh-service.js';
4
- import type { TelemetryBaseline, AnomalyDetectionConfig } from '../domain/services/anomaly-detection-service.js';
5
- import type { CreateFleetOptions, FleetSummary } from '../domain/services/fleet-topology-service.js';
6
- import type { FirmwareRollout } from '../domain/services/firmware-orchestration-service.js';
7
- import type { WitnessVerificationResult } from '../domain/services/witness-verification-service.js';
8
- import type { SONAClient } from '../domain/services/sona-integration-service.js';
9
- import type { TelemetryRepository } from '../domain/repositories/telemetry-repository.js';
10
- import type { DeviceAgent, DeviceTrustLevel, TelemetryReading, AnomalyDetection, DeviceFleet, FleetTopology, FirmwarePolicy } from '../domain/entities/index.js';
11
- import type { DeviceRepository, TrustHistoryRepository, FleetRepository } from '../domain/repositories/index.js';
12
- export interface IoTCoordinatorConfig {
13
- /** Fleet ID assigned to newly registered devices. */
14
- defaultFleetId: string;
15
- /** IEC 62443 security zone assigned to newly registered devices. */
16
- defaultZoneId: string;
17
- /** TLS defaults forwarded to the underlying SeedClientFactory. */
18
- defaultTls?: {
19
- insecure?: boolean;
20
- ca?: string;
21
- };
22
- /** Active health-probe interval (ms) for each SeedClient. */
23
- healthInterval?: number;
24
- /** Optional device persistence repository. */
25
- deviceRepository?: DeviceRepository;
26
- /** Optional trust history repository. */
27
- trustHistoryRepository?: TrustHistoryRepository;
28
- /** Anomaly detection configuration. */
29
- anomalyDetection?: Partial<AnomalyDetectionConfig>;
30
- /** Optional fleet persistence repository. */
31
- fleetRepository?: FleetRepository;
32
- /** Optional SONA neural learning client. */
33
- sonaClient?: SONAClient;
34
- /** Optional HNSW-indexed telemetry repository. */
35
- telemetryRepository?: TelemetryRepository;
36
- }
37
- export interface IoTCoordinatorCallbacks {
38
- onDeviceRegistered?: (device: DeviceAgent) => void;
39
- onTrustChange?: (deviceId: string, oldLevel: DeviceTrustLevel, newLevel: DeviceTrustLevel) => void;
40
- }
41
- /**
42
- * Application-layer coordinator that wires domain services to the
43
- * Cognitum Seed SDK transport. Every public method resolves a
44
- * {@link SeedClient} from the internal registry and delegates to the
45
- * appropriate domain service.
46
- */
47
- export declare class IoTCoordinator {
48
- private readonly factory;
49
- private readonly devices;
50
- private readonly lifecycle;
51
- private readonly telemetry;
52
- private readonly mesh;
53
- private readonly anomalyDetection;
54
- private readonly ingestion;
55
- private readonly fleet;
56
- private readonly firmware;
57
- private readonly witnessVerification;
58
- private readonly sona;
59
- private readonly telemetryRepo?;
60
- private readonly config;
61
- private readonly deviceRepo?;
62
- private readonly trustRepo?;
63
- constructor(config: IoTCoordinatorConfig, callbacks?: IoTCoordinatorCallbacks);
64
- /**
65
- * Register a Seed device by its HTTP endpoint. Creates a
66
- * {@link SeedClient}, fetches status and identity from the real
67
- * hardware, and returns a fully populated {@link DeviceAgent}.
68
- */
69
- registerDevice(endpoint: string, pairingToken?: string): Promise<DeviceAgent>;
70
- /**
71
- * Refresh a device's state from the real hardware and recalculate
72
- * its trust score.
73
- */
74
- getDeviceStatus(deviceId: string): Promise<DeviceAgent>;
75
- /** Pair a registered device, promoting its trust level. */
76
- pairDevice(deviceId: string, clientName: string): Promise<DeviceAgent>;
77
- /** Unpair a registered device, demoting its trust level. */
78
- unpairDevice(deviceId: string): Promise<DeviceAgent>;
79
- /** Run a k-NN query against a device's on-board vector store. */
80
- queryDeviceVectors(deviceId: string, vector: number[], k: number): Promise<StoreQueryResult>;
81
- /** Ingest raw vectors into a device's vector store. */
82
- ingestDeviceTelemetry(deviceId: string, vectors: Array<{
83
- values: number[];
84
- metadata?: Record<string, unknown>;
85
- }>): Promise<IngestResult>;
86
- /** Retrieve vector store health metrics for a device. */
87
- getDeviceStoreStatus(deviceId: string): Promise<StoreHealthStatus>;
88
- /** Get the aggregated mesh topology snapshot for a device. */
89
- getDeviceMeshTopology(deviceId: string): Promise<MeshTopology>;
90
- /** Retrieve the full witness chain from a device. */
91
- getDeviceWitnessChain(deviceId: string): Promise<WitnessChain>;
92
- /** Retrieve the current custody epoch from a device. */
93
- getDeviceCustodyEpoch(deviceId: string): Promise<CustodyEpoch>;
94
- /** Verify witness chain integrity for a device. */
95
- verifyWitnessChain(deviceId: string): Promise<WitnessVerificationResult>;
96
- /** Detect anomalies in a batch of telemetry readings for a device. */
97
- detectAnomalies(deviceId: string, readings: TelemetryReading[]): {
98
- anomalies: AnomalyDetection[];
99
- total: number;
100
- anomalous: number;
101
- };
102
- /** Compute a telemetry baseline for a device from readings. */
103
- computeBaseline(deviceId: string, readings: TelemetryReading[]): TelemetryBaseline;
104
- /** Get the current baseline for a device, if computed. */
105
- getBaseline(deviceId: string): TelemetryBaseline | undefined;
106
- createFirmwareRollout(fleetId: string, firmwareVersion: string): Promise<FirmwareRollout>;
107
- advanceFirmwareRollout(rolloutId: string): Promise<FirmwareRollout>;
108
- rollbackFirmwareRollout(rolloutId: string): FirmwareRollout;
109
- getFirmwareRollout(rolloutId: string): FirmwareRollout;
110
- listFirmwareRollouts(fleetId?: string): FirmwareRollout[];
111
- createFleet(options: CreateFleetOptions): Promise<DeviceFleet>;
112
- getFleet(fleetId: string): Promise<DeviceFleet>;
113
- listFleets(): Promise<FleetSummary[]>;
114
- addDeviceToFleet(fleetId: string, deviceId: string): Promise<DeviceFleet>;
115
- removeDeviceFromFleet(fleetId: string, deviceId: string): Promise<DeviceFleet>;
116
- updateFleetTopology(fleetId: string, topology: FleetTopology): Promise<DeviceFleet>;
117
- updateFleetFirmwarePolicy(fleetId: string, policy: Partial<FirmwarePolicy>): Promise<DeviceFleet>;
118
- deleteFleet(fleetId: string): Promise<void>;
119
- /** List all registered device agents. */
120
- listDevices(): DeviceAgent[];
121
- /** Remove a device from the coordinator and close its SDK client. */
122
- removeDevice(deviceId: string): Promise<void>;
123
- /** Shut down all SDK clients and clear internal state. */
124
- shutdown(): Promise<void>;
125
- /** Health snapshot of the coordinator. */
126
- getStatus(): {
127
- healthy: boolean;
128
- deviceCount: number;
129
- devices: DeviceAgent[];
130
- };
131
- /**
132
- * Resolve a SeedClient by device ID (or temporary endpoint key).
133
- * Throws when the device has not been registered.
134
- */
135
- private resolveClient;
136
- private requireEntry;
137
- }
138
- //# sourceMappingURL=iot-coordinator.d.ts.map