@zarel-ai/sdk 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +412 -0
- package/dist/_internal/auth-headers.d.ts +19 -0
- package/dist/_internal/auth-headers.d.ts.map +1 -0
- package/dist/_internal/auth-headers.js +30 -0
- package/dist/_internal/auth-headers.js.map +1 -0
- package/dist/_internal/confirmation.d.ts +24 -0
- package/dist/_internal/confirmation.d.ts.map +1 -0
- package/dist/_internal/confirmation.js +54 -0
- package/dist/_internal/confirmation.js.map +1 -0
- package/dist/_internal/event-iterator.d.ts +18 -0
- package/dist/_internal/event-iterator.d.ts.map +1 -0
- package/dist/_internal/event-iterator.js +151 -0
- package/dist/_internal/event-iterator.js.map +1 -0
- package/dist/_internal/fetch-client.d.ts +141 -0
- package/dist/_internal/fetch-client.d.ts.map +1 -0
- package/dist/_internal/fetch-client.js +471 -0
- package/dist/_internal/fetch-client.js.map +1 -0
- package/dist/_internal/interceptors.d.ts +40 -0
- package/dist/_internal/interceptors.d.ts.map +1 -0
- package/dist/_internal/interceptors.js +28 -0
- package/dist/_internal/interceptors.js.map +1 -0
- package/dist/_internal/mcp.d.ts +11 -0
- package/dist/_internal/mcp.d.ts.map +1 -0
- package/dist/_internal/mcp.js +79 -0
- package/dist/_internal/mcp.js.map +1 -0
- package/dist/_internal/pagination.d.ts +71 -0
- package/dist/_internal/pagination.d.ts.map +1 -0
- package/dist/_internal/pagination.js +130 -0
- package/dist/_internal/pagination.js.map +1 -0
- package/dist/_internal/require-token.d.ts +17 -0
- package/dist/_internal/require-token.d.ts.map +1 -0
- package/dist/_internal/require-token.js +25 -0
- package/dist/_internal/require-token.js.map +1 -0
- package/dist/_internal/retry-after.d.ts +2 -0
- package/dist/_internal/retry-after.d.ts.map +1 -0
- package/dist/_internal/retry-after.js +34 -0
- package/dist/_internal/retry-after.js.map +1 -0
- package/dist/_internal/sse-client.d.ts +43 -0
- package/dist/_internal/sse-client.d.ts.map +1 -0
- package/dist/_internal/sse-client.js +250 -0
- package/dist/_internal/sse-client.js.map +1 -0
- package/dist/_internal/version.d.ts +5 -0
- package/dist/_internal/version.d.ts.map +1 -0
- package/dist/_internal/version.js +12 -0
- package/dist/_internal/version.js.map +1 -0
- package/dist/client.d.ts +74 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +86 -0
- package/dist/client.js.map +1 -0
- package/dist/contract/_singleton.d.ts +18 -0
- package/dist/contract/_singleton.d.ts.map +1 -0
- package/dist/contract/_singleton.js +27 -0
- package/dist/contract/_singleton.js.map +1 -0
- package/dist/contract/actions.d.ts +18 -0
- package/dist/contract/actions.d.ts.map +1 -0
- package/dist/contract/actions.js +36 -0
- package/dist/contract/actions.js.map +1 -0
- package/dist/contract/assistant.d.ts +65 -0
- package/dist/contract/assistant.d.ts.map +1 -0
- package/dist/contract/assistant.js +44 -0
- package/dist/contract/assistant.js.map +1 -0
- package/dist/contract/batch.d.ts +27 -0
- package/dist/contract/batch.d.ts.map +1 -0
- package/dist/contract/batch.js +20 -0
- package/dist/contract/batch.js.map +1 -0
- package/dist/contract/capabilities.d.ts +21 -0
- package/dist/contract/capabilities.d.ts.map +1 -0
- package/dist/contract/capabilities.js +31 -0
- package/dist/contract/capabilities.js.map +1 -0
- package/dist/contract/constraints.d.ts +21 -0
- package/dist/contract/constraints.d.ts.map +1 -0
- package/dist/contract/constraints.js +31 -0
- package/dist/contract/constraints.js.map +1 -0
- package/dist/contract/events.d.ts +33 -0
- package/dist/contract/events.d.ts.map +1 -0
- package/dist/contract/events.js +56 -0
- package/dist/contract/events.js.map +1 -0
- package/dist/contract/flows.d.ts +44 -0
- package/dist/contract/flows.d.ts.map +1 -0
- package/dist/contract/flows.js +109 -0
- package/dist/contract/flows.js.map +1 -0
- package/dist/contract/governance.d.ts +6 -0
- package/dist/contract/governance.d.ts.map +1 -0
- package/dist/contract/governance.js +17 -0
- package/dist/contract/governance.js.map +1 -0
- package/dist/contract/index.d.ts +137 -0
- package/dist/contract/index.d.ts.map +1 -0
- package/dist/contract/index.js +177 -0
- package/dist/contract/index.js.map +1 -0
- package/dist/contract/metadata.d.ts +26 -0
- package/dist/contract/metadata.d.ts.map +1 -0
- package/dist/contract/metadata.js +25 -0
- package/dist/contract/metadata.js.map +1 -0
- package/dist/contract/process-model.d.ts +31 -0
- package/dist/contract/process-model.d.ts.map +1 -0
- package/dist/contract/process-model.js +51 -0
- package/dist/contract/process-model.js.map +1 -0
- package/dist/contract/roots/channels.d.ts +27 -0
- package/dist/contract/roots/channels.d.ts.map +1 -0
- package/dist/contract/roots/channels.js +53 -0
- package/dist/contract/roots/channels.js.map +1 -0
- package/dist/contract/roots/events.d.ts +7 -0
- package/dist/contract/roots/events.d.ts.map +1 -0
- package/dist/contract/roots/events.js +19 -0
- package/dist/contract/roots/events.js.map +1 -0
- package/dist/contract/roots/index.d.ts +15 -0
- package/dist/contract/roots/index.d.ts.map +1 -0
- package/dist/contract/roots/index.js +38 -0
- package/dist/contract/roots/index.js.map +1 -0
- package/dist/contract/roots/mcp-servers.d.ts +46 -0
- package/dist/contract/roots/mcp-servers.d.ts.map +1 -0
- package/dist/contract/roots/mcp-servers.js +68 -0
- package/dist/contract/roots/mcp-servers.js.map +1 -0
- package/dist/contract/roots/profiles.d.ts +18 -0
- package/dist/contract/roots/profiles.d.ts.map +1 -0
- package/dist/contract/roots/profiles.js +31 -0
- package/dist/contract/roots/profiles.js.map +1 -0
- package/dist/contract/roots/timezone.d.ts +10 -0
- package/dist/contract/roots/timezone.d.ts.map +1 -0
- package/dist/contract/roots/timezone.js +19 -0
- package/dist/contract/roots/timezone.js.map +1 -0
- package/dist/contract/roots/treatment.d.ts +11 -0
- package/dist/contract/roots/treatment.d.ts.map +1 -0
- package/dist/contract/roots/treatment.js +37 -0
- package/dist/contract/roots/treatment.js.map +1 -0
- package/dist/contract/roots/vocabulary.d.ts +18 -0
- package/dist/contract/roots/vocabulary.d.ts.map +1 -0
- package/dist/contract/roots/vocabulary.js +31 -0
- package/dist/contract/roots/vocabulary.js.map +1 -0
- package/dist/contract/schemas.d.ts +18 -0
- package/dist/contract/schemas.d.ts.map +1 -0
- package/dist/contract/schemas.js +31 -0
- package/dist/contract/schemas.js.map +1 -0
- package/dist/contract/skills.d.ts +20 -0
- package/dist/contract/skills.d.ts.map +1 -0
- package/dist/contract/skills.js +36 -0
- package/dist/contract/skills.js.map +1 -0
- package/dist/errors.d.ts +65 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +80 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/contract.d.ts +7688 -0
- package/dist/generated/contract.d.ts.map +1 -0
- package/dist/generated/contract.js +7 -0
- package/dist/generated/contract.js.map +1 -0
- package/dist/generated/index.d.ts +41 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +3 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/runtime.d.ts +4020 -0
- package/dist/generated/runtime.d.ts.map +1 -0
- package/dist/generated/runtime.js +7 -0
- package/dist/generated/runtime.js.map +1 -0
- package/dist/generated/unwrap-map.d.ts +989 -0
- package/dist/generated/unwrap-map.d.ts.map +1 -0
- package/dist/generated/unwrap-map.js +344 -0
- package/dist/generated/unwrap-map.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/actions.d.ts +33 -0
- package/dist/resources/actions.d.ts.map +1 -0
- package/dist/resources/actions.js +52 -0
- package/dist/resources/actions.js.map +1 -0
- package/dist/resources/audit.d.ts +52 -0
- package/dist/resources/audit.d.ts.map +1 -0
- package/dist/resources/audit.js +86 -0
- package/dist/resources/audit.js.map +1 -0
- package/dist/resources/authorization-ceiling.d.ts +25 -0
- package/dist/resources/authorization-ceiling.d.ts.map +1 -0
- package/dist/resources/authorization-ceiling.js +26 -0
- package/dist/resources/authorization-ceiling.js.map +1 -0
- package/dist/resources/authorization-operation-ids.d.ts +15 -0
- package/dist/resources/authorization-operation-ids.d.ts.map +1 -0
- package/dist/resources/authorization-operation-ids.js +31 -0
- package/dist/resources/authorization-operation-ids.js.map +1 -0
- package/dist/resources/authorization.d.ts +60 -0
- package/dist/resources/authorization.d.ts.map +1 -0
- package/dist/resources/authorization.js +51 -0
- package/dist/resources/authorization.js.map +1 -0
- package/dist/resources/authorizations.d.ts +38 -0
- package/dist/resources/authorizations.d.ts.map +1 -0
- package/dist/resources/authorizations.js +19 -0
- package/dist/resources/authorizations.js.map +1 -0
- package/dist/resources/channels.d.ts +36 -0
- package/dist/resources/channels.d.ts.map +1 -0
- package/dist/resources/channels.js +61 -0
- package/dist/resources/channels.js.map +1 -0
- package/dist/resources/contracts.d.ts +46 -0
- package/dist/resources/contracts.d.ts.map +1 -0
- package/dist/resources/contracts.js +86 -0
- package/dist/resources/contracts.js.map +1 -0
- package/dist/resources/conversation-sessions.d.ts +62 -0
- package/dist/resources/conversation-sessions.d.ts.map +1 -0
- package/dist/resources/conversation-sessions.js +48 -0
- package/dist/resources/conversation-sessions.js.map +1 -0
- package/dist/resources/conversation.d.ts +48 -0
- package/dist/resources/conversation.d.ts.map +1 -0
- package/dist/resources/conversation.js +104 -0
- package/dist/resources/conversation.js.map +1 -0
- package/dist/resources/embedding-credentials.d.ts +60 -0
- package/dist/resources/embedding-credentials.d.ts.map +1 -0
- package/dist/resources/embedding-credentials.js +53 -0
- package/dist/resources/embedding-credentials.js.map +1 -0
- package/dist/resources/entities.d.ts +66 -0
- package/dist/resources/entities.d.ts.map +1 -0
- package/dist/resources/entities.js +106 -0
- package/dist/resources/entities.js.map +1 -0
- package/dist/resources/events.d.ts +45 -0
- package/dist/resources/events.d.ts.map +1 -0
- package/dist/resources/events.js +71 -0
- package/dist/resources/events.js.map +1 -0
- package/dist/resources/flows.d.ts +45 -0
- package/dist/resources/flows.d.ts.map +1 -0
- package/dist/resources/flows.js +82 -0
- package/dist/resources/flows.js.map +1 -0
- package/dist/resources/imports.d.ts +8 -0
- package/dist/resources/imports.d.ts.map +1 -0
- package/dist/resources/imports.js +14 -0
- package/dist/resources/imports.js.map +1 -0
- package/dist/resources/index.d.ts +24 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +41 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/llm-credentials.d.ts +47 -0
- package/dist/resources/llm-credentials.d.ts.map +1 -0
- package/dist/resources/llm-credentials.js +46 -0
- package/dist/resources/llm-credentials.js.map +1 -0
- package/dist/resources/llm-services.d.ts +46 -0
- package/dist/resources/llm-services.d.ts.map +1 -0
- package/dist/resources/llm-services.js +41 -0
- package/dist/resources/llm-services.js.map +1 -0
- package/dist/resources/mcp.d.ts +8 -0
- package/dist/resources/mcp.d.ts.map +1 -0
- package/dist/resources/mcp.js +25 -0
- package/dist/resources/mcp.js.map +1 -0
- package/dist/resources/receipts.d.ts +25 -0
- package/dist/resources/receipts.d.ts.map +1 -0
- package/dist/resources/receipts.js +54 -0
- package/dist/resources/receipts.js.map +1 -0
- package/dist/resources/records.d.ts +51 -0
- package/dist/resources/records.d.ts.map +1 -0
- package/dist/resources/records.js +103 -0
- package/dist/resources/records.js.map +1 -0
- package/dist/resources/role-assignments.d.ts +27 -0
- package/dist/resources/role-assignments.d.ts.map +1 -0
- package/dist/resources/role-assignments.js +40 -0
- package/dist/resources/role-assignments.js.map +1 -0
- package/dist/resources/roles.d.ts +39 -0
- package/dist/resources/roles.d.ts.map +1 -0
- package/dist/resources/roles.js +42 -0
- package/dist/resources/roles.js.map +1 -0
- package/dist/resources/runtime-entities.d.ts +23 -0
- package/dist/resources/runtime-entities.d.ts.map +1 -0
- package/dist/resources/runtime-entities.js +29 -0
- package/dist/resources/runtime-entities.js.map +1 -0
- package/dist/resources/state-machine.d.ts +45 -0
- package/dist/resources/state-machine.d.ts.map +1 -0
- package/dist/resources/state-machine.js +86 -0
- package/dist/resources/state-machine.js.map +1 -0
- package/dist/resources/system.d.ts +12 -0
- package/dist/resources/system.d.ts.map +1 -0
- package/dist/resources/system.js +26 -0
- package/dist/resources/system.js.map +1 -0
- package/dist/resources/tools.d.ts +22 -0
- package/dist/resources/tools.d.ts.map +1 -0
- package/dist/resources/tools.js +33 -0
- package/dist/resources/tools.js.map +1 -0
- package/dist/resources/traces.d.ts +65 -0
- package/dist/resources/traces.d.ts.map +1 -0
- package/dist/resources/traces.js +97 -0
- package/dist/resources/traces.js.map +1 -0
- package/dist/runtime/index.d.ts +128 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +210 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/types/actions.d.ts +32 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +9 -0
- package/dist/types/actions.js.map +1 -0
- package/dist/types/audit.d.ts +65 -0
- package/dist/types/audit.d.ts.map +1 -0
- package/dist/types/audit.js +14 -0
- package/dist/types/audit.js.map +1 -0
- package/dist/types/channels.d.ts +37 -0
- package/dist/types/channels.d.ts.map +1 -0
- package/dist/types/channels.js +6 -0
- package/dist/types/channels.js.map +1 -0
- package/dist/types/confirmation.d.ts +53 -0
- package/dist/types/confirmation.d.ts.map +1 -0
- package/dist/types/confirmation.js +17 -0
- package/dist/types/confirmation.js.map +1 -0
- package/dist/types/contracts.d.ts +194 -0
- package/dist/types/contracts.d.ts.map +1 -0
- package/dist/types/contracts.js +10 -0
- package/dist/types/contracts.js.map +1 -0
- package/dist/types/conversation-sessions.d.ts +58 -0
- package/dist/types/conversation-sessions.d.ts.map +1 -0
- package/dist/types/conversation-sessions.js +6 -0
- package/dist/types/conversation-sessions.js.map +1 -0
- package/dist/types/conversation.d.ts +96 -0
- package/dist/types/conversation.d.ts.map +1 -0
- package/dist/types/conversation.js +3 -0
- package/dist/types/conversation.js.map +1 -0
- package/dist/types/entities.d.ts +22 -0
- package/dist/types/entities.d.ts.map +1 -0
- package/dist/types/entities.js +4 -0
- package/dist/types/entities.js.map +1 -0
- package/dist/types/events-stream.d.ts +82 -0
- package/dist/types/events-stream.d.ts.map +1 -0
- package/dist/types/events-stream.js +65 -0
- package/dist/types/events-stream.js.map +1 -0
- package/dist/types/flows-contract.d.ts +8 -0
- package/dist/types/flows-contract.d.ts.map +1 -0
- package/dist/types/flows-contract.js +7 -0
- package/dist/types/flows-contract.js.map +1 -0
- package/dist/types/flows.d.ts +66 -0
- package/dist/types/flows.d.ts.map +1 -0
- package/dist/types/flows.js +25 -0
- package/dist/types/flows.js.map +1 -0
- package/dist/types/imports.d.ts +57 -0
- package/dist/types/imports.d.ts.map +1 -0
- package/dist/types/imports.js +3 -0
- package/dist/types/imports.js.map +1 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/locale.d.ts +24 -0
- package/dist/types/locale.d.ts.map +1 -0
- package/dist/types/locale.js +17 -0
- package/dist/types/locale.js.map +1 -0
- package/dist/types/mcp.d.ts +28 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +12 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/types/platform.d.ts +51 -0
- package/dist/types/platform.d.ts.map +1 -0
- package/dist/types/platform.js +4 -0
- package/dist/types/platform.js.map +1 -0
- package/dist/types/receipt.d.ts +79 -0
- package/dist/types/receipt.d.ts.map +1 -0
- package/dist/types/receipt.js +15 -0
- package/dist/types/receipt.js.map +1 -0
- package/dist/types/records.d.ts +45 -0
- package/dist/types/records.d.ts.map +1 -0
- package/dist/types/records.js +4 -0
- package/dist/types/records.js.map +1 -0
- package/dist/types/spec.d.ts +6 -0
- package/dist/types/spec.d.ts.map +1 -0
- package/dist/types/spec.js +3 -0
- package/dist/types/spec.js.map +1 -0
- package/dist/types/state-machine.d.ts +100 -0
- package/dist/types/state-machine.d.ts.map +1 -0
- package/dist/types/state-machine.js +9 -0
- package/dist/types/state-machine.js.map +1 -0
- package/dist/types/system.d.ts +28 -0
- package/dist/types/system.d.ts.map +1 -0
- package/dist/types/system.js +3 -0
- package/dist/types/system.js.map +1 -0
- package/dist/types/tools.d.ts +188 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +22 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/traces.d.ts +77 -0
- package/dist/types/traces.d.ts.map +1 -0
- package/dist/types/traces.js +11 -0
- package/dist/types/traces.js.map +1 -0
- package/dist/types/workflows.d.ts +42 -0
- package/dist/types/workflows.d.ts.map +1 -0
- package/dist/types/workflows.js +11 -0
- package/dist/types/workflows.js.map +1 -0
- package/package.json +103 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Async-iterable (pull) view over the callback-based event stream. A thin,
|
|
3
|
+
// transport-agnostic adapter: it converts the push API (`onEvent`/`onError`)
|
|
4
|
+
// into an `AsyncIterableIterator` backed by a bounded FIFO buffer. It owns NO
|
|
5
|
+
// transport concern — no fetch, no auth, no SSE parsing, no reconnect; it drives
|
|
6
|
+
// an injected `open(handlers) => EventStreamHandle` (in production, that is
|
|
7
|
+
// `events.stream`). This keeps `events.stream` the single event-transport
|
|
8
|
+
// authority (QI-001) and the SDK dependency-free (QI-002).
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.createEventIterator = createEventIterator;
|
|
11
|
+
const DEFAULT_BUFFER_SIZE = 1024;
|
|
12
|
+
/**
|
|
13
|
+
* Build an `AsyncIterableIterator<RuntimeStreamEvent>` over `open`. The first
|
|
14
|
+
* `next()` (or entry into a `for await`) lazily opens the stream; `return()` /
|
|
15
|
+
* `throw()` / consumer `break` tear it down via the handle's idempotent `close()`.
|
|
16
|
+
*/
|
|
17
|
+
function createEventIterator(open, config) {
|
|
18
|
+
// A non-finite `bufferSize` (NaN/Infinity) would make the `>= capacity`
|
|
19
|
+
// overflow guard never fire — defeating the bound the buffer exists to
|
|
20
|
+
// enforce — so fall back to the default for anything not a finite number.
|
|
21
|
+
const requested = config.bufferSize;
|
|
22
|
+
const capacity = typeof requested === 'number' && Number.isFinite(requested)
|
|
23
|
+
? Math.max(1, Math.floor(requested))
|
|
24
|
+
: DEFAULT_BUFFER_SIZE;
|
|
25
|
+
const buffer = [];
|
|
26
|
+
let handle;
|
|
27
|
+
let started = false;
|
|
28
|
+
let done = false;
|
|
29
|
+
let dropped = 0;
|
|
30
|
+
let terminalError;
|
|
31
|
+
// The single waiter for an empty-buffer `next()`. Single-consumer by design.
|
|
32
|
+
let pending;
|
|
33
|
+
const teardown = () => {
|
|
34
|
+
if (done)
|
|
35
|
+
return;
|
|
36
|
+
done = true;
|
|
37
|
+
handle?.close();
|
|
38
|
+
};
|
|
39
|
+
const push = (event) => {
|
|
40
|
+
if (done)
|
|
41
|
+
return;
|
|
42
|
+
if (pending) {
|
|
43
|
+
// A consumer is waiting on an empty buffer — hand the event straight over.
|
|
44
|
+
const waiter = pending;
|
|
45
|
+
pending = undefined;
|
|
46
|
+
waiter.settle({ result: { value: event, done: false } });
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (buffer.length >= capacity) {
|
|
50
|
+
// Drop the OLDEST queued event (loss-tolerant), keep the newest.
|
|
51
|
+
buffer.shift();
|
|
52
|
+
dropped += 1;
|
|
53
|
+
config.onDropped?.(dropped);
|
|
54
|
+
}
|
|
55
|
+
buffer.push(event);
|
|
56
|
+
};
|
|
57
|
+
const fail = (error) => {
|
|
58
|
+
if (done || terminalError)
|
|
59
|
+
return;
|
|
60
|
+
terminalError = { error };
|
|
61
|
+
// Surface immediately only if a consumer is parked on an empty buffer;
|
|
62
|
+
// otherwise buffered events drain first and the error surfaces on the
|
|
63
|
+
// `next()` that finds the buffer empty (data-before-error).
|
|
64
|
+
if (pending && buffer.length === 0) {
|
|
65
|
+
const waiter = pending;
|
|
66
|
+
pending = undefined;
|
|
67
|
+
done = true;
|
|
68
|
+
handle?.close();
|
|
69
|
+
waiter.settle({ error });
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const ensureStarted = () => {
|
|
73
|
+
if (started)
|
|
74
|
+
return;
|
|
75
|
+
started = true;
|
|
76
|
+
handle = open({ onEvent: push, onError: fail }, config.streamOptions);
|
|
77
|
+
};
|
|
78
|
+
const next = async () => {
|
|
79
|
+
const buffered = buffer.shift();
|
|
80
|
+
if (buffered !== undefined) {
|
|
81
|
+
return { value: buffered, done: false };
|
|
82
|
+
}
|
|
83
|
+
if (terminalError) {
|
|
84
|
+
const { error } = terminalError;
|
|
85
|
+
// Surface the terminal error exactly once; a later pull ends cleanly.
|
|
86
|
+
terminalError = undefined;
|
|
87
|
+
teardown();
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
if (done) {
|
|
91
|
+
return { value: undefined, done: true };
|
|
92
|
+
}
|
|
93
|
+
ensureStarted();
|
|
94
|
+
// The stream may already be torn down (e.g. an already-aborted signal):
|
|
95
|
+
// surface a clean end rather than parking forever.
|
|
96
|
+
if (config.streamOptions.signal?.aborted) {
|
|
97
|
+
teardown();
|
|
98
|
+
return { value: undefined, done: true };
|
|
99
|
+
}
|
|
100
|
+
if (pending) {
|
|
101
|
+
// Single-consumer by design: a second concurrent pull would orphan
|
|
102
|
+
// the first waiter. Fail loudly rather than hang silently.
|
|
103
|
+
throw new Error('events.iterate(): concurrent next() is not supported — consume the iterator sequentially (a single for-await loop).');
|
|
104
|
+
}
|
|
105
|
+
const settlement = await new Promise((resolve) => {
|
|
106
|
+
pending = { settle: resolve };
|
|
107
|
+
});
|
|
108
|
+
if ('error' in settlement)
|
|
109
|
+
throw settlement.error;
|
|
110
|
+
return settlement.result;
|
|
111
|
+
};
|
|
112
|
+
const settleDone = () => {
|
|
113
|
+
teardown();
|
|
114
|
+
// A consumer-driven end (break/return/throw) or abort wins over a
|
|
115
|
+
// previously-recorded stream error — it must not resurface afterwards.
|
|
116
|
+
terminalError = undefined;
|
|
117
|
+
if (pending) {
|
|
118
|
+
const waiter = pending;
|
|
119
|
+
pending = undefined;
|
|
120
|
+
waiter.settle({ result: { value: undefined, done: true } });
|
|
121
|
+
}
|
|
122
|
+
return { value: undefined, done: true };
|
|
123
|
+
};
|
|
124
|
+
const iterator = {
|
|
125
|
+
next,
|
|
126
|
+
return() {
|
|
127
|
+
return Promise.resolve(settleDone());
|
|
128
|
+
},
|
|
129
|
+
throw(error) {
|
|
130
|
+
settleDone();
|
|
131
|
+
// Re-raise the exact value the caller passed (the async-iterator
|
|
132
|
+
// protocol), via a throwing continuation rather than
|
|
133
|
+
// `Promise.reject` so the original (arbitrary) value is preserved.
|
|
134
|
+
return Promise.resolve().then(() => {
|
|
135
|
+
throw error;
|
|
136
|
+
});
|
|
137
|
+
},
|
|
138
|
+
[Symbol.asyncIterator]() {
|
|
139
|
+
return iterator;
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
// An already-aborted caller signal means "never start" — the first `next()`
|
|
143
|
+
// resolves done. A signal aborted mid-iteration is teardown via the
|
|
144
|
+
// underlying stream (it maps abort → close), which ends the buffer drain.
|
|
145
|
+
const signal = config.streamOptions.signal;
|
|
146
|
+
if (signal && !signal.aborted) {
|
|
147
|
+
signal.addEventListener('abort', () => settleDone(), { once: true });
|
|
148
|
+
}
|
|
149
|
+
return iterator;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=event-iterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-iterator.js","sourceRoot":"","sources":["../../src/_internal/event-iterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import type { LocaleOptions } from '../types/locale';
|
|
2
|
+
import type { EventStreamHandle, EventStreamHandlers, EventStreamOptions } from '../types/events-stream';
|
|
3
|
+
import type { McpJsonRpcRequest, McpJsonRpcResponse } from '../types/mcp';
|
|
4
|
+
import { type Interceptors } from './interceptors';
|
|
5
|
+
export declare function localeQuery(options?: LocaleOptions): Record<string, string>;
|
|
6
|
+
export declare function localeQueryOrUndefined(options?: LocaleOptions): {
|
|
7
|
+
locale: string;
|
|
8
|
+
} | undefined;
|
|
9
|
+
export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
10
|
+
/**
|
|
11
|
+
* A token may be a static string or a provider (sync or async) resolved before
|
|
12
|
+
* each request — the market-standard auth-callback shape (also unblocks refresh
|
|
13
|
+
* for direct consumers; seeds track G).
|
|
14
|
+
*/
|
|
15
|
+
export type TokenInput = string | (() => string | Promise<string>);
|
|
16
|
+
export interface FetchClientOptions {
|
|
17
|
+
baseUrl: string;
|
|
18
|
+
token: TokenInput;
|
|
19
|
+
timeout?: number;
|
|
20
|
+
maxRetries?: number;
|
|
21
|
+
retryDelay?: number;
|
|
22
|
+
/** Custom fetch implementation (defaults to global fetch). */
|
|
23
|
+
fetch?: typeof globalThis.fetch;
|
|
24
|
+
/**
|
|
25
|
+
* When set, `request()` invokes `requireToken(token, requireTokenCode)`
|
|
26
|
+
* before any network I/O. The runtime and contract FetchClients set
|
|
27
|
+
* this to `'runtime_token_missing'` or `'contract_token_missing'`.
|
|
28
|
+
*/
|
|
29
|
+
requireTokenCode?: 'runtime_token_missing' | 'contract_token_missing';
|
|
30
|
+
/**
|
|
31
|
+
* Transport-managed (no-token) mode: a credential-injecting transport (e.g.
|
|
32
|
+
* the website BFF proxy) sets `Authorization` server-side, so this client
|
|
33
|
+
* (a) SKIPS the `requireToken` presence guard and (b) OMITS the
|
|
34
|
+
* `Authorization` header entirely. Opt-in only — direct consumers keep the
|
|
35
|
+
* token-required guard (QI-004).
|
|
36
|
+
*/
|
|
37
|
+
transportManaged?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Opt-in API version (G5). When set, every request carries
|
|
40
|
+
* `X-Zarel-Api-Version: <value>`. No backend reads it today (forward-looking);
|
|
41
|
+
* unset ⇒ header omitted.
|
|
42
|
+
*/
|
|
43
|
+
apiVersion?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Opt-in per-attempt request/response/error interceptors (G4). See
|
|
46
|
+
* `./interceptors`. `onRequest` may mutate the outgoing headers (throw
|
|
47
|
+
* aborts); `onResponse`/`onError` are read-only observers (throw swallowed).
|
|
48
|
+
*/
|
|
49
|
+
interceptors?: Interceptors;
|
|
50
|
+
/**
|
|
51
|
+
* The codegen-derived envelope-unwrap map for THIS plane (ADR-0109 follow-up
|
|
52
|
+
* — codegen-driven unwrap). Keyed by `operationId`; `{unwrap:true}` ⇒ the
|
|
53
|
+
* transport validates the `{success,data}` envelope and returns `data`,
|
|
54
|
+
* `{unwrap:false}` ⇒ the body is returned whole. The SINGLE unwrap authority
|
|
55
|
+
* (no runtime heuristic, no manual opt-outs). Injected per plane by
|
|
56
|
+
* `client.ts` (`RUNTIME_OPERATIONS` / `CONTRACT_OPERATIONS`).
|
|
57
|
+
*/
|
|
58
|
+
operations: Readonly<Record<string, {
|
|
59
|
+
unwrap: boolean;
|
|
60
|
+
}>>;
|
|
61
|
+
}
|
|
62
|
+
export interface RequestOptions {
|
|
63
|
+
method: HttpMethod;
|
|
64
|
+
path: string;
|
|
65
|
+
body?: unknown;
|
|
66
|
+
query?: Record<string, string | number | boolean | string[] | undefined>;
|
|
67
|
+
headers?: Record<string, string>;
|
|
68
|
+
/** Skip automatic Idempotency-Key generation for this request. */
|
|
69
|
+
skipIdempotency?: boolean;
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
/**
|
|
72
|
+
* The OpenAPI `operationId` this request invokes (ADR-0109 follow-up). The
|
|
73
|
+
* transport looks it up in the per-plane unwrap map to decide whether to
|
|
74
|
+
* strip the `{success,data}` envelope — the SINGLE unwrap authority. An
|
|
75
|
+
* `operationId` absent from the map is a fail-fast `ZarelError` (never a
|
|
76
|
+
* silent `undefined`); a build-time cross-check guard makes that never fire
|
|
77
|
+
* in production.
|
|
78
|
+
*/
|
|
79
|
+
operationId: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Per-call options for the convenience methods. `operationId` is REQUIRED (the
|
|
83
|
+
* unwrap decision is keyed by it); `signal` is the optional `AbortSignal`.
|
|
84
|
+
*/
|
|
85
|
+
export interface CallOptions {
|
|
86
|
+
operationId: string;
|
|
87
|
+
signal?: AbortSignal;
|
|
88
|
+
/**
|
|
89
|
+
* Extra request headers for this call. Merged into the per-attempt header
|
|
90
|
+
* set and re-sent on every retry. Used by the writes a `confirm` guard can
|
|
91
|
+
* pause to carry `X-Zarel-Confirmation-Token` (ADR-0127 US3).
|
|
92
|
+
*/
|
|
93
|
+
headers?: Record<string, string>;
|
|
94
|
+
}
|
|
95
|
+
export declare class FetchClient {
|
|
96
|
+
private readonly baseUrl;
|
|
97
|
+
private readonly token;
|
|
98
|
+
private readonly transportManaged;
|
|
99
|
+
private readonly timeout;
|
|
100
|
+
private readonly maxRetries;
|
|
101
|
+
private readonly retryDelay;
|
|
102
|
+
private readonly fetchFn;
|
|
103
|
+
private readonly requireTokenCode;
|
|
104
|
+
private readonly apiVersion?;
|
|
105
|
+
private readonly interceptors?;
|
|
106
|
+
private readonly operations;
|
|
107
|
+
constructor(options: FetchClientOptions);
|
|
108
|
+
request<T>(options: RequestOptions): Promise<T>;
|
|
109
|
+
get<T>(path: string, query: Record<string, string | number | boolean | string[] | undefined> | undefined, options: CallOptions): Promise<T>;
|
|
110
|
+
post<T>(path: string, body: unknown, options: CallOptions): Promise<T>;
|
|
111
|
+
patch<T>(path: string, body: unknown, options: CallOptions): Promise<T>;
|
|
112
|
+
put<T>(path: string, body: unknown, options: CallOptions): Promise<T>;
|
|
113
|
+
del<T>(path: string, options: CallOptions): Promise<T>;
|
|
114
|
+
/**
|
|
115
|
+
* G3 — open a typed Server-Sent-Events stream against `path` (a runtime-plane
|
|
116
|
+
* SSE endpoint). Reuses this client's own `fetch`, baseUrl, and the SHARED auth
|
|
117
|
+
* authority (`resolveAuthHeaders`, QI-001) — no separate token logic. The
|
|
118
|
+
* reconnect loop + frame parsing live in `sse-client.ts`; this method only
|
|
119
|
+
* provides the `connect` closure (fetch + status classification). Returns a
|
|
120
|
+
* teardown handle synchronously.
|
|
121
|
+
*/
|
|
122
|
+
openEventStream(path: string, handlers: EventStreamHandlers, options?: EventStreamOptions): EventStreamHandle;
|
|
123
|
+
/**
|
|
124
|
+
* Spec 2 — POST one MCP JSON-RPC message to a stateless MCP transport path
|
|
125
|
+
* (POST /runtime/mcp) and return the typed JSON-RPC response. Reuses the
|
|
126
|
+
* SHARED auth authority (`resolveAuthHeaders`, QI-001) and the pure SSE
|
|
127
|
+
* de-framer (`extractMcpResponse`), accepting either an `application/json`
|
|
128
|
+
* body or a single `text/event-stream` frame. Unlike `request()` this does
|
|
129
|
+
* NOT run the `{success,data}` envelope unwrap (MCP is bare JSON-RPC) and
|
|
130
|
+
* makes a SINGLE attempt — no retry, no Idempotency-Key — because a
|
|
131
|
+
* `tools/call` may be a non-idempotent mutation that must never be silently
|
|
132
|
+
* re-issued. A protocol-level JSON-RPC error is returned in the union (not
|
|
133
|
+
* thrown); transport failures throw exactly as the REST path (401 →
|
|
134
|
+
* ZarelAuthError, other non-ok → ZarelAPIError).
|
|
135
|
+
*/
|
|
136
|
+
postMcp(path: string, message: McpJsonRpcRequest, requestOptions?: {
|
|
137
|
+
signal?: AbortSignal;
|
|
138
|
+
}): Promise<McpJsonRpcResponse>;
|
|
139
|
+
private fetchWithTimeout;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=fetch-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-client.d.ts","sourceRoot":"","sources":["../../src/_internal/fetch-client.ts"],"names":[],"mappings":"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"}
|