@xrkseek/harness 0.4.6 → 0.4.8

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 (202) hide show
  1. package/node_modules/@xrkseek/a2a/README.md +3 -3
  2. package/node_modules/@xrkseek/a2a/dist/inbound-frame.d.ts +13 -0
  3. package/node_modules/@xrkseek/a2a/dist/inbound-frame.d.ts.map +1 -0
  4. package/node_modules/@xrkseek/a2a/dist/inbound-frame.js +32 -0
  5. package/node_modules/@xrkseek/a2a/dist/inbound-frame.js.map +1 -0
  6. package/node_modules/@xrkseek/a2a/dist/inbound.d.ts +2 -2
  7. package/node_modules/@xrkseek/a2a/dist/index.d.ts +1 -0
  8. package/node_modules/@xrkseek/a2a/dist/index.d.ts.map +1 -1
  9. package/node_modules/@xrkseek/a2a/dist/index.js +1 -0
  10. package/node_modules/@xrkseek/a2a/dist/index.js.map +1 -1
  11. package/node_modules/@xrkseek/attachment/dist/error.d.ts +1 -1
  12. package/node_modules/@xrkseek/attachment/dist/error.d.ts.map +1 -1
  13. package/node_modules/@xrkseek/attachment/dist/error.js.map +1 -1
  14. package/node_modules/@xrkseek/attachment/dist/image-region.d.ts +45 -0
  15. package/node_modules/@xrkseek/attachment/dist/image-region.d.ts.map +1 -0
  16. package/node_modules/@xrkseek/attachment/dist/image-region.js +64 -0
  17. package/node_modules/@xrkseek/attachment/dist/image-region.js.map +1 -0
  18. package/node_modules/@xrkseek/attachment/dist/index.d.ts +1 -0
  19. package/node_modules/@xrkseek/attachment/dist/index.d.ts.map +1 -1
  20. package/node_modules/@xrkseek/attachment/dist/index.js +1 -0
  21. package/node_modules/@xrkseek/attachment/dist/index.js.map +1 -1
  22. package/node_modules/@xrkseek/attachment/dist/store.d.ts +7 -0
  23. package/node_modules/@xrkseek/attachment/dist/store.d.ts.map +1 -1
  24. package/node_modules/@xrkseek/attachment-local/dist/crop-region.d.ts +10 -0
  25. package/node_modules/@xrkseek/attachment-local/dist/crop-region.d.ts.map +1 -0
  26. package/node_modules/@xrkseek/attachment-local/dist/crop-region.js +53 -0
  27. package/node_modules/@xrkseek/attachment-local/dist/crop-region.js.map +1 -0
  28. package/node_modules/@xrkseek/attachment-local/dist/index.d.ts +1 -0
  29. package/node_modules/@xrkseek/attachment-local/dist/index.d.ts.map +1 -1
  30. package/node_modules/@xrkseek/attachment-local/dist/index.js +3 -0
  31. package/node_modules/@xrkseek/attachment-local/dist/index.js.map +1 -1
  32. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  33. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +13 -5
  34. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  35. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +1 -0
  36. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  37. package/node_modules/@xrkseek/exec-fs/dist/index.js +3 -0
  38. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  39. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.d.ts +25 -0
  40. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.d.ts.map +1 -0
  41. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.js +107 -0
  42. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.js.map +1 -0
  43. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts +5 -0
  44. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  45. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +55 -7
  46. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  47. package/node_modules/@xrkseek/exec-image-gen/README.md +3 -3
  48. package/node_modules/@xrkseek/exec-memory/dist/http.d.ts +4 -4
  49. package/node_modules/@xrkseek/exec-memory/dist/http.d.ts.map +1 -1
  50. package/node_modules/@xrkseek/exec-memory/dist/http.js +9 -10
  51. package/node_modules/@xrkseek/exec-memory/dist/http.js.map +1 -1
  52. package/node_modules/@xrkseek/exec-memory/dist/resolve.d.ts +2 -10
  53. package/node_modules/@xrkseek/exec-memory/dist/resolve.d.ts.map +1 -1
  54. package/node_modules/@xrkseek/exec-memory/dist/resolve.js +2 -7
  55. package/node_modules/@xrkseek/exec-memory/dist/resolve.js.map +1 -1
  56. package/node_modules/@xrkseek/exec-ssh/README.md +3 -0
  57. package/node_modules/@xrkseek/exec-ssh/dist/index.d.ts +2 -1
  58. package/node_modules/@xrkseek/exec-ssh/dist/index.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/exec-ssh/dist/index.js +2 -1
  60. package/node_modules/@xrkseek/exec-ssh/dist/index.js.map +1 -1
  61. package/node_modules/@xrkseek/exec-ssh/dist/probe.d.ts +26 -0
  62. package/node_modules/@xrkseek/exec-ssh/dist/probe.d.ts.map +1 -0
  63. package/node_modules/@xrkseek/exec-ssh/dist/probe.js +50 -0
  64. package/node_modules/@xrkseek/exec-ssh/dist/probe.js.map +1 -0
  65. package/node_modules/@xrkseek/exec-ssh/dist/providers.d.ts +8 -0
  66. package/node_modules/@xrkseek/exec-ssh/dist/providers.d.ts.map +1 -1
  67. package/node_modules/@xrkseek/exec-ssh/dist/providers.js +25 -0
  68. package/node_modules/@xrkseek/exec-ssh/dist/providers.js.map +1 -1
  69. package/node_modules/@xrkseek/exec-video-analyze/README.md +11 -0
  70. package/node_modules/@xrkseek/exec-video-analyze/dist/format.d.ts +3 -0
  71. package/node_modules/@xrkseek/exec-video-analyze/dist/format.d.ts.map +1 -0
  72. package/node_modules/@xrkseek/exec-video-analyze/dist/format.js +10 -0
  73. package/node_modules/@xrkseek/exec-video-analyze/dist/format.js.map +1 -0
  74. package/node_modules/@xrkseek/exec-video-analyze/dist/index.d.ts +39 -0
  75. package/node_modules/@xrkseek/exec-video-analyze/dist/index.d.ts.map +1 -0
  76. package/node_modules/@xrkseek/exec-video-analyze/dist/index.js +64 -0
  77. package/node_modules/@xrkseek/exec-video-analyze/dist/index.js.map +1 -0
  78. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.d.ts +22 -0
  79. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.d.ts.map +1 -0
  80. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.js +70 -0
  81. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.js.map +1 -0
  82. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.d.ts +8 -0
  83. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.d.ts.map +1 -0
  84. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.js +21 -0
  85. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.js.map +1 -0
  86. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.d.ts +13 -0
  87. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.d.ts.map +1 -0
  88. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.js +44 -0
  89. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.js.map +1 -0
  90. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.d.ts +15 -0
  91. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.d.ts.map +1 -0
  92. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.js +102 -0
  93. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.js.map +1 -0
  94. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.d.ts +24 -0
  95. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.d.ts.map +1 -0
  96. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.js +120 -0
  97. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.js.map +1 -0
  98. package/node_modules/@xrkseek/exec-video-analyze/dist/types.d.ts +30 -0
  99. package/node_modules/@xrkseek/exec-video-analyze/dist/types.d.ts.map +1 -0
  100. package/node_modules/@xrkseek/exec-video-analyze/dist/types.js +16 -0
  101. package/node_modules/@xrkseek/exec-video-analyze/dist/types.js.map +1 -0
  102. package/node_modules/@xrkseek/exec-video-analyze/package.json +26 -0
  103. package/node_modules/@xrkseek/exec-video-gen/README.md +3 -4
  104. package/node_modules/@xrkseek/im-gateway-contract/dist/index.d.ts +7 -0
  105. package/node_modules/@xrkseek/im-gateway-contract/dist/index.d.ts.map +1 -1
  106. package/node_modules/@xrkseek/im-gateway-contract/dist/index.js +29 -0
  107. package/node_modules/@xrkseek/im-gateway-contract/dist/index.js.map +1 -1
  108. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +14 -0
  109. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  110. package/node_modules/@xrkseek/preset-harness/dist/preset.js +38 -2
  111. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  112. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  113. package/node_modules/@xrkseek/preset-harness/package.json +1 -0
  114. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  115. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  116. package/node_modules/@xrkseek/protocol/dist/index.d.ts +1 -1
  117. package/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
  118. package/node_modules/@xrkseek/protocol/dist/index.js +1 -1
  119. package/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
  120. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts +12 -0
  121. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
  122. package/node_modules/@xrkseek/protocol/dist/json-schema.js +23 -0
  123. package/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
  124. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +24 -1
  125. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
  126. package/node_modules/@xrkseek/protocol/dist/session-events.js +12 -0
  127. package/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
  128. package/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
  129. package/node_modules/@xrkseek/protocol/dist/validate.js +32 -0
  130. package/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
  131. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.d.ts +6 -0
  132. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.d.ts.map +1 -1
  133. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.js +8 -0
  134. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.js.map +1 -1
  135. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts +1 -0
  136. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
  137. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +15 -0
  138. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
  139. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts +6 -0
  140. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts.map +1 -1
  141. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js +16 -0
  142. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js.map +1 -1
  143. package/node_modules/@xrkseek/server-face/dist/approval-category.d.ts.map +1 -1
  144. package/node_modules/@xrkseek/server-face/dist/approval-category.js +2 -1
  145. package/node_modules/@xrkseek/server-face/dist/approval-category.js.map +1 -1
  146. package/node_modules/@xrkseek/server-face/dist/cost-meter-store.d.ts +2 -0
  147. package/node_modules/@xrkseek/server-face/dist/cost-meter-store.d.ts.map +1 -1
  148. package/node_modules/@xrkseek/server-face/dist/cost-meter-store.js +4 -0
  149. package/node_modules/@xrkseek/server-face/dist/cost-meter-store.js.map +1 -1
  150. package/node_modules/@xrkseek/server-face/dist/index.d.ts +2 -2
  151. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  152. package/node_modules/@xrkseek/server-face/dist/index.js +2 -2
  153. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  154. package/node_modules/@xrkseek/server-face/dist/process-channels.d.ts +10 -2
  155. package/node_modules/@xrkseek/server-face/dist/process-channels.d.ts.map +1 -1
  156. package/node_modules/@xrkseek/server-face/dist/process-channels.js +14 -9
  157. package/node_modules/@xrkseek/server-face/dist/process-channels.js.map +1 -1
  158. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  159. package/node_modules/@xrkseek/server-face/dist/runtime.js +7 -2
  160. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  161. package/node_modules/@xrkseek/server-face/dist/session-export.d.ts.map +1 -1
  162. package/node_modules/@xrkseek/server-face/dist/session-export.js +12 -0
  163. package/node_modules/@xrkseek/server-face/dist/session-export.js.map +1 -1
  164. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts +30 -2
  165. package/node_modules/@xrkseek/server-face/dist/session-status.d.ts.map +1 -1
  166. package/node_modules/@xrkseek/server-face/dist/session-status.js +82 -24
  167. package/node_modules/@xrkseek/server-face/dist/session-status.js.map +1 -1
  168. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  169. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +5 -0
  170. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  171. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  172. package/node_modules/@xrkseek/server-face/dist/settings-document.js +4 -0
  173. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  174. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  175. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +35 -0
  176. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  177. package/node_modules/@xrkseek/server-host/dist/a2a-inbound-public.d.ts +38 -1
  178. package/node_modules/@xrkseek/server-host/dist/a2a-inbound-public.d.ts.map +1 -1
  179. package/node_modules/@xrkseek/server-host/dist/a2a-inbound-public.js +121 -9
  180. package/node_modules/@xrkseek/server-host/dist/a2a-inbound-public.js.map +1 -1
  181. package/node_modules/@xrkseek/server-host/dist/index.d.ts +12 -2
  182. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  183. package/node_modules/@xrkseek/server-host/dist/index.js +75 -5
  184. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  185. package/node_modules/@xrkseek/server-host/package.json +1 -0
  186. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts +21 -0
  187. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.d.ts.map +1 -1
  188. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js +44 -0
  189. package/node_modules/@xrkseek/server-http/dist/dsh-compat/auto-review-classifier.js.map +1 -1
  190. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.d.ts +2 -3
  191. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.d.ts.map +1 -1
  192. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.js +2 -28
  193. package/node_modules/@xrkseek/server-http/dist/dsh-compat/im-gateway-sidecar.js.map +1 -1
  194. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts +2 -2
  195. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.d.ts.map +1 -1
  196. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js +1 -1
  197. package/node_modules/@xrkseek/server-http/dist/dsh-compat/index.js.map +1 -1
  198. package/node_modules/@xrkseek/server-http/dist/index.d.ts +1 -1
  199. package/node_modules/@xrkseek/server-http/dist/index.d.ts.map +1 -1
  200. package/node_modules/@xrkseek/server-http/dist/index.js +1 -1
  201. package/node_modules/@xrkseek/server-http/dist/index.js.map +1 -1
  202. package/package.json +3 -1
@@ -2,12 +2,12 @@
2
2
 
3
3
  Text-to-image / image-to-image Provider seam for the model tool surface.
4
4
 
5
+ **Product path**: Settings → Plugins → Image generation (Face ns `image-gen`). Credentials hold `XRK_IMAGE_GEN_OPENAI_KEY`. Env (`XRK_IMAGE_GEN=memory` / `=1`) is CI / headless bypass only — see [docs/image-gen.md](../../../docs/image-gen.md).
6
+
5
7
  - **Definition**: `ImageGenService.generate` + optional `capabilities()`
6
8
  - **Provider**: `createMemoryImageGenProvider` · `createOpenAiImageGenProvider` (generations + edits)
7
9
  - **Consumer**: `createImageGenTools` → `image_generate` (schema rebuilt from capabilities)
8
10
 
9
11
  Edit args (`image_url` · `reference_image_urls` · `reference_attachment_ids`) appear only when the Provider advertises image modalities.
10
12
 
11
- Env: `XRK_IMAGE_GEN=memory` | `XRK_IMAGE_GEN=1` + `OPENAI_API_KEY` / `XRK_IMAGE_GEN_OPENAI_KEY`.
12
-
13
- See [docs/image-gen.md](../../../docs/image-gen.md) · [docs/seams.md](../../../docs/seams.md).
13
+ See also [docs/seams.md](../../../docs/seams.md).
@@ -7,8 +7,8 @@
7
7
  * - `POST /v1/curated/{memory|user}/ops` → write-result JSON
8
8
  * body: `{ operations: CuratedMemoryOperation[] }` (same shape as the `memory` tool)
9
9
  *
10
- * Snapshot is frozen at construction (same semantics as the file store).
11
- * Writes are async (`Promise`); consumers use `await Promise.resolve(store.add(…))`.
10
+ * Frozen prompt starts empty (no sync network I/O — keeps `resolveMemoryProvider` sync).
11
+ * Live reads/writes hit the sidecar; writes are async (`Promise`).
12
12
  */
13
13
  import type { MemoryProvider } from "./provider.js";
14
14
  export interface HttpMemoryProviderOptions {
@@ -32,9 +32,9 @@ export declare class HttpMemoryProviderError extends Error {
32
32
  }
33
33
  /**
34
34
  * Build a {@link MemoryProvider} over an HTTP curated-memory sidecar.
35
- * Throws when the initial snapshot fetch fails (fail closed at composition).
35
+ * Sync construct (empty freeze); probe with {@link probeHttpMemoryProvider} if needed.
36
36
  */
37
- export declare function createHttpMemoryProvider(options: HttpMemoryProviderOptions): Promise<MemoryProvider>;
37
+ export declare function createHttpMemoryProvider(options: HttpMemoryProviderOptions): MemoryProvider;
38
38
  /**
39
39
  * Probe `/health` without constructing a full store.
40
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQpD,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAgCD,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,IAAI,SAAgB,EAAE,MAAM,CAAC,EAAE,MAAM;CAMnE;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,cAAc,CAAC,CAuKzB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,IAAI,CACX,yBAAyB,EACzB,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAChD,GACA,OAAO,CAAC,OAAO,CAAC,CAyBlB"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAQpD,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAgCD,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,IAAI,SAAgB,EAAE,MAAM,CAAC,EAAE,MAAM;CAMnE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,cAAc,CAqKhB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,IAAI,CACX,yBAAyB,EACzB,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,WAAW,CAChD,GACA,OAAO,CAAC,OAAO,CAAC,CAyBlB"}
@@ -7,8 +7,8 @@
7
7
  * - `POST /v1/curated/{memory|user}/ops` → write-result JSON
8
8
  * body: `{ operations: CuratedMemoryOperation[] }` (same shape as the `memory` tool)
9
9
  *
10
- * Snapshot is frozen at construction (same semantics as the file store).
11
- * Writes are async (`Promise`); consumers use `await Promise.resolve(store.add(…))`.
10
+ * Frozen prompt starts empty (no sync network I/O — keeps `resolveMemoryProvider` sync).
11
+ * Live reads/writes hit the sidecar; writes are async (`Promise`).
12
12
  */
13
13
  import { ENTRY_DELIMITER, MEMORY_CHAR_LIMIT, USER_CHAR_LIMIT, } from "./store.js";
14
14
  const HEADERS = {
@@ -52,9 +52,9 @@ export class HttpMemoryProviderError extends Error {
52
52
  }
53
53
  /**
54
54
  * Build a {@link MemoryProvider} over an HTTP curated-memory sidecar.
55
- * Throws when the initial snapshot fetch fails (fail closed at composition).
55
+ * Sync construct (empty freeze); probe with {@link probeHttpMemoryProvider} if needed.
56
56
  */
57
- export async function createHttpMemoryProvider(options) {
57
+ export function createHttpMemoryProvider(options) {
58
58
  const baseUrl = options.baseUrl.trim().replace(/\/+$/, "");
59
59
  if (!baseUrl) {
60
60
  throw new HttpMemoryProviderError("http memory provider needs a non-empty baseUrl", "MEMORY_HTTP_CONFIG");
@@ -101,13 +101,12 @@ export async function createHttpMemoryProvider(options) {
101
101
  const json = (await request("GET", `/v1/curated/${target}`));
102
102
  return asEntries(json?.entries);
103
103
  }
104
- const [memoryFrozen, userFrozen] = await Promise.all([
105
- loadEntries("memory"),
106
- loadEntries("user"),
107
- ]);
104
+ /** Empty at construct — no sync network; live ops refresh `liveCache`. */
105
+ const memoryFrozen = [];
106
+ const userFrozen = [];
108
107
  const liveCache = {
109
- memory: [...memoryFrozen],
110
- user: [...userFrozen],
108
+ memory: [],
109
+ user: [],
111
110
  };
112
111
  const dir = options.dir?.trim() || `${baseUrl}/curated`;
113
112
  async function runOps(target, operations) {
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,MAAM,OAAO,GAAG;IACd,MAAM,EACJ,mFAAmF;IACrF,IAAI,EAAE,gCAAgC;CAC9B,CAAC;AAiBX,SAAS,OAAO,CAAC,IAAY,EAAE,IAAY;IACzC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,QAAQ,CAAC,MAA2B;IAC3C,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACjE,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAa;IAC9C,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,GAAG,GAAG,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC/F,CAAC;AAED,SAAS,WAAW,CAClB,MAA2B,EAC3B,OAA0B;IAE1B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,GAAG,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK,OAAO,EAAE,CAAC;AAC1G,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACtC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,IAAI,CAAS;IACb,MAAM,CAAU;IAEzB,YAAY,OAAe,EAAE,IAAI,GAAG,aAAa,EAAE,MAAe;QAChE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACjD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAkC;IAElC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,uBAAuB,CAC/B,gDAAgD,EAChD,oBAAoB,CACrB,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,WAAW,GAA2B;QAC1C,MAAM,EAAE,kBAAkB;QAC1B,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,WAAW,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC/D,CAAC;IAED,KAAK,UAAU,OAAO,CACpB,MAAc,EACd,IAAY,EACZ,IAAc;QAEd,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QACtD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBAClD,MAAM;gBACN,OAAO,EAAE,WAAW;gBACpB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,EAAE,EAAE,CAAC,MAAM;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,IAAI,GAAY,SAAS,CAAC;YAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,uBAAuB,CAC/B,uBAAuB,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAC1D,qBAAqB,EACrB,GAAG,CAAC,MAAM,CACX,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,UAAU,WAAW,CACxB,MAA2B;QAE3B,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,eAAe,MAAM,EAAE,CAAC,CAE1D,CAAC;QACF,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,0EAA0E;IAC1E,MAAM,YAAY,GAAsB,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,MAAM,SAAS,GAA0C;QACvD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;KACT,CAAC;IAEF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,UAAU,CAAC;IAExD,KAAK,UAAU,MAAM,CACnB,MAA2B,EAC3B,UAA6C;QAE7C,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,MAAM,EAAE;gBAC/D,UAAU;aACX,CAAC,CAGD,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACtD,OAAO;gBACL,OAAO;gBACP,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;gBAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM;gBACzD,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;oBAClD,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;oBACjC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;gBACrB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS;oBACjC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE;oBACrC,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,MAAM;aACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAuB;QAChC,GAAG;QACH,YAAY,CAAC,MAAM;YACjB,OAAO,WAAW,CAChB,MAAM,EACN,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAC9C,CAAC;QACJ,CAAC;QACD,iBAAiB;YACf,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;iBAC9D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;iBACnC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,MAAM;YACtB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC1C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;gBACjC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,GAAG,CAAC,MAAM,EAAE,OAAO;YACjB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO;YAC9B,OAAO,MAAM,CAAC,MAAM,EAAE;gBACpB,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;aAClD,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,MAAM,EAAE,OAAO;YACpB,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,UAAU,CAAC,MAAM,EAAE,UAAU;YAC3B,OAAO,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;KACF,CAAC;IAEF,OAAO;QACL,GAAG,KAAK;QACR,YAAY,EAAE,MAAM;QACpB,KAAK,CAAC,WAAW;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAqB,CAAC;gBACnE,OAAO,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,EAAE,EAAE,KAAK,MAAM,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAGC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACvE,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,aAAa,GAAG,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IAC3D,CAAC;IACD,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;YACvD,MAAM,EAAE,KAAK;YACb,OAAO;YACP,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAqB,CAAC;QACtE,OAAO,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC"}
@@ -1,9 +1,6 @@
1
1
  /**
2
-
3
2
  * Resolve which curated MemoryProvider to use (file default · HTTP · sqlite).
4
-
5
3
  * Mirrors Hermes `memory.provider` single-select; curated file remains default.
6
-
7
4
  */
8
5
  import { type CreateCuratedMemoryStoreOptions } from "./store.js";
9
6
  import { type HttpMemoryProviderOptions } from "./http.js";
@@ -15,22 +12,17 @@ export interface ResolveMemoryProviderOptions {
15
12
  readonly http?: Partial<HttpMemoryProviderOptions>;
16
13
  readonly sqlite?: SqliteMemoryProviderOptions;
17
14
  /**
18
-
19
15
  * Force provider kind. When omitted, reads `XRK_MEMORY_PROVIDER`
20
-
21
16
  * (`file` | `http` | `sqlite`; default `file`).
22
-
23
17
  */
24
18
  readonly kind?: "file" | "http" | "sqlite";
25
19
  }
26
20
  /** Wrap the disk store as a named {@link MemoryProvider}. */
27
21
  export declare function createFileMemoryProvider(options?: CreateCuratedMemoryStoreOptions): MemoryProvider;
28
22
  /**
29
-
30
23
  * Pick file (default), HTTP, or sqlite curated provider.
31
-
32
24
  * HTTP requires `XRK_MEMORY_HTTP_URL` (or `options.http.baseUrl`).
33
-
25
+ * Sync — sample backends construct without I/O awaits.
34
26
  */
35
- export declare function resolveMemoryProvider(options?: ResolveMemoryProviderOptions): Promise<MemoryProvider>;
27
+ export declare function resolveMemoryProvider(options?: ResolveMemoryProviderOptions): MemoryProvider;
36
28
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE5F,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAErF,OAAO,EAIL,KAAK,2BAA2B,EAEjC,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,WAAW,4BAA4B;IAE3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAEjC,QAAQ,CAAC,IAAI,CAAC,EAAE,+BAA+B,CAAC;IAEhD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAEnD,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAE9C;;;;;;OAMG;IAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAE5C;AAID,6DAA6D;AAE7D,wBAAgB,wBAAwB,CAEtC,OAAO,CAAC,EAAE,+BAA+B,GAExC,cAAc,CAchB;AAID;;;;;;GAMG;AAEH,wBAAsB,qBAAqB,CAEzC,OAAO,GAAE,4BAAiC,GAEzC,OAAO,CAAC,cAAc,CAAC,CAsEzB"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAC5F,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACrF,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,+BAA+B,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC5C;AAED,6DAA6D;AAC7D,wBAAgB,wBAAwB,CACtC,OAAO,CAAC,EAAE,+BAA+B,GACxC,cAAc,CAOhB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,GAAE,4BAAiC,GACzC,cAAc,CAmChB"}
@@ -1,9 +1,6 @@
1
1
  /**
2
-
3
2
  * Resolve which curated MemoryProvider to use (file default · HTTP · sqlite).
4
-
5
3
  * Mirrors Hermes `memory.provider` single-select; curated file remains default.
6
-
7
4
  */
8
5
  import { createCuratedMemoryStore } from "./store.js";
9
6
  import { createHttpMemoryProvider } from "./http.js";
@@ -18,13 +15,11 @@ export function createFileMemoryProvider(options) {
18
15
  };
19
16
  }
20
17
  /**
21
-
22
18
  * Pick file (default), HTTP, or sqlite curated provider.
23
-
24
19
  * HTTP requires `XRK_MEMORY_HTTP_URL` (or `options.http.baseUrl`).
25
-
20
+ * Sync — sample backends construct without I/O awaits.
26
21
  */
27
- export async function resolveMemoryProvider(options = {}) {
22
+ export function resolveMemoryProvider(options = {}) {
28
23
  const env = options.env ?? process.env;
29
24
  const kindRaw = (options.kind ??
30
25
  String(env.XRK_MEMORY_PROVIDER ?? "file").trim().toLowerCase());
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,wBAAwB,EAAwC,MAAM,YAAY,CAAC;AAE5F,OAAO,EAAE,wBAAwB,EAAkC,MAAM,WAAW,CAAC;AAErF,OAAO,EAEL,0BAA0B,GAI3B,MAAM,aAAa,CAAC;AA8BrB,6DAA6D;AAE7D,MAAM,UAAU,wBAAwB,CAEtC,OAAyC;IAIzC,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO;QAEL,GAAG,KAAK;QAER,YAAY,EAAE,MAAM;QAEpB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;KAExB,CAAC;AAEJ,CAAC;AAID;;;;;;GAMG;AAEH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAEzC,UAAwC,EAAE;IAI1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAEvC,MAAM,OAAO,GAAG,CAEd,OAAO,CAAC,IAAI;QAEZ,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAE/D,CAAC;IAEF,MAAM,IAAI,GAER,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IAEzE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAEpB,MAAM,OAAO,GAEX,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YAE7B,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;YAEb,MAAM,IAAI,KAAK,CAEb,yEAAyE,CAE1E,CAAC;QAEJ,CAAC;QAED,MAAM,KAAK,GAET,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAE3B,MAAM,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAE9C,SAAS,CAAC;QAEZ,OAAO,wBAAwB,CAAC;YAE9B,OAAO;YAEP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3B,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEzE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAEvD,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS;gBAEvC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;gBAEvC,CAAC,CAAC,EAAE,CAAC;SAER,CAAC,CAAC;IAEL,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QAEtB,OAAO,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpD,CAAC;IAED,OAAO,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhD,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,wBAAwB,EAAwC,MAAM,YAAY,CAAC;AAC5F,OAAO,EAAE,wBAAwB,EAAkC,MAAM,WAAW,CAAC;AACrF,OAAO,EACL,0BAA0B,GAE3B,MAAM,aAAa,CAAC;AAerB,6DAA6D;AAC7D,MAAM,UAAU,wBAAwB,CACtC,OAAyC;IAEzC,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO;QACL,GAAG,KAAK;QACR,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI;KACxB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAwC,EAAE;IAE1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,IAAI;QACZ,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAC/D,CAAC;IACF,MAAM,IAAI,GACR,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACzE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YAC7B,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YAC9C,SAAS,CAAC;QACZ,OAAO,wBAAwB,CAAC;YAC9B,OAAO;YACP,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;gBACvC,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC"}
@@ -12,5 +12,8 @@ When Settings General → Remote (`ssh-remote`) or `XRK_SSH_HOST` + `XRK_SSH_WOR
12
12
  | `XRK_SSH_PORT` | Optional port (default OpenSSH) |
13
13
  | `XRK_SSH_KEY` | Optional identity file |
14
14
  | `XRK_SSH_NODE` | Remote Node for `run_code` (default `node`) |
15
+ | `XRK_SSH_SKIP_PROBE` | `1` skips Host BatchMode connect probe (CI mocks) |
16
+
17
+ Host probes with remote `true` before serving when SSH is on (`createSshExecutionWorldReady`). `xrkh doctor` reports `ssh-remote`. Cloud tasks / Codex Noise exec-server are **not** in this package.
15
18
 
16
19
  See `docs/seams.md` · `docs/configuration.md`.
@@ -3,8 +3,9 @@ export { createSshCodeRuntime, } from "./code.js";
3
3
  export { createFsSshProvider, type FsSshOptions, } from "./fs.js";
4
4
  export { createSshDirectory, listSshDirectory, type SshDirectoryEntry, type SshDirectoryListing, } from "./directory.js";
5
5
  export { isRemotelyInside, normalizeRemoteAbs, resolveWithinRemoteRoot, } from "./paths.js";
6
- export { createSshExecutionWorld, type CreateSshExecutionWorldOptions, type SshExecutionWorld, } from "./providers.js";
6
+ export { createSshExecutionWorld, createSshExecutionWorldReady, type CreateSshExecutionWorldOptions, type SshExecutionWorld, } from "./providers.js";
7
7
  export { shJoin, shQuote } from "./quote.js";
8
8
  export { createSshSession, type CreateSshSessionOptions, type SshExecOptions, type SshSession, } from "./session.js";
9
+ export { probeSshTarget, type ProbeSshTargetOptions, type SshProbeResult, } from "./probe.js";
9
10
  export { createSshSubprocess } from "./subprocess.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,MAAM,EACX,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,UAAU,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,KAAK,MAAM,EACX,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,UAAU,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -3,8 +3,9 @@ export { createSshCodeRuntime, } from "./code.js";
3
3
  export { createFsSshProvider, } from "./fs.js";
4
4
  export { createSshDirectory, listSshDirectory, } from "./directory.js";
5
5
  export { isRemotelyInside, normalizeRemoteAbs, resolveWithinRemoteRoot, } from "./paths.js";
6
- export { createSshExecutionWorld, } from "./providers.js";
6
+ export { createSshExecutionWorld, createSshExecutionWorldReady, } from "./providers.js";
7
7
  export { shJoin, shQuote } from "./quote.js";
8
8
  export { createSshSession, } from "./session.js";
9
+ export { probeSshTarget, } from "./probe.js";
9
10
  export { createSshSubprocess } from "./subprocess.js";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GAGxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,GAEpB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,GAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GAGxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,mBAAmB,GAEpB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAG7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * SSH target connectivity probe (Hermes `_establish_connection` subset).
3
+ * One BatchMode `true` over OpenSSH — no remote helper install.
4
+ */
5
+ import type { SubprocessService } from "@xrkseek/exec-subprocess";
6
+ import type { SshTargetConfig } from "./config.js";
7
+ import { type CreateSshSessionOptions } from "./session.js";
8
+ export interface SshProbeResult {
9
+ readonly ok: boolean;
10
+ readonly target: string;
11
+ readonly detail: string;
12
+ readonly exitCode?: number;
13
+ readonly stderr?: string;
14
+ }
15
+ export interface ProbeSshTargetOptions extends Omit<CreateSshSessionOptions, "config"> {
16
+ readonly config: SshTargetConfig;
17
+ /** Default 15s (matches session ConnectTimeout floor). */
18
+ readonly timeoutMs?: number;
19
+ readonly local?: SubprocessService;
20
+ }
21
+ /**
22
+ * Probe that OpenSSH can run a trivial remote command in BatchMode.
23
+ * Always disposes the ephemeral session (doctor / CLI).
24
+ */
25
+ export declare function probeSshTarget(options: ProbeSshTargetOptions): Promise<SshProbeResult>;
26
+ //# sourceMappingURL=probe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.d.ts","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAsCzB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SSH target connectivity probe (Hermes `_establish_connection` subset).
3
+ * One BatchMode `true` over OpenSSH — no remote helper install.
4
+ */
5
+ import { createSshSession } from "./session.js";
6
+ /**
7
+ * Probe that OpenSSH can run a trivial remote command in BatchMode.
8
+ * Always disposes the ephemeral session (doctor / CLI).
9
+ */
10
+ export async function probeSshTarget(options) {
11
+ const timeoutMs = Math.max(1_000, options.timeoutMs ?? 15_000);
12
+ const session = createSshSession({
13
+ config: options.config,
14
+ ...(options.local ? { local: options.local } : {}),
15
+ ...(options.platform ? { platform: options.platform } : {}),
16
+ });
17
+ try {
18
+ const result = await session.exec("true", { timeoutMs });
19
+ if (result.exitCode === 0) {
20
+ return {
21
+ ok: true,
22
+ target: session.target,
23
+ detail: `ssh ${session.target} · BatchMode ok · workspace ${options.config.workspace}`,
24
+ };
25
+ }
26
+ const stderr = (result.stderr ?? "").trim();
27
+ return {
28
+ ok: false,
29
+ target: session.target,
30
+ detail: stderr ||
31
+ `ssh ${session.target} exited ${result.exitCode ?? "?"} (BatchMode)`,
32
+ ...(typeof result.exitCode === "number"
33
+ ? { exitCode: result.exitCode }
34
+ : {}),
35
+ ...(stderr ? { stderr } : {}),
36
+ };
37
+ }
38
+ catch (err) {
39
+ const message = err instanceof Error ? err.message : String(err);
40
+ return {
41
+ ok: false,
42
+ target: session.target,
43
+ detail: `ssh ${session.target}: ${message}`,
44
+ };
45
+ }
46
+ finally {
47
+ session.dispose();
48
+ }
49
+ }
50
+ //# sourceMappingURL=probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,gBAAgB,EAAgC,MAAM,cAAc,CAAC;AAkB9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B;IAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,gBAAgB,CAAC;QAC/B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,OAAO,CAAC,MAAM,+BAA+B,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;aACvF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EACJ,MAAM;gBACN,OAAO,OAAO,CAAC,MAAM,WAAW,MAAM,CAAC,QAAQ,IAAI,GAAG,cAAc;YACtE,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;gBACrC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAC/B,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE;SAC5C,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -16,4 +16,12 @@ export interface CreateSshExecutionWorldOptions extends Omit<CreateSshSessionOpt
16
16
  }
17
17
  /** Build fs + subprocess + code providers for one SSH target. */
18
18
  export declare function createSshExecutionWorld(options: CreateSshExecutionWorldOptions): SshExecutionWorld;
19
+ /**
20
+ * Create the SSH world and fail fast if BatchMode cannot run `true`
21
+ * (Hermes establish-before-use). Set `XRK_SSH_SKIP_PROBE=1` to skip (CI mocks).
22
+ */
23
+ export declare function createSshExecutionWorldReady(options: CreateSshExecutionWorldOptions & {
24
+ readonly probeTimeoutMs?: number;
25
+ readonly skipProbe?: boolean;
26
+ }): Promise<SshExecutionWorld>;
19
27
  //# sourceMappingURL=providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,8BACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,8BAA8B,GACtC,iBAAiB,CAenB"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAoB,KAAK,uBAAuB,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,8BACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AAED,iEAAiE;AACjE,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,8BAA8B,GACtC,iBAAiB,CAenB;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,8BAA8B,GAAG;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B,GACA,OAAO,CAAC,iBAAiB,CAAC,CAuB5B"}
@@ -19,4 +19,29 @@ export function createSshExecutionWorld(options) {
19
19
  },
20
20
  };
21
21
  }
22
+ /**
23
+ * Create the SSH world and fail fast if BatchMode cannot run `true`
24
+ * (Hermes establish-before-use). Set `XRK_SSH_SKIP_PROBE=1` to skip (CI mocks).
25
+ */
26
+ export async function createSshExecutionWorldReady(options) {
27
+ const world = createSshExecutionWorld(options);
28
+ const skip = options.skipProbe === true ||
29
+ String(process.env.XRK_SSH_SKIP_PROBE ?? "").trim() === "1";
30
+ if (skip)
31
+ return world;
32
+ const timeoutMs = Math.max(1_000, options.probeTimeoutMs ?? 15_000);
33
+ try {
34
+ const result = await world.session.exec("true", { timeoutMs });
35
+ if (result.exitCode === 0)
36
+ return world;
37
+ const stderr = (result.stderr ?? "").trim();
38
+ throw new Error(stderr ||
39
+ `ssh ${world.session.target} exited ${result.exitCode ?? "?"} (BatchMode probe)`);
40
+ }
41
+ catch (err) {
42
+ world.dispose();
43
+ const message = err instanceof Error ? err.message : String(err);
44
+ throw new Error(`SSH probe failed for ${world.session.target}: ${message}`, { cause: err });
45
+ }
46
+ }
22
47
  //# sourceMappingURL=providers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAiD,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAgBtD,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CACrC,OAAuC;IAEvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,OAAO;QACP,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QACvC,EAAE;QACF,UAAU;QACV,WAAW;QACX,OAAO;YACL,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAiD,MAAM,cAAc,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAgBtD,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CACrC,OAAuC;IAEvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,OAAO;QACP,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QACvC,EAAE;QACF,UAAU;QACV,WAAW;QACX,OAAO;YACL,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAGC;IAED,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GACR,OAAO,CAAC,SAAS,KAAK,IAAI;QAC1B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;IAC9D,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,MAAM;YACJ,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,WAAW,MAAM,CAAC,QAAQ,IAAI,GAAG,oBAAoB,CACnF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,wBAAwB,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,EAC1D,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ # `@xrkseek/exec-video-analyze`
2
+
3
+ Hermes-style **video understanding** tool (`video_analyze`).
4
+
5
+ - **In**: video URL or workspace path + question
6
+ - **Out**: JSON `{ success, analysis, … }` text (whole-clip multimodal LLM — not frame extraction)
7
+ - **Not**: `browser_vision` (live page screenshot) · `video_generate` (create video) · `read_image` (stills)
8
+
9
+ Providers: `memory` (CI) · OpenAI-compatible chat with `video_url` part (needs a video-capable model such as Gemini).
10
+
11
+ See [docs/video-analyze.md](../../../docs/video-analyze.md).
@@ -0,0 +1,3 @@
1
+ /** System-prompt fragment for video_analyze (boundary vs browser_vision). */
2
+ export declare const VIDEO_ANALYZE_PROMPT_TEXT: string;
3
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,eAAO,MAAM,yBAAyB,QAO5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** System-prompt fragment for video_analyze (boundary vs browser_vision). */
2
+ export const VIDEO_ANALYZE_PROMPT_TEXT = [
3
+ "## Video analysis",
4
+ "Use `video_analyze` for video files or video URLs (mp4/webm/mov/…). ",
5
+ "It sends the whole clip to a video-capable multimodal model and returns a text analysis — not frame extraction. ",
6
+ "Do **not** use it for live browser pages (use `browser_vision`) or static images (use `read_image`). ",
7
+ "Do **not** use `video_generate` here — that tool creates videos, it does not understand them. ",
8
+ "Large clips (>20 MB) may be slow; hard limit ~50 MB.",
9
+ ].join("");
10
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,mBAAmB;IACnB,sEAAsE;IACtE,kHAAkH;IAClH,uGAAuG;IACvG,gGAAgG;IAChG,sDAAsD;CACvD,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { VideoAnalyzeService } from "./types.js";
2
+ export { VideoAnalyzeError, isVideoAnalyzeError, type VideoAnalyzeErrorCode, type VideoAnalyzeRequest, type VideoAnalyzeResult, type VideoAnalyzeService, type VideoMediaType, } from "./types.js";
3
+ export { MAX_VIDEO_BYTES, VIDEO_MIME_BY_EXT, VIDEO_SIZE_WARN_BYTES, assertVideoByteBudget, unsupportedVideoFormatMessage, videoMimeForPath, wrapVideoAnalyzePrompt, } from "./mime.js";
4
+ export { materializeVideo, type MaterializedVideo, type VideoAnalyzeFs, } from "./materialize.js";
5
+ export { VIDEO_ANALYZE_PROMPT_TEXT } from "./format.js";
6
+ export { createMemoryVideoAnalyzeProvider, type MemoryVideoAnalyzeOptions, } from "./memory.js";
7
+ export { createOpenAiVideoAnalyzeProvider, type OpenAiVideoAnalyzeOptions, } from "./openai-http.js";
8
+ export { createVideoAnalyzeTools, videoAnalyzeUnavailableMessage, type CreateVideoAnalyzeToolsOptions, } from "./tools.js";
9
+ /** Face `video-analyze` product modes (Settings SoT). `memory` stays env-only. */
10
+ export type VideoAnalyzeProductMode = "off" | "openai";
11
+ /** Face `video-analyze` product shape. */
12
+ export interface VideoAnalyzeProductConfig {
13
+ readonly mode: VideoAnalyzeProductMode;
14
+ readonly baseUrl?: string;
15
+ readonly model?: string;
16
+ }
17
+ export interface DefaultVideoAnalyzeAccessOptions {
18
+ readonly env?: NodeJS.ProcessEnv;
19
+ /**
20
+ * Face Settings product. Used when `XRK_VIDEO_ANALYZE` is unset
21
+ * (env remains the CI bypass).
22
+ */
23
+ readonly product?: VideoAnalyzeProductConfig;
24
+ readonly service?: VideoAnalyzeService;
25
+ readonly fetchImpl?: typeof fetch;
26
+ }
27
+ export interface DefaultVideoAnalyzeAccess {
28
+ readonly service?: VideoAnalyzeService;
29
+ readonly unavailableMessage: string;
30
+ }
31
+ /**
32
+ * Resolve a video-analyze Provider.
33
+ * - Injected `service` wins.
34
+ * - Non-empty `XRK_VIDEO_ANALYZE` is CI bypass over Face `product`.
35
+ * - Product / env: `off` · `openai` (`1`) · `memory` (env-only).
36
+ * - Else no service; tools stay registered and fail honestly.
37
+ */
38
+ export declare function createDefaultVideoAnalyzeAccess(options?: DefaultVideoAnalyzeAccessOptions): DefaultVideoAnalyzeAccess;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gCAAgC,EAChC,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,KAAK,8BAA8B,GACpC,MAAM,YAAY,CAAC;AAEpB,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvD,0CAA0C;AAC1C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AASD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,yBAAyB,CAyC3B"}
@@ -0,0 +1,64 @@
1
+ import { createMemoryVideoAnalyzeProvider } from "./memory.js";
2
+ import { createOpenAiVideoAnalyzeProvider } from "./openai-http.js";
3
+ import { videoAnalyzeUnavailableMessage } from "./tools.js";
4
+ export { VideoAnalyzeError, isVideoAnalyzeError, } from "./types.js";
5
+ export { MAX_VIDEO_BYTES, VIDEO_MIME_BY_EXT, VIDEO_SIZE_WARN_BYTES, assertVideoByteBudget, unsupportedVideoFormatMessage, videoMimeForPath, wrapVideoAnalyzePrompt, } from "./mime.js";
6
+ export { materializeVideo, } from "./materialize.js";
7
+ export { VIDEO_ANALYZE_PROMPT_TEXT } from "./format.js";
8
+ export { createMemoryVideoAnalyzeProvider, } from "./memory.js";
9
+ export { createOpenAiVideoAnalyzeProvider, } from "./openai-http.js";
10
+ export { createVideoAnalyzeTools, videoAnalyzeUnavailableMessage, } from "./tools.js";
11
+ function resolveApiKey(env) {
12
+ const a = String(env.XRK_VIDEO_ANALYZE_OPENAI_KEY ?? "").trim();
13
+ if (a)
14
+ return a;
15
+ const b = String(env.OPENAI_API_KEY ?? "").trim();
16
+ return b || undefined;
17
+ }
18
+ /**
19
+ * Resolve a video-analyze Provider.
20
+ * - Injected `service` wins.
21
+ * - Non-empty `XRK_VIDEO_ANALYZE` is CI bypass over Face `product`.
22
+ * - Product / env: `off` · `openai` (`1`) · `memory` (env-only).
23
+ * - Else no service; tools stay registered and fail honestly.
24
+ */
25
+ export function createDefaultVideoAnalyzeAccess(options = {}) {
26
+ const env = options.env ?? process.env;
27
+ const unavailableMessage = videoAnalyzeUnavailableMessage(env, options.product);
28
+ if (options.service) {
29
+ return { service: options.service, unavailableMessage };
30
+ }
31
+ const envRaw = String(env.XRK_VIDEO_ANALYZE ?? "").trim();
32
+ const flag = envRaw !== ""
33
+ ? envRaw.toLowerCase()
34
+ : options.product?.mode === "openai"
35
+ ? "1"
36
+ : "";
37
+ if (flag === "memory") {
38
+ return {
39
+ service: createMemoryVideoAnalyzeProvider(),
40
+ unavailableMessage,
41
+ };
42
+ }
43
+ if (flag === "1" || flag === "openai") {
44
+ const apiKey = resolveApiKey(env);
45
+ if (!apiKey) {
46
+ return { unavailableMessage };
47
+ }
48
+ const baseUrl = options.product?.baseUrl?.trim() ||
49
+ String(env.XRK_VIDEO_ANALYZE_BASE_URL ?? "").trim();
50
+ const model = options.product?.model?.trim() ||
51
+ String(env.XRK_VIDEO_ANALYZE_MODEL ?? "").trim();
52
+ return {
53
+ service: createOpenAiVideoAnalyzeProvider({
54
+ apiKey,
55
+ ...(baseUrl ? { baseUrl } : {}),
56
+ ...(model ? { model } : {}),
57
+ ...(options.fetchImpl ? { fetchImpl: options.fetchImpl } : {}),
58
+ }),
59
+ unavailableMessage,
60
+ };
61
+ }
62
+ return { unavailableMessage };
63
+ }
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface VideoAnalyzeFs {
2
+ stat(userPath: string): Promise<{
3
+ readonly isFile: boolean;
4
+ }>;
5
+ readBytes(userPath: string, maxBytes?: number): Promise<Uint8Array>;
6
+ }
7
+ export interface MaterializedVideo {
8
+ readonly data: Uint8Array;
9
+ readonly mediaType: string;
10
+ readonly source: "url" | "path";
11
+ }
12
+ /**
13
+ * Load video bytes for analysis.
14
+ * - http(s): download with Accept video/*, capped at MAX_VIDEO_BYTES
15
+ * - else: workspace path via injected Fs (same world as read_image)
16
+ */
17
+ export declare function materializeVideo(videoUrl: string, options?: {
18
+ readonly fs?: VideoAnalyzeFs;
19
+ readonly fetchImpl?: typeof fetch;
20
+ readonly signal?: AbortSignal;
21
+ }): Promise<MaterializedVideo>;
22
+ //# sourceMappingURL=materialize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"materialize.d.ts","sourceRoot":"","sources":["../src/materialize.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;CACjC;AAOD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IACP,QAAQ,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC1B,GACL,OAAO,CAAC,iBAAiB,CAAC,CA0E5B"}