@pellux/goodvibes-sdk 0.18.43 → 0.18.47
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/dist/_internal/platform/config/manager.d.ts +12 -0
- package/dist/_internal/platform/config/manager.d.ts.map +1 -1
- package/dist/_internal/platform/config/manager.js +30 -0
- package/dist/_internal/platform/core/orchestrator-turn-helpers.js +1 -1
- package/dist/_internal/platform/core/orchestrator-turn-loop.js +1 -1
- package/dist/_internal/platform/daemon/facade.d.ts +19 -0
- package/dist/_internal/platform/daemon/facade.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/facade.js +90 -1
- package/dist/_internal/platform/daemon/host-mode-watcher.d.ts +49 -0
- package/dist/_internal/platform/daemon/host-mode-watcher.d.ts.map +1 -0
- package/dist/_internal/platform/daemon/host-mode-watcher.js +41 -0
- package/dist/_internal/platform/daemon/http-listener.d.ts +17 -0
- package/dist/_internal/platform/daemon/http-listener.d.ts.map +1 -1
- package/dist/_internal/platform/daemon/http-listener.js +87 -1
- package/dist/_internal/platform/providers/anthropic-compat.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic-compat.js +9 -6
- package/dist/_internal/platform/providers/anthropic-sdk-provider.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic-sdk-provider.js +9 -6
- package/dist/_internal/platform/providers/anthropic.d.ts.map +1 -1
- package/dist/_internal/platform/providers/anthropic.js +9 -6
- package/dist/_internal/platform/providers/auto-register.d.ts +2 -3
- package/dist/_internal/platform/providers/auto-register.d.ts.map +1 -1
- package/dist/_internal/platform/providers/auto-register.js +1 -8
- package/dist/_internal/platform/providers/gemini.d.ts.map +1 -1
- package/dist/_internal/platform/providers/gemini.js +5 -5
- package/dist/_internal/platform/providers/index.d.ts +1 -0
- package/dist/_internal/platform/providers/index.d.ts.map +1 -1
- package/dist/_internal/platform/providers/index.js +1 -0
- package/dist/_internal/platform/providers/interface.d.ts +12 -1
- package/dist/_internal/platform/providers/interface.d.ts.map +1 -1
- package/dist/_internal/platform/providers/llama-cpp.d.ts.map +1 -1
- package/dist/_internal/platform/providers/llama-cpp.js +4 -3
- package/dist/_internal/platform/providers/lm-studio-helpers.d.ts +2 -3
- package/dist/_internal/platform/providers/lm-studio-helpers.d.ts.map +1 -1
- package/dist/_internal/platform/providers/lm-studio-helpers.js +0 -9
- package/dist/_internal/platform/providers/lm-studio.d.ts.map +1 -1
- package/dist/_internal/platform/providers/lm-studio.js +7 -3
- package/dist/_internal/platform/providers/ollama.d.ts.map +1 -1
- package/dist/_internal/platform/providers/ollama.js +3 -3
- package/dist/_internal/platform/providers/openai-codex.d.ts.map +1 -1
- package/dist/_internal/platform/providers/openai-codex.js +3 -10
- package/dist/_internal/platform/providers/openai-compat.d.ts.map +1 -1
- package/dist/_internal/platform/providers/openai-compat.js +11 -7
- package/dist/_internal/platform/providers/openai.d.ts.map +1 -1
- package/dist/_internal/platform/providers/openai.js +11 -7
- package/dist/_internal/platform/providers/provider-api.d.ts +4 -0
- package/dist/_internal/platform/providers/provider-api.d.ts.map +1 -1
- package/dist/_internal/platform/providers/provider-not-found-error.d.ts +16 -0
- package/dist/_internal/platform/providers/provider-not-found-error.d.ts.map +1 -0
- package/dist/_internal/platform/providers/provider-not-found-error.js +24 -0
- package/dist/_internal/platform/providers/registry.d.ts +44 -2
- package/dist/_internal/platform/providers/registry.d.ts.map +1 -1
- package/dist/_internal/platform/providers/registry.js +73 -13
- package/dist/_internal/platform/providers/stop-reason-maps.d.ts +30 -0
- package/dist/_internal/platform/providers/stop-reason-maps.d.ts.map +1 -0
- package/dist/_internal/platform/providers/stop-reason-maps.js +89 -0
- package/dist/_internal/platform/runtime/contracts/migrations/event-envelope.d.ts +1 -1
- package/dist/_internal/platform/runtime/contracts/version.d.ts +1 -1
- package/dist/_internal/platform/runtime/contracts/version.js +1 -1
- package/dist/_internal/platform/runtime/events/domain-map.d.ts +10 -0
- package/dist/_internal/platform/runtime/events/domain-map.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/events/index.d.ts +1 -1
- package/dist/_internal/platform/runtime/events/index.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/forensics/classifier.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/forensics/classifier.js +1 -4
- package/dist/_internal/platform/runtime/index.d.ts +1 -1
- package/dist/_internal/platform/runtime/index.d.ts.map +1 -1
- package/dist/_internal/platform/version.js +1 -1
- package/dist/_internal/transport-http/auth.d.ts +17 -0
- package/dist/_internal/transport-http/auth.d.ts.map +1 -1
- package/dist/_internal/transport-http/auth.js +22 -0
- package/dist/_internal/transport-http/http-core.d.ts.map +1 -1
- package/dist/_internal/transport-http/http-core.js +5 -3
- package/dist/_internal/transport-http/index.d.ts +2 -2
- package/dist/_internal/transport-http/index.d.ts.map +1 -1
- package/dist/_internal/transport-http/index.js +1 -1
- package/dist/_internal/transport-realtime/runtime-events.d.ts +3 -2
- package/dist/_internal/transport-realtime/runtime-events.d.ts.map +1 -1
- package/dist/_internal/transport-realtime/runtime-events.js +4 -10
- package/dist/client.d.ts +19 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -26,6 +26,28 @@ export function mergeHeaders(...sources) {
|
|
|
26
26
|
}
|
|
27
27
|
return headers;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Accepts any supported auth token form and returns a canonical async resolver.
|
|
31
|
+
*
|
|
32
|
+
* - `string` → resolver that always returns the string
|
|
33
|
+
* - `{ token: string }` → resolver that always returns `input.token`
|
|
34
|
+
* - sync function → resolver that awaits `input()` (errors propagate)
|
|
35
|
+
* - async function → passes through as-is
|
|
36
|
+
* - `undefined` → resolver that returns `undefined`
|
|
37
|
+
*/
|
|
38
|
+
export function normalizeAuthToken(input) {
|
|
39
|
+
if (input === undefined) {
|
|
40
|
+
return async () => undefined;
|
|
41
|
+
}
|
|
42
|
+
if (typeof input === 'string') {
|
|
43
|
+
return async () => input;
|
|
44
|
+
}
|
|
45
|
+
if (typeof input === 'function') {
|
|
46
|
+
return async () => await input() ?? undefined;
|
|
47
|
+
}
|
|
48
|
+
// { token: string } wrapper object
|
|
49
|
+
return async () => input.token;
|
|
50
|
+
}
|
|
29
51
|
export async function resolveAuthToken(authToken, getAuthToken) {
|
|
30
52
|
if (getAuthToken) {
|
|
31
53
|
const resolved = await getAuthToken();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-core.d.ts","sourceRoot":"","sources":["../../../src/_internal/transport-http/http-core.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"http-core.d.ts","sourceRoot":"","sources":["../../../src/_internal/transport-http/http-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Synced from packages/transport-http/src/http-core.ts
|
|
2
2
|
// Extracted from legacy source: src/runtime/transports/http-json-transport.ts
|
|
3
3
|
import { sleepWithSignal } from './backoff.js';
|
|
4
|
-
import { mergeHeaders, resolveAuthToken, resolveHeaders } from './auth.js';
|
|
4
|
+
import { mergeHeaders, normalizeAuthToken, resolveAuthToken, resolveHeaders } from './auth.js';
|
|
5
5
|
import { getHttpRetryDelay, isRetryableHttpStatus, isRetryableNetworkError, resolveHttpRetryPolicy, } from './retry.js';
|
|
6
6
|
import { buildUrl, createTransportPaths } from './paths.js';
|
|
7
7
|
function isPlainObject(value) {
|
|
@@ -151,6 +151,8 @@ export function createHttpJsonTransport(options) {
|
|
|
151
151
|
const baseUrl = options.baseUrl.trim();
|
|
152
152
|
const fetchImpl = createFetch(options.fetchImpl, options.fetch);
|
|
153
153
|
const authToken = options.authToken ?? null;
|
|
154
|
+
// Normalize at the boundary: downstream always works with a single resolver.
|
|
155
|
+
const getAuthToken = options.getAuthToken ?? normalizeAuthToken(options.authToken ?? undefined);
|
|
154
156
|
const defaultHeaders = options.headers;
|
|
155
157
|
const retryPolicy = options.retry;
|
|
156
158
|
const paths = createTransportPaths(baseUrl);
|
|
@@ -163,7 +165,7 @@ export function createHttpJsonTransport(options) {
|
|
|
163
165
|
let attempt = 0;
|
|
164
166
|
while (true) {
|
|
165
167
|
attempt += 1;
|
|
166
|
-
const token = await
|
|
168
|
+
const token = (await getAuthToken()) ?? null;
|
|
167
169
|
const headers = await resolveHeaders(defaultHeaders, options.getHeaders);
|
|
168
170
|
try {
|
|
169
171
|
return await requestJson(fetchImpl, url, createJsonRequestInit(token, requestOptions.body, method, mergeHeaders(headers, requestOptions.headers), requestOptions.signal));
|
|
@@ -210,7 +212,7 @@ export function createHttpJsonTransport(options) {
|
|
|
210
212
|
return buildUrl(baseUrl, path);
|
|
211
213
|
},
|
|
212
214
|
async getAuthToken() {
|
|
213
|
-
return await
|
|
215
|
+
return (await getAuthToken()) ?? null;
|
|
214
216
|
},
|
|
215
217
|
requestJson: requestJsonForTransport,
|
|
216
218
|
resolveContractRequest,
|
|
@@ -6,8 +6,8 @@ export type { ServerSentEventHandlers, ServerSentEventOptions } from './sse.js';
|
|
|
6
6
|
export { openServerSentEventStream } from './sse.js';
|
|
7
7
|
export type { ServerSentEventHandlers as RawServerSentEventHandlers, ServerSentEventOptions as RawServerSentEventOptions } from './sse-stream.js';
|
|
8
8
|
export { openServerSentEventStream as openRawServerSentEventStream } from './sse-stream.js';
|
|
9
|
-
export type { AuthTokenResolver, HeaderResolver, MaybePromise } from './auth.js';
|
|
10
|
-
export { mergeHeaders, resolveAuthToken, resolveHeaders } from './auth.js';
|
|
9
|
+
export type { AuthTokenInput, AuthTokenResolver, HeaderResolver, MaybePromise } from './auth.js';
|
|
10
|
+
export { mergeHeaders, normalizeAuthToken, resolveAuthToken, resolveHeaders } from './auth.js';
|
|
11
11
|
export type { BackoffPolicy, ResolvedBackoffPolicy } from './backoff.js';
|
|
12
12
|
export { computeBackoffDelay, normalizeBackoffPolicy, sleepWithSignal } from './backoff.js';
|
|
13
13
|
export type { HttpRetryPolicy, ResolvedHttpRetryPolicy } from './retry.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_internal/transport-http/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,uBAAuB,IAAI,0BAA0B,EAAE,sBAAsB,IAAI,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAClJ,OAAO,EAAE,yBAAyB,IAAI,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_internal/transport-http/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,YAAY,EAAE,uBAAuB,IAAI,0BAA0B,EAAE,sBAAsB,IAAI,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAClJ,OAAO,EAAE,yBAAyB,IAAI,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC5F,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/F,YAAY,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC5K,YAAY,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAC1H,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -2,7 +2,7 @@ export { buildContractInput, invokeContractRoute, openContractRouteStream, requi
|
|
|
2
2
|
export { createFetch, createHttpTransport, createJsonInit, createJsonRequestInit, normalizeTransportError, readJsonBody, requestJson, } from './http.js';
|
|
3
3
|
export { openServerSentEventStream } from './sse.js';
|
|
4
4
|
export { openServerSentEventStream as openRawServerSentEventStream } from './sse-stream.js';
|
|
5
|
-
export { mergeHeaders, resolveAuthToken, resolveHeaders } from './auth.js';
|
|
5
|
+
export { mergeHeaders, normalizeAuthToken, resolveAuthToken, resolveHeaders } from './auth.js';
|
|
6
6
|
export { computeBackoffDelay, normalizeBackoffPolicy, sleepWithSignal } from './backoff.js';
|
|
7
7
|
export { DEFAULT_HTTP_RETRY_POLICY, getHttpRetryDelay, isRetryableHttpStatus, isRetryableNetworkError, normalizeHttpRetryPolicy, resolveHttpRetryPolicy } from './retry.js';
|
|
8
8
|
export { DEFAULT_STREAM_RECONNECT_POLICY, getStreamReconnectDelay, normalizeStreamReconnectPolicy } from './reconnect.js';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type RuntimeEventDomain } from '../contracts/index.js';
|
|
2
|
+
import type { AnyRuntimeEvent } from '../platform/runtime/events/index.js';
|
|
2
3
|
import { type AuthTokenResolver, type StreamReconnectPolicy } from '../transport-http/index.js';
|
|
3
4
|
import { type DomainEventConnector, type DomainEvents, type SerializedEventEnvelope } from './domain-events.js';
|
|
4
5
|
type RuntimeEventRecord = {
|
|
@@ -14,7 +15,7 @@ type AuthTokenSource = string | null | undefined | AuthTokenResolver;
|
|
|
14
15
|
export declare function createRemoteRuntimeEvents<TEvent extends RuntimeEventRecord = RuntimeEventRecord>(connect: DomainEventConnector<RuntimeEventDomain, TEvent>): RemoteRuntimeEvents<TEvent>;
|
|
15
16
|
export declare function buildEventSourceUrl(baseUrl: string, domain: RuntimeEventDomain): string;
|
|
16
17
|
export declare function buildWebSocketUrl(baseUrl: string, domains: readonly RuntimeEventDomain[]): string;
|
|
17
|
-
export declare function createEventSourceConnector(baseUrl: string, token: AuthTokenSource, fetchImpl: typeof fetch, options?: RuntimeEventConnectorOptions): DomainEventConnector<RuntimeEventDomain,
|
|
18
|
-
export declare function createWebSocketConnector(baseUrl: string, token: AuthTokenSource, WebSocketImpl: typeof WebSocket, options?: RuntimeEventConnectorOptions): DomainEventConnector<RuntimeEventDomain,
|
|
18
|
+
export declare function createEventSourceConnector(baseUrl: string, token: AuthTokenSource, fetchImpl: typeof fetch, options?: RuntimeEventConnectorOptions): DomainEventConnector<RuntimeEventDomain, AnyRuntimeEvent>;
|
|
19
|
+
export declare function createWebSocketConnector(baseUrl: string, token: AuthTokenSource, WebSocketImpl: typeof WebSocket, options?: RuntimeEventConnectorOptions): DomainEventConnector<RuntimeEventDomain, AnyRuntimeEvent>;
|
|
19
20
|
export {};
|
|
20
21
|
//# sourceMappingURL=runtime-events.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-events.d.ts","sourceRoot":"","sources":["../../../src/_internal/transport-realtime/runtime-events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime-events.d.ts","sourceRoot":"","sources":["../../../src/_internal/transport-realtime/runtime-events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAsB,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAA6D,MAAM,4BAA4B,CAAC;AAE/K,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAE5B,KAAK,kBAAkB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,MAAM,MAAM,yBAAyB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IAC1F,uBAAuB,CAAC,MAAM,CAAC,CAAC;AAElC,MAAM,MAAM,mBAAmB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,IACpF,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAE3C,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,KAAK,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAErE,wBAAgB,yBAAyB,CAAC,MAAM,SAAS,kBAAkB,GAAG,kBAAkB,EAC9F,OAAO,EAAE,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,CAAC,GACxD,mBAAmB,CAAC,MAAM,CAAC,CAK7B;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAIR;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,kBAAkB,EAAE,GACrC,MAAM,CAQR;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,OAAO,KAAK,EACvB,OAAO,GAAE,4BAAiC,GACzC,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAiB3D;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,OAAO,SAAS,EAC/B,OAAO,GAAE,4BAAiC,GACzC,oBAAoB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAuF3D"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
// Synced from packages/transport-realtime/src/runtime-events.ts
|
|
2
2
|
// Extracted from legacy source: src/runtime/transports/runtime-events-client.ts
|
|
3
3
|
import { RUNTIME_EVENT_DOMAINS } from '../contracts/index.js';
|
|
4
|
-
import {
|
|
4
|
+
import { normalizeAuthToken, openRawServerSentEventStream as openServerSentEventStream } from '../transport-http/index.js';
|
|
5
5
|
import { buildUrl, normalizeBaseUrl } from '../transport-http/index.js';
|
|
6
6
|
import { createRemoteDomainEvents, } from './domain-events.js';
|
|
7
|
-
async function resolveAuthTokenSource(source) {
|
|
8
|
-
if (typeof source === 'function') {
|
|
9
|
-
return await resolveAuthToken(null, source);
|
|
10
|
-
}
|
|
11
|
-
return source ?? null;
|
|
12
|
-
}
|
|
13
7
|
export function createRemoteRuntimeEvents(connect) {
|
|
14
8
|
return createRemoteDomainEvents(RUNTIME_EVENT_DOMAINS, connect);
|
|
15
9
|
}
|
|
@@ -31,6 +25,7 @@ export function createEventSourceConnector(baseUrl, token, fetchImpl, options =
|
|
|
31
25
|
const handleError = options.onError ?? (options.reconnect?.enabled ? (() => { }) : undefined);
|
|
32
26
|
return async (domain, onEnvelope) => {
|
|
33
27
|
const url = buildEventSourceUrl(baseUrl, domain);
|
|
28
|
+
const getAuthToken = normalizeAuthToken(token ?? undefined);
|
|
34
29
|
return await openServerSentEventStream(fetchImpl, url, {
|
|
35
30
|
onEvent: (eventName, payload) => {
|
|
36
31
|
if (eventName !== domain)
|
|
@@ -42,8 +37,7 @@ export function createEventSourceConnector(baseUrl, token, fetchImpl, options =
|
|
|
42
37
|
onError: handleError,
|
|
43
38
|
}, {
|
|
44
39
|
reconnect: options.reconnect,
|
|
45
|
-
getAuthToken
|
|
46
|
-
authToken: typeof token === 'function' ? null : token,
|
|
40
|
+
getAuthToken,
|
|
47
41
|
});
|
|
48
42
|
};
|
|
49
43
|
}
|
|
@@ -85,7 +79,7 @@ export function createWebSocketConnector(baseUrl, token, WebSocketImpl, options
|
|
|
85
79
|
};
|
|
86
80
|
const onOpen = async () => {
|
|
87
81
|
reconnectAttempt = 0;
|
|
88
|
-
const authToken = await
|
|
82
|
+
const authToken = (await normalizeAuthToken(token ?? undefined)()) ?? null;
|
|
89
83
|
if (!authToken || !socket)
|
|
90
84
|
return;
|
|
91
85
|
socket.send(JSON.stringify({
|
package/dist/client.d.ts
CHANGED
|
@@ -2,10 +2,26 @@ import { type OperatorSdk } from './_internal/operator/index.js';
|
|
|
2
2
|
import { type PeerSdk } from './_internal/peer/index.js';
|
|
3
3
|
import type { AuthTokenResolver, HeaderResolver, HttpRetryPolicy, StreamReconnectPolicy } from './_internal/transport-http/index.js';
|
|
4
4
|
import { type RemoteRuntimeEvents } from './_internal/transport-realtime/index.js';
|
|
5
|
+
import type { AnyRuntimeEvent } from './_internal/platform/runtime/events/index.js';
|
|
5
6
|
import { type GoodVibesAuthClient, type GoodVibesTokenStore } from './auth.js';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Discriminated union of all runtime events emitted by the GoodVibes daemon.
|
|
9
|
+
*
|
|
10
|
+
* TypeScript narrows the full event shape (including all payload fields) when
|
|
11
|
+
* matching on the `type` discriminant — no `as` casts required.
|
|
12
|
+
*
|
|
13
|
+
* Each domain's events are accessible via the per-domain feed:
|
|
14
|
+
* ```ts
|
|
15
|
+
* sdk.realtime.viaSse().then(events => {
|
|
16
|
+
* events.agents.on('AGENT_SPAWNING', (payload) => {
|
|
17
|
+
* console.log(payload.agentId, payload.task); // fully typed
|
|
18
|
+
* });
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @see AnyRuntimeEvent for the full discriminated union type.
|
|
23
|
+
*/
|
|
24
|
+
export type RuntimeEventRecord = AnyRuntimeEvent;
|
|
9
25
|
export interface GoodVibesSdkOptions {
|
|
10
26
|
readonly baseUrl: string;
|
|
11
27
|
readonly authToken?: string | null;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAClD,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;CACzF;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC;AA4DD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CA+Cd"}
|
package/dist/client.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ConfigurationError } from './_internal/errors/index.js';
|
|
2
2
|
import { createOperatorSdk, } from './_internal/operator/index.js';
|
|
3
3
|
import { createPeerSdk, } from './_internal/peer/index.js';
|
|
4
|
+
import { normalizeAuthToken } from './_internal/transport-http/index.js';
|
|
4
5
|
import { createEventSourceConnector, createRemoteRuntimeEvents, createWebSocketConnector, } from './_internal/transport-realtime/index.js';
|
|
5
6
|
import { createGoodVibesAuthClient, createMemoryTokenStore, } from './auth.js';
|
|
6
7
|
function requireBaseUrl(baseUrl) {
|
|
@@ -59,6 +60,8 @@ export function createGoodVibesSdk(options) {
|
|
|
59
60
|
const getAuthToken = tokenStore
|
|
60
61
|
? () => tokenStore.getToken()
|
|
61
62
|
: options.getAuthToken;
|
|
63
|
+
// Single normalized resolver used by realtime connectors.
|
|
64
|
+
const tokenResolver = normalizeAuthToken(getAuthToken ?? options.authToken ?? undefined);
|
|
62
65
|
const fetchImpl = () => requireFetchImplementation(options.fetch);
|
|
63
66
|
const operator = createOperatorSdk(createOperatorOptions({
|
|
64
67
|
...options,
|
|
@@ -74,13 +77,13 @@ export function createGoodVibesSdk(options) {
|
|
|
74
77
|
auth: createGoodVibesAuthClient(operator, tokenStore, getAuthToken),
|
|
75
78
|
realtime: {
|
|
76
79
|
viaSse() {
|
|
77
|
-
return createRemoteRuntimeEvents(createEventSourceConnector(baseUrl,
|
|
80
|
+
return createRemoteRuntimeEvents(createEventSourceConnector(baseUrl, tokenResolver, fetchImpl(), {
|
|
78
81
|
reconnect: options.realtime?.sseReconnect,
|
|
79
82
|
onError: options.realtime?.onError,
|
|
80
83
|
}));
|
|
81
84
|
},
|
|
82
85
|
viaWebSocket(webSocketImpl) {
|
|
83
|
-
return createRemoteRuntimeEvents(createWebSocketConnector(baseUrl,
|
|
86
|
+
return createRemoteRuntimeEvents(createWebSocketConnector(baseUrl, tokenResolver, requireWebSocketImplementation(webSocketImpl ?? options.WebSocketImpl), {
|
|
84
87
|
reconnect: options.realtime?.webSocketReconnect,
|
|
85
88
|
onError: options.realtime?.onError,
|
|
86
89
|
}));
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { GoodVibesRealtime, GoodVibesSdk, GoodVibesRealtimeOptions, GoodVibesSdkOptions, } from './client.js';
|
|
1
|
+
export type { GoodVibesRealtime, GoodVibesSdk, GoodVibesRealtimeOptions, GoodVibesSdkOptions, RuntimeEventRecord, } from './client.js';
|
|
2
2
|
export { createGoodVibesSdk } from './client.js';
|
|
3
3
|
export type { BrowserTokenStoreOptions, GoodVibesAuthClient, GoodVibesAuthLoginOptions, GoodVibesCurrentAuth, GoodVibesLoginInput, GoodVibesLoginOutput, GoodVibesTokenStore, } from './auth.js';
|
|
4
4
|
export { createBrowserTokenStore, createGoodVibesAuthClient, createMemoryTokenStore, } from './auth.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EACV,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EACV,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
|