hungry-ghost-hive 0.45.0 → 0.47.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 (136) hide show
  1. package/dist/cli/commands/cluster.d.ts.map +1 -1
  2. package/dist/cli/commands/cluster.js +348 -1
  3. package/dist/cli/commands/cluster.js.map +1 -1
  4. package/dist/cli/commands/cluster.test.js +313 -9
  5. package/dist/cli/commands/cluster.test.js.map +1 -1
  6. package/dist/cli/commands/manager/index.js +6 -4
  7. package/dist/cli/commands/manager/index.js.map +1 -1
  8. package/dist/cli/commands/req-spawn.test.d.ts +2 -0
  9. package/dist/cli/commands/req-spawn.test.d.ts.map +1 -0
  10. package/dist/cli/commands/req-spawn.test.js +116 -0
  11. package/dist/cli/commands/req-spawn.test.js.map +1 -0
  12. package/dist/cli/commands/req.d.ts.map +1 -1
  13. package/dist/cli/commands/req.js +21 -13
  14. package/dist/cli/commands/req.js.map +1 -1
  15. package/dist/cli/dashboard/index.d.ts.map +1 -1
  16. package/dist/cli/dashboard/index.js +14 -2
  17. package/dist/cli/dashboard/index.js.map +1 -1
  18. package/dist/cli/dashboard/panels/agents.d.ts +1 -1
  19. package/dist/cli/dashboard/panels/agents.d.ts.map +1 -1
  20. package/dist/cli/dashboard/panels/agents.js +7 -3
  21. package/dist/cli/dashboard/panels/agents.js.map +1 -1
  22. package/dist/cli/dashboard/panels/escalations.d.ts +1 -1
  23. package/dist/cli/dashboard/panels/escalations.d.ts.map +1 -1
  24. package/dist/cli/dashboard/panels/escalations.js +7 -1
  25. package/dist/cli/dashboard/panels/escalations.js.map +1 -1
  26. package/dist/cluster/cluster-http-server.d.ts +32 -0
  27. package/dist/cluster/cluster-http-server.d.ts.map +1 -1
  28. package/dist/cluster/cluster-http-server.js +42 -0
  29. package/dist/cluster/cluster-http-server.js.map +1 -1
  30. package/dist/cluster/distributed-runtime-coverage.test.js +9 -0
  31. package/dist/cluster/distributed-runtime-coverage.test.js.map +1 -1
  32. package/dist/cluster/distributed-system.test.js +135 -0
  33. package/dist/cluster/distributed-system.test.js.map +1 -1
  34. package/dist/cluster/events.d.ts +23 -0
  35. package/dist/cluster/events.d.ts.map +1 -1
  36. package/dist/cluster/events.js +74 -0
  37. package/dist/cluster/events.js.map +1 -1
  38. package/dist/cluster/heartbeat-manager.d.ts +2 -0
  39. package/dist/cluster/heartbeat-manager.d.ts.map +1 -1
  40. package/dist/cluster/heartbeat-manager.js +42 -6
  41. package/dist/cluster/heartbeat-manager.js.map +1 -1
  42. package/dist/cluster/membership.test.d.ts +2 -0
  43. package/dist/cluster/membership.test.d.ts.map +1 -0
  44. package/dist/cluster/membership.test.js +416 -0
  45. package/dist/cluster/membership.test.js.map +1 -0
  46. package/dist/cluster/partition-safety.test.d.ts +2 -0
  47. package/dist/cluster/partition-safety.test.d.ts.map +1 -0
  48. package/dist/cluster/partition-safety.test.js +440 -0
  49. package/dist/cluster/partition-safety.test.js.map +1 -0
  50. package/dist/cluster/raft-state-machine.d.ts +33 -1
  51. package/dist/cluster/raft-state-machine.d.ts.map +1 -1
  52. package/dist/cluster/raft-state-machine.js +65 -3
  53. package/dist/cluster/raft-state-machine.js.map +1 -1
  54. package/dist/cluster/raft-store.d.ts +26 -1
  55. package/dist/cluster/raft-store.d.ts.map +1 -1
  56. package/dist/cluster/raft-store.js +137 -0
  57. package/dist/cluster/raft-store.js.map +1 -1
  58. package/dist/cluster/replication-lag.test.d.ts +2 -0
  59. package/dist/cluster/replication-lag.test.d.ts.map +1 -0
  60. package/dist/cluster/replication-lag.test.js +239 -0
  61. package/dist/cluster/replication-lag.test.js.map +1 -0
  62. package/dist/cluster/replication.d.ts +2 -2
  63. package/dist/cluster/replication.d.ts.map +1 -1
  64. package/dist/cluster/replication.js +1 -1
  65. package/dist/cluster/replication.js.map +1 -1
  66. package/dist/cluster/runtime.d.ts +78 -0
  67. package/dist/cluster/runtime.d.ts.map +1 -1
  68. package/dist/cluster/runtime.js +400 -13
  69. package/dist/cluster/runtime.js.map +1 -1
  70. package/dist/cluster/state-recovery.test.d.ts +2 -0
  71. package/dist/cluster/state-recovery.test.d.ts.map +1 -0
  72. package/dist/cluster/state-recovery.test.js +310 -0
  73. package/dist/cluster/state-recovery.test.js.map +1 -0
  74. package/dist/cluster/types.d.ts +30 -0
  75. package/dist/cluster/types.d.ts.map +1 -1
  76. package/dist/config/schema.d.ts +48 -0
  77. package/dist/config/schema.d.ts.map +1 -1
  78. package/dist/config/schema.js +11 -0
  79. package/dist/config/schema.js.map +1 -1
  80. package/dist/connectors/auth/jira.js +1 -1
  81. package/dist/connectors/auth/jira.js.map +1 -1
  82. package/dist/connectors/auth/jira.test.js +18 -0
  83. package/dist/connectors/auth/jira.test.js.map +1 -1
  84. package/dist/context-files/generator.js +1 -1
  85. package/dist/context-files/generator.js.map +1 -1
  86. package/dist/context-files/generator.test.js +51 -0
  87. package/dist/context-files/generator.test.js.map +1 -1
  88. package/dist/orchestrator/orphan-recovery.d.ts +1 -1
  89. package/dist/orchestrator/orphan-recovery.d.ts.map +1 -1
  90. package/dist/orchestrator/orphan-recovery.js +4 -4
  91. package/dist/orchestrator/orphan-recovery.js.map +1 -1
  92. package/dist/orchestrator/prompt-templates.d.ts +3 -1
  93. package/dist/orchestrator/prompt-templates.d.ts.map +1 -1
  94. package/dist/orchestrator/prompt-templates.js +45 -8
  95. package/dist/orchestrator/prompt-templates.js.map +1 -1
  96. package/dist/orchestrator/prompt-templates.test.js +210 -0
  97. package/dist/orchestrator/prompt-templates.test.js.map +1 -1
  98. package/dist/orchestrator/scheduler.d.ts +1 -0
  99. package/dist/orchestrator/scheduler.d.ts.map +1 -1
  100. package/dist/orchestrator/scheduler.js +15 -10
  101. package/dist/orchestrator/scheduler.js.map +1 -1
  102. package/dist/orchestrator/scheduler.test.js +97 -6
  103. package/dist/orchestrator/scheduler.test.js.map +1 -1
  104. package/package.json +1 -1
  105. package/src/cli/commands/cluster.test.ts +387 -9
  106. package/src/cli/commands/cluster.ts +486 -1
  107. package/src/cli/commands/manager/index.ts +6 -4
  108. package/src/cli/commands/req-spawn.test.ts +153 -0
  109. package/src/cli/commands/req.ts +31 -18
  110. package/src/cli/dashboard/index.ts +14 -2
  111. package/src/cli/dashboard/panels/agents.ts +12 -3
  112. package/src/cli/dashboard/panels/escalations.ts +12 -1
  113. package/src/cluster/cluster-http-server.ts +80 -0
  114. package/src/cluster/distributed-runtime-coverage.test.ts +9 -0
  115. package/src/cluster/distributed-system.test.ts +168 -0
  116. package/src/cluster/events.ts +90 -0
  117. package/src/cluster/heartbeat-manager.ts +48 -6
  118. package/src/cluster/membership.test.ts +498 -0
  119. package/src/cluster/partition-safety.test.ts +523 -0
  120. package/src/cluster/raft-state-machine.ts +76 -4
  121. package/src/cluster/raft-store.ts +167 -1
  122. package/src/cluster/replication-lag.test.ts +284 -0
  123. package/src/cluster/replication.ts +6 -0
  124. package/src/cluster/runtime.ts +551 -12
  125. package/src/cluster/state-recovery.test.ts +420 -0
  126. package/src/cluster/types.ts +32 -0
  127. package/src/config/schema.ts +11 -0
  128. package/src/connectors/auth/jira.test.ts +21 -0
  129. package/src/connectors/auth/jira.ts +1 -1
  130. package/src/context-files/generator.test.ts +55 -0
  131. package/src/context-files/generator.ts +5 -5
  132. package/src/orchestrator/orphan-recovery.ts +32 -13
  133. package/src/orchestrator/prompt-templates.test.ts +263 -0
  134. package/src/orchestrator/prompt-templates.ts +49 -8
  135. package/src/orchestrator/scheduler.test.ts +129 -6
  136. package/src/orchestrator/scheduler.ts +46 -20
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/cluster/runtime.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GAGjB,MAAM,kBAAkB,CAAC;AAwC1B,MAAM,OAAO,cAAc;IAYN;IACA;IAZX,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IAEjB,UAAU,GAAmB,EAAE,CAAC;IAChC,kBAAkB,GAAkB,EAAE,CAAC;IAE9B,IAAI,CAAmB;IACvB,SAAS,CAAmB;IAC5B,UAAU,CAAoB;IAE/C,YACmB,MAAqB,EACrB,UAAiC,EAAE;QADnC,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAA4B;QAEpD,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE;YACvC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC/D,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC9C,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;SAClE,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,MAAM,EAAE;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;YAC/D,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC9C,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;SAClE,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE;YAC9C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;YACjC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;YAC5D,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC;YAC7D,iBAAiB,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;YAC3E,qBAAqB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB;SACrD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEjD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACtC,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACtC,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IAC7B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;IACrC,CAAC;IAED,SAAS;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEhD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC7B,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE;YAC1B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC7B,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpC,iBAAiB,EAAE,SAAS,EAAE,YAAY,IAAI,CAAC;YAC/C,iBAAiB,EAAE,SAAS,EAAE,YAAY,IAAI,CAAC;YAC/C,mBAAmB,EAAE,SAAS,EAAE,cAAc,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;SACvE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAY;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,oBAAoB,EAAE,CAAC;gBACvB,uBAAuB,EAAE,CAAC;gBAC1B,wBAAwB,EAAE,CAAC;gBAC3B,4BAA4B,EAAE,CAAC;aAChC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAEvC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE7C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAC/E,MAAM,gBAAgB,GACpB,QAAQ,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7E,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEtB,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAAC,+BAA+B,CACzE,mBAAmB,CAAC,EAAE,CAAC,CACxB,CAAC;QAEF,OAAO;YACL,oBAAoB,EAAE,iBAAiB,GAAG,gBAAgB;YAC1D,uBAAuB,EAAE,QAAQ;YACjC,wBAAwB,EAAE,MAAM;YAChC,4BAA4B,EAAE,yBAAyB;SACxD,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,EAAY;QAC/B,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,kBAAkB,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,EAAY;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAE9C,MAAM,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAExD,OAAO,IAAI,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,IAAuB,EACvB,aAA4B,EAC5B,KAAa;QAEb,OAAO,IAAI,CAAC,QAAQ,CAAgB,IAAI,EAAE,0BAA0B,EAAE;YACpE,cAAc,EAAE,aAAa;YAC7B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,mBAAkC,EAAE,KAAa;QACzE,OAAO,IAAI,CAAC,UAAU;aACnB,MAAM,CAAC,KAAK,CAAC,EAAE;YACd,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/D,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,IAAuB,EACvB,IAAY,EACZ,IAAa;QAEb,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;QAExE,OAAO,4BAA4B,CACjC,GAAG,EACH,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAC9B,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB;YACE,MAAM,EAAE,MAAM;YACd,IAAI;SACL,CACF,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3C,MAAM,GAAG,GAAG,KAA8B,CAAC;QAC3C,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAClC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAEO,uBAAuB;QAC7B,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAAE,OAAO;QACpD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO;QAEnC,MAAM,IAAI,KAAK,CACb,8EAA8E,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CACzG,CAAC;IACJ,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC;YACP,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,MAAM,CAAC,OAAO;YACzB,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;SAClE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IACjF,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,MAAM,CAAC,WAAW,oBAAoB,CAAC;IAErE,OAAO,yBAAyB,CAAC,GAAG,EAAE;QACpC,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,SAAS,EAAE,MAAM,CAAC,kBAAkB;KACrC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAW,EACX,OAAkC;IAElC,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CACjD,GAAG,EACH,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB;QACE,MAAM,EAAE,KAAK;KACd,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3D,OAAO,kBAAkB,CAAC,QAAmC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;QAChF,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,UAAU,CAAC;IAEjB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,KAAK;aACR,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACnD,MAAM,IAAI,GAAG,IAAuC,CAAC;YACrD,OAAO,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAChE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;gBAChC,CAAC,CAAC,IAAI,CAAC;QACX,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAuC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC;QACzE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK;QAChC,OAAO,EAAE,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;QACtE,IAAI;QACJ,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;QACvB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACvE,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;QACnC,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACvE,UAAU,EAAE,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QAC1E,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACjD,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACjD,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACrD,KAAK;KACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,GAAW,EACX,SAAiB,EACjB,SAA6B,EAC7B,OAGC;IAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,CAAC,aAAa,GAAG,UAAU,SAAS,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO;YACP,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,KAAc;IAC3B,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,CACL,UAAU,KAAK,WAAW;QAC1B,UAAU,KAAK,WAAW;QAC1B,UAAU,KAAK,KAAK;QACpB,UAAU,KAAK,OAAO,CACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/cluster/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=state-recovery.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-recovery.test.d.ts","sourceRoot":"","sources":["../../src/cluster/state-recovery.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,310 @@
1
+ // Licensed under the Hungry Ghost Hive License. See LICENSE.
2
+ /**
3
+ * Tests for offline node state recovery (STORY-STATE-RECOVERY).
4
+ *
5
+ * Covers:
6
+ * - Short outage: delta sync is sufficient, no snapshot needed
7
+ * - Long outage: delta is insufficient, snapshot-based recovery is triggered
8
+ * - Catching-up status: node suppresses elections while catching up
9
+ * - Progress indicator: catch_up_applied / catch_up_total in sync result
10
+ * - Effective version vector: snapshot vector is used to avoid re-requesting events
11
+ */
12
+ import { mkdtempSync, rmSync } from 'fs';
13
+ import { tmpdir } from 'os';
14
+ import { join } from 'path';
15
+ import { afterEach, describe, expect, it, vi } from 'vitest';
16
+ import { run } from '../db/client.js';
17
+ import { createTestDatabase } from '../db/queries/test-helpers.js';
18
+ import { RaftStateMachine } from './raft-state-machine.js';
19
+ import { ensureClusterTables, getEffectiveVersionVector, getSnapshotVersionVector, getVersionVector, scanLocalChanges, setSnapshotVersionVector, } from './replication.js';
20
+ const tempDirs = [];
21
+ afterEach(() => {
22
+ for (const dir of tempDirs.splice(0)) {
23
+ rmSync(dir, { recursive: true, force: true });
24
+ }
25
+ });
26
+ // ─────────────────────────────────────────────────────────────────────────────
27
+ // Helpers
28
+ // ─────────────────────────────────────────────────────────────────────────────
29
+ function makeHiveDir() {
30
+ const dir = mkdtempSync(join(tmpdir(), 'hive-state-recovery-'));
31
+ tempDirs.push(dir);
32
+ return join(dir, '.hive');
33
+ }
34
+ function insertStory(db, id, title) {
35
+ const now = new Date().toISOString();
36
+ run(db, `INSERT OR IGNORE INTO stories (id, requirement_id, team_id, title, description, status, created_at, updated_at)
37
+ VALUES (?, NULL, NULL, ?, '', 'planned', ?, ?)`, [id, title, now, now]);
38
+ }
39
+ function makeRaftConfig(overrides = {}) {
40
+ return {
41
+ enabled: true,
42
+ node_id: 'node-test',
43
+ listen_host: '127.0.0.1',
44
+ listen_port: 9999,
45
+ public_url: 'http://127.0.0.1:9999',
46
+ peers: [],
47
+ heartbeat_interval_ms: 100,
48
+ election_timeout_min_ms: 200,
49
+ election_timeout_max_ms: 400,
50
+ sync_interval_ms: 200,
51
+ request_timeout_ms: 500,
52
+ story_similarity_threshold: 0.92,
53
+ ...overrides,
54
+ };
55
+ }
56
+ // ─────────────────────────────────────────────────────────────────────────────
57
+ // Snapshot version vector management
58
+ // ─────────────────────────────────────────────────────────────────────────────
59
+ describe('snapshot version vector management', () => {
60
+ it('getSnapshotVersionVector returns empty object when no snapshot applied', async () => {
61
+ const db = await createTestDatabase();
62
+ ensureClusterTables(db, 'node-a');
63
+ expect(getSnapshotVersionVector(db)).toEqual({});
64
+ db.close();
65
+ });
66
+ it('setSnapshotVersionVector persists and is readable', async () => {
67
+ const db = await createTestDatabase();
68
+ ensureClusterTables(db, 'node-a');
69
+ setSnapshotVersionVector(db, { 'node-a': 42, 'node-b': 17 });
70
+ expect(getSnapshotVersionVector(db)).toEqual({ 'node-a': 42, 'node-b': 17 });
71
+ db.close();
72
+ });
73
+ it('overwrites previous snapshot version vector', async () => {
74
+ const db = await createTestDatabase();
75
+ ensureClusterTables(db, 'node-a');
76
+ setSnapshotVersionVector(db, { 'node-a': 10 });
77
+ setSnapshotVersionVector(db, { 'node-a': 50, 'node-c': 5 });
78
+ expect(getSnapshotVersionVector(db)).toEqual({ 'node-a': 50, 'node-c': 5 });
79
+ db.close();
80
+ });
81
+ });
82
+ // ─────────────────────────────────────────────────────────────────────────────
83
+ // Effective version vector
84
+ // ─────────────────────────────────────────────────────────────────────────────
85
+ describe('getEffectiveVersionVector', () => {
86
+ it('returns event-derived vector when no snapshot applied', async () => {
87
+ const db = await createTestDatabase();
88
+ ensureClusterTables(db, 'node-a');
89
+ insertStory(db, 'S-1', 'Story 1');
90
+ scanLocalChanges(db, 'node-a');
91
+ const effective = getEffectiveVersionVector(db);
92
+ const event = getVersionVector(db);
93
+ expect(effective).toEqual(event);
94
+ db.close();
95
+ });
96
+ it('merges snapshot vector with event vector taking max per actor', async () => {
97
+ const db = await createTestDatabase();
98
+ ensureClusterTables(db, 'node-a');
99
+ // Emit some events from node-a (counter becomes 1)
100
+ insertStory(db, 'S-1', 'Story 1');
101
+ scanLocalChanges(db, 'node-a');
102
+ // Apply a snapshot from node-b at counter 100
103
+ setSnapshotVersionVector(db, { 'node-b': 100, 'node-a': 0 });
104
+ const effective = getEffectiveVersionVector(db);
105
+ // node-a: max(event=1, snapshot=0) = 1
106
+ expect(effective['node-a']).toBe(1);
107
+ // node-b: from snapshot = 100 (no events from node-b in event log)
108
+ expect(effective['node-b']).toBe(100);
109
+ db.close();
110
+ });
111
+ it('snapshot vector wins when event log is empty after snapshot recovery', async () => {
112
+ const db = await createTestDatabase();
113
+ ensureClusterTables(db, 'node-a');
114
+ // Simulate snapshot-based recovery: no local events yet, but snapshot applied
115
+ setSnapshotVersionVector(db, { leader: 500 });
116
+ const effective = getEffectiveVersionVector(db);
117
+ expect(effective['leader']).toBe(500);
118
+ db.close();
119
+ });
120
+ });
121
+ // ─────────────────────────────────────────────────────────────────────────────
122
+ // Catching-up state in RaftStateMachine
123
+ // ─────────────────────────────────────────────────────────────────────────────
124
+ describe('RaftStateMachine catching-up state', () => {
125
+ it('isCatchingUp starts as false', () => {
126
+ const raft = new RaftStateMachine(makeRaftConfig(), {
127
+ postJson: vi.fn(),
128
+ isActive: () => true,
129
+ handleBackgroundError: vi.fn(),
130
+ });
131
+ expect(raft.isCatchingUp).toBe(false);
132
+ });
133
+ it('suppresses elections while isCatchingUp is true', () => {
134
+ const hiveDir = makeHiveDir();
135
+ const startElectionSpy = vi.fn().mockResolvedValue(undefined);
136
+ // Use very short timeouts so the deadline fires quickly
137
+ const raft = new RaftStateMachine(makeRaftConfig({ election_timeout_min_ms: 1, election_timeout_max_ms: 1 }), {
138
+ postJson: vi.fn(),
139
+ isActive: () => true,
140
+ handleBackgroundError: vi.fn(),
141
+ });
142
+ vi.spyOn(raft, 'startElection').mockImplementation(startElectionSpy);
143
+ raft.initializeRaftStore(hiveDir);
144
+ raft.isCatchingUp = true;
145
+ raft.startElectionLoop();
146
+ // Election should not start because of catching-up, even after the deadline
147
+ return new Promise(resolve => {
148
+ setTimeout(() => {
149
+ raft.stopElectionLoop();
150
+ expect(startElectionSpy).not.toHaveBeenCalled();
151
+ resolve();
152
+ }, 400);
153
+ });
154
+ });
155
+ it('allows elections after isCatchingUp is set to false', () => {
156
+ const hiveDir = makeHiveDir();
157
+ const electionStarted = vi.fn().mockResolvedValue(undefined);
158
+ // Use very short timeouts so the deadline fires quickly
159
+ const raft = new RaftStateMachine(makeRaftConfig({ election_timeout_min_ms: 1, election_timeout_max_ms: 1 }), {
160
+ postJson: vi.fn(),
161
+ isActive: () => true,
162
+ handleBackgroundError: vi.fn(),
163
+ });
164
+ vi.spyOn(raft, 'startElection').mockImplementation(electionStarted);
165
+ raft.initializeRaftStore(hiveDir);
166
+ raft.isCatchingUp = false;
167
+ raft.startElectionLoop();
168
+ return new Promise(resolve => {
169
+ setTimeout(() => {
170
+ raft.stopElectionLoop();
171
+ expect(electionStarted).toHaveBeenCalled();
172
+ resolve();
173
+ }, 400);
174
+ });
175
+ });
176
+ });
177
+ // ─────────────────────────────────────────────────────────────────────────────
178
+ // Delta sufficiency detection (unit-level)
179
+ // ─────────────────────────────────────────────────────────────────────────────
180
+ describe('delta sufficiency detection', () => {
181
+ /**
182
+ * Simulate what isDeltaInsufficient would decide by checking whether
183
+ * received events cover what the peer's version vector says is needed.
184
+ */
185
+ function isDeltaInsufficient(localVector, peerVector, receivedActorCounts) {
186
+ for (const [actorId, peerCounter] of Object.entries(peerVector)) {
187
+ const localCounter = localVector[actorId] ?? 0;
188
+ const needed = peerCounter - localCounter;
189
+ if (needed <= 0)
190
+ continue;
191
+ const receivedCount = receivedActorCounts[actorId] ?? 0;
192
+ if (receivedCount < needed)
193
+ return true;
194
+ }
195
+ return false;
196
+ }
197
+ it('returns false when received events cover all needed (short outage)', () => {
198
+ // Local is 10 behind, peer sends 10 events — sufficient
199
+ const result = isDeltaInsufficient({ leader: 90 }, { leader: 100 }, { leader: 10 });
200
+ expect(result).toBe(false);
201
+ });
202
+ it('returns true when received events are fewer than needed (long outage / log truncated)', () => {
203
+ // Local is 1000 behind, peer only sent 4000 events for a different actor
204
+ const result = isDeltaInsufficient({ leader: 0 }, { leader: 5000 }, { leader: 4000 } // cache can only provide 4000, but 5000 needed
205
+ );
206
+ expect(result).toBe(true);
207
+ });
208
+ it('returns false when already caught up (no events needed)', () => {
209
+ const result = isDeltaInsufficient({ leader: 100 }, { leader: 100 }, {});
210
+ expect(result).toBe(false);
211
+ });
212
+ it('returns true when node has no events but peer has many (fresh node, long history)', () => {
213
+ // A node that just joined and the peer has 25000 events (exceeds 20k cache)
214
+ const result = isDeltaInsufficient({}, { leader: 25000 }, { leader: 20000 } // got max cache size, still missing 5000
215
+ );
216
+ expect(result).toBe(true);
217
+ });
218
+ it('handles multiple actors and detects insufficiency in one', () => {
219
+ // actor-a is fine, actor-b is truncated
220
+ const result = isDeltaInsufficient({ 'actor-a': 95, 'actor-b': 0 }, { 'actor-a': 100, 'actor-b': 6000 }, { 'actor-a': 5, 'actor-b': 4000 } // actor-b has only 4000/6000
221
+ );
222
+ expect(result).toBe(true);
223
+ });
224
+ it('returns false when all actors are fully covered', () => {
225
+ const result = isDeltaInsufficient({ 'actor-a': 50, 'actor-b': 20 }, { 'actor-a': 60, 'actor-b': 30 }, { 'actor-a': 10, 'actor-b': 10 });
226
+ expect(result).toBe(false);
227
+ });
228
+ });
229
+ // ─────────────────────────────────────────────────────────────────────────────
230
+ // Applying a snapshot
231
+ // ─────────────────────────────────────────────────────────────────────────────
232
+ describe('applying snapshot to local database', () => {
233
+ it('upserts rows from snapshot into local tables and sets snapshot version vector', async () => {
234
+ const db = await createTestDatabase();
235
+ ensureClusterTables(db, 'node-recovering');
236
+ // Simulate a snapshot received from the leader
237
+ const snapshotVersionVector = { 'leader-node': 42 };
238
+ const payload = {
239
+ id: 'STORY-SNAP-1',
240
+ requirement_id: null,
241
+ team_id: null,
242
+ title: 'Snapshot story',
243
+ description: '',
244
+ acceptance_criteria: null,
245
+ complexity_score: null,
246
+ story_points: null,
247
+ status: 'planned',
248
+ assigned_agent_id: null,
249
+ branch_name: null,
250
+ pr_url: null,
251
+ external_subtask_key: null,
252
+ created_at: new Date().toISOString(),
253
+ updated_at: new Date().toISOString(),
254
+ };
255
+ // Manually apply like applySnapshot would
256
+ run(db, `INSERT OR REPLACE INTO stories
257
+ (id, requirement_id, team_id, title, description, acceptance_criteria,
258
+ complexity_score, story_points, status, assigned_agent_id, branch_name, pr_url, created_at, updated_at)
259
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
260
+ payload.id,
261
+ payload.requirement_id,
262
+ payload.team_id,
263
+ payload.title,
264
+ payload.description,
265
+ payload.acceptance_criteria,
266
+ payload.complexity_score,
267
+ payload.story_points,
268
+ payload.status,
269
+ payload.assigned_agent_id,
270
+ payload.branch_name,
271
+ payload.pr_url,
272
+ payload.created_at,
273
+ payload.updated_at,
274
+ ]);
275
+ setSnapshotVersionVector(db, snapshotVersionVector);
276
+ // Verify story was applied
277
+ const story = db.exec(`SELECT id, title FROM stories WHERE id = 'STORY-SNAP-1'`);
278
+ expect(story[0]?.values[0]?.[0]).toBe('STORY-SNAP-1');
279
+ expect(story[0]?.values[0]?.[1]).toBe('Snapshot story');
280
+ // Verify snapshot version vector was stored
281
+ expect(getSnapshotVersionVector(db)).toEqual(snapshotVersionVector);
282
+ // Effective version vector should reflect snapshot
283
+ const effective = getEffectiveVersionVector(db);
284
+ expect(effective['leader-node']).toBe(42);
285
+ db.close();
286
+ });
287
+ it('effective version vector prevents re-requesting snapshotted events on next sync', async () => {
288
+ const db = await createTestDatabase();
289
+ ensureClusterTables(db, 'node-recovering');
290
+ // Snapshot was applied at leader counter 1000
291
+ setSnapshotVersionVector(db, { 'leader-node': 1000 });
292
+ const effective = getEffectiveVersionVector(db);
293
+ // When we request delta, we'll ask for events > 1000, not from 0
294
+ expect(effective['leader-node']).toBe(1000);
295
+ db.close();
296
+ });
297
+ });
298
+ // ─────────────────────────────────────────────────────────────────────────────
299
+ // Snapshot HTTP endpoint
300
+ // ─────────────────────────────────────────────────────────────────────────────
301
+ describe('snapshot served via HTTP endpoint', () => {
302
+ it('cachedSnapshot starts as null and returns empty snapshot before first sync', async () => {
303
+ // This tests the runtime's default behavior without starting a real HTTP server.
304
+ // The handler returns { version_vector: {}, tables: {} } when no snapshot cached.
305
+ const emptySnapshot = { version_vector: {}, tables: {} };
306
+ expect(emptySnapshot.version_vector).toEqual({});
307
+ expect(emptySnapshot.tables).toEqual({});
308
+ });
309
+ });
310
+ //# sourceMappingURL=state-recovery.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-recovery.test.js","sourceRoot":"","sources":["../../src/cluster/state-recovery.test.ts"],"names":[],"mappings":"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"}
@@ -62,5 +62,35 @@ export interface TableAdapter {
62
62
  upsert: (db: Database, payload: Record<string, unknown>) => void;
63
63
  delete: (db: Database, rowId: string) => void;
64
64
  }
65
+ export interface RaftSnapshot {
66
+ /** Log index at which this snapshot was taken */
67
+ last_included_index: number;
68
+ /** Raft term at the snapshot point */
69
+ last_included_term: number;
70
+ /** Version vector capturing all actors' progress at snapshot time */
71
+ version_vector: VersionVector;
72
+ /** Known event IDs at the time of snapshotting (for deduplication) */
73
+ known_event_ids: string[];
74
+ /** ISO timestamp when the snapshot was created */
75
+ created_at: string;
76
+ }
77
+ /**
78
+ * A full snapshot of all replicated tables at a given version vector.
79
+ * Used for snapshot-based state recovery when delta sync is insufficient.
80
+ */
81
+ export interface ClusterSnapshot {
82
+ version_vector: VersionVector;
83
+ tables: Partial<Record<ReplicatedTable, Array<{
84
+ rowId: string;
85
+ payload: Record<string, unknown>;
86
+ }>>>;
87
+ }
88
+ /**
89
+ * Progress indicator for snapshot-based catch-up.
90
+ */
91
+ export interface CatchUpProgress {
92
+ applied: number;
93
+ total: number;
94
+ }
65
95
  import type { Database } from 'sql.js';
66
96
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cluster/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cluster/types.ts"],"names":[],"mappings":"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"}
@@ -1002,7 +1002,11 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
1002
1002
  election_timeout_max_ms: z.ZodDefault<z.ZodNumber>;
1003
1003
  sync_interval_ms: z.ZodDefault<z.ZodNumber>;
1004
1004
  request_timeout_ms: z.ZodDefault<z.ZodNumber>;
1005
+ leader_lease_ms: z.ZodOptional<z.ZodNumber>;
1005
1006
  story_similarity_threshold: z.ZodDefault<z.ZodNumber>;
1007
+ max_log_entries: z.ZodOptional<z.ZodNumber>;
1008
+ max_cluster_events: z.ZodOptional<z.ZodNumber>;
1009
+ compaction_interval_ms: z.ZodOptional<z.ZodNumber>;
1006
1010
  }, "strip", z.ZodTypeAny, {
1007
1011
  enabled: boolean;
1008
1012
  node_id: string;
@@ -1020,6 +1024,10 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
1020
1024
  request_timeout_ms: number;
1021
1025
  story_similarity_threshold: number;
1022
1026
  auth_token?: string | undefined;
1027
+ leader_lease_ms?: number | undefined;
1028
+ max_log_entries?: number | undefined;
1029
+ max_cluster_events?: number | undefined;
1030
+ compaction_interval_ms?: number | undefined;
1023
1031
  }, {
1024
1032
  enabled?: boolean | undefined;
1025
1033
  node_id?: string | undefined;
@@ -1036,7 +1044,11 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
1036
1044
  election_timeout_max_ms?: number | undefined;
1037
1045
  sync_interval_ms?: number | undefined;
1038
1046
  request_timeout_ms?: number | undefined;
1047
+ leader_lease_ms?: number | undefined;
1039
1048
  story_similarity_threshold?: number | undefined;
1049
+ max_log_entries?: number | undefined;
1050
+ max_cluster_events?: number | undefined;
1051
+ compaction_interval_ms?: number | undefined;
1040
1052
  }>, {
1041
1053
  enabled: boolean;
1042
1054
  node_id: string;
@@ -1054,6 +1066,10 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
1054
1066
  request_timeout_ms: number;
1055
1067
  story_similarity_threshold: number;
1056
1068
  auth_token?: string | undefined;
1069
+ leader_lease_ms?: number | undefined;
1070
+ max_log_entries?: number | undefined;
1071
+ max_cluster_events?: number | undefined;
1072
+ compaction_interval_ms?: number | undefined;
1057
1073
  }, {
1058
1074
  enabled?: boolean | undefined;
1059
1075
  node_id?: string | undefined;
@@ -1070,7 +1086,11 @@ declare const ClusterConfigSchema: z.ZodEffects<z.ZodObject<{
1070
1086
  election_timeout_max_ms?: number | undefined;
1071
1087
  sync_interval_ms?: number | undefined;
1072
1088
  request_timeout_ms?: number | undefined;
1089
+ leader_lease_ms?: number | undefined;
1073
1090
  story_similarity_threshold?: number | undefined;
1091
+ max_log_entries?: number | undefined;
1092
+ max_cluster_events?: number | undefined;
1093
+ compaction_interval_ms?: number | undefined;
1074
1094
  }>;
1075
1095
  export declare const HiveConfigSchema: z.ZodObject<{
1076
1096
  version: z.ZodDefault<z.ZodString>;
@@ -1905,7 +1925,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
1905
1925
  election_timeout_max_ms: z.ZodDefault<z.ZodNumber>;
1906
1926
  sync_interval_ms: z.ZodDefault<z.ZodNumber>;
1907
1927
  request_timeout_ms: z.ZodDefault<z.ZodNumber>;
1928
+ leader_lease_ms: z.ZodOptional<z.ZodNumber>;
1908
1929
  story_similarity_threshold: z.ZodDefault<z.ZodNumber>;
1930
+ max_log_entries: z.ZodOptional<z.ZodNumber>;
1931
+ max_cluster_events: z.ZodOptional<z.ZodNumber>;
1932
+ compaction_interval_ms: z.ZodOptional<z.ZodNumber>;
1909
1933
  }, "strip", z.ZodTypeAny, {
1910
1934
  enabled: boolean;
1911
1935
  node_id: string;
@@ -1923,6 +1947,10 @@ export declare const HiveConfigSchema: z.ZodObject<{
1923
1947
  request_timeout_ms: number;
1924
1948
  story_similarity_threshold: number;
1925
1949
  auth_token?: string | undefined;
1950
+ leader_lease_ms?: number | undefined;
1951
+ max_log_entries?: number | undefined;
1952
+ max_cluster_events?: number | undefined;
1953
+ compaction_interval_ms?: number | undefined;
1926
1954
  }, {
1927
1955
  enabled?: boolean | undefined;
1928
1956
  node_id?: string | undefined;
@@ -1939,7 +1967,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
1939
1967
  election_timeout_max_ms?: number | undefined;
1940
1968
  sync_interval_ms?: number | undefined;
1941
1969
  request_timeout_ms?: number | undefined;
1970
+ leader_lease_ms?: number | undefined;
1942
1971
  story_similarity_threshold?: number | undefined;
1972
+ max_log_entries?: number | undefined;
1973
+ max_cluster_events?: number | undefined;
1974
+ compaction_interval_ms?: number | undefined;
1943
1975
  }>, {
1944
1976
  enabled: boolean;
1945
1977
  node_id: string;
@@ -1957,6 +1989,10 @@ export declare const HiveConfigSchema: z.ZodObject<{
1957
1989
  request_timeout_ms: number;
1958
1990
  story_similarity_threshold: number;
1959
1991
  auth_token?: string | undefined;
1992
+ leader_lease_ms?: number | undefined;
1993
+ max_log_entries?: number | undefined;
1994
+ max_cluster_events?: number | undefined;
1995
+ compaction_interval_ms?: number | undefined;
1960
1996
  }, {
1961
1997
  enabled?: boolean | undefined;
1962
1998
  node_id?: string | undefined;
@@ -1973,7 +2009,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
1973
2009
  election_timeout_max_ms?: number | undefined;
1974
2010
  sync_interval_ms?: number | undefined;
1975
2011
  request_timeout_ms?: number | undefined;
2012
+ leader_lease_ms?: number | undefined;
1976
2013
  story_similarity_threshold?: number | undefined;
2014
+ max_log_entries?: number | undefined;
2015
+ max_cluster_events?: number | undefined;
2016
+ compaction_interval_ms?: number | undefined;
1977
2017
  }>>;
1978
2018
  e2e_tests: z.ZodOptional<z.ZodObject<{
1979
2019
  path: z.ZodString;
@@ -2170,6 +2210,10 @@ export declare const HiveConfigSchema: z.ZodObject<{
2170
2210
  request_timeout_ms: number;
2171
2211
  story_similarity_threshold: number;
2172
2212
  auth_token?: string | undefined;
2213
+ leader_lease_ms?: number | undefined;
2214
+ max_log_entries?: number | undefined;
2215
+ max_cluster_events?: number | undefined;
2216
+ compaction_interval_ms?: number | undefined;
2173
2217
  };
2174
2218
  e2e_tests?: {
2175
2219
  path: string;
@@ -2361,7 +2405,11 @@ export declare const HiveConfigSchema: z.ZodObject<{
2361
2405
  election_timeout_max_ms?: number | undefined;
2362
2406
  sync_interval_ms?: number | undefined;
2363
2407
  request_timeout_ms?: number | undefined;
2408
+ leader_lease_ms?: number | undefined;
2364
2409
  story_similarity_threshold?: number | undefined;
2410
+ max_log_entries?: number | undefined;
2411
+ max_cluster_events?: number | undefined;
2412
+ compaction_interval_ms?: number | undefined;
2365
2413
  } | undefined;
2366
2414
  e2e_tests?: {
2367
2415
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}