@durion/react 0.1.0 → 0.2.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/README.md +7 -7
- package/dist/gateway-v0/stream-state-query-fn.d.ts +3 -3
- package/dist/gateway-v0/stream-state-query-fn.js +4 -4
- package/dist/gateway-v0/urls.d.ts +8 -7
- package/dist/gateway-v0/urls.js +15 -14
- package/dist/gateway-v0/{useGatewayV0StreamState.d.ts → useGatewayStreamState.d.ts} +4 -6
- package/dist/gateway-v0/{useGatewayV0StreamState.js → useGatewayStreamState.js} +4 -6
- package/dist/gateway-v0/{useGatewayV0TokenStream.d.ts → useGatewayTokenStream.d.ts} +3 -3
- package/dist/gateway-v0/{useGatewayV0TokenStream.js → useGatewayTokenStream.js} +4 -4
- package/dist/index.d.ts +7 -7
- package/dist/index.js +13 -13
- package/dist/useRunStream.js +2 -2
- package/dist/useSendSignal.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -59,16 +59,16 @@ For non-gateway or custom paths:
|
|
|
59
59
|
|
|
60
60
|
## Gateway v0 helpers
|
|
61
61
|
|
|
62
|
-
URL builders and pre-wired wrappers for the standard Gateway API v0 paths:
|
|
62
|
+
URL builders and pre-wired wrappers for the standard Gateway API v0 paths (names omit “v0”; URLs still use `/v0/...`):
|
|
63
63
|
|
|
64
64
|
| Helper | Purpose |
|
|
65
65
|
|--------|---------|
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
66
|
+
| `useGatewayTokenStream` | SSE via `GET /v0/runs/:id/token-stream` |
|
|
67
|
+
| `useGatewayStreamState` | Polls `GET /v0/runs/:id/stream-state` |
|
|
68
|
+
| `gatewayWorkflowsStartUrl` | URL builder for `POST /v0/workflows/start` |
|
|
69
|
+
| `gatewaySignalUrl` | URL builder for `POST /v0/runs/:id/signal` |
|
|
70
|
+
| `gatewayResultUrl` | URL builder for `GET /v0/runs/:id/result` |
|
|
71
|
+
| `createGatewayStreamStateQueryFn` | Factory for poll `queryFn` |
|
|
72
72
|
|
|
73
73
|
> **Note:** These are now considered low-level. Prefer `useRunStream` for new code.
|
|
74
74
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { StreamState } from '@durion/sdk';
|
|
2
|
-
export interface
|
|
2
|
+
export interface GatewayStreamStateQueryFnOptions {
|
|
3
3
|
accessToken?: string;
|
|
4
4
|
headers?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
|
-
* Default `queryFn` for {@link
|
|
7
|
+
* Default `queryFn` for {@link useGatewayStreamState}: `GET /v0/runs/:id/stream-state` (Gateway API v0).
|
|
8
8
|
*/
|
|
9
|
-
export declare function
|
|
9
|
+
export declare function createGatewayStreamStateQueryFn(baseURL: string, options?: GatewayStreamStateQueryFnOptions): (workflowId: string, signal: AbortSignal) => Promise<StreamState>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createGatewayStreamStateQueryFn = createGatewayStreamStateQueryFn;
|
|
4
4
|
const urls_1 = require("./urls");
|
|
5
5
|
async function resolveHeaders(h) {
|
|
6
6
|
if (h == null)
|
|
@@ -8,11 +8,11 @@ async function resolveHeaders(h) {
|
|
|
8
8
|
return typeof h === 'function' ? await h() : h;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
|
-
* Default `queryFn` for {@link
|
|
11
|
+
* Default `queryFn` for {@link useGatewayStreamState}: `GET /v0/runs/:id/stream-state` (Gateway API v0).
|
|
12
12
|
*/
|
|
13
|
-
function
|
|
13
|
+
function createGatewayStreamStateQueryFn(baseURL, options) {
|
|
14
14
|
return async (workflowId, signal) => {
|
|
15
|
-
const url = (0, urls_1.
|
|
15
|
+
const url = (0, urls_1.gatewayStreamStateUrl)(baseURL, workflowId);
|
|
16
16
|
const extra = await resolveHeaders(options?.headers);
|
|
17
17
|
const headers = new Headers(extra);
|
|
18
18
|
if (options?.accessToken != null && options.accessToken !== '') {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
/** URL builders for Gateway API v0 (`/v0/...`). Names omit “v0”; the path encodes the version. */
|
|
1
2
|
/** Join `baseURL` (no trailing slash) with an absolute path. */
|
|
2
3
|
export declare function trimGatewayBase(url: string): string;
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function gatewayStreamStateUrl(baseURL: string, runId: string): string;
|
|
5
|
+
export declare function gatewayTokenStreamUrl(baseURL: string, runId: string, options?: {
|
|
5
6
|
accessToken?: string;
|
|
6
7
|
}): string;
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
11
|
-
export declare function
|
|
8
|
+
export declare function gatewaySignalUrl(baseURL: string, runId: string): string;
|
|
9
|
+
export declare function gatewayResultUrl(baseURL: string, runId: string): string;
|
|
10
|
+
export declare function gatewayRunDescribeUrl(baseURL: string, runId: string): string;
|
|
11
|
+
export declare function gatewayWorkflowsStartUrl(baseURL: string): string;
|
|
12
|
+
export declare function gatewayAgentsStartUrl(baseURL: string): string;
|
package/dist/gateway-v0/urls.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.trimGatewayBase = trimGatewayBase;
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
4
|
+
exports.gatewayStreamStateUrl = gatewayStreamStateUrl;
|
|
5
|
+
exports.gatewayTokenStreamUrl = gatewayTokenStreamUrl;
|
|
6
|
+
exports.gatewaySignalUrl = gatewaySignalUrl;
|
|
7
|
+
exports.gatewayResultUrl = gatewayResultUrl;
|
|
8
|
+
exports.gatewayRunDescribeUrl = gatewayRunDescribeUrl;
|
|
9
|
+
exports.gatewayWorkflowsStartUrl = gatewayWorkflowsStartUrl;
|
|
10
|
+
exports.gatewayAgentsStartUrl = gatewayAgentsStartUrl;
|
|
11
|
+
/** URL builders for Gateway API v0 (`/v0/...`). Names omit “v0”; the path encodes the version. */
|
|
11
12
|
/** Join `baseURL` (no trailing slash) with an absolute path. */
|
|
12
13
|
function trimGatewayBase(url) {
|
|
13
14
|
return url.replace(/\/$/, '');
|
|
@@ -18,10 +19,10 @@ function joinBasePath(baseURL, path) {
|
|
|
18
19
|
}
|
|
19
20
|
const RUNS = '/v0/runs';
|
|
20
21
|
const WORKFLOWS = '/v0/workflows';
|
|
21
|
-
function
|
|
22
|
+
function gatewayStreamStateUrl(baseURL, runId) {
|
|
22
23
|
return joinBasePath(baseURL, `${RUNS}/${encodeURIComponent(runId)}/stream-state`);
|
|
23
24
|
}
|
|
24
|
-
function
|
|
25
|
+
function gatewayTokenStreamUrl(baseURL, runId, options) {
|
|
25
26
|
const u = joinBasePath(baseURL, `${RUNS}/${encodeURIComponent(runId)}/token-stream`);
|
|
26
27
|
const token = options?.accessToken;
|
|
27
28
|
if (token == null || token === '')
|
|
@@ -29,18 +30,18 @@ function gatewayV0TokenStreamUrl(baseURL, runId, options) {
|
|
|
29
30
|
const sep = u.includes('?') ? '&' : '?';
|
|
30
31
|
return `${u}${sep}access_token=${encodeURIComponent(token)}`;
|
|
31
32
|
}
|
|
32
|
-
function
|
|
33
|
+
function gatewaySignalUrl(baseURL, runId) {
|
|
33
34
|
return joinBasePath(baseURL, `${RUNS}/${encodeURIComponent(runId)}/signal`);
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
+
function gatewayResultUrl(baseURL, runId) {
|
|
36
37
|
return joinBasePath(baseURL, `${RUNS}/${encodeURIComponent(runId)}/result`);
|
|
37
38
|
}
|
|
38
|
-
function
|
|
39
|
+
function gatewayRunDescribeUrl(baseURL, runId) {
|
|
39
40
|
return joinBasePath(baseURL, `${RUNS}/${encodeURIComponent(runId)}`);
|
|
40
41
|
}
|
|
41
|
-
function
|
|
42
|
+
function gatewayWorkflowsStartUrl(baseURL) {
|
|
42
43
|
return joinBasePath(baseURL, `${WORKFLOWS}/start`);
|
|
43
44
|
}
|
|
44
|
-
function
|
|
45
|
+
function gatewayAgentsStartUrl(baseURL) {
|
|
45
46
|
return joinBasePath(baseURL, '/v0/agents/start');
|
|
46
47
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StreamState } from '@durion/sdk';
|
|
2
|
-
export interface
|
|
2
|
+
export interface UseGatewayStreamStateOptions {
|
|
3
3
|
workflowId?: string | null;
|
|
4
4
|
/** API origin, no trailing slash. Use `''` for same-origin. */
|
|
5
5
|
baseURL: string;
|
|
@@ -9,15 +9,13 @@ export interface UseGatewayV0StreamStateOptions {
|
|
|
9
9
|
accessToken?: string;
|
|
10
10
|
extraHeaders?: HeadersInit | (() => HeadersInit | Promise<HeadersInit>);
|
|
11
11
|
/**
|
|
12
|
-
* Replace the default Gateway
|
|
12
|
+
* Replace the default Gateway poll entirely (escape hatch).
|
|
13
13
|
* When set, `baseURL` / `accessToken` / `extraHeaders` are ignored for fetching.
|
|
14
14
|
*/
|
|
15
15
|
queryFn?: (workflowId: string, signal: AbortSignal) => Promise<StreamState>;
|
|
16
16
|
}
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
*/
|
|
20
|
-
export declare function useGatewayV0StreamState(options: UseGatewayV0StreamStateOptions): {
|
|
17
|
+
/** Polls `GET /v0/runs/:id/stream-state` (Gateway API v0). See `docs/gateway-api-v0.md` in the repo. */
|
|
18
|
+
export declare function useGatewayStreamState(options: UseGatewayStreamStateOptions): {
|
|
21
19
|
state: StreamState | null;
|
|
22
20
|
error: Error | null;
|
|
23
21
|
loading: boolean;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.useGatewayStreamState = useGatewayStreamState;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const useWorkflowStreamState_1 = require("../useWorkflowStreamState");
|
|
6
6
|
const stream_state_query_fn_1 = require("./stream-state-query-fn");
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
function useGatewayV0StreamState(options) {
|
|
7
|
+
/** Polls `GET /v0/runs/:id/stream-state` (Gateway API v0). See `docs/gateway-api-v0.md` in the repo. */
|
|
8
|
+
function useGatewayStreamState(options) {
|
|
11
9
|
const { baseURL, accessToken, extraHeaders, queryFn: userQueryFn, workflowId, pollIntervalMs, enabled, } = options;
|
|
12
10
|
const queryFn = (0, react_1.useMemo)(() => {
|
|
13
11
|
if (userQueryFn)
|
|
14
12
|
return userQueryFn;
|
|
15
|
-
return (0, stream_state_query_fn_1.
|
|
13
|
+
return (0, stream_state_query_fn_1.createGatewayStreamStateQueryFn)(baseURL, {
|
|
16
14
|
accessToken,
|
|
17
15
|
headers: extraHeaders,
|
|
18
16
|
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export interface
|
|
1
|
+
export interface UseGatewayTokenStreamOptions {
|
|
2
2
|
/** API origin, no trailing slash. Use `''` for same-origin (e.g. Vite proxy). */
|
|
3
3
|
baseURL: string;
|
|
4
4
|
/** When set, appended as `access_token` query (SSE; browsers cannot set Authorization on EventSource). */
|
|
5
5
|
accessToken?: string;
|
|
6
6
|
}
|
|
7
|
-
/** Token SSE for Gateway API v0 (`GET /v0/runs/:id/token-stream`). Thin wrapper over {@link useWorkflowTokenStream}. */
|
|
8
|
-
export declare function
|
|
7
|
+
/** Token SSE for Gateway API v0 (`GET /v0/runs/:id/token-stream`). See `docs/gateway-api-v0.md` in the repo. Thin wrapper over {@link useWorkflowTokenStream}. */
|
|
8
|
+
export declare function useGatewayTokenStream(options: UseGatewayTokenStreamOptions): {
|
|
9
9
|
text: string;
|
|
10
10
|
status: import("../useWorkflowTokenStream").WorkflowTokenStreamStatus;
|
|
11
11
|
error: Error | null;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.useGatewayTokenStream = useGatewayTokenStream;
|
|
4
4
|
const useWorkflowTokenStream_1 = require("../useWorkflowTokenStream");
|
|
5
5
|
const urls_1 = require("./urls");
|
|
6
|
-
/** Token SSE for Gateway API v0 (`GET /v0/runs/:id/token-stream`). Thin wrapper over {@link useWorkflowTokenStream}. */
|
|
7
|
-
function
|
|
6
|
+
/** Token SSE for Gateway API v0 (`GET /v0/runs/:id/token-stream`). See `docs/gateway-api-v0.md` in the repo. Thin wrapper over {@link useWorkflowTokenStream}. */
|
|
7
|
+
function useGatewayTokenStream(options) {
|
|
8
8
|
const { baseURL, accessToken } = options;
|
|
9
9
|
return (0, useWorkflowTokenStream_1.useWorkflowTokenStream)({
|
|
10
|
-
getTokenStreamUrl: (runId) => (0, urls_1.
|
|
10
|
+
getTokenStreamUrl: (runId) => (0, urls_1.gatewayTokenStreamUrl)(baseURL, runId, { accessToken }),
|
|
11
11
|
});
|
|
12
12
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,10 +6,10 @@ export { useWorkflowStreamState } from './useWorkflowStreamState';
|
|
|
6
6
|
export type { UseWorkflowStreamStateOptions } from './useWorkflowStreamState';
|
|
7
7
|
export { useWorkflowTokenStream } from './useWorkflowTokenStream';
|
|
8
8
|
export type { UseWorkflowTokenStreamOptions, WorkflowTokenStreamStatus, } from './useWorkflowTokenStream';
|
|
9
|
-
export { trimGatewayBase,
|
|
10
|
-
export {
|
|
11
|
-
export type {
|
|
12
|
-
export {
|
|
13
|
-
export type {
|
|
14
|
-
export {
|
|
15
|
-
export type {
|
|
9
|
+
export { trimGatewayBase, gatewayStreamStateUrl, gatewayTokenStreamUrl, gatewaySignalUrl, gatewayResultUrl, gatewayRunDescribeUrl, gatewayWorkflowsStartUrl, gatewayAgentsStartUrl, } from './gateway-v0/urls';
|
|
10
|
+
export { createGatewayStreamStateQueryFn } from './gateway-v0/stream-state-query-fn';
|
|
11
|
+
export type { GatewayStreamStateQueryFnOptions } from './gateway-v0/stream-state-query-fn';
|
|
12
|
+
export { useGatewayTokenStream } from './gateway-v0/useGatewayTokenStream';
|
|
13
|
+
export type { UseGatewayTokenStreamOptions } from './gateway-v0/useGatewayTokenStream';
|
|
14
|
+
export { useGatewayStreamState } from './gateway-v0/useGatewayStreamState';
|
|
15
|
+
export type { UseGatewayStreamStateOptions } from './gateway-v0/useGatewayStreamState';
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Recommended API — unified hooks
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.useGatewayStreamState = exports.useGatewayTokenStream = exports.createGatewayStreamStateQueryFn = exports.gatewayAgentsStartUrl = exports.gatewayWorkflowsStartUrl = exports.gatewayRunDescribeUrl = exports.gatewayResultUrl = exports.gatewaySignalUrl = exports.gatewayTokenStreamUrl = exports.gatewayStreamStateUrl = exports.trimGatewayBase = exports.useWorkflowTokenStream = exports.useWorkflowStreamState = exports.useSendSignal = exports.useRunStream = void 0;
|
|
7
7
|
var useRunStream_1 = require("./useRunStream");
|
|
8
8
|
Object.defineProperty(exports, "useRunStream", { enumerable: true, get: function () { return useRunStream_1.useRunStream; } });
|
|
9
9
|
var useSendSignal_1 = require("./useSendSignal");
|
|
@@ -17,16 +17,16 @@ var useWorkflowTokenStream_1 = require("./useWorkflowTokenStream");
|
|
|
17
17
|
Object.defineProperty(exports, "useWorkflowTokenStream", { enumerable: true, get: function () { return useWorkflowTokenStream_1.useWorkflowTokenStream; } });
|
|
18
18
|
var urls_1 = require("./gateway-v0/urls");
|
|
19
19
|
Object.defineProperty(exports, "trimGatewayBase", { enumerable: true, get: function () { return urls_1.trimGatewayBase; } });
|
|
20
|
-
Object.defineProperty(exports, "
|
|
21
|
-
Object.defineProperty(exports, "
|
|
22
|
-
Object.defineProperty(exports, "
|
|
23
|
-
Object.defineProperty(exports, "
|
|
24
|
-
Object.defineProperty(exports, "
|
|
25
|
-
Object.defineProperty(exports, "
|
|
26
|
-
Object.defineProperty(exports, "
|
|
20
|
+
Object.defineProperty(exports, "gatewayStreamStateUrl", { enumerable: true, get: function () { return urls_1.gatewayStreamStateUrl; } });
|
|
21
|
+
Object.defineProperty(exports, "gatewayTokenStreamUrl", { enumerable: true, get: function () { return urls_1.gatewayTokenStreamUrl; } });
|
|
22
|
+
Object.defineProperty(exports, "gatewaySignalUrl", { enumerable: true, get: function () { return urls_1.gatewaySignalUrl; } });
|
|
23
|
+
Object.defineProperty(exports, "gatewayResultUrl", { enumerable: true, get: function () { return urls_1.gatewayResultUrl; } });
|
|
24
|
+
Object.defineProperty(exports, "gatewayRunDescribeUrl", { enumerable: true, get: function () { return urls_1.gatewayRunDescribeUrl; } });
|
|
25
|
+
Object.defineProperty(exports, "gatewayWorkflowsStartUrl", { enumerable: true, get: function () { return urls_1.gatewayWorkflowsStartUrl; } });
|
|
26
|
+
Object.defineProperty(exports, "gatewayAgentsStartUrl", { enumerable: true, get: function () { return urls_1.gatewayAgentsStartUrl; } });
|
|
27
27
|
var stream_state_query_fn_1 = require("./gateway-v0/stream-state-query-fn");
|
|
28
|
-
Object.defineProperty(exports, "
|
|
29
|
-
var
|
|
30
|
-
Object.defineProperty(exports, "
|
|
31
|
-
var
|
|
32
|
-
Object.defineProperty(exports, "
|
|
28
|
+
Object.defineProperty(exports, "createGatewayStreamStateQueryFn", { enumerable: true, get: function () { return stream_state_query_fn_1.createGatewayStreamStateQueryFn; } });
|
|
29
|
+
var useGatewayTokenStream_1 = require("./gateway-v0/useGatewayTokenStream");
|
|
30
|
+
Object.defineProperty(exports, "useGatewayTokenStream", { enumerable: true, get: function () { return useGatewayTokenStream_1.useGatewayTokenStream; } });
|
|
31
|
+
var useGatewayStreamState_1 = require("./gateway-v0/useGatewayStreamState");
|
|
32
|
+
Object.defineProperty(exports, "useGatewayStreamState", { enumerable: true, get: function () { return useGatewayStreamState_1.useGatewayStreamState; } });
|
package/dist/useRunStream.js
CHANGED
|
@@ -84,7 +84,7 @@ function useRunStream(runId, options) {
|
|
|
84
84
|
setSseText('');
|
|
85
85
|
setError(null);
|
|
86
86
|
setStatus('connecting');
|
|
87
|
-
const url = (0, urls_1.
|
|
87
|
+
const url = (0, urls_1.gatewayTokenStreamUrl)(baseURL, runId, { accessToken });
|
|
88
88
|
const es = new EventSource(url);
|
|
89
89
|
esRef.current = es;
|
|
90
90
|
const flushThrottle = () => {
|
|
@@ -157,7 +157,7 @@ function useRunStream(runId, options) {
|
|
|
157
157
|
let timer;
|
|
158
158
|
const tick = async () => {
|
|
159
159
|
try {
|
|
160
|
-
const url = (0, urls_1.
|
|
160
|
+
const url = (0, urls_1.gatewayStreamStateUrl)(baseURL, runId);
|
|
161
161
|
const headers = new Headers();
|
|
162
162
|
if (accessToken) {
|
|
163
163
|
headers.set('Authorization', `Bearer ${accessToken}`);
|
package/dist/useSendSignal.js
CHANGED
|
@@ -29,7 +29,7 @@ function useSendSignal(options) {
|
|
|
29
29
|
setIsSending(true);
|
|
30
30
|
setError(null);
|
|
31
31
|
try {
|
|
32
|
-
const url = (0, urls_1.
|
|
32
|
+
const url = (0, urls_1.gatewaySignalUrl)(baseURLRef.current, runId);
|
|
33
33
|
const headers = { 'Content-Type': 'application/json' };
|
|
34
34
|
if (accessTokenRef.current) {
|
|
35
35
|
headers['Authorization'] = `Bearer ${accessTokenRef.current}`;
|