@ferricstore/ferricstore 0.11.9 → 0.11.11

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.
@@ -15,7 +15,7 @@
15
15
  <ul class="tsd-hierarchy">
16
16
  <li><a href="../interfaces/CommandExecutor.html" class="tsd-signature-type tsd-kind-interface">CommandExecutor</a></li></ul></section><aside class="tsd-sources">
17
17
  <ul>
18
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L22">src/http-adapter.ts:22</a></li></ul></aside>
18
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L23">src/http-adapter.ts:23</a></li></ul></aside>
19
19
  <section class="tsd-panel-group tsd-index-group">
20
20
  <section class="tsd-panel tsd-index-panel">
21
21
  <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -42,7 +42,7 @@
42
42
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
43
43
  <p>Implementation of <a href="../interfaces/CommandExecutor.html">CommandExecutor</a>.<a href="../interfaces/CommandExecutor.html#close">close</a></p>
44
44
  <ul>
45
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L66">src/http-adapter.ts:66</a></li></ul></aside></div></li></ul></section>
45
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L67">src/http-adapter.ts:67</a></li></ul></aside></div></li></ul></section>
46
46
  <section class="tsd-panel tsd-member">
47
47
  <h3 class="tsd-anchor-link" id="executecommand"><span>execute<wbr/>Command</span><a href="#executecommand" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
48
48
  <ul class="tsd-signatures">
@@ -56,7 +56,7 @@
56
56
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
57
57
  <p>Implementation of <a href="../interfaces/CommandExecutor.html">CommandExecutor</a>.<a href="../interfaces/CommandExecutor.html#executecommand">executeCommand</a></p>
58
58
  <ul>
59
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L35">src/http-adapter.ts:35</a></li></ul></aside></div></li></ul></section>
59
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L36">src/http-adapter.ts:36</a></li></ul></aside></div></li></ul></section>
60
60
  <section class="tsd-panel tsd-member">
61
61
  <h3 class="tsd-anchor-link" id="executecommandargs"><span>execute<wbr/>Command<wbr/>Args</span><a href="#executecommandargs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
62
62
  <ul class="tsd-signatures">
@@ -72,7 +72,7 @@
72
72
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
73
73
  <p>Implementation of <a href="../interfaces/CommandExecutor.html">CommandExecutor</a>.<a href="../interfaces/CommandExecutor.html#executecommandargs">executeCommandArgs</a></p>
74
74
  <ul>
75
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L39">src/http-adapter.ts:39</a></li></ul></aside></div></li></ul></section>
75
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L40">src/http-adapter.ts:40</a></li></ul></aside></div></li></ul></section>
76
76
  <section class="tsd-panel tsd-member">
77
77
  <h3 class="tsd-anchor-link" id="executefusedpipeline"><span>execute<wbr/>Fused<wbr/>Pipeline</span><a href="#executefusedpipeline" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
78
78
  <ul class="tsd-signatures">
@@ -90,7 +90,7 @@ guarantees that no command was submitted, so the caller may fall back.</p>
90
90
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
91
91
  <p>Implementation of <a href="../interfaces/CommandExecutor.html">CommandExecutor</a>.<a href="../interfaces/CommandExecutor.html#executefusedpipeline">executeFusedPipeline</a></p>
92
92
  <ul>
93
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L59">src/http-adapter.ts:59</a></li></ul></aside></div></li></ul></section>
93
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L60">src/http-adapter.ts:60</a></li></ul></aside></div></li></ul></section>
94
94
  <section class="tsd-panel tsd-member">
95
95
  <h3 class="tsd-anchor-link" id="executepipeline"><span>execute<wbr/>Pipeline</span><a href="#executepipeline" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
96
96
  <ul class="tsd-signatures">
@@ -105,7 +105,7 @@ guarantees that no command was submitted, so the caller may fall back.</p>
105
105
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
106
106
  <p>Implementation of <a href="../interfaces/CommandExecutor.html">CommandExecutor</a>.<a href="../interfaces/CommandExecutor.html#executepipeline">executePipeline</a></p>
107
107
  <ul>
108
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L46">src/http-adapter.ts:46</a></li></ul></aside></div></li></ul></section>
108
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L47">src/http-adapter.ts:47</a></li></ul></aside></div></li></ul></section>
109
109
  <section class="tsd-panel tsd-member">
110
110
  <h3 class="tsd-anchor-link" id="fromurl"><code class="tsd-tag">Static</code><span>from<wbr/>Url</span><a href="#fromurl" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
111
111
  <ul class="tsd-signatures">
@@ -119,7 +119,7 @@ guarantees that no command was submitted, so the caller may fall back.</p>
119
119
  <li><span><span class="tsd-kind-parameter">options</span>: <a href="../interfaces/HTTPAdapterOptions.html" class="tsd-signature-type tsd-kind-interface">HTTPAdapterOptions</a><span class="tsd-signature-symbol"> = {}</span></span></li></ul></div>
120
120
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="" class="tsd-signature-type tsd-kind-class">HTTPAdapter</a><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
121
121
  <ul>
122
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L26">src/http-adapter.ts:26</a></li></ul></aside></div></li></ul></section></section></details></div>
122
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-adapter.ts#L27">src/http-adapter.ts:27</a></li></ul></aside></div></li></ul></section></section></details></div>
123
123
  <div class="col-sidebar">
124
124
  <div class="page-menu">
125
125
  <div class="tsd-navigation settings">
@@ -253,12 +253,12 @@
253
253
  <h3 class="tsd-anchor-link" id="flushall"><span>flushall</span><a href="#flushall" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
254
254
  <ul class="tsd-signatures">
255
255
  <li class="">
256
- <div class="tsd-signature tsd-anchor-link" id="flushall-1"><span class="tsd-kind-call-signature">flushall</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">mode</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;ASYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;SYNC&quot;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#flushall-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
256
+ <div class="tsd-signature tsd-anchor-link" id="flushall-1"><span class="tsd-kind-call-signature">flushall</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">mode</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;SYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;ASYNC&quot;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#flushall-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
257
257
  <div class="tsd-description">
258
258
  <div class="tsd-parameters">
259
259
  <h4 class="tsd-parameters-title">Parameters</h4>
260
260
  <ul class="tsd-parameter-list">
261
- <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">mode</span>: <span class="tsd-signature-type">&quot;ASYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;SYNC&quot;</span></span></li></ul></div>
261
+ <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">mode</span>: <span class="tsd-signature-type">&quot;SYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;ASYNC&quot;</span></span></li></ul></div>
262
262
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
263
263
  <ul>
264
264
  <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/store-key-value.ts#L240">src/store-key-value.ts:240</a></li></ul></aside></div></li></ul></section>
@@ -266,12 +266,12 @@
266
266
  <h3 class="tsd-anchor-link" id="flushdb"><span>flushdb</span><a href="#flushdb" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
267
267
  <ul class="tsd-signatures">
268
268
  <li class="">
269
- <div class="tsd-signature tsd-anchor-link" id="flushdb-1"><span class="tsd-kind-call-signature">flushdb</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">mode</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;ASYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;SYNC&quot;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#flushdb-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
269
+ <div class="tsd-signature tsd-anchor-link" id="flushdb-1"><span class="tsd-kind-call-signature">flushdb</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">mode</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">&quot;SYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;ASYNC&quot;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#flushdb-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></div>
270
270
  <div class="tsd-description">
271
271
  <div class="tsd-parameters">
272
272
  <h4 class="tsd-parameters-title">Parameters</h4>
273
273
  <ul class="tsd-parameter-list">
274
- <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">mode</span>: <span class="tsd-signature-type">&quot;ASYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;SYNC&quot;</span></span></li></ul></div>
274
+ <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">mode</span>: <span class="tsd-signature-type">&quot;SYNC&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;ASYNC&quot;</span></span></li></ul></div>
275
275
  <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
276
276
  <ul>
277
277
  <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/store-key-value.ts#L236">src/store-key-value.ts:236</a></li></ul></aside></div></li></ul></section>
@@ -21,7 +21,7 @@
21
21
  <li><span><span class="tsd-kind-parameter">name</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
22
22
  <h4 class="tsd-returns-title">Returns <a href="../types/HTTPCommandDisposition.html" class="tsd-signature-type tsd-kind-type-alias">HTTPCommandDisposition</a></h4><aside class="tsd-sources">
23
23
  <ul>
24
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-command-policy.ts#L47">src/http-command-policy.ts:47</a></li></ul></aside></div></li></ul></section></div>
24
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-command-policy.ts#L59">src/http-command-policy.ts:59</a></li></ul></aside></div></li></ul></section></div>
25
25
  <div class="col-sidebar">
26
26
  <div class="page-menu">
27
27
  <div class="tsd-navigation settings">
@@ -20,8 +20,8 @@
20
20
 
21
21
  <p>Requires Node.js 22.22 or newer. The SDK ships ESM and CommonJS builds and is tested with Node 22, 24, and 26.</p>
22
22
  <h2 id="compatibility" class="tsd-anchor-link">Compatibility<a href="#compatibility" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
23
- <p>TypeScript SDK <code>0.11.9</code> requires FerricStore server <code>0.11.4</code> or newer. With
24
- FerricStore 0.11.8 it negotiates compact Stream mode 34 for homogeneous auto-ID
23
+ <p>TypeScript SDK <code>0.11.11</code> requires FerricStore server <code>0.11.4</code> or newer. With
24
+ FerricStore 0.11.11 it negotiates compact Stream mode 34 for homogeneous auto-ID
25
25
  <code>XADD</code> pipelines and compact Pub/Sub mode 35 for homogeneous <code>PUBLISH</code>
26
26
  pipelines. Native wire protocol v1 and the generic fallback are unchanged.
27
27
  Capabilities and response-size limits are negotiated
@@ -36,7 +36,7 @@ a server version table.</p>
36
36
  </code><button type="button">Copy</button></pre>
37
37
 
38
38
  <h2 id="run-ferricstore-locally" class="tsd-anchor-link">Run FerricStore Locally<a href="#run-ferricstore-locally" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
39
- <pre><code class="bash"><span class="hl-0">docker</span><span class="hl-1"> </span><span class="hl-2">run</span><span class="hl-1"> </span><span class="hl-5">-p</span><span class="hl-1"> </span><span class="hl-2">6388:6388</span><span class="hl-1"> </span><span class="hl-7">\</span><br/><span class="hl-1"> </span><span class="hl-5">-e</span><span class="hl-1"> </span><span class="hl-2">FERRICSTORE_PROTECTED_MODE=</span><span class="hl-5">false</span><span class="hl-1"> </span><span class="hl-7">\</span><br/><span class="hl-1"> </span><span class="hl-5">-v</span><span class="hl-1"> </span><span class="hl-2">ferricstore_data:/data</span><span class="hl-1"> </span><span class="hl-7">\</span><br/><span class="hl-1"> </span><span class="hl-2">quay.io/ferricstore/ferricstore:0.11.8</span>
39
+ <pre><code class="bash"><span class="hl-0">docker</span><span class="hl-1"> </span><span class="hl-2">run</span><span class="hl-1"> </span><span class="hl-5">-p</span><span class="hl-1"> </span><span class="hl-2">6388:6388</span><span class="hl-1"> </span><span class="hl-7">\</span><br/><span class="hl-1"> </span><span class="hl-5">-e</span><span class="hl-1"> </span><span class="hl-2">FERRICSTORE_PROTECTED_MODE=</span><span class="hl-5">false</span><span class="hl-1"> </span><span class="hl-7">\</span><br/><span class="hl-1"> </span><span class="hl-5">-v</span><span class="hl-1"> </span><span class="hl-2">ferricstore_data:/data</span><span class="hl-1"> </span><span class="hl-7">\</span><br/><span class="hl-1"> </span><span class="hl-2">quay.io/ferricstore/ferricstore:0.11.11@sha256:d9f488539f0d6c1a513d2315e7a9c2947cc795b393f3774c9de8ba5e5b5c21b5</span>
40
40
  </code><button type="button">Copy</button></pre>
41
41
 
42
42
  <h2 id="query-durable-runs" class="tsd-anchor-link">Query durable runs<a href="#query-durable-runs" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
@@ -70,14 +70,30 @@ multiplexed HTTP/2 session per origin:</p>
70
70
  <p>Use <code>bearerToken</code> for Bearer authentication. Basic username/password
71
71
  authentication requires HTTPS; omitting the username uses <code>default</code>. One SDK
72
72
  pipeline becomes one ordered HTTP request. <code>httpOptions</code> also bounds request
73
- and response bytes, batch items, HTTP/1.1 connections, redirects, and the whole
74
- request deadline.</p>
73
+ and response bytes, batch items, HTTP/1.1 sockets or concurrent HTTP/2 streams,
74
+ redirects, and the whole request deadline. HTTP/2 honors the peer's advertised
75
+ stream limit and queues excess work locally within the same deadline.</p>
75
76
  <p>The HTTP endpoint is stateless. <code>AUTH</code>, <code>CLIENT</code>, transactions, Pub/Sub
76
- subscriptions, blocking list/stream reads, and <code>WATCH</code> require native TCP and
77
- fail before network I/O. Redirects intentionally retain authentication and
78
- custom headers across origins, so configure only endpoints and redirect targets
79
- you trust. Use <code>ferric://</code> or <code>ferrics://</code> whenever connection-local behavior is
77
+ subscriptions, session state, and cluster/replication session controls require
78
+ native TCP and fail before network I/O. Blocking list, sorted-set, and stream
79
+ reads remain supported as long-lived HTTP requests, including inside an explicit
80
+ ordered pipeline. Their declared server waits are added to the ordinary
81
+ whole-request deadline; a zero block disables the SDK request deadline until the
82
+ request completes or the client closes. Independently submitted blocking calls
83
+ are not auto-coalesced. Redirects intentionally retain authentication and custom
84
+ headers across origins, so configure only endpoints and redirect targets you
85
+ trust. Use <code>ferric://</code> or <code>ferrics://</code> whenever connection-local behavior is
80
86
  required.</p>
87
+ <p>Run the complete HTTP-compatible integration surface through a real TLS
88
+ listener with ACL authentication using:</p>
89
+ <pre><code class="bash"><span class="hl-4">FERRICSTORE_IMAGE</span><span class="hl-1">=</span><span class="hl-2">quay.io/ferricstore/ferricstore:0.11.11@sha256:d9f488539f0d6c1a513d2315e7a9c2947cc795b393f3774c9de8ba5e5b5c21b5</span><span class="hl-1"> </span><span class="hl-0">\</span><br/><span class="hl-1"> </span><span class="hl-2">npm</span><span class="hl-1"> </span><span class="hl-2">run</span><span class="hl-1"> </span><span class="hl-2">test:integration:http</span>
90
+ </code><button type="button">Copy</button></pre>
91
+
92
+ <p>The runner creates a private CA, verifies that unauthenticated access and a
93
+ restricted user's forbidden <code>SET</code> are rejected, and sets
94
+ <code>FERRICSTORE_USERNAME</code>, <code>FERRICSTORE_PASSWORD</code>, and <code>FERRICSTORE_CA_FILE</code> for
95
+ the tests. Native-only subscriptions, topology, and session controls stay in
96
+ the native integration jobs.</p>
81
97
  <h2 id="cluster-aware-client" class="tsd-anchor-link">Cluster-aware client<a href="#cluster-aware-client" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h2>
82
98
  <p>For a single node, use <code>fromUrl</code>. For a FerricStore cluster, pass multiple seed URLs. The SDK fetches the server <code>SHARDS</code> topology, routes keyed commands to the current shard leader, and refuses learned hosts outside the seed-host trust set by default. The creation promise resolves only after startup and authentication succeed; cluster creation also waits for the initial topology, so connection failures reject the corresponding <code>await</code> directly.</p>
83
99
  <p>Cross-shard pipelines are grouped into one native pipeline per leader/lane and
@@ -12,7 +12,7 @@
12
12
  <h1>Interface HTTPAdapterOptions</h1></div>
13
13
  <div class="tsd-signature"><span class="tsd-signature-keyword">interface</span> <span class="tsd-kind-interface">HTTPAdapterOptions</span> <span class="tsd-signature-symbol">{</span><br/>    <a class="tsd-kind-property" href="#bearertoken">bearerToken</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#headers">headers</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#http2">http2</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#maxbatchitems">maxBatchItems</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#maxconnections">maxConnections</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#maxredirects">maxRedirects</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#maxrequestbytes">maxRequestBytes</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#maxresponsebytes">maxResponseBytes</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#password">password</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#timeoutms">timeoutMs</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#tlsoptions">tlsOptions</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">ConnectionOptions</span><span class="tsd-signature-symbol">;</span><br/>    <a class="tsd-kind-property" href="#username">username</a><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><aside class="tsd-sources">
14
14
  <ul>
15
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L3">src/http-options.ts:3</a></li></ul></aside>
15
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L5">src/http-options.ts:5</a></li></ul></aside>
16
16
  <section class="tsd-panel-group tsd-index-group">
17
17
  <section class="tsd-panel tsd-index-panel">
18
18
  <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -40,62 +40,66 @@
40
40
  <h3 class="tsd-anchor-link" id="bearertoken"><code class="tsd-tag">Optional</code><span>bearer<wbr/>Token</span><a href="#bearertoken" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
41
41
  <div class="tsd-signature"><span class="tsd-kind-property">bearerToken</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
42
42
  <ul>
43
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L4">src/http-options.ts:4</a></li></ul></aside></section>
43
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L6">src/http-options.ts:6</a></li></ul></aside></section>
44
44
  <section class="tsd-panel tsd-member">
45
45
  <h3 class="tsd-anchor-link" id="headers"><code class="tsd-tag">Optional</code><span>headers</span><a href="#headers" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
46
46
  <div class="tsd-signature"><span class="tsd-kind-property">headers</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">Readonly</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources">
47
47
  <ul>
48
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L5">src/http-options.ts:5</a></li></ul></aside></section>
48
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L7">src/http-options.ts:7</a></li></ul></aside></section>
49
49
  <section class="tsd-panel tsd-member">
50
50
  <h3 class="tsd-anchor-link" id="http2"><code class="tsd-tag">Optional</code><span>http2</span><a href="#http2" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
51
51
  <div class="tsd-signature"><span class="tsd-kind-property">http2</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources">
52
52
  <ul>
53
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L6">src/http-options.ts:6</a></li></ul></aside></section>
53
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L8">src/http-options.ts:8</a></li></ul></aside></section>
54
54
  <section class="tsd-panel tsd-member">
55
55
  <h3 class="tsd-anchor-link" id="maxbatchitems"><code class="tsd-tag">Optional</code><span>max<wbr/>Batch<wbr/>Items</span><a href="#maxbatchitems" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
56
56
  <div class="tsd-signature"><span class="tsd-kind-property">maxBatchItems</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
57
57
  <ul>
58
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L7">src/http-options.ts:7</a></li></ul></aside></section>
58
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L9">src/http-options.ts:9</a></li></ul></aside></section>
59
59
  <section class="tsd-panel tsd-member">
60
60
  <h3 class="tsd-anchor-link" id="maxconnections"><code class="tsd-tag">Optional</code><span>max<wbr/>Connections</span><a href="#maxconnections" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
61
- <div class="tsd-signature"><span class="tsd-kind-property">maxConnections</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
61
+ <div class="tsd-signature"><span class="tsd-kind-property">maxConnections</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div>
62
+ <div class="tsd-comment tsd-typography"><p>Maximum HTTP/1.1 sockets or concurrent streams on one HTTP/2 session. Defaults to 100.</p>
63
+ </div><aside class="tsd-sources">
62
64
  <ul>
63
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L8">src/http-options.ts:8</a></li></ul></aside></section>
65
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L11">src/http-options.ts:11</a></li></ul></aside></section>
64
66
  <section class="tsd-panel tsd-member">
65
67
  <h3 class="tsd-anchor-link" id="maxredirects"><code class="tsd-tag">Optional</code><span>max<wbr/>Redirects</span><a href="#maxredirects" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
66
68
  <div class="tsd-signature"><span class="tsd-kind-property">maxRedirects</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
67
69
  <ul>
68
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L9">src/http-options.ts:9</a></li></ul></aside></section>
70
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L12">src/http-options.ts:12</a></li></ul></aside></section>
69
71
  <section class="tsd-panel tsd-member">
70
72
  <h3 class="tsd-anchor-link" id="maxrequestbytes"><code class="tsd-tag">Optional</code><span>max<wbr/>Request<wbr/>Bytes</span><a href="#maxrequestbytes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
71
73
  <div class="tsd-signature"><span class="tsd-kind-property">maxRequestBytes</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
72
74
  <ul>
73
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L10">src/http-options.ts:10</a></li></ul></aside></section>
75
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L13">src/http-options.ts:13</a></li></ul></aside></section>
74
76
  <section class="tsd-panel tsd-member">
75
77
  <h3 class="tsd-anchor-link" id="maxresponsebytes"><code class="tsd-tag">Optional</code><span>max<wbr/>Response<wbr/>Bytes</span><a href="#maxresponsebytes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
76
78
  <div class="tsd-signature"><span class="tsd-kind-property">maxResponseBytes</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
77
79
  <ul>
78
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L11">src/http-options.ts:11</a></li></ul></aside></section>
80
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L14">src/http-options.ts:14</a></li></ul></aside></section>
79
81
  <section class="tsd-panel tsd-member">
80
82
  <h3 class="tsd-anchor-link" id="password"><code class="tsd-tag">Optional</code><span>password</span><a href="#password" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
81
83
  <div class="tsd-signature"><span class="tsd-kind-property">password</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
82
84
  <ul>
83
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L12">src/http-options.ts:12</a></li></ul></aside></section>
85
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L15">src/http-options.ts:15</a></li></ul></aside></section>
84
86
  <section class="tsd-panel tsd-member">
85
87
  <h3 class="tsd-anchor-link" id="timeoutms"><code class="tsd-tag">Optional</code><span>timeout<wbr/>Ms</span><a href="#timeoutms" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
86
- <div class="tsd-signature"><span class="tsd-kind-property">timeoutMs</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
88
+ <div class="tsd-signature"><span class="tsd-kind-property">timeoutMs</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span></div>
89
+ <div class="tsd-comment tsd-typography"><p>Base whole-request deadline. Command-declared blocking waits are added; a zero block disables it.</p>
90
+ </div><aside class="tsd-sources">
87
91
  <ul>
88
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L13">src/http-options.ts:13</a></li></ul></aside></section>
92
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L17">src/http-options.ts:17</a></li></ul></aside></section>
89
93
  <section class="tsd-panel tsd-member">
90
94
  <h3 class="tsd-anchor-link" id="tlsoptions"><code class="tsd-tag">Optional</code><span>tls<wbr/>Options</span><a href="#tlsoptions" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
91
95
  <div class="tsd-signature"><span class="tsd-kind-property">tlsOptions</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">ConnectionOptions</span></div><aside class="tsd-sources">
92
96
  <ul>
93
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L14">src/http-options.ts:14</a></li></ul></aside></section>
97
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L18">src/http-options.ts:18</a></li></ul></aside></section>
94
98
  <section class="tsd-panel tsd-member">
95
99
  <h3 class="tsd-anchor-link" id="username"><code class="tsd-tag">Optional</code><span>username</span><a href="#username" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
96
100
  <div class="tsd-signature"><span class="tsd-kind-property">username</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
97
101
  <ul>
98
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L15">src/http-options.ts:15</a></li></ul></aside></section></section></details></div>
102
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-options.ts#L19">src/http-options.ts:19</a></li></ul></aside></section></section></details></div>
99
103
  <div class="col-sidebar">
100
104
  <div class="page-menu">
101
105
  <div class="tsd-navigation settings">
@@ -12,7 +12,7 @@
12
12
  <h1>Type Alias HTTPCommandDisposition</h1></div>
13
13
  <div class="tsd-signature"><span class="tsd-kind-type-alias">HTTPCommandDisposition</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;supported&quot;</span> <span class="tsd-signature-symbol">|</span> <span class="tsd-signature-type">&quot;native_only&quot;</span></div><aside class="tsd-sources">
14
14
  <ul>
15
- <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-command-policy.ts#L45">src/http-command-policy.ts:45</a></li></ul></aside></div>
15
+ <li>Defined in <a href="https://github.com/ferricstore/ferricstore-typescript/blob/main/http-command-policy.ts#L57">src/http-command-policy.ts:57</a></li></ul></aside></div>
16
16
  <div class="col-sidebar">
17
17
  <div class="page-menu">
18
18
  <div class="tsd-navigation settings">
@@ -10,7 +10,7 @@
10
10
  <ul class="tsd-breadcrumb" aria-label="Breadcrumb">
11
11
  <li><a href="" aria-current="page">FERRICSTORE_SDK_VERSION</a></li></ul>
12
12
  <h1>Variable FERRICSTORE_SDK_VERSION<code class="tsd-tag">Const</code></h1></div>
13
- <div class="tsd-signature"><span class="tsd-kind-variable">FERRICSTORE_SDK_VERSION</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;0.11.9&quot;</span></div>
13
+ <div class="tsd-signature"><span class="tsd-kind-variable">FERRICSTORE_SDK_VERSION</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;0.11.11&quot;</span></div>
14
14
  <div class="tsd-comment tsd-typography"><p>TypeScript SDK package version.</p>
15
15
  </div><aside class="tsd-sources">
16
16
  <ul>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ferricstore/ferricstore",
3
- "version": "0.11.9",
3
+ "version": "0.11.11",
4
4
  "description": "TypeScript SDK for FerricStore and FerricFlow",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -72,6 +72,7 @@
72
72
  "test": "vitest run tests/*.test.ts",
73
73
  "test:exports": "node scripts/check-package-exports.mjs",
74
74
  "test:integration": "vitest run tests/integration",
75
+ "test:integration:http": "scripts/run-http-integration.sh",
75
76
  "test:integration:isolated": "node scripts/run-isolated-integration.mjs",
76
77
  "test:integration:deployment": "vitest run tests/integration/deployment.test.ts",
77
78
  "typecheck": "tsc --noEmit",