@xrkseek/harness 0.1.31 → 0.2.1

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 (167) hide show
  1. package/node_modules/@xrkseek/core-agent/dist/index.d.ts +1 -2
  2. package/node_modules/@xrkseek/core-agent/dist/index.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/core-agent/dist/index.js +6 -6
  4. package/node_modules/@xrkseek/core-agent/dist/index.js.map +1 -1
  5. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.d.ts.map +1 -1
  6. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.js +2 -2
  7. package/node_modules/@xrkseek/core-agent-loop/dist/cancel-finalize.js.map +1 -1
  8. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.d.ts.map +1 -1
  9. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.js +2 -2
  10. package/node_modules/@xrkseek/core-agent-loop/dist/compaction.js.map +1 -1
  11. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  12. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +10 -11
  13. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  14. package/node_modules/@xrkseek/core-agent-loop/dist/request-header-log.d.ts.map +1 -1
  15. package/node_modules/@xrkseek/core-agent-loop/dist/request-header-log.js +3 -6
  16. package/node_modules/@xrkseek/core-agent-loop/dist/request-header-log.js.map +1 -1
  17. package/node_modules/@xrkseek/core-session/README.md +15 -12
  18. package/node_modules/@xrkseek/core-session/dist/admit.d.ts.map +1 -1
  19. package/node_modules/@xrkseek/core-session/dist/admit.js +6 -5
  20. package/node_modules/@xrkseek/core-session/dist/admit.js.map +1 -1
  21. package/node_modules/@xrkseek/core-session/dist/dangling.d.ts.map +1 -1
  22. package/node_modules/@xrkseek/core-session/dist/dangling.js +2 -1
  23. package/node_modules/@xrkseek/core-session/dist/dangling.js.map +1 -1
  24. package/node_modules/@xrkseek/core-session/dist/index.d.ts +3 -1
  25. package/node_modules/@xrkseek/core-session/dist/index.d.ts.map +1 -1
  26. package/node_modules/@xrkseek/core-session/dist/index.js +23 -20
  27. package/node_modules/@xrkseek/core-session/dist/index.js.map +1 -1
  28. package/node_modules/@xrkseek/core-session/dist/list-hints.d.ts +13 -0
  29. package/node_modules/@xrkseek/core-session/dist/list-hints.d.ts.map +1 -0
  30. package/node_modules/@xrkseek/core-session/dist/list-hints.js +29 -0
  31. package/node_modules/@xrkseek/core-session/dist/list-hints.js.map +1 -0
  32. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.d.ts +2 -0
  33. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.d.ts.map +1 -1
  34. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js +4 -0
  35. package/node_modules/@xrkseek/core-session/dist/repair-open-turn.js.map +1 -1
  36. package/node_modules/@xrkseek/core-session/dist/seq.d.ts +102 -0
  37. package/node_modules/@xrkseek/core-session/dist/seq.d.ts.map +1 -0
  38. package/node_modules/@xrkseek/core-session/dist/seq.js +122 -0
  39. package/node_modules/@xrkseek/core-session/dist/seq.js.map +1 -0
  40. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts +7 -3
  41. package/node_modules/@xrkseek/core-session/dist/sqlite-store.d.ts.map +1 -1
  42. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js +24 -13
  43. package/node_modules/@xrkseek/core-session/dist/sqlite-store.js.map +1 -1
  44. package/node_modules/@xrkseek/core-session/dist/store.d.ts +13 -1
  45. package/node_modules/@xrkseek/core-session/dist/store.d.ts.map +1 -1
  46. package/node_modules/@xrkseek/core-session/dist/tool-result-prune.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/core-session/dist/tool-result-prune.js +2 -1
  48. package/node_modules/@xrkseek/core-session/dist/tool-result-prune.js.map +1 -1
  49. package/node_modules/@xrkseek/exec-pty/dist/handle.d.ts.map +1 -1
  50. package/node_modules/@xrkseek/exec-pty/dist/handle.js +21 -16
  51. package/node_modules/@xrkseek/exec-pty/dist/handle.js.map +1 -1
  52. package/node_modules/@xrkseek/exec-pty/dist/index.d.ts +1 -1
  53. package/node_modules/@xrkseek/exec-pty/dist/index.d.ts.map +1 -1
  54. package/node_modules/@xrkseek/exec-pty/dist/index.js.map +1 -1
  55. package/node_modules/@xrkseek/exec-pty/dist/process-inspector.d.ts +45 -4
  56. package/node_modules/@xrkseek/exec-pty/dist/process-inspector.d.ts.map +1 -1
  57. package/node_modules/@xrkseek/exec-pty/dist/process-inspector.js +140 -48
  58. package/node_modules/@xrkseek/exec-pty/dist/process-inspector.js.map +1 -1
  59. package/node_modules/@xrkseek/face-session-query/dist/index.d.ts +1 -1
  60. package/node_modules/@xrkseek/face-session-query/dist/index.d.ts.map +1 -1
  61. package/node_modules/@xrkseek/face-session-query/dist/index.js +2 -1
  62. package/node_modules/@xrkseek/face-session-query/dist/index.js.map +1 -1
  63. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  64. package/node_modules/@xrkseek/preset-harness/dist/preset.js +3 -3
  65. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  66. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  67. package/node_modules/@xrkseek/preset-minimal/dist/preset.d.ts.map +1 -1
  68. package/node_modules/@xrkseek/preset-minimal/dist/preset.js +3 -3
  69. package/node_modules/@xrkseek/preset-minimal/dist/preset.js.map +1 -1
  70. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  71. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  72. package/node_modules/@xrkseek/protocol/dist/permission-knobs.d.ts.map +1 -1
  73. package/node_modules/@xrkseek/protocol/dist/permission-knobs.js +6 -1
  74. package/node_modules/@xrkseek/protocol/dist/permission-knobs.js.map +1 -1
  75. package/node_modules/@xrkseek/protocol/dist/plan-mode.d.ts.map +1 -1
  76. package/node_modules/@xrkseek/protocol/dist/plan-mode.js +6 -9
  77. package/node_modules/@xrkseek/protocol/dist/plan-mode.js.map +1 -1
  78. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts +4 -0
  79. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.d.ts.map +1 -1
  80. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js +4 -2
  81. package/node_modules/@xrkseek/server-face/dist/adapt/history-paginate.js.map +1 -1
  82. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts +1 -1
  83. package/node_modules/@xrkseek/server-face/dist/approvals.d.ts.map +1 -1
  84. package/node_modules/@xrkseek/server-face/dist/approvals.js +2 -1
  85. package/node_modules/@xrkseek/server-face/dist/approvals.js.map +1 -1
  86. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts +5 -4
  87. package/node_modules/@xrkseek/server-face/dist/attach-http.d.ts.map +1 -1
  88. package/node_modules/@xrkseek/server-face/dist/attach-http.js +6 -9
  89. package/node_modules/@xrkseek/server-face/dist/attach-http.js.map +1 -1
  90. package/node_modules/@xrkseek/server-face/dist/context.d.ts +7 -0
  91. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  92. package/node_modules/@xrkseek/server-face/dist/cost-meter-record.d.ts +1 -1
  93. package/node_modules/@xrkseek/server-face/dist/cost-meter-record.d.ts.map +1 -1
  94. package/node_modules/@xrkseek/server-face/dist/cost-meter-record.js +5 -1
  95. package/node_modules/@xrkseek/server-face/dist/cost-meter-record.js.map +1 -1
  96. package/node_modules/@xrkseek/server-face/dist/goal-store.js +2 -2
  97. package/node_modules/@xrkseek/server-face/dist/goal-store.js.map +1 -1
  98. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.d.ts.map +1 -1
  99. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js +2 -1
  100. package/node_modules/@xrkseek/server-face/dist/handlers/catalog.js.map +1 -1
  101. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.d.ts.map +1 -1
  102. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js +2 -2
  103. package/node_modules/@xrkseek/server-face/dist/handlers/session-added.js.map +1 -1
  104. package/node_modules/@xrkseek/server-face/dist/handlers/session.d.ts.map +1 -1
  105. package/node_modules/@xrkseek/server-face/dist/handlers/session.js +35 -20
  106. package/node_modules/@xrkseek/server-face/dist/handlers/session.js.map +1 -1
  107. package/node_modules/@xrkseek/server-face/dist/index.d.ts +3 -2
  108. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  109. package/node_modules/@xrkseek/server-face/dist/index.js +3 -2
  110. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  111. package/node_modules/@xrkseek/server-face/dist/message-feedback.d.ts +1 -1
  112. package/node_modules/@xrkseek/server-face/dist/message-feedback.d.ts.map +1 -1
  113. package/node_modules/@xrkseek/server-face/dist/message-feedback.js +2 -1
  114. package/node_modules/@xrkseek/server-face/dist/message-feedback.js.map +1 -1
  115. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts +1 -1
  116. package/node_modules/@xrkseek/server-face/dist/permissions.d.ts.map +1 -1
  117. package/node_modules/@xrkseek/server-face/dist/permissions.js +3 -2
  118. package/node_modules/@xrkseek/server-face/dist/permissions.js.map +1 -1
  119. package/node_modules/@xrkseek/server-face/dist/plan-mode.d.ts +1 -1
  120. package/node_modules/@xrkseek/server-face/dist/plan-mode.d.ts.map +1 -1
  121. package/node_modules/@xrkseek/server-face/dist/plan-mode.js.map +1 -1
  122. package/node_modules/@xrkseek/server-face/dist/questions.d.ts +1 -1
  123. package/node_modules/@xrkseek/server-face/dist/questions.d.ts.map +1 -1
  124. package/node_modules/@xrkseek/server-face/dist/questions.js +2 -1
  125. package/node_modules/@xrkseek/server-face/dist/questions.js.map +1 -1
  126. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  127. package/node_modules/@xrkseek/server-face/dist/runtime.js +16 -17
  128. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  129. package/node_modules/@xrkseek/server-face/dist/seq.d.ts +19 -2
  130. package/node_modules/@xrkseek/server-face/dist/seq.d.ts.map +1 -1
  131. package/node_modules/@xrkseek/server-face/dist/seq.js +25 -2
  132. package/node_modules/@xrkseek/server-face/dist/seq.js.map +1 -1
  133. package/node_modules/@xrkseek/server-face/dist/session-export.js +2 -2
  134. package/node_modules/@xrkseek/server-face/dist/session-export.js.map +1 -1
  135. package/node_modules/@xrkseek/server-face/dist/session-search.d.ts.map +1 -1
  136. package/node_modules/@xrkseek/server-face/dist/session-search.js +8 -3
  137. package/node_modules/@xrkseek/server-face/dist/session-search.js.map +1 -1
  138. package/node_modules/@xrkseek/server-face/dist/slash.d.ts.map +1 -1
  139. package/node_modules/@xrkseek/server-face/dist/slash.js +4 -3
  140. package/node_modules/@xrkseek/server-face/dist/slash.js.map +1 -1
  141. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  142. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +2 -1
  143. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  144. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.d.ts +21 -0
  145. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.d.ts.map +1 -0
  146. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.js +59 -0
  147. package/node_modules/@xrkseek/server-face/dist/ws-heartbeat.js.map +1 -0
  148. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts +0 -3
  149. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts.map +1 -1
  150. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js +5 -1
  151. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js.map +1 -1
  152. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  153. package/node_modules/@xrkseek/server-http/dist/index.js +15 -25
  154. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  155. package/node_modules/@xrkseek/workspace/dist/index.d.ts +3 -1
  156. package/node_modules/@xrkseek/workspace/dist/index.d.ts.map +1 -1
  157. package/node_modules/@xrkseek/workspace/dist/index.js +5 -2
  158. package/node_modules/@xrkseek/workspace/dist/index.js.map +1 -1
  159. package/node_modules/@xrkseek/workspace/dist/skill-dirs.d.ts +0 -4
  160. package/node_modules/@xrkseek/workspace/dist/skill-dirs.d.ts.map +1 -1
  161. package/node_modules/@xrkseek/workspace/dist/skill-dirs.js +0 -4
  162. package/node_modules/@xrkseek/workspace/dist/skill-dirs.js.map +1 -1
  163. package/node_modules/@xrkseek/workspace/dist/skills.d.ts +1 -1
  164. package/node_modules/@xrkseek/workspace/dist/skills.d.ts.map +1 -1
  165. package/node_modules/@xrkseek/workspace/dist/skills.js +1 -1
  166. package/node_modules/@xrkseek/workspace/dist/skills.js.map +1 -1
  167. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { readSessionEvents } from "./seq.js";
1
2
  import { flattenText, isPromptDelivery, mergeMessageContents } from "@xrkseek/protocol";
2
3
  /**
3
4
  * Admit / promote — inbox for user text that is not yet model-visible.
@@ -90,7 +91,7 @@ export class AdmitNotPendingError extends Error {
90
91
  }
91
92
  /** Withdraw one pending admit (inbox remove / rewrite). */
92
93
  export function withdrawAdmit(store, sessionId, admitId, options) {
93
- const pending = listPendingAdmits(store.get(sessionId).events, sessionId);
94
+ const pending = listPendingAdmits(readSessionEvents(store, sessionId), sessionId);
94
95
  if (!pending.some((p) => p.admitId === admitId)) {
95
96
  throw new AdmitNotPendingError(admitId);
96
97
  }
@@ -107,7 +108,7 @@ export function withdrawAdmit(store, sessionId, admitId, options) {
107
108
  * Does not append user/message — caller passes content into continueTurn/runTurn.
108
109
  */
109
110
  export function promoteNextAdmit(store, sessionId, options) {
110
- const events = store.get(sessionId).events;
111
+ const events = readSessionEvents(store, sessionId);
111
112
  const pending = listPendingAdmits(events, sessionId);
112
113
  const next = pending.find((p) => p.delivery === "steer") ?? pending[0];
113
114
  if (!next)
@@ -129,7 +130,7 @@ export function promoteNextAdmit(store, sessionId, options) {
129
130
  * Queues stay pending.
130
131
  */
131
132
  export function promoteAdmitsForTurn(store, sessionId, options) {
132
- const pending = listPendingAdmits(store.get(sessionId).events, sessionId);
133
+ const pending = listPendingAdmits(readSessionEvents(store, sessionId), sessionId);
133
134
  if (!pending.length)
134
135
  throw new NoPendingAdmitError();
135
136
  const hasSteer = pending.some((p) => p.delivery === "steer");
@@ -145,7 +146,7 @@ export function promoteAdmitsForTurn(store, sessionId, options) {
145
146
  }
146
147
  const receipts = [];
147
148
  for (;;) {
148
- const still = listPendingAdmits(store.get(sessionId).events, sessionId);
149
+ const still = listPendingAdmits(readSessionEvents(store, sessionId), sessionId);
149
150
  const nextSteer = still.find((p) => p.delivery === "steer");
150
151
  if (!nextSteer)
151
152
  break;
@@ -166,7 +167,7 @@ export function promoteAdmitsForTurn(store, sessionId, options) {
166
167
  * Returns undefined when no steers are pending.
167
168
  */
168
169
  export function promotePendingSteers(store, sessionId, options) {
169
- const pending = listPendingAdmits(store.get(sessionId).events, sessionId);
170
+ const pending = listPendingAdmits(readSessionEvents(store, sessionId), sessionId);
170
171
  if (!pending.some((p) => p.delivery === "steer"))
171
172
  return undefined;
172
173
  return promoteAdmitsForTurn(store, sessionId, options);
@@ -1 +1 @@
1
- {"version":3,"file":"admit.js","sourceRoot":"","sources":["../src/admit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admit.js","sourceRoot":"","sources":["../src/admit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dangling.d.ts","sourceRoot":"","sources":["../src/dangling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKhE,OAAO,EACL,YAAY,EACZ,4BAA4B,EAC5B,oBAAoB,EACpB,oCAAoC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,yDAAyD;AACzD,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AAErE,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,eAAO,MAAM,wBAAwB,6GACuE,CAAC;AAE7G,eAAO,MAAM,4BAA4B,8TACoR,CAAC;AAE9T,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAAC;CACpD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAEnC,QAAQ,EAAE,SAAS,gBAAgB,EAAE;CAMlD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,SAAS,gBAAgB,EAAE,CAkC7B;AAED,6CAA6C;AAC7C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAK5E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,GAAG;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAWA;AAED,wBAAgB,+BAA+B,IAAI;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAQA;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC/C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,qBAA0B,GAClC,oBAAoB,CAuBtB"}
1
+ {"version":3,"file":"dangling.d.ts","sourceRoot":"","sources":["../src/dangling.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAKhE,OAAO,EACL,YAAY,EACZ,4BAA4B,EAC5B,oBAAoB,EACpB,oCAAoC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,yDAAyD;AACzD,eAAO,MAAM,wBAAwB,+BAA+B,CAAC;AAErE,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,eAAO,MAAM,wBAAwB,6GACuE,CAAC;AAE7G,eAAO,MAAM,4BAA4B,8TACoR,CAAC;AAE9T,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAAC;CACpD;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAEnC,QAAQ,EAAE,SAAS,gBAAgB,EAAE;CAMlD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,SAAS,gBAAgB,EAAE,CAkC7B;AAED,6CAA6C;AAC7C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAK5E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,GAAG;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAWA;AAED,wBAAgB,+BAA+B,IAAI;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAQA;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,yBAAyB,CAAC;CACrD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC/C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,qBAA0B,GAClC,oBAAoB,CAuBtB"}
@@ -1,3 +1,4 @@
1
+ import { readSessionEvents } from "./seq.js";
1
2
  import { TOOL_ABORTED_BEFORE_DISPATCH, TOOL_ABORTED_BEFORE_DISPATCH_MESSAGE, } from "@xrkseek/protocol";
2
3
  export { TOOL_ABORTED, TOOL_ABORTED_BEFORE_DISPATCH, TOOL_ABORTED_MESSAGE, TOOL_ABORTED_BEFORE_DISPATCH_MESSAGE, } from "@xrkseek/protocol";
3
4
  /** @deprecated Prefer source-specific messages below. */
@@ -91,7 +92,7 @@ export function abortedBeforeDispatchSettlement() {
91
92
  */
92
93
  export function settleDanglingTools(store, sessionId, options = {}) {
93
94
  const now = options.now ?? Date.now;
94
- const dangling = listDanglingToolCalls(store.get(sessionId).events);
95
+ const dangling = listDanglingToolCalls(readSessionEvents(store, sessionId));
95
96
  for (const d of dangling) {
96
97
  const settled = options.kind === "aborted-before-dispatch"
97
98
  ? abortedBeforeDispatchSettlement()
@@ -1 +1 @@
1
- {"version":3,"file":"dangling.js","sourceRoot":"","sources":["../src/dangling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dangling.js","sourceRoot":"","sources":["../src/dangling.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ export { TOOL_INTERRUPTED_MESSAGE, TOOL_NOT_STARTED, TOOL_NOT_STARTED_MESSAGE, T
10
10
  export { TOOL_RESULT_PRUNE_HEAD_CHARS, TOOL_RESULT_PRUNE_META_PREV_TOKENS, TOOL_RESULT_PRUNE_TAIL_CHARS, TOOL_RESULT_PRUNE_THRESHOLD_CHARS, pruneOversizedToolResults, pruneToolResultText, type ToolResultPruneOptions, type ToolResultPruneResult, } from "./tool-result-prune.js";
11
11
  export { foldRequestHeader, llmConfigEquals, requestHeaderEquals, canonicalRequestHeader, type RequestHeaderSnapshot, } from "./request-header.js";
12
12
  export type { SessionListHints, SessionRecord, SessionStore, } from "./store.js";
13
+ export { SessionLogOffset, SessionSeq, SessionSeqCursor, eventAt, eventCount, lastSessionEvent, readSessionEvents, resolveHalfOpenEventRange, sessionEventAt, sessionEventCount, sessionEventsFrom, snapshotEvents, type SessionLogOffset as SessionLogOffsetType, type SessionLogReader, type SessionSeq as SessionSeqType, type SessionSeqCursor as SessionSeqCursorType, } from "./seq.js";
14
+ export { computeListHints, sessionListHints, } from "./list-hints.js";
13
15
  import type { SessionRecord, SessionStore } from "./store.js";
14
16
  export declare function createMemorySessionStore(): SessionStore;
15
17
  /** Project model-facing history from the append-only log. */
@@ -33,7 +35,7 @@ export declare function assertModelVisible(events: readonly SessionEvent[], requ
33
35
  export { fromJSONL, parseJSONL, toJSONL, type ParseJSONLResult } from "./jsonl.js";
34
36
  export { createPersistentSessionStore, ftsMatchQuery, SESSION_DB_FILENAME, SESSION_SCHEMA_VERSION, type PersistentSessionStore, type PersistentSessionStoreOptions, } from "./sqlite-store.js";
35
37
  export { expandPackedStorageRecords, fromPackedJSONL, fromPackedJSONLZstd, isPackedChunkRow, isTextChunkRow, isToolCallChunkRow, packChunkRunsForExport, parsePackedJSONL, toPackedJSONL, zstdCompressUtf8, zstdDecompressUtf8, type PackedStorageRecord, type ParsePackedJSONLResult, type TextChunkRow, type ToolCallChunkRow, } from "./chunk-pack.js";
36
- export { repairOpenTurnEvents } from "./repair-open-turn.js";
38
+ export { repairOpenTurnEvents, sessionHasOpenTurn, } from "./repair-open-turn.js";
37
39
  export { extractEventSearchText, extractSessionSearchTexts, } from "./search-text.js";
38
40
  export { writeTextFileAtomicSync } from "./atomic-write.js";
39
41
  export declare function forkSession(store: SessionStore, sourceId: string, boundaryIndex?: number, childId?: string): SessionRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ export { foldSurfaceTokens, priceCurrentSurfaceWindow, } from "./surface-fold.js
10
10
  export { TOOL_INTERRUPTED_MESSAGE, TOOL_NOT_STARTED, TOOL_NOT_STARTED_MESSAGE, TOOL_OUTCOME_UNKNOWN, TOOL_OUTCOME_UNKNOWN_MESSAGE, TOOL_ABORTED_BEFORE_DISPATCH, TOOL_ABORTED_BEFORE_DISPATCH_MESSAGE, TOOL_ABORTED, TOOL_ABORTED_MESSAGE, ToolSettlementError, assertToolCallsSettled, abortedBeforeDispatchSettlement, danglingSettlement, listDanglingToolCalls, settleDanglingTools, } from "./dangling.js";
11
11
  export { TOOL_RESULT_PRUNE_HEAD_CHARS, TOOL_RESULT_PRUNE_META_PREV_TOKENS, TOOL_RESULT_PRUNE_TAIL_CHARS, TOOL_RESULT_PRUNE_THRESHOLD_CHARS, pruneOversizedToolResults, pruneToolResultText, } from "./tool-result-prune.js";
12
12
  export { foldRequestHeader, llmConfigEquals, requestHeaderEquals, canonicalRequestHeader, } from "./request-header.js";
13
+ export { SessionLogOffset, SessionSeq, SessionSeqCursor, eventAt, eventCount, lastSessionEvent, readSessionEvents, resolveHalfOpenEventRange, sessionEventAt, sessionEventCount, sessionEventsFrom, snapshotEvents, } from "./seq.js";
14
+ export { computeListHints, sessionListHints, } from "./list-hints.js";
15
+ import { SessionLogOffset, readSessionEvents, sessionEventCount, snapshotEvents, } from "./seq.js";
16
+ import { computeListHints } from "./list-hints.js";
13
17
  import { deepFreeze, newSessionId } from "./freeze.js";
14
18
  export function createMemorySessionStore() {
15
19
  const sessions = new Map();
@@ -26,7 +30,8 @@ export function createMemorySessionStore() {
26
30
  if (!events) {
27
31
  throw new Error(`session not found: ${id}`);
28
32
  }
29
- return { id, events: [...events] };
33
+ // Resident identity (events are deep-frozen); do not mutate.
34
+ return { id, events };
30
35
  },
31
36
  has(id) {
32
37
  return sessions.has(id);
@@ -44,22 +49,19 @@ export function createMemorySessionStore() {
44
49
  list() {
45
50
  return [...sessions.keys()];
46
51
  },
47
- listHints(id) {
52
+ readEvents(id, fromSeq = 0, toSeqExclusive) {
48
53
  const events = sessions.get(id);
49
- if (!events || events.length === 0) {
50
- return { lastEventTs: null, hasTurnStart: false };
54
+ if (!events) {
55
+ throw new Error(`session not found: ${id}`);
51
56
  }
52
- let hasTurnStart = false;
53
- for (const event of events) {
54
- if (event.type === "turn/start") {
55
- hasTurnStart = true;
56
- break;
57
- }
57
+ return snapshotEvents({ id, events }, fromSeq, toSeqExclusive);
58
+ },
59
+ listHints(id) {
60
+ const events = sessions.get(id);
61
+ if (!events) {
62
+ throw new Error(`session not found: ${id}`);
58
63
  }
59
- return {
60
- lastEventTs: events[events.length - 1]?.ts ?? null,
61
- hasTurnStart,
62
- };
64
+ return computeListHints(events);
63
65
  },
64
66
  isLoaded(id) {
65
67
  return sessions.has(id);
@@ -111,16 +113,17 @@ export function assertModelVisible(events, requestMessages) {
111
113
  export { fromJSONL, parseJSONL, toJSONL } from "./jsonl.js";
112
114
  export { createPersistentSessionStore, ftsMatchQuery, SESSION_DB_FILENAME, SESSION_SCHEMA_VERSION, } from "./sqlite-store.js";
113
115
  export { expandPackedStorageRecords, fromPackedJSONL, fromPackedJSONLZstd, isPackedChunkRow, isTextChunkRow, isToolCallChunkRow, packChunkRunsForExport, parsePackedJSONL, toPackedJSONL, zstdCompressUtf8, zstdDecompressUtf8, } from "./chunk-pack.js";
114
- export { repairOpenTurnEvents } from "./repair-open-turn.js";
116
+ export { repairOpenTurnEvents, sessionHasOpenTurn, } from "./repair-open-turn.js";
115
117
  export { extractEventSearchText, extractSessionSearchTexts, } from "./search-text.js";
116
118
  export { writeTextFileAtomicSync } from "./atomic-write.js";
117
119
  export function forkSession(store, sourceId, boundaryIndex, childId) {
118
- const source = store.get(sourceId);
119
- const end = boundaryIndex === undefined
120
- ? source.events.length
121
- : Math.max(0, Math.min(boundaryIndex, source.events.length));
120
+ const total = sessionEventCount(store, sourceId);
121
+ const end = SessionLogOffset(boundaryIndex === undefined
122
+ ? total
123
+ : Math.max(0, Math.min(boundaryIndex, total)));
124
+ const prefix = readSessionEvents(store, sourceId, SessionLogOffset(0), end);
122
125
  const child = store.create(childId);
123
- for (const ev of source.events.slice(0, end)) {
126
+ for (const ev of prefix) {
124
127
  store.append(child.id, ev);
125
128
  }
126
129
  return store.get(child.id);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Sidebar / session-list metadata folded from a Session log.
3
+ */
4
+ import type { SessionEvent } from "@xrkseek/protocol";
5
+ import type { SessionListHints, SessionStore } from "./store.js";
6
+ /** Fold list metadata from an in-memory event array. */
7
+ export declare function computeListHints(events: readonly SessionEvent[]): SessionListHints;
8
+ /**
9
+ * Store-facing list hints. Prefers `store.listHints` when implemented;
10
+ * otherwise folds from {@link readSessionEvents}.
11
+ */
12
+ export declare function sessionListHints(store: Pick<SessionStore, "readEvents"> & Pick<SessionStore, "listHints">, sessionId: string): SessionListHints;
13
+ //# sourceMappingURL=list-hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-hints.d.ts","sourceRoot":"","sources":["../src/list-hints.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGjE,wDAAwD;AACxD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,YAAY,EAAE,GAC9B,gBAAgB,CAelB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,EACzE,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAKlB"}
@@ -0,0 +1,29 @@
1
+ import { readSessionEvents } from "./seq.js";
2
+ /** Fold list metadata from an in-memory event array. */
3
+ export function computeListHints(events) {
4
+ if (events.length === 0) {
5
+ return { lastEventTs: null, hasTurnStart: false };
6
+ }
7
+ let hasTurnStart = false;
8
+ for (const event of events) {
9
+ if (event.type === "turn/start") {
10
+ hasTurnStart = true;
11
+ break;
12
+ }
13
+ }
14
+ return {
15
+ lastEventTs: events[events.length - 1]?.ts ?? null,
16
+ hasTurnStart,
17
+ };
18
+ }
19
+ /**
20
+ * Store-facing list hints. Prefers `store.listHints` when implemented;
21
+ * otherwise folds from {@link readSessionEvents}.
22
+ */
23
+ export function sessionListHints(store, sessionId) {
24
+ if (typeof store.listHints === "function") {
25
+ return store.listHints(sessionId);
26
+ }
27
+ return computeListHints(readSessionEvents(store, sessionId));
28
+ }
29
+ //# sourceMappingURL=list-hints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-hints.js","sourceRoot":"","sources":["../src/list-hints.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAC9B,MAA+B;IAE/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IACpD,CAAC;IACD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM;QACR,CAAC;IACH,CAAC;IACD,OAAO;QACL,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI;QAClD,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAyE,EACzE,SAAiB;IAEjB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { SessionEvent } from "@xrkseek/protocol";
2
+ /** True when the log has a `turn/start` with no matching `turn/end`. */
3
+ export declare function sessionHasOpenTurn(events: readonly SessionEvent[]): boolean;
2
4
  /**
3
5
  * Events to append after a crash left a turn/step open in durable storage.
4
6
  * Settles dangling tools, folds streamed prefix, closes step/turn with
@@ -1 +1 @@
1
- {"version":3,"file":"repair-open-turn.d.ts","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAoHtD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,GAAG,GAAE,MAAM,MAAiB,GAC3B,YAAY,EAAE,CAiEhB"}
1
+ {"version":3,"file":"repair-open-turn.d.ts","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAqFtD,wEAAwE;AACxE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAE3E;AAiCD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,GAAG,GAAE,MAAM,MAAiB,GAC3B,YAAY,EAAE,CAiEhB"}
@@ -74,6 +74,10 @@ function findOpenTurnId(events) {
74
74
  return undefined;
75
75
  return lastOpen;
76
76
  }
77
+ /** True when the log has a `turn/start` with no matching `turn/end`. */
78
+ export function sessionHasOpenTurn(events) {
79
+ return findOpenTurnId(events) !== undefined;
80
+ }
77
81
  function findOpenStepId(events, turnId) {
78
82
  const ended = new Set();
79
83
  let lastOpen;
@@ -1 +1 @@
1
- {"version":3,"file":"repair-open-turn.js","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repair-open-turn.js","sourceRoot":"","sources":["../src/repair-open-turn.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Session log position brands and read accessors.
3
+ * Runtime values remain plain numbers; brands stop mixing event indices with gaps.
4
+ */
5
+ import type { SessionEvent } from "@xrkseek/protocol";
6
+ import type { SessionRecord, SessionStore } from "./store.js";
7
+ declare const SESSION_SEQ: unique symbol;
8
+ declare const SESSION_LOG_OFFSET: unique symbol;
9
+ /** Sequence number of one existing event in a Session log. */
10
+ export type SessionSeq = number & {
11
+ readonly [SESSION_SEQ]: void;
12
+ };
13
+ /** A Session log gap, prefix length, or read offset (may equal the event count). */
14
+ export type SessionLogOffset = number & {
15
+ readonly [SESSION_LOG_OFFSET]: void;
16
+ };
17
+ /** Inclusive watermark, or `-1` before any event exists. */
18
+ export type SessionSeqCursor = SessionSeq | -1;
19
+ /** Minimum store surface for log reads (SessionStore implements this). */
20
+ export type SessionLogReader = Pick<SessionStore, "readEvents">;
21
+ /**
22
+ * Admit a numeric value as an existing Session event position.
23
+ * @param value - non-negative safe integer admitted by the owning log operation.
24
+ */
25
+ export declare function SessionSeq(value: number): SessionSeq;
26
+ /**
27
+ * Admit a numeric value as a Session log offset.
28
+ * @param value - non-negative safe integer used as a gap or prefix length.
29
+ */
30
+ export declare function SessionLogOffset(value: number): SessionLogOffset;
31
+ /**
32
+ * Admit a watermark: `-1` (empty log) or an existing {@link SessionSeq}.
33
+ * @param value - `-1` or a non-negative safe integer.
34
+ */
35
+ export declare function SessionSeqCursor(value: number): SessionSeqCursor;
36
+ /**
37
+ * Validate a half-open `[from, to)` against a known length.
38
+ * Out-of-range bounds are allowed (same as `Array.prototype.slice`).
39
+ * @param length - current event count.
40
+ * @param fromSeq - inclusive start (default 0).
41
+ * @param toSeqExclusive - exclusive end (default `length`).
42
+ */
43
+ export declare function resolveHalfOpenEventRange(length: number, fromSeq?: number, toSeqExclusive?: number): {
44
+ readonly from: SessionLogOffset;
45
+ readonly to: SessionLogOffset;
46
+ };
47
+ /**
48
+ * Materialize an immutable snapshot of a half-open event range.
49
+ * Full-range requests reuse the record's existing `events` array identity.
50
+ * @param record - session log record.
51
+ * @param fromSeq - inclusive start (default 0).
52
+ * @param toSeqExclusive - exclusive end (default event count).
53
+ */
54
+ export declare function snapshotEvents(record: SessionRecord, fromSeq?: number, toSeqExclusive?: number): readonly SessionEvent[];
55
+ /**
56
+ * Canonical store-facing range read (typed offsets).
57
+ * Always delegates to {@link SessionStore.readEvents}.
58
+ * @param store - session store.
59
+ * @param sessionId - session id.
60
+ * @param fromSeq - inclusive start (default 0).
61
+ * @param toSeqExclusive - exclusive end (default event count).
62
+ */
63
+ export declare function readSessionEvents(store: SessionLogReader, sessionId: string, fromSeq?: SessionLogOffset, toSeqExclusive?: SessionLogOffset): readonly SessionEvent[];
64
+ /**
65
+ * Current log length as a typed offset (next append index).
66
+ * @param record - session log record.
67
+ */
68
+ export declare function eventCount(record: SessionRecord): SessionLogOffset;
69
+ /**
70
+ * Store-facing log length (next append index).
71
+ * @param store - session store.
72
+ * @param sessionId - session id.
73
+ */
74
+ export declare function sessionEventCount(store: SessionLogReader, sessionId: string): SessionLogOffset;
75
+ /**
76
+ * Return the event at one exact sequence number, or undefined when absent.
77
+ * @param record - session log record.
78
+ * @param seq - event sequence number.
79
+ */
80
+ export declare function eventAt(record: SessionRecord, seq: SessionSeq): SessionEvent | undefined;
81
+ /**
82
+ * Store-facing single-event read (hydrates via `readEvents` when cold).
83
+ * @param store - session store.
84
+ * @param sessionId - session id.
85
+ * @param seq - event sequence number.
86
+ */
87
+ export declare function sessionEventAt(store: SessionLogReader, sessionId: string, seq: SessionSeq): SessionEvent | undefined;
88
+ /**
89
+ * Last event in the log, or undefined when empty.
90
+ * @param store - session store.
91
+ * @param sessionId - session id.
92
+ */
93
+ export declare function lastSessionEvent(store: SessionLogReader, sessionId: string): SessionEvent | undefined;
94
+ /**
95
+ * Half-open suffix from `fromSeq` to the end of the log.
96
+ * @param store - session store.
97
+ * @param sessionId - session id.
98
+ * @param fromSeq - inclusive start.
99
+ */
100
+ export declare function sessionEventsFrom(store: SessionLogReader, sessionId: string, fromSeq: SessionLogOffset): readonly SessionEvent[];
101
+ export {};
102
+ //# sourceMappingURL=seq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seq.d.ts","sourceRoot":"","sources":["../src/seq.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,OAAO,CAAC,MAAM,WAAW,EAAE,OAAO,MAAM,CAAC;AACzC,OAAO,CAAC,MAAM,kBAAkB,EAAE,OAAO,MAAM,CAAC;AAEhD,8DAA8D;AAC9D,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEnE,oFAAoF;AACpF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEhF,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;AAE/C,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAQhE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAGpD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAGhE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAGhE;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAU,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAA;CAAE,CAQpE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,MAAU,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,SAAS,YAAY,EAAE,CAUzB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,gBAAsC,EAC/C,cAAc,CAAC,EAAE,gBAAgB,GAChC,SAAS,YAAY,EAAE,CAEzB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAElE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,GAChB,gBAAgB,CAElB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,MAAM,EAAE,aAAa,EACrB,GAAG,EAAE,UAAU,GACd,YAAY,GAAG,SAAS,CAE1B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,GACd,YAAY,GAAG,SAAS,CAM1B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,GAChB,YAAY,GAAG,SAAS,CAG1B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,gBAAgB,GACxB,SAAS,YAAY,EAAE,CAEzB"}
@@ -0,0 +1,122 @@
1
+ function assertNonNegSafeInt(value, label) {
2
+ if (!Number.isSafeInteger(value) || value < 0 || Object.is(value, -0)) {
3
+ throw new TypeError(`${label} must be a non-negative safe integer, got ${String(value)}`);
4
+ }
5
+ }
6
+ /**
7
+ * Admit a numeric value as an existing Session event position.
8
+ * @param value - non-negative safe integer admitted by the owning log operation.
9
+ */
10
+ export function SessionSeq(value) {
11
+ assertNonNegSafeInt(value, "SessionSeq");
12
+ return value;
13
+ }
14
+ /**
15
+ * Admit a numeric value as a Session log offset.
16
+ * @param value - non-negative safe integer used as a gap or prefix length.
17
+ */
18
+ export function SessionLogOffset(value) {
19
+ assertNonNegSafeInt(value, "SessionLogOffset");
20
+ return value;
21
+ }
22
+ /**
23
+ * Admit a watermark: `-1` (empty log) or an existing {@link SessionSeq}.
24
+ * @param value - `-1` or a non-negative safe integer.
25
+ */
26
+ export function SessionSeqCursor(value) {
27
+ if (value === -1)
28
+ return -1;
29
+ return SessionSeq(value);
30
+ }
31
+ /**
32
+ * Validate a half-open `[from, to)` against a known length.
33
+ * Out-of-range bounds are allowed (same as `Array.prototype.slice`).
34
+ * @param length - current event count.
35
+ * @param fromSeq - inclusive start (default 0).
36
+ * @param toSeqExclusive - exclusive end (default `length`).
37
+ */
38
+ export function resolveHalfOpenEventRange(length, fromSeq = 0, toSeqExclusive) {
39
+ assertNonNegSafeInt(length, "length");
40
+ assertNonNegSafeInt(fromSeq, "fromSeq");
41
+ const end = toSeqExclusive ?? length;
42
+ if (toSeqExclusive !== undefined) {
43
+ assertNonNegSafeInt(end, "toSeqExclusive");
44
+ }
45
+ return { from: SessionLogOffset(fromSeq), to: SessionLogOffset(end) };
46
+ }
47
+ /**
48
+ * Materialize an immutable snapshot of a half-open event range.
49
+ * Full-range requests reuse the record's existing `events` array identity.
50
+ * @param record - session log record.
51
+ * @param fromSeq - inclusive start (default 0).
52
+ * @param toSeqExclusive - exclusive end (default event count).
53
+ */
54
+ export function snapshotEvents(record, fromSeq = 0, toSeqExclusive) {
55
+ const { from, to } = resolveHalfOpenEventRange(record.events.length, fromSeq, toSeqExclusive);
56
+ if (from === 0 && to === record.events.length) {
57
+ return record.events;
58
+ }
59
+ return record.events.slice(from, to);
60
+ }
61
+ /**
62
+ * Canonical store-facing range read (typed offsets).
63
+ * Always delegates to {@link SessionStore.readEvents}.
64
+ * @param store - session store.
65
+ * @param sessionId - session id.
66
+ * @param fromSeq - inclusive start (default 0).
67
+ * @param toSeqExclusive - exclusive end (default event count).
68
+ */
69
+ export function readSessionEvents(store, sessionId, fromSeq = SessionLogOffset(0), toSeqExclusive) {
70
+ return store.readEvents(sessionId, fromSeq, toSeqExclusive);
71
+ }
72
+ /**
73
+ * Current log length as a typed offset (next append index).
74
+ * @param record - session log record.
75
+ */
76
+ export function eventCount(record) {
77
+ return SessionLogOffset(record.events.length);
78
+ }
79
+ /**
80
+ * Store-facing log length (next append index).
81
+ * @param store - session store.
82
+ * @param sessionId - session id.
83
+ */
84
+ export function sessionEventCount(store, sessionId) {
85
+ return SessionLogOffset(store.readEvents(sessionId).length);
86
+ }
87
+ /**
88
+ * Return the event at one exact sequence number, or undefined when absent.
89
+ * @param record - session log record.
90
+ * @param seq - event sequence number.
91
+ */
92
+ export function eventAt(record, seq) {
93
+ return record.events[seq];
94
+ }
95
+ /**
96
+ * Store-facing single-event read (hydrates via `readEvents` when cold).
97
+ * @param store - session store.
98
+ * @param sessionId - session id.
99
+ * @param seq - event sequence number.
100
+ */
101
+ export function sessionEventAt(store, sessionId, seq) {
102
+ return store.readEvents(sessionId, seq, SessionLogOffset(seq + 1))[0];
103
+ }
104
+ /**
105
+ * Last event in the log, or undefined when empty.
106
+ * @param store - session store.
107
+ * @param sessionId - session id.
108
+ */
109
+ export function lastSessionEvent(store, sessionId) {
110
+ const events = store.readEvents(sessionId);
111
+ return events.length === 0 ? undefined : events[events.length - 1];
112
+ }
113
+ /**
114
+ * Half-open suffix from `fromSeq` to the end of the log.
115
+ * @param store - session store.
116
+ * @param sessionId - session id.
117
+ * @param fromSeq - inclusive start.
118
+ */
119
+ export function sessionEventsFrom(store, sessionId, fromSeq) {
120
+ return store.readEvents(sessionId, fromSeq);
121
+ }
122
+ //# sourceMappingURL=seq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seq.js","sourceRoot":"","sources":["../src/seq.ts"],"names":[],"mappings":"AAsBA,SAAS,mBAAmB,CAAC,KAAa,EAAE,KAAa;IACvD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,SAAS,CAAC,GAAG,KAAK,6CAA6C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACzC,OAAO,KAAmB,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IAC/C,OAAO,KAAyB,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,CAAC;IAC5B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAc,EACd,UAAkB,CAAC,EACnB,cAAuB;IAEvB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,cAAc,IAAI,MAAM,CAAC;IACrC,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAqB,EACrB,UAAkB,CAAC,EACnB,cAAuB;IAEvB,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,yBAAyB,CAC5C,MAAM,CAAC,MAAM,CAAC,MAAM,EACpB,OAAO,EACP,cAAc,CACf,CAAC;IACF,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAuB,EACvB,SAAiB,EACjB,UAA4B,gBAAgB,CAAC,CAAC,CAAC,EAC/C,cAAiC;IAEjC,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAAqB;IAC9C,OAAO,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAuB,EACvB,SAAiB;IAEjB,OAAO,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CACrB,MAAqB,EACrB,GAAe;IAEf,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAuB,EACvB,SAAiB,EACjB,GAAe;IAEf,OAAO,KAAK,CAAC,UAAU,CACrB,SAAS,EACT,GAAG,EACH,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC,CAC1B,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAuB,EACvB,SAAiB;IAEjB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAuB,EACvB,SAAiB,EACjB,OAAyB;IAEzB,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC"}