@blocksdiy/blocks-client-sdk 1.22.0 → 1.24.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/dist/Action.d.ts CHANGED
@@ -101,5 +101,16 @@ export declare class Action<AC extends ActionConfig = ActionConfig> {
101
101
  execute(input: AC["inputInstanceType"], { onChunk }?: {
102
102
  onChunk?: (chunk: any) => void;
103
103
  }): Promise<AC["outputInstanceType"]>;
104
+ /**
105
+ * Starts the action in the background and returns its run id at once, without waiting for the
106
+ * result. Use it for a long-running action (`execute` would wait in the browser for hours and
107
+ * lose the run on reload). Keep the id — e.g. on a row — and check on the run with
108
+ * `client.getActionRunStatus(workflowId)` or the `useActionRun` hook.
109
+ *
110
+ * @throws {ActionRunError} with a structured `code` when the platform refuses, e.g. DURABLE_RUN_LIMIT
111
+ */
112
+ start(input: AC["inputInstanceType"]): Promise<{
113
+ workflowId: string;
114
+ }>;
104
115
  }
105
116
  //# sourceMappingURL=Action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE;IAC5G,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,EAAE,CAAC;IACtB,kBAAkB,EAAE,EAAE,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,qBAAa,MAAM,CAAC,EAAE,SAAS,YAAY,GAAG,YAAY;IACxD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB;;;OAGG;gBAED,MAAM,EAAE,EAAE,EACV,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAUhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;KAAO;CAuBnG"}
1
+ {"version":3,"file":"Action.d.ts","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE;IAC5G,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,EAAE,CAAC;IACtB,kBAAkB,EAAE,EAAE,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,qBAAa,MAAM,CAAC,EAAE,SAAS,YAAY,GAAG,YAAY;IACxD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB;;;OAGG;gBAED,MAAM,EAAE,EAAE,EACV,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAUhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACG,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,EAAE,OAAO,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;KAAO;IAwBlG;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAS7E"}
package/dist/Action.js CHANGED
@@ -102,4 +102,21 @@ export class Action {
102
102
  });
103
103
  return result;
104
104
  }
105
+ /**
106
+ * Starts the action in the background and returns its run id at once, without waiting for the
107
+ * result. Use it for a long-running action (`execute` would wait in the browser for hours and
108
+ * lose the run on reload). Keep the id — e.g. on a row — and check on the run with
109
+ * `client.getActionRunStatus(workflowId)` or the `useActionRun` hook.
110
+ *
111
+ * @throws {ActionRunError} with a structured `code` when the platform refuses, e.g. DURABLE_RUN_LIMIT
112
+ */
113
+ async start(input) {
114
+ return WorkflowRequest.start({
115
+ workflowBlockId: this.actionBlockId,
116
+ appId: this.appId,
117
+ token: this.token,
118
+ input: { ...input, toolId: this.toolId },
119
+ context: { appId: this.appId, toolSetId: this.toolSetId },
120
+ });
121
+ }
105
122
  }
@@ -1,3 +1,4 @@
1
+ import { type ActionRunStatus } from "@blocksdiy/blocks-client-api/workflowService";
1
2
  import { Action, type ActionConfig } from "./Action.js";
2
3
  import { Agent, type AgentConfig } from "./Agent.js";
3
4
  import { AgentChat, AgentChatConfig } from "./AgentChat.js";
@@ -140,6 +141,38 @@ export declare class ClientSdk {
140
141
  * ```
141
142
  */
142
143
  action<AC extends ActionConfig = ActionConfig>(actionConfig: AC): Action<AC>;
144
+ /**
145
+ * The state of a run started with `action(...).start(...)`: `status` (RUNNING / COMPLETED /
146
+ * FAILED / CANCELLED), loop `progress`, `awaitingRetry` while the run is paused after a failure, `paused`, and
147
+ * `pausable` (false while something waits synchronously on the run).
148
+ */
149
+ getActionRunStatus(workflowId: string): Promise<ActionRunStatus>;
150
+ /** Stops a long-running run: no new steps start; steps already running finish. */
151
+ cancelActionRun(workflowId: string): Promise<{
152
+ workflowId: string;
153
+ status: string;
154
+ }>;
155
+ /**
156
+ * Pauses a long-running run: no new steps start until `resumeActionRun`; what is running
157
+ * finishes, and nothing fails. Throws an `ActionRunError` with code RUN_NOT_RUNNING once the
158
+ * run has ended, RUN_NOT_PAUSABLE when something is waiting synchronously on it,
159
+ * RUN_NOT_CONTROLLABLE for a run started before run control existed.
160
+ */
161
+ pauseActionRun(workflowId: string): Promise<{
162
+ workflowId: string;
163
+ status: string;
164
+ }>;
165
+ /**
166
+ * Resumes a paused long-running run — paused on request (`paused`) or after a failure (its
167
+ * status lists `awaitingRetry`): failed steps and loop items run again, what succeeded stays
168
+ * done. Throws an `ActionRunError` with code RUN_NOT_RESUMABLE once the run has ended,
169
+ * NOTHING_TO_RESUME when it isn't paused, RUN_NOT_CONTROLLABLE for a run started before run
170
+ * control existed.
171
+ */
172
+ resumeActionRun(workflowId: string): Promise<{
173
+ workflowId: string;
174
+ retried: import("@blocksdiy/blocks-client-api").ActionRunWaitingEntry[];
175
+ }>;
143
176
  /**
144
177
  * Gets or creates a Page instance for the specified page configuration
145
178
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ClientSdk.d.ts","sourceRoot":"","sources":["../src/ClientSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientSdk.d.ts","sourceRoot":"","sources":["../src/ClientSdk.ts"],"names":[],"mappings":"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"}
package/dist/ClientSdk.js CHANGED
@@ -2,6 +2,7 @@ import { DataApiService } from "@blocksdiy/blocks-client-api";
2
2
  import { AppVersionService } from "@blocksdiy/blocks-client-api/appVersionService";
3
3
  import { BlocksApiService } from "@blocksdiy/blocks-client-api/blocksStoreService";
4
4
  import { getGoogleBaseUrl, getHost } from "@blocksdiy/blocks-client-api/envService";
5
+ import { WorkflowRequest } from "@blocksdiy/blocks-client-api/workflowService";
5
6
  import { Action } from "./Action.js";
6
7
  import { Agent } from "./Agent.js";
7
8
  import { AgentChat } from "./AgentChat.js";
@@ -148,6 +149,37 @@ export class ClientSdk {
148
149
  }
149
150
  return this.actions.get(key);
150
151
  }
152
+ /**
153
+ * The state of a run started with `action(...).start(...)`: `status` (RUNNING / COMPLETED /
154
+ * FAILED / CANCELLED), loop `progress`, `awaitingRetry` while the run is paused after a failure, `paused`, and
155
+ * `pausable` (false while something waits synchronously on the run).
156
+ */
157
+ getActionRunStatus(workflowId) {
158
+ return WorkflowRequest.getRunStatus({ appId: this.appId, token: this.token, workflowId });
159
+ }
160
+ /** Stops a long-running run: no new steps start; steps already running finish. */
161
+ cancelActionRun(workflowId) {
162
+ return WorkflowRequest.cancelRun({ appId: this.appId, token: this.token, workflowId });
163
+ }
164
+ /**
165
+ * Pauses a long-running run: no new steps start until `resumeActionRun`; what is running
166
+ * finishes, and nothing fails. Throws an `ActionRunError` with code RUN_NOT_RUNNING once the
167
+ * run has ended, RUN_NOT_PAUSABLE when something is waiting synchronously on it,
168
+ * RUN_NOT_CONTROLLABLE for a run started before run control existed.
169
+ */
170
+ pauseActionRun(workflowId) {
171
+ return WorkflowRequest.pauseRun({ appId: this.appId, token: this.token, workflowId });
172
+ }
173
+ /**
174
+ * Resumes a paused long-running run — paused on request (`paused`) or after a failure (its
175
+ * status lists `awaitingRetry`): failed steps and loop items run again, what succeeded stays
176
+ * done. Throws an `ActionRunError` with code RUN_NOT_RESUMABLE once the run has ended,
177
+ * NOTHING_TO_RESUME when it isn't paused, RUN_NOT_CONTROLLABLE for a run started before run
178
+ * control existed.
179
+ */
180
+ resumeActionRun(workflowId) {
181
+ return WorkflowRequest.resumeRun({ appId: this.appId, token: this.token, workflowId });
182
+ }
151
183
  /**
152
184
  * Gets or creates a Page instance for the specified page configuration
153
185
  *
@@ -1,3 +1,5 @@
1
+ import { ActionRunError } from "@blocksdiy/blocks-client-api/errors";
2
+ import { type ActionRunStatus, type ActionRunWaitingEntry } from "@blocksdiy/blocks-client-api/workflowService";
1
3
  import { type AgentContext, type AgentContextShare, type AgentScreenRead } from "@blocksdiy/react-common/agent-threads";
2
4
  import type { ActionConfig } from "./Action.js";
3
5
  import type { AgentConfig } from "./Agent.js";
@@ -463,12 +465,15 @@ export declare const useEntityDeleteMany: <EC extends EntityConfig = EntityConfi
463
465
  * @param {AC} actionConfig - Configuration for the action
464
466
  * @returns {Object} Action execution object with functions, state, and results
465
467
  * @returns {Function} returns.executeFunction - Function to execute the action with inputs
468
+ * @returns {Function} returns.executeBackgroundRunFunction - Starts the action on the server and resolves with `{ runId }` as soon as the run is accepted; the run keeps going after a reload or unmount. Store the id (e.g. on a row) and follow it with `useActionRun`. Rejects with an `ActionRunError` (branch on `code`, e.g. DURABLE_RUN_LIMIT).
466
469
  * @returns {AC["outputInstanceType"]} returns.result - Final result after action completes
467
470
  * @returns {AC["outputInstanceType"]} returns.streamResult - Incrementally updated result during streaming
468
471
  * @returns {boolean} returns.isLoading - Whether the action is currently executing
469
472
  * @returns {boolean} returns.isDone - Whether the action has completed
470
473
  * @returns {Error | null} returns.error - Any error that occurred during execution
471
- * @returns {Function} returns.clear - Function to clear result and streamResult values
474
+ * @returns {boolean} returns.isStartingBackgroundRun - Whether `executeBackgroundRunFunction` is waiting for the run to be accepted (not for it to finish)
475
+ * @returns {Error | null} returns.backgroundRunError - The error of the last `executeBackgroundRunFunction` call
476
+ * @returns {Function} returns.clear - Function to clear result, streamResult and both errors
472
477
  * @example
473
478
  * ```tsx
474
479
  * import { ExportDataAction, ProcessPaymentAction } from '@/product-types';
@@ -548,13 +553,75 @@ export declare const useEntityDeleteMany: <EC extends EntityConfig = EntityConfi
548
553
  */
549
554
  export declare const useExecuteAction: <AC extends ActionConfig = ActionConfig>(actionConfig: AC) => {
550
555
  executeFunction: import("@tanstack/react-query").UseMutateAsyncFunction<AC["outputInstanceType"], Error, AC["inputInstanceType"], unknown>;
556
+ executeBackgroundRunFunction: import("@tanstack/react-query").UseMutateAsyncFunction<{
557
+ runId: string;
558
+ }, Error, AC["inputInstanceType"], unknown>;
551
559
  result: AC["outputInstanceType"] | undefined;
552
560
  streamResult: AC["outputInstanceType"] | undefined;
553
561
  isLoading: boolean;
554
562
  isDone: boolean;
555
563
  error: Error | null;
564
+ isStartingBackgroundRun: boolean;
565
+ backgroundRunError: Error | null;
556
566
  clear: () => void;
557
567
  };
568
+ export { ActionRunError };
569
+ export type { ActionRunStatus, ActionRunWaitingEntry };
570
+ /**
571
+ * Hook to follow a run started with `useExecuteAction`'s `executeBackgroundRunFunction` (or by a
572
+ * code action): its `status`, loop `progress`, whether it waits for `resume` (`canResume`: paused
573
+ * by `pause`, or after a failure — then `awaitingRetry` lists what failed) — polled until the run
574
+ * ends — plus `pause`, `resume` and `cancel`. Pass `undefined` until there is a run.
575
+ *
576
+ * Errors from `pause` / `resume` / `cancel` are `ActionRunError`s: branch on `error.code`
577
+ * (RUN_NOT_RESUMABLE, NOTHING_TO_RESUME, RUN_NOT_FOUND, …), never on the message.
578
+ *
579
+ * @example
580
+ * ```tsx
581
+ * const { status, progress, awaitingRetry, canPause, canResume, pause, resume, cancel } = useActionRun(run.runId);
582
+ * {canPause && <Button onClick={() => pause()}>Pause</Button>}
583
+ * {canResume && <Button onClick={() => resume()}>Resume</Button>}
584
+ * ```
585
+ */
586
+ export declare const useActionRun: (runId: string | undefined | null) => {
587
+ status: string | undefined;
588
+ progress: {
589
+ loops: {
590
+ loopKey: string;
591
+ blockId: string;
592
+ total: number;
593
+ succeeded: number;
594
+ failed: number;
595
+ inFlight: number;
596
+ }[];
597
+ } | undefined;
598
+ awaitingRetry: ActionRunWaitingEntry[];
599
+ /** Paused by a `pause()` call, until `resume()`. A step already running can still fail meanwhile, so `awaitingRetry` alone can't tell this apart. */
600
+ isManuallyPaused: boolean;
601
+ /** The run waits for `resume()`: paused by `pause()`, or after a failure (then `awaitingRetry` lists it). Show the Resume button on this. */
602
+ canResume: boolean;
603
+ /** `pause` would be accepted: the run is running, not already paused, and nothing waits on it synchronously. */
604
+ canPause: boolean;
605
+ /** The run has ended (completed, failed or cancelled); polling has stopped. */
606
+ isDone: boolean;
607
+ isLoading: boolean;
608
+ error: Error | null;
609
+ cancel: import("@tanstack/react-query").UseMutateAsyncFunction<{
610
+ workflowId: string;
611
+ status: string;
612
+ }, Error, void, unknown>;
613
+ isCancelling: boolean;
614
+ pause: import("@tanstack/react-query").UseMutateAsyncFunction<{
615
+ workflowId: string;
616
+ status: string;
617
+ }, Error, void, unknown>;
618
+ isPausing: boolean;
619
+ resume: import("@tanstack/react-query").UseMutateAsyncFunction<{
620
+ workflowId: string;
621
+ retried: ActionRunWaitingEntry[];
622
+ }, Error, void, unknown>;
623
+ isResuming: boolean;
624
+ };
558
625
  /**
559
626
  * Hook to get an AgentChat instance
560
627
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ReactClientSdk.d.ts","sourceRoot":"","sources":["../src/ReactClientSdk.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactClientSdk.d.ts","sourceRoot":"","sources":["../src/ReactClientSdk.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { AppVersionService } from "@blocksdiy/blocks-client-api/appVersionService";
2
- import { FatalAppError } from "@blocksdiy/blocks-client-api/errors";
2
+ import { ActionRunError, FatalAppError } from "@blocksdiy/blocks-client-api/errors";
3
3
  import { useWebsockets, useWebsocketsAppSubscribe } from "@blocksdiy/blocks-client-api/websocketService";
4
4
  import { websocketsService } from "@blocksdiy/blocks-client-api/websocketService";
5
+ import { isTerminalWorkflowStatus, } from "@blocksdiy/blocks-client-api/workflowService";
5
6
  import { createAgentContextStore, useAgentContextRegistration, useAgentContextValues, } from "@blocksdiy/react-common/agent-threads";
6
7
  import { useAiStreamChunks } from "@blocksdiy/react-common/useAiStreamChunks";
7
8
  import { QueryClient, QueryClientProvider, useInfiniteQuery, useMutation, useQuery, useQueryClient, } from "@tanstack/react-query";
@@ -818,12 +819,15 @@ export const useEntityDeleteMany = (entityConfig) => {
818
819
  * @param {AC} actionConfig - Configuration for the action
819
820
  * @returns {Object} Action execution object with functions, state, and results
820
821
  * @returns {Function} returns.executeFunction - Function to execute the action with inputs
822
+ * @returns {Function} returns.executeBackgroundRunFunction - Starts the action on the server and resolves with `{ runId }` as soon as the run is accepted; the run keeps going after a reload or unmount. Store the id (e.g. on a row) and follow it with `useActionRun`. Rejects with an `ActionRunError` (branch on `code`, e.g. DURABLE_RUN_LIMIT).
821
823
  * @returns {AC["outputInstanceType"]} returns.result - Final result after action completes
822
824
  * @returns {AC["outputInstanceType"]} returns.streamResult - Incrementally updated result during streaming
823
825
  * @returns {boolean} returns.isLoading - Whether the action is currently executing
824
826
  * @returns {boolean} returns.isDone - Whether the action has completed
825
827
  * @returns {Error | null} returns.error - Any error that occurred during execution
826
- * @returns {Function} returns.clear - Function to clear result and streamResult values
828
+ * @returns {boolean} returns.isStartingBackgroundRun - Whether `executeBackgroundRunFunction` is waiting for the run to be accepted (not for it to finish)
829
+ * @returns {Error | null} returns.backgroundRunError - The error of the last `executeBackgroundRunFunction` call
830
+ * @returns {Function} returns.clear - Function to clear result, streamResult and both errors
827
831
  * @example
828
832
  * ```tsx
829
833
  * import { ExportDataAction, ProcessPaymentAction } from '@/product-types';
@@ -943,14 +947,113 @@ export const useExecuteAction = (actionConfig) => {
943
947
  setIsDone(true);
944
948
  },
945
949
  });
950
+ // Starts the run and resolves with its id; the run carries on server-side. Its state is kept
951
+ // apart on purpose: result, streamResult, isDone, isLoading and error describe executeFunction.
952
+ // Same rate-limit budget: a start loop is costlier than an execute loop (a run can last hours).
953
+ const { mutateAsync: executeBackgroundRunFunction, isPending: isStartingBackgroundRun, error: backgroundRunError, reset: resetBackgroundRun, } = useMutation({
954
+ mutationFn: async (inputs) => {
955
+ validateExceededMaxCount(inputs);
956
+ const { workflowId } = await client.action(actionConfig).start(inputs);
957
+ return { runId: workflowId };
958
+ },
959
+ });
946
960
  if (error instanceof FatalAppError) {
947
961
  throw error;
948
962
  }
963
+ if (backgroundRunError instanceof FatalAppError) {
964
+ throw backgroundRunError;
965
+ }
949
966
  const clear = useCallback(() => {
950
967
  reset();
968
+ resetBackgroundRun();
951
969
  setStreamResult(undefined);
952
970
  }, []);
953
- return { executeFunction, result, streamResult, isLoading, isDone, error, clear };
971
+ return {
972
+ executeFunction,
973
+ executeBackgroundRunFunction,
974
+ result,
975
+ streamResult,
976
+ isLoading,
977
+ isDone,
978
+ error,
979
+ isStartingBackgroundRun,
980
+ backgroundRunError,
981
+ clear,
982
+ };
983
+ };
984
+ export { ActionRunError };
985
+ /** How often `useActionRun` re-reads a run that hasn't ended. */
986
+ const ACTION_RUN_POLL_MS = 5000;
987
+ /**
988
+ * Hook to follow a run started with `useExecuteAction`'s `executeBackgroundRunFunction` (or by a
989
+ * code action): its `status`, loop `progress`, whether it waits for `resume` (`canResume`: paused
990
+ * by `pause`, or after a failure — then `awaitingRetry` lists what failed) — polled until the run
991
+ * ends — plus `pause`, `resume` and `cancel`. Pass `undefined` until there is a run.
992
+ *
993
+ * Errors from `pause` / `resume` / `cancel` are `ActionRunError`s: branch on `error.code`
994
+ * (RUN_NOT_RESUMABLE, NOTHING_TO_RESUME, RUN_NOT_FOUND, …), never on the message.
995
+ *
996
+ * @example
997
+ * ```tsx
998
+ * const { status, progress, awaitingRetry, canPause, canResume, pause, resume, cancel } = useActionRun(run.runId);
999
+ * {canPause && <Button onClick={() => pause()}>Pause</Button>}
1000
+ * {canResume && <Button onClick={() => resume()}>Resume</Button>}
1001
+ * ```
1002
+ */
1003
+ export const useActionRun = (runId) => {
1004
+ const client = useClient();
1005
+ const queryClient = useQueryClient();
1006
+ const queryKey = ["actionRun", client.appId, runId];
1007
+ // An ended run never changes again, so nothing re-reads it (a status read of a closed
1008
+ // long-running run replays its history on a worker).
1009
+ const stillRunning = (query) => !isTerminalWorkflowStatus(query.state.data?.status);
1010
+ const { data, isLoading, error } = useQuery({
1011
+ queryKey,
1012
+ queryFn: () => client.getActionRunStatus(runId),
1013
+ enabled: !!runId,
1014
+ refetchInterval: (query) => (stillRunning(query) ? ACTION_RUN_POLL_MS : false),
1015
+ refetchOnWindowFocus: stillRunning,
1016
+ refetchOnReconnect: stillRunning,
1017
+ refetchOnMount: stillRunning,
1018
+ });
1019
+ // Read the run again right after a control call, so the UI doesn't wait for the next poll.
1020
+ const refresh = () => queryClient.invalidateQueries({ queryKey });
1021
+ const cancelMutation = useMutation({
1022
+ mutationFn: () => client.cancelActionRun(runId),
1023
+ onSettled: refresh,
1024
+ });
1025
+ const pauseMutation = useMutation({
1026
+ mutationFn: () => client.pauseActionRun(runId),
1027
+ onSettled: refresh,
1028
+ });
1029
+ const resumeMutation = useMutation({
1030
+ mutationFn: () => client.resumeActionRun(runId),
1031
+ onSettled: refresh,
1032
+ });
1033
+ const awaitingRetry = data?.awaitingRetry ?? [];
1034
+ const isManuallyPaused = data?.paused === true;
1035
+ const canResume = isManuallyPaused || awaitingRetry.length > 0;
1036
+ return {
1037
+ status: data?.status,
1038
+ progress: data?.progress,
1039
+ awaitingRetry,
1040
+ /** Paused by a `pause()` call, until `resume()`. A step already running can still fail meanwhile, so `awaitingRetry` alone can't tell this apart. */
1041
+ isManuallyPaused,
1042
+ /** The run waits for `resume()`: paused by `pause()`, or after a failure (then `awaitingRetry` lists it). Show the Resume button on this. */
1043
+ canResume,
1044
+ /** `pause` would be accepted: the run is running, not already paused, and nothing waits on it synchronously. */
1045
+ canPause: data?.status === "RUNNING" && data?.pausable !== false && !canResume,
1046
+ /** The run has ended (completed, failed or cancelled); polling has stopped. */
1047
+ isDone: isTerminalWorkflowStatus(data?.status),
1048
+ isLoading,
1049
+ error,
1050
+ cancel: cancelMutation.mutateAsync,
1051
+ isCancelling: cancelMutation.isPending,
1052
+ pause: pauseMutation.mutateAsync,
1053
+ isPausing: pauseMutation.isPending,
1054
+ resume: resumeMutation.mutateAsync,
1055
+ isResuming: resumeMutation.isPending,
1056
+ };
954
1057
  };
955
1058
  /**
956
1059
  * Hook to get an AgentChat instance
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocksdiy/blocks-client-sdk",
3
- "version": "1.22.0",
3
+ "version": "1.24.0",
4
4
  "type": "module",
5
5
  "description": "Blocks client sdk",
6
6
  "keywords": [],
@@ -46,8 +46,8 @@
46
46
  ]
47
47
  },
48
48
  "dependencies": {
49
- "@blocksdiy/blocks-client-api": "1.27.0",
50
- "@blocksdiy/react-common": "1.61.0",
49
+ "@blocksdiy/blocks-client-api": "1.29.0",
50
+ "@blocksdiy/react-common": "1.61.2",
51
51
  "@tanstack/react-query": "^5.101.0"
52
52
  },
53
53
  "devDependencies": {