@xrkseek/harness 0.4.8 → 0.4.9

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 (242) hide show
  1. package/node_modules/@xrkseek/cordis/LICENSE +21 -0
  2. package/node_modules/@xrkseek/cordis/README.md +14 -0
  3. package/node_modules/@xrkseek/cordis/bin.js +16 -0
  4. package/node_modules/@xrkseek/cordis/lib/index.js +1828 -0
  5. package/node_modules/@xrkseek/cordis/lib/types/context.d.ts +101 -0
  6. package/node_modules/@xrkseek/cordis/lib/types/context.d.ts.map +1 -0
  7. package/node_modules/@xrkseek/cordis/lib/types/events.d.ts +240 -0
  8. package/node_modules/@xrkseek/cordis/lib/types/events.d.ts.map +1 -0
  9. package/node_modules/@xrkseek/cordis/lib/types/fiber.d.ts +202 -0
  10. package/node_modules/@xrkseek/cordis/lib/types/fiber.d.ts.map +1 -0
  11. package/node_modules/@xrkseek/cordis/lib/types/index.d.ts +15 -0
  12. package/node_modules/@xrkseek/cordis/lib/types/index.d.ts.map +1 -0
  13. package/node_modules/@xrkseek/cordis/lib/types/logger.d.ts +105 -0
  14. package/node_modules/@xrkseek/cordis/lib/types/logger.d.ts.map +1 -0
  15. package/node_modules/@xrkseek/cordis/lib/types/reflect.d.ts +186 -0
  16. package/node_modules/@xrkseek/cordis/lib/types/reflect.d.ts.map +1 -0
  17. package/node_modules/@xrkseek/cordis/lib/types/registry.d.ts +201 -0
  18. package/node_modules/@xrkseek/cordis/lib/types/registry.d.ts.map +1 -0
  19. package/node_modules/@xrkseek/cordis/lib/types/service.d.ts +55 -0
  20. package/node_modules/@xrkseek/cordis/lib/types/service.d.ts.map +1 -0
  21. package/node_modules/@xrkseek/cordis/lib/types/utils.d.ts +62 -0
  22. package/node_modules/@xrkseek/cordis/lib/types/utils.d.ts.map +1 -0
  23. package/node_modules/@xrkseek/cordis/package.json +49 -0
  24. package/node_modules/@xrkseek/cordis/src/context.d.ts +101 -0
  25. package/node_modules/@xrkseek/cordis/src/context.d.ts.map +1 -0
  26. package/node_modules/@xrkseek/cordis/src/context.js +99 -0
  27. package/node_modules/@xrkseek/cordis/src/context.js.map +1 -0
  28. package/node_modules/@xrkseek/cordis/src/context.ts +146 -0
  29. package/node_modules/@xrkseek/cordis/src/events.d.ts +240 -0
  30. package/node_modules/@xrkseek/cordis/src/events.d.ts.map +1 -0
  31. package/node_modules/@xrkseek/cordis/src/events.js +199 -0
  32. package/node_modules/@xrkseek/cordis/src/events.js.map +1 -0
  33. package/node_modules/@xrkseek/cordis/src/events.ts +352 -0
  34. package/node_modules/@xrkseek/cordis/src/fiber.d.ts +202 -0
  35. package/node_modules/@xrkseek/cordis/src/fiber.d.ts.map +1 -0
  36. package/node_modules/@xrkseek/cordis/src/fiber.js +677 -0
  37. package/node_modules/@xrkseek/cordis/src/fiber.js.map +1 -0
  38. package/node_modules/@xrkseek/cordis/src/fiber.ts +754 -0
  39. package/node_modules/@xrkseek/cordis/src/index.d.ts +15 -0
  40. package/node_modules/@xrkseek/cordis/src/index.d.ts.map +1 -0
  41. package/node_modules/@xrkseek/cordis/src/index.js +15 -0
  42. package/node_modules/@xrkseek/cordis/src/index.js.map +1 -0
  43. package/node_modules/@xrkseek/cordis/src/index.ts +14 -0
  44. package/node_modules/@xrkseek/cordis/src/logger.d.ts +105 -0
  45. package/node_modules/@xrkseek/cordis/src/logger.d.ts.map +1 -0
  46. package/node_modules/@xrkseek/cordis/src/logger.js +193 -0
  47. package/node_modules/@xrkseek/cordis/src/logger.js.map +1 -0
  48. package/node_modules/@xrkseek/cordis/src/logger.ts +270 -0
  49. package/node_modules/@xrkseek/cordis/src/reflect.d.ts +186 -0
  50. package/node_modules/@xrkseek/cordis/src/reflect.d.ts.map +1 -0
  51. package/node_modules/@xrkseek/cordis/src/reflect.js +311 -0
  52. package/node_modules/@xrkseek/cordis/src/reflect.js.map +1 -0
  53. package/node_modules/@xrkseek/cordis/src/reflect.ts +418 -0
  54. package/node_modules/@xrkseek/cordis/src/registry.d.ts +201 -0
  55. package/node_modules/@xrkseek/cordis/src/registry.d.ts.map +1 -0
  56. package/node_modules/@xrkseek/cordis/src/registry.js +218 -0
  57. package/node_modules/@xrkseek/cordis/src/registry.js.map +1 -0
  58. package/node_modules/@xrkseek/cordis/src/registry.ts +337 -0
  59. package/node_modules/@xrkseek/cordis/src/service.d.ts +55 -0
  60. package/node_modules/@xrkseek/cordis/src/service.d.ts.map +1 -0
  61. package/node_modules/@xrkseek/cordis/src/service.js +113 -0
  62. package/node_modules/@xrkseek/cordis/src/service.js.map +1 -0
  63. package/node_modules/@xrkseek/cordis/src/service.ts +115 -0
  64. package/node_modules/@xrkseek/cordis/src/utils.d.ts +62 -0
  65. package/node_modules/@xrkseek/cordis/src/utils.d.ts.map +1 -0
  66. package/node_modules/@xrkseek/cordis/src/utils.js +271 -0
  67. package/node_modules/@xrkseek/cordis/src/utils.js.map +1 -0
  68. package/node_modules/@xrkseek/cordis/src/utils.ts +287 -0
  69. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  70. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +39 -68
  71. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  72. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts +4 -3
  73. package/node_modules/@xrkseek/core-session/dist/compaction.d.ts.map +1 -1
  74. package/node_modules/@xrkseek/core-session/dist/compaction.js.map +1 -1
  75. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.d.ts.map +1 -1
  76. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js +2 -1
  77. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js.map +1 -1
  78. package/node_modules/@xrkseek/exec-image-gen/README.md +1 -1
  79. package/node_modules/@xrkseek/exec-image-gen/dist/catalog.d.ts +16 -0
  80. package/node_modules/@xrkseek/exec-image-gen/dist/catalog.d.ts.map +1 -0
  81. package/node_modules/@xrkseek/exec-image-gen/dist/catalog.js +152 -0
  82. package/node_modules/@xrkseek/exec-image-gen/dist/catalog.js.map +1 -0
  83. package/node_modules/@xrkseek/exec-image-gen/dist/deepinfra-http.d.ts +9 -0
  84. package/node_modules/@xrkseek/exec-image-gen/dist/deepinfra-http.d.ts.map +1 -0
  85. package/node_modules/@xrkseek/exec-image-gen/dist/deepinfra-http.js +21 -0
  86. package/node_modules/@xrkseek/exec-image-gen/dist/deepinfra-http.js.map +1 -0
  87. package/node_modules/@xrkseek/exec-image-gen/dist/fal-http.d.ts +16 -0
  88. package/node_modules/@xrkseek/exec-image-gen/dist/fal-http.d.ts.map +1 -0
  89. package/node_modules/@xrkseek/exec-image-gen/dist/fal-http.js +189 -0
  90. package/node_modules/@xrkseek/exec-image-gen/dist/fal-http.js.map +1 -0
  91. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts +10 -5
  92. package/node_modules/@xrkseek/exec-image-gen/dist/index.d.ts.map +1 -1
  93. package/node_modules/@xrkseek/exec-image-gen/dist/index.js +174 -18
  94. package/node_modules/@xrkseek/exec-image-gen/dist/index.js.map +1 -1
  95. package/node_modules/@xrkseek/exec-image-gen/dist/krea-http.d.ts +16 -0
  96. package/node_modules/@xrkseek/exec-image-gen/dist/krea-http.d.ts.map +1 -0
  97. package/node_modules/@xrkseek/exec-image-gen/dist/krea-http.js +144 -0
  98. package/node_modules/@xrkseek/exec-image-gen/dist/krea-http.js.map +1 -0
  99. package/node_modules/@xrkseek/exec-image-gen/dist/meta-ai-http.d.ts +9 -0
  100. package/node_modules/@xrkseek/exec-image-gen/dist/meta-ai-http.d.ts.map +1 -0
  101. package/node_modules/@xrkseek/exec-image-gen/dist/meta-ai-http.js +21 -0
  102. package/node_modules/@xrkseek/exec-image-gen/dist/meta-ai-http.js.map +1 -0
  103. package/node_modules/@xrkseek/exec-image-gen/dist/openai-http.d.ts +4 -1
  104. package/node_modules/@xrkseek/exec-image-gen/dist/openai-http.d.ts.map +1 -1
  105. package/node_modules/@xrkseek/exec-image-gen/dist/openai-http.js +7 -5
  106. package/node_modules/@xrkseek/exec-image-gen/dist/openai-http.js.map +1 -1
  107. package/node_modules/@xrkseek/exec-image-gen/dist/openrouter-http.d.ts +14 -0
  108. package/node_modules/@xrkseek/exec-image-gen/dist/openrouter-http.d.ts.map +1 -0
  109. package/node_modules/@xrkseek/exec-image-gen/dist/openrouter-http.js +117 -0
  110. package/node_modules/@xrkseek/exec-image-gen/dist/openrouter-http.js.map +1 -0
  111. package/node_modules/@xrkseek/exec-image-gen/dist/tools.d.ts.map +1 -1
  112. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js +43 -6
  113. package/node_modules/@xrkseek/exec-image-gen/dist/tools.js.map +1 -1
  114. package/node_modules/@xrkseek/exec-image-gen/dist/types.d.ts +1 -1
  115. package/node_modules/@xrkseek/exec-image-gen/dist/types.d.ts.map +1 -1
  116. package/node_modules/@xrkseek/exec-image-gen/dist/types.js.map +1 -1
  117. package/node_modules/@xrkseek/exec-image-gen/dist/xai-http.d.ts +16 -0
  118. package/node_modules/@xrkseek/exec-image-gen/dist/xai-http.d.ts.map +1 -0
  119. package/node_modules/@xrkseek/exec-image-gen/dist/xai-http.js +137 -0
  120. package/node_modules/@xrkseek/exec-image-gen/dist/xai-http.js.map +1 -0
  121. package/node_modules/@xrkseek/exec-memory/dist/consolidate-pipeline.d.ts +52 -0
  122. package/node_modules/@xrkseek/exec-memory/dist/consolidate-pipeline.d.ts.map +1 -0
  123. package/node_modules/@xrkseek/exec-memory/dist/consolidate-pipeline.js +216 -0
  124. package/node_modules/@xrkseek/exec-memory/dist/consolidate-pipeline.js.map +1 -0
  125. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts +1 -0
  126. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts.map +1 -1
  127. package/node_modules/@xrkseek/exec-memory/dist/index.js +1 -0
  128. package/node_modules/@xrkseek/exec-memory/dist/index.js.map +1 -1
  129. package/node_modules/@xrkseek/exec-memory/dist/tools.d.ts.map +1 -1
  130. package/node_modules/@xrkseek/exec-memory/dist/tools.js +20 -7
  131. package/node_modules/@xrkseek/exec-memory/dist/tools.js.map +1 -1
  132. package/node_modules/@xrkseek/exec-video-gen/README.md +1 -1
  133. package/node_modules/@xrkseek/exec-video-gen/dist/catalog.d.ts +14 -1
  134. package/node_modules/@xrkseek/exec-video-gen/dist/catalog.d.ts.map +1 -1
  135. package/node_modules/@xrkseek/exec-video-gen/dist/catalog.js +99 -1
  136. package/node_modules/@xrkseek/exec-video-gen/dist/catalog.js.map +1 -1
  137. package/node_modules/@xrkseek/exec-video-gen/dist/deepinfra-http.d.ts +9 -0
  138. package/node_modules/@xrkseek/exec-video-gen/dist/deepinfra-http.d.ts.map +1 -0
  139. package/node_modules/@xrkseek/exec-video-gen/dist/deepinfra-http.js +17 -0
  140. package/node_modules/@xrkseek/exec-video-gen/dist/deepinfra-http.js.map +1 -0
  141. package/node_modules/@xrkseek/exec-video-gen/dist/fal-http.d.ts +14 -0
  142. package/node_modules/@xrkseek/exec-video-gen/dist/fal-http.d.ts.map +1 -0
  143. package/node_modules/@xrkseek/exec-video-gen/dist/fal-http.js +342 -0
  144. package/node_modules/@xrkseek/exec-video-gen/dist/fal-http.js.map +1 -0
  145. package/node_modules/@xrkseek/exec-video-gen/dist/index.d.ts +8 -6
  146. package/node_modules/@xrkseek/exec-video-gen/dist/index.d.ts.map +1 -1
  147. package/node_modules/@xrkseek/exec-video-gen/dist/index.js +122 -19
  148. package/node_modules/@xrkseek/exec-video-gen/dist/index.js.map +1 -1
  149. package/node_modules/@xrkseek/exec-video-gen/dist/openai-http.d.ts +4 -1
  150. package/node_modules/@xrkseek/exec-video-gen/dist/openai-http.d.ts.map +1 -1
  151. package/node_modules/@xrkseek/exec-video-gen/dist/openai-http.js +21 -15
  152. package/node_modules/@xrkseek/exec-video-gen/dist/openai-http.js.map +1 -1
  153. package/node_modules/@xrkseek/exec-video-gen/dist/openrouter-http.d.ts +9 -0
  154. package/node_modules/@xrkseek/exec-video-gen/dist/openrouter-http.d.ts.map +1 -0
  155. package/node_modules/@xrkseek/exec-video-gen/dist/openrouter-http.js +18 -0
  156. package/node_modules/@xrkseek/exec-video-gen/dist/openrouter-http.js.map +1 -0
  157. package/node_modules/@xrkseek/exec-video-gen/dist/tools.d.ts.map +1 -1
  158. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js +26 -6
  159. package/node_modules/@xrkseek/exec-video-gen/dist/tools.js.map +1 -1
  160. package/node_modules/@xrkseek/exec-video-gen/dist/types.d.ts +1 -1
  161. package/node_modules/@xrkseek/exec-video-gen/dist/types.d.ts.map +1 -1
  162. package/node_modules/@xrkseek/exec-video-gen/dist/types.js.map +1 -1
  163. package/node_modules/@xrkseek/exec-video-gen/dist/xai-http.d.ts +18 -0
  164. package/node_modules/@xrkseek/exec-video-gen/dist/xai-http.d.ts.map +1 -0
  165. package/node_modules/@xrkseek/exec-video-gen/dist/xai-http.js +263 -0
  166. package/node_modules/@xrkseek/exec-video-gen/dist/xai-http.js.map +1 -0
  167. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  168. package/node_modules/@xrkseek/preset-harness/dist/preset.js +12 -3
  169. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  170. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  171. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  172. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  173. package/node_modules/@xrkseek/server-face/dist/agent-team-graph.d.ts +31 -0
  174. package/node_modules/@xrkseek/server-face/dist/agent-team-graph.d.ts.map +1 -1
  175. package/node_modules/@xrkseek/server-face/dist/agent-team-graph.js +125 -1
  176. package/node_modules/@xrkseek/server-face/dist/agent-team-graph.js.map +1 -1
  177. package/node_modules/@xrkseek/server-face/dist/context.d.ts +19 -1
  178. package/node_modules/@xrkseek/server-face/dist/context.d.ts.map +1 -1
  179. package/node_modules/@xrkseek/server-face/dist/index.d.ts +3 -3
  180. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  181. package/node_modules/@xrkseek/server-face/dist/index.js +1 -1
  182. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  183. package/node_modules/@xrkseek/server-face/dist/mcp-oauth.d.ts.map +1 -1
  184. package/node_modules/@xrkseek/server-face/dist/mcp-oauth.js +25 -3
  185. package/node_modules/@xrkseek/server-face/dist/mcp-oauth.js.map +1 -1
  186. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts +2 -0
  187. package/node_modules/@xrkseek/server-face/dist/ralph-tool.d.ts.map +1 -1
  188. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js +11 -5
  189. package/node_modules/@xrkseek/server-face/dist/ralph-tool.js.map +1 -1
  190. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  191. package/node_modules/@xrkseek/server-face/dist/runtime.js +1 -0
  192. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  193. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +16 -0
  194. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  195. package/node_modules/@xrkseek/server-face/dist/session-status.js +44 -5
  196. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  197. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts +9 -0
  198. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  199. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +50 -0
  200. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  201. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  202. package/node_modules/@xrkseek/server-face/dist/settings-document.js +40 -0
  203. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  204. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  205. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +20 -4
  206. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  207. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  208. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +191 -0
  209. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  210. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.d.ts.map +1 -1
  211. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js +8 -0
  212. package/node_modules/@xrkseek/server-face/dist/wire/rpc-error.js.map +1 -1
  213. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  214. package/node_modules/@xrkseek/server-host/dist/index.js +135 -24
  215. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  216. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.d.ts.map +1 -1
  217. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js +6 -0
  218. package/node_modules/@xrkseek/server-host/dist/sidebar-face-bridge.js.map +1 -1
  219. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.d.ts +32 -0
  220. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.d.ts.map +1 -0
  221. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.js +134 -0
  222. package/node_modules/@xrkseek/server-host/dist/workflow-engine-mount.js.map +1 -0
  223. package/node_modules/@xrkseek/server-host/package.json +2 -0
  224. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.d.ts.map +1 -1
  225. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js +20 -0
  226. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-adapter.js.map +1 -1
  227. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-face-bridge.d.ts +10 -2
  228. package/node_modules/@xrkseek/server-http/dist/sidebar/sidebar-face-bridge.d.ts.map +1 -1
  229. package/node_modules/@xrkseek/xrk-workflow/README.i18n.yaml +6 -0
  230. package/node_modules/@xrkseek/xrk-workflow/README.md +73 -0
  231. package/node_modules/@xrkseek/xrk-workflow/README.zh.md +72 -0
  232. package/node_modules/@xrkseek/xrk-workflow/lib/types/index.d.ts +177 -0
  233. package/node_modules/@xrkseek/xrk-workflow/lib/types/index.js +730 -0
  234. package/node_modules/@xrkseek/xrk-workflow/lib/types/invariant.d.ts +13 -0
  235. package/node_modules/@xrkseek/xrk-workflow/lib/types/invariant.js +118 -0
  236. package/node_modules/@xrkseek/xrk-workflow/lib/types/runtime-types.d.ts +45 -0
  237. package/node_modules/@xrkseek/xrk-workflow/lib/types/runtime-types.js +9 -0
  238. package/node_modules/@xrkseek/xrk-workflow/lib/types/types.d.ts +118 -0
  239. package/node_modules/@xrkseek/xrk-workflow/lib/types/types.js +16 -0
  240. package/node_modules/@xrkseek/xrk-workflow/package.json +53 -0
  241. package/node_modules/@xrkseek/xrk-workflow/src/index.ts +947 -0
  242. package/package.json +5 -1
@@ -0,0 +1,216 @@
1
+ /**
2
+ * Session-end curated-memory consolidate pipeline (Codex-style lease + Hermes status).
3
+ * Single-flight per session: archive/stop/dispose share one claim so Phase1 cannot double-write.
4
+ */
5
+ import { mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
6
+ import path from "node:path";
7
+ import { consolidateCuratedMemoryPhase1, consolidateCuratedMemoryPhase2, } from "./write-path.js";
8
+ export const CONSOLIDATE_LEASE_FILE = ".consolidate-lease.json";
9
+ export const CONSOLIDATE_REPORT_FILE = ".last-consolidate.json";
10
+ const DEFAULT_TTL_MS = 120_000;
11
+ /** In-process claims keyed by session id (cross-call within one Host). */
12
+ const processClaims = new Map();
13
+ function leasePath(dir) {
14
+ return path.join(dir, CONSOLIDATE_LEASE_FILE);
15
+ }
16
+ function reportPath(dir) {
17
+ return path.join(dir, CONSOLIDATE_REPORT_FILE);
18
+ }
19
+ function newHolder() {
20
+ return `${process.pid}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
21
+ }
22
+ function leaseAlive(claim, now) {
23
+ return now - claim.at < claim.ttlMs;
24
+ }
25
+ /**
26
+ * Claim a consolidate slot for `sessionId`. Returns a release fn on success.
27
+ * Failures (busy / I/O) return `{ ok: false }`.
28
+ */
29
+ export function tryClaimConsolidateLease(sessionId, options) {
30
+ const id = sessionId.trim();
31
+ if (!id)
32
+ return { ok: false };
33
+ const now = options?.now ?? Date.now();
34
+ const ttlMs = Math.max(5_000, options?.ttlMs ?? DEFAULT_TTL_MS);
35
+ const existing = processClaims.get(id);
36
+ if (existing && leaseAlive(existing, now))
37
+ return { ok: false };
38
+ const holder = newHolder();
39
+ processClaims.set(id, { holder, at: now, ttlMs });
40
+ const dir = options?.dir?.trim();
41
+ if (dir) {
42
+ try {
43
+ mkdirSync(dir, { recursive: true });
44
+ const file = leasePath(dir);
45
+ try {
46
+ const raw = JSON.parse(readFileSync(file, "utf8"));
47
+ if (raw &&
48
+ typeof raw.sessionId === "string" &&
49
+ raw.sessionId === id &&
50
+ typeof raw.at === "number" &&
51
+ typeof raw.ttlMs === "number" &&
52
+ leaseAlive(raw, now) &&
53
+ raw.holder !== holder) {
54
+ processClaims.delete(id);
55
+ return { ok: false };
56
+ }
57
+ }
58
+ catch {
59
+ /* missing / corrupt → take */
60
+ }
61
+ const payload = { sessionId: id, holder, at: now, ttlMs };
62
+ const tmp = `${file}.${holder}.tmp`;
63
+ writeFileSync(tmp, JSON.stringify(payload), "utf8");
64
+ try {
65
+ renameSync(tmp, file);
66
+ }
67
+ catch {
68
+ try {
69
+ unlinkSync(tmp);
70
+ }
71
+ catch {
72
+ /* ignore */
73
+ }
74
+ try {
75
+ writeFileSync(file, JSON.stringify(payload), "utf8");
76
+ }
77
+ catch {
78
+ processClaims.delete(id);
79
+ return { ok: false };
80
+ }
81
+ }
82
+ }
83
+ catch {
84
+ processClaims.delete(id);
85
+ return { ok: false };
86
+ }
87
+ }
88
+ const release = () => {
89
+ const cur = processClaims.get(id);
90
+ if (cur?.holder === holder)
91
+ processClaims.delete(id);
92
+ if (!dir)
93
+ return;
94
+ try {
95
+ const raw = JSON.parse(readFileSync(leasePath(dir), "utf8"));
96
+ if (raw?.holder === holder)
97
+ unlinkSync(leasePath(dir));
98
+ }
99
+ catch {
100
+ /* ignore */
101
+ }
102
+ };
103
+ return { ok: true, release };
104
+ }
105
+ /** Read the last consolidate report sidecar (if any). */
106
+ export function readConsolidateReport(dir) {
107
+ try {
108
+ const raw = JSON.parse(readFileSync(reportPath(dir), "utf8"));
109
+ if (!raw || typeof raw.sessionId !== "string" || typeof raw.at !== "number") {
110
+ return undefined;
111
+ }
112
+ return raw;
113
+ }
114
+ catch {
115
+ return undefined;
116
+ }
117
+ }
118
+ export function writeConsolidateReport(dir, report) {
119
+ try {
120
+ mkdirSync(dir, { recursive: true });
121
+ const file = reportPath(dir);
122
+ const tmp = `${file}.${process.pid}.tmp`;
123
+ writeFileSync(tmp, JSON.stringify(report), "utf8");
124
+ try {
125
+ renameSync(tmp, file);
126
+ }
127
+ catch {
128
+ writeFileSync(file, JSON.stringify(report), "utf8");
129
+ try {
130
+ unlinkSync(tmp);
131
+ }
132
+ catch {
133
+ /* ignore */
134
+ }
135
+ }
136
+ }
137
+ catch {
138
+ /* best-effort observability */
139
+ }
140
+ }
141
+ /**
142
+ * Lease → Phase1 → optional Phase2. Writes `.last-consolidate.json` beside the store.
143
+ */
144
+ export async function runCuratedMemoryConsolidate(input) {
145
+ const now = input.now ?? Date.now();
146
+ const sessionId = input.sessionId.trim() || "unknown";
147
+ const base = {
148
+ sessionId,
149
+ at: now,
150
+ phase1Written: 0,
151
+ phase2: "skipped",
152
+ phase2Written: 0,
153
+ ...(input.providerKind ? { providerKind: input.providerKind } : {}),
154
+ };
155
+ if (input.userTexts.length === 0) {
156
+ const report = {
157
+ ...base,
158
+ skipped: "no-user-text",
159
+ };
160
+ writeConsolidateReport(input.store.dir, report);
161
+ return report;
162
+ }
163
+ const claim = tryClaimConsolidateLease(sessionId, {
164
+ dir: input.store.dir,
165
+ ...(input.ttlMs !== undefined ? { ttlMs: input.ttlMs } : {}),
166
+ now,
167
+ });
168
+ if (!claim.ok) {
169
+ const report = {
170
+ ...base,
171
+ skipped: "busy",
172
+ };
173
+ writeConsolidateReport(input.store.dir, report);
174
+ return report;
175
+ }
176
+ try {
177
+ const phase1 = await consolidateCuratedMemoryPhase1(input.store, {
178
+ userTexts: input.userTexts,
179
+ });
180
+ let phase2 = "skipped";
181
+ let phase2Written = 0;
182
+ if (input.phase2Complete) {
183
+ try {
184
+ const phase2Result = await consolidateCuratedMemoryPhase2(input.store, {
185
+ userTexts: input.userTexts,
186
+ ...(input.assistantTexts
187
+ ? { assistantTexts: input.assistantTexts }
188
+ : {}),
189
+ complete: input.phase2Complete,
190
+ });
191
+ phase2Written = phase2Result.written.length;
192
+ phase2 = phase2Written > 0 ? "written" : "skipped";
193
+ }
194
+ catch {
195
+ phase2 = "failed";
196
+ }
197
+ }
198
+ else if (input.phase2Requested) {
199
+ phase2 = "no-llm";
200
+ }
201
+ const report = {
202
+ sessionId,
203
+ at: Date.now(),
204
+ phase1Written: phase1.written.length,
205
+ phase2,
206
+ phase2Written,
207
+ ...(input.providerKind ? { providerKind: input.providerKind } : {}),
208
+ };
209
+ writeConsolidateReport(input.store.dir, report);
210
+ return report;
211
+ }
212
+ finally {
213
+ claim.release();
214
+ }
215
+ }
216
+ //# sourceMappingURL=consolidate-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidate-pipeline.js","sourceRoot":"","sources":["../src/consolidate-pipeline.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,6 @@ export { createHttpMemoryProvider, HttpMemoryProviderError, probeHttpMemoryProvi
4
4
  export { createFileMemoryProvider, resolveMemoryProvider, type ResolveMemoryProviderOptions, } from "./resolve.js";
5
5
  export { createSqliteMemoryProvider, type SqliteMemoryProvider, type SqliteMemoryProviderOptions, } from "./sqlite.js";
6
6
  export { CURATED_MEMORY_PROMPT_TEXT, createCuratedMemoryTools, } from "./tools.js";
7
+ export { CONSOLIDATE_LEASE_FILE, CONSOLIDATE_REPORT_FILE, tryClaimConsolidateLease, readConsolidateReport, writeConsolidateReport, runCuratedMemoryConsolidate, type CuratedMemoryConsolidateReport, type CuratedMemoryPhase2Status, type RunCuratedMemoryConsolidateInput, } from "./consolidate-pipeline.js";
7
8
  export { extractReusableNotes, writeReusableNotesAfterTurn, consolidateCuratedMemoryPhase1, consolidateCuratedMemoryPhase2, buildPhase2ExtractPrompt, parsePhase2Notes, noteCoveredByEntries, type TurnNoteInput, type TurnNoteWriteResult, type SessionEndConsolidateInput, type SessionEndPhase2Input, type Phase2CompleteFn, } from "./write-path.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,4BAA4B,GAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,4BAA4B,GAClC,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,GACtC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC"}
@@ -3,5 +3,6 @@ export { createHttpMemoryProvider, HttpMemoryProviderError, probeHttpMemoryProvi
3
3
  export { createFileMemoryProvider, resolveMemoryProvider, } from "./resolve.js";
4
4
  export { createSqliteMemoryProvider, } from "./sqlite.js";
5
5
  export { CURATED_MEMORY_PROMPT_TEXT, createCuratedMemoryTools, } from "./tools.js";
6
+ export { CONSOLIDATE_LEASE_FILE, CONSOLIDATE_REPORT_FILE, tryClaimConsolidateLease, readConsolidateReport, writeConsolidateReport, runCuratedMemoryConsolidate, } from "./consolidate-pipeline.js";
6
7
  export { extractReusableNotes, writeReusableNotesAfterTurn, consolidateCuratedMemoryPhase1, consolidateCuratedMemoryPhase2, buildPhase2ExtractPrompt, parsePhase2Notes, noteCoveredByEntries, } from "./write-path.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,eAAe,GAQhB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GAExB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,GAG3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,GAMrB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,eAAe,GAQhB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GAExB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,GAG3B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,GAI5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,GAMrB,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAaO,CAAC;AAmB/C;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,EAAE,CAsIpF"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAcO,CAAC;AAmB/C;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,EAAE,CAkJpF"}
@@ -13,10 +13,11 @@ export const CURATED_MEMORY_PROMPT_TEXT = "Curated memory is two files under {XR
13
13
  + "and does not follow the user into a new session. Do not write session-local WIP, "
14
14
  + "numbered task checklists, or 'we were doing X' handoff notes into memory. Do "
15
15
  + "not volunteer to resume work that appears only in MEMORY unless the user asks. "
16
- + "The `memory` tool only add / replace / remove (or one atomic `operations` batch). "
16
+ + "The `memory` tool supports add / replace / remove / list (or one atomic "
17
+ + "`operations` batch). list returns live disk entries for the chosen target. "
17
18
  + "Writes hit disk immediately and do not change this session's system prompt. "
18
19
  + "This is not the Mnemon document library.";
19
- const ACTIONS = ["add", "replace", "remove"];
20
+ const ACTIONS = ["add", "replace", "remove", "list"];
20
21
  function asTarget(raw) {
21
22
  const target = String(raw ?? "memory");
22
23
  if (target === "memory" || target === "user")
@@ -43,7 +44,8 @@ export function createCuratedMemoryTools(store) {
43
44
  + "(preferences, lasting conventions, who the user is). "
44
45
  + "Do NOT store session WIP, standing plans, todo checklists, or handoff notes "
45
46
  + "for unfinished work — use `todo_write` for those (they stay in this session only). "
46
- + "Actions: add, replace, remove. Prefer one `operations` batch when several entries change. "
47
+ + "Actions: add, replace, remove, list. Prefer one `operations` batch when several entries change. "
48
+ + "Use list before replace/remove when you need the exact on-disk wording. "
47
49
  + "target `memory` is agent notes (MEMORY.md under {XRK_HOME}/memories); "
48
50
  + "target `user` is the curated user profile (memories/USER.md — not standing "
49
51
  + "~/.xrk/USER.md or IDENTITY.md). "
@@ -56,7 +58,7 @@ export function createCuratedMemoryTools(store) {
56
58
  action: {
57
59
  type: "string",
58
60
  enum: [...ACTIONS],
59
- description: "Single change. Omit when using operations.",
61
+ description: "Single change or list. Omit when using operations.",
60
62
  },
61
63
  target: {
62
64
  type: "string",
@@ -81,7 +83,7 @@ export function createCuratedMemoryTools(store) {
81
83
  items: {
82
84
  type: "object",
83
85
  properties: {
84
- action: { type: "string", enum: [...ACTIONS] },
86
+ action: { type: "string", enum: ["add", "replace", "remove"] },
85
87
  content: { type: "string" },
86
88
  new_text: { type: "string" },
87
89
  old_text: { type: "string" },
@@ -106,6 +108,18 @@ export function createCuratedMemoryTools(store) {
106
108
  }),
107
109
  };
108
110
  }
111
+ const action = String(args.action ?? "");
112
+ if (action === "list") {
113
+ const entries = await Promise.resolve(store.listEntries(target));
114
+ return {
115
+ content: JSON.stringify({
116
+ success: true,
117
+ target,
118
+ entry_count: entries.length,
119
+ current_entries: entries,
120
+ }),
121
+ };
122
+ }
109
123
  const ops = asOps(args.operations);
110
124
  if (Array.isArray(args.operations) && args.operations.length > 0 && ops && ops.length > 0) {
111
125
  const result = await Promise.resolve(store.applyBatch(target, ops));
@@ -120,7 +134,6 @@ export function createCuratedMemoryTools(store) {
120
134
  }),
121
135
  };
122
136
  }
123
- const action = String(args.action ?? "");
124
137
  const content = String(args.content ?? args.new_text ?? "");
125
138
  const oldText = String(args.old_text ?? "");
126
139
  if (!ACTIONS.includes(action)) {
@@ -128,7 +141,7 @@ export function createCuratedMemoryTools(store) {
128
141
  isError: true,
129
142
  content: JSON.stringify({
130
143
  success: false,
131
- error: `Unknown action '${action}'. Use: add, replace, remove`,
144
+ error: `Unknown action '${action}'. Use: add, replace, remove, list`,
132
145
  }),
133
146
  };
134
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Text-to-video / image-to-video Provider seam for the model tool surface.
4
4
 
5
- **Product path**: Settings → Plugins → Video generation (Face ns `video-gen`). Credentials hold `XRK_VIDEO_GEN_OPENAI_KEY`. Env (`XRK_VIDEO_GEN=memory` / `=1`) is CI / headless bypass only — see [docs/video-gen.md](../../../docs/video-gen.md).
5
+ **Product path**: Settings → Plugins → Video generation (Face ns `video-gen`). Modes: `off` · `openai` · `fal` · `xai`. Credentials hold `XRK_VIDEO_GEN_OPENAI_KEY` / `XRK_VIDEO_GEN_FAL_KEY` / `XRK_VIDEO_GEN_XAI_KEY` (runtime also accepts `OPENAI_API_KEY` · `FAL_KEY` · `XAI_API_KEY`). Env (`XRK_VIDEO_GEN=memory` / `=1` / `fal` / `xai`) is CI / headless bypass only — see [docs/video-gen.md](../../../docs/video-gen.md).
6
6
 
7
7
  - **Definition**: `VideoGenService` — `create` · `get` · `content` (+ optional `capabilities`)
8
8
  - **Provider**: `createMemoryVideoGenProvider` · `createOpenAiVideoGenProvider` · Host-injected
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OpenAI Videos family catalog (Hermes fal `MODEL_FAMILIES` shape, thinner).
2
+ * OpenAI Videos family catalog + Hermes-scale FAL / OpenRouter / DeepInfra catalogs.
3
3
  * Provider `capabilities().families` surfaces this for `action=catalog`.
4
4
  */
5
5
  import type { VideoGenCapabilities, VideoGenFamilyEntry, VideoGenSeconds, VideoGenSize } from "./types.js";
@@ -11,6 +11,19 @@ export declare const OPENAI_VIDEO_GEN_FAMILIES: readonly VideoGenFamilyEntry[];
11
11
  export declare const OPENAI_VIDEO_GEN_CAPABILITIES: VideoGenCapabilities;
12
12
  /** Memory Provider mirrors OpenAI surface so CI exercises the full schema. */
13
13
  export declare const MEMORY_VIDEO_GEN_CAPABILITIES: VideoGenCapabilities;
14
+ /**
15
+ * Hermes `FAL_FAMILIES` main-path catalog (tool seconds clamped to 4|8|12).
16
+ * Host Settings `model` selects a family id.
17
+ */
18
+ export declare const FAL_VIDEO_GEN_FAMILIES: readonly VideoGenFamilyEntry[];
19
+ export declare const FAL_VIDEO_GEN_CAPABILITIES: VideoGenCapabilities;
20
+ /** xAI Grok Imagine video caps (Hermes video_gen/xai). */
21
+ export declare const XAI_VIDEO_GEN_CAPABILITIES: VideoGenCapabilities;
22
+ /** OpenRouter Videos offline seed (live `/videos/models` when reachable). */
23
+ export declare const OPENROUTER_VIDEO_GEN_FAMILIES: readonly VideoGenFamilyEntry[];
24
+ export declare const OPENROUTER_VIDEO_GEN_CAPABILITIES: VideoGenCapabilities;
25
+ /** DeepInfra OpenAI-compatible Videos (Hermes: live catalog; offline seed). */
26
+ export declare const DEEPINFRA_VIDEO_GEN_CAPABILITIES: VideoGenCapabilities;
14
27
  /** Format family rows for `action=catalog` tool text. */
15
28
  export declare function formatVideoGenCatalog(families: readonly VideoGenFamilyEntry[]): string;
16
29
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAAe,CAAC;AAExE,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAKlD,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB,EAAE,SAAS,mBAAmB,EAqBnE,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,6BAA6B,EAAE,oBAM3C,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,EAAE,oBAiB3C,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,MAAM,CA4BR"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAAe,CAAC;AAExE,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAKlD,CAAC;AAqBF,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB,EAAE,SAAS,mBAAmB,EAqBnE,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,6BAA6B,EAAE,oBAM3C,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,EAAE,oBAiB3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAmChE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,oBAMxC,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B,EAAE,oBA2BxC,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B,EAAE,SAAS,mBAAmB,EAqBvE,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,oBAM/C,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,gCAAgC,EAAE,oBAY9C,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GACvC,MAAM,CA4BR"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * OpenAI Videos family catalog (Hermes fal `MODEL_FAMILIES` shape, thinner).
2
+ * OpenAI Videos family catalog + Hermes-scale FAL / OpenRouter / DeepInfra catalogs.
3
3
  * Provider `capabilities().families` surfaces this for `action=catalog`.
4
4
  */
5
5
  export const VIDEO_GEN_SECONDS = [4, 8, 12];
@@ -9,6 +9,18 @@ export const VIDEO_GEN_SIZES = [
9
9
  "1024x1792",
10
10
  "1792x1024",
11
11
  ];
12
+ function falFamily(id, displayName, note, modalities = ["text", "image"], seconds = VIDEO_GEN_SECONDS) {
13
+ return {
14
+ id,
15
+ displayName,
16
+ modalities,
17
+ seconds,
18
+ sizes: VIDEO_GEN_SIZES,
19
+ supportsEdit: false,
20
+ supportsExtend: false,
21
+ note,
22
+ };
23
+ }
12
24
  /** Sora-2 family: t2v + first-frame i2v + edit + extend. */
13
25
  export const OPENAI_VIDEO_GEN_FAMILIES = [
14
26
  {
@@ -59,6 +71,92 @@ export const MEMORY_VIDEO_GEN_CAPABILITIES = {
59
71
  },
60
72
  ],
61
73
  };
74
+ /**
75
+ * Hermes `FAL_FAMILIES` main-path catalog (tool seconds clamped to 4|8|12).
76
+ * Host Settings `model` selects a family id.
77
+ */
78
+ export const FAL_VIDEO_GEN_FAMILIES = [
79
+ falFamily("ltx-2.3", "LTX 2.3 (22B)", "FAL cheap — native audio."),
80
+ falFamily("ltx-2.5", "LTX 2.5", "FAL cheap — Lightricks audio-video."),
81
+ falFamily("pixverse-v6", "Pixverse v6", "FAL cheap default — t2v + i2v."),
82
+ falFamily("seedance-2.0-mini", "Seedance 2.0 Mini", "FAL cheap — ByteDance mini."),
83
+ falFamily("veo3.1", "Veo 3.1", "FAL premium — Google Veo via queue.", ["text", "image"], [4, 8]),
84
+ falFamily("seedance-2.0", "Seedance 2.0", "FAL premium — ByteDance cinematic."),
85
+ falFamily("seedance-2.5", "Seedance 2.5", "FAL premium — ByteDance flagship."),
86
+ falFamily("minimax-h3", "MiniMax H3", "FAL premium — MiniMax frontier."),
87
+ falFamily("minimax-h3-max", "MiniMax H3 Max", "FAL premium — fal post-train Max."),
88
+ falFamily("minimax-h3-max-turbo", "MiniMax H3 Max Turbo", "FAL premium — throughput-tuned Max."),
89
+ falFamily("flux-3", "FLUX 3", "FAL premium — Black Forest Labs video."),
90
+ falFamily("grok-imagine-1.5", "Grok Imagine 1.5", "FAL premium — xAI via FAL."),
91
+ falFamily("gemini-omni-flash", "Gemini Omni Flash 1.1", "FAL premium — Google Omni Flash."),
92
+ falFamily("kling-v3", "Kling 3.0", "FAL premium — Kling standard; start_image_url."),
93
+ falFamily("kling-v3-pro", "Kling 3.0 Pro", "FAL premium — Kling Pro."),
94
+ falFamily("kling-v3-4k", "Kling v3 4K", "FAL premium — Kling 4K."),
95
+ falFamily("kling-o3", "Kling O3", "FAL premium — multi-shot storytelling."),
96
+ falFamily("wan-3.0", "Wan 3.0", "FAL premium — Alibaba Wan."),
97
+ falFamily("wan-3.0-prime", "Wan 3.0 Prime", "FAL premium — Alibaba Wan Prime."),
98
+ falFamily("happy-horse", "Happy Horse 1.1", "FAL premium — Alibaba Happy Horse."),
99
+ ];
100
+ export const FAL_VIDEO_GEN_CAPABILITIES = {
101
+ modalities: ["text", "image"],
102
+ maxReferenceImages: 1,
103
+ supportsEdit: false,
104
+ supportsExtend: false,
105
+ families: FAL_VIDEO_GEN_FAMILIES,
106
+ };
107
+ /** xAI Grok Imagine video caps (Hermes video_gen/xai). */
108
+ export const XAI_VIDEO_GEN_CAPABILITIES = {
109
+ modalities: ["text", "image"],
110
+ maxReferenceImages: 7,
111
+ supportsEdit: true,
112
+ supportsExtend: true,
113
+ families: [
114
+ {
115
+ id: "grok-imagine-video",
116
+ displayName: "Grok Imagine Video",
117
+ modalities: ["text", "image"],
118
+ seconds: VIDEO_GEN_SECONDS,
119
+ sizes: VIDEO_GEN_SIZES,
120
+ supportsEdit: true,
121
+ supportsExtend: true,
122
+ note: "xAI t2v / reference-to-video; edit/extend via public MP4 URL.",
123
+ },
124
+ {
125
+ id: "grok-imagine-video-1.5",
126
+ displayName: "Grok Imagine Video 1.5",
127
+ modalities: ["image"],
128
+ seconds: VIDEO_GEN_SECONDS,
129
+ sizes: VIDEO_GEN_SIZES,
130
+ supportsEdit: false,
131
+ supportsExtend: false,
132
+ note: "xAI image-to-video tier.",
133
+ },
134
+ ],
135
+ };
136
+ /** OpenRouter Videos offline seed (live `/videos/models` when reachable). */
137
+ export const OPENROUTER_VIDEO_GEN_FAMILIES = [
138
+ falFamily("minimax/hailuo-3-max", "MiniMax Hailuo 3 Max", "OpenRouter default — first-frame i2v when catalog allows."),
139
+ falFamily("google/veo-3.1", "Google Veo 3.1", "OpenRouter — Veo via unified videos API."),
140
+ falFamily("openai/sora-2", "OpenAI Sora 2", "OpenRouter — Sora when billed on the account."),
141
+ falFamily("x-ai/grok-imagine-video", "Grok Imagine Video", "OpenRouter — xAI video."),
142
+ ];
143
+ export const OPENROUTER_VIDEO_GEN_CAPABILITIES = {
144
+ modalities: ["text", "image"],
145
+ maxReferenceImages: 3,
146
+ supportsEdit: false,
147
+ supportsExtend: false,
148
+ families: OPENROUTER_VIDEO_GEN_FAMILIES,
149
+ };
150
+ /** DeepInfra OpenAI-compatible Videos (Hermes: live catalog; offline seed). */
151
+ export const DEEPINFRA_VIDEO_GEN_CAPABILITIES = {
152
+ modalities: ["text", "image"],
153
+ maxReferenceImages: 1,
154
+ supportsEdit: false,
155
+ supportsExtend: false,
156
+ families: [
157
+ falFamily("Wan-AI/Wan2.1-T2V-14B", "Wan 2.1 T2V 14B", "DeepInfra OpenAI-compatible videos; pin model via Settings when catalog differs."),
158
+ ],
159
+ };
62
160
  /** Format family rows for `action=catalog` tool text. */
63
161
  export function formatVideoGenCatalog(families) {
64
162
  if (families.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { VideoGenService } from "./types.js";
2
+ export interface DeepInfraVideoGenOptions {
3
+ readonly apiKey: string;
4
+ readonly baseUrl?: string;
5
+ readonly fetchImpl?: typeof fetch;
6
+ readonly model?: string;
7
+ }
8
+ export declare function createDeepInfraVideoGenProvider(options: DeepInfraVideoGenOptions): VideoGenService;
9
+ //# sourceMappingURL=deepinfra-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepinfra-http.d.ts","sourceRoot":"","sources":["../src/deepinfra-http.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,wBAAwB,GAChC,eAAe,CAUjB"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * DeepInfra OpenAI-compatible Videos (Hermes video_gen/deepinfra).
3
+ */
4
+ import { createOpenAiVideoGenProvider } from "./openai-http.js";
5
+ import { DEEPINFRA_VIDEO_GEN_CAPABILITIES } from "./catalog.js";
6
+ export function createDeepInfraVideoGenProvider(options) {
7
+ return createOpenAiVideoGenProvider({
8
+ apiKey: options.apiKey,
9
+ baseUrl: options.baseUrl ?? "https://api.deepinfra.com/v1/openai",
10
+ model: options.model ?? "Wan-AI/Wan2.1-T2V-14B",
11
+ capabilities: DEEPINFRA_VIDEO_GEN_CAPABILITIES,
12
+ delivery: "deepinfra",
13
+ providerName: "deepinfra",
14
+ ...(options.fetchImpl ? { fetchImpl: options.fetchImpl } : {}),
15
+ });
16
+ }
17
+ //# sourceMappingURL=deepinfra-http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepinfra-http.js","sourceRoot":"","sources":["../src/deepinfra-http.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,gCAAgC,EAAE,MAAM,cAAc,CAAC;AAUhE,MAAM,UAAU,+BAA+B,CAC7C,OAAiC;IAEjC,OAAO,4BAA4B,CAAC;QAClC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,qCAAqC;QACjE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,uBAAuB;QAC/C,YAAY,EAAE,gCAAgC;QAC9C,QAAQ,EAAE,WAAW;QACrB,YAAY,EAAE,WAAW;QACzB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { VideoGenCapabilities, VideoGenService } from "./types.js";
2
+ export interface FalVideoGenOptions {
3
+ readonly apiKey: string;
4
+ readonly baseUrl?: string;
5
+ readonly fetchImpl?: typeof fetch;
6
+ /** Default family id (Hermes DEFAULT_MODEL = pixverse-v6). */
7
+ readonly model?: string;
8
+ readonly pollIntervalMs?: number;
9
+ readonly capabilities?: VideoGenCapabilities;
10
+ }
11
+ export declare function createFalVideoGenProvider(options: FalVideoGenOptions): VideoGenService;
12
+ /** Exported for tests / catalog sanity. */
13
+ export declare const FAL_VIDEO_FAMILY_IDS: string[];
14
+ //# sourceMappingURL=fal-http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fal-http.d.ts","sourceRoot":"","sources":["../src/fal-http.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,oBAAoB,EAKpB,eAAe,EAIhB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,oBAAoB,CAAC;CAC9C;AAsLD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CA0NjB;AAED,2CAA2C;AAC3C,eAAO,MAAM,oBAAoB,UAA2B,CAAC"}