@relayfx/sdk 0.7.13 → 0.7.15

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.
@@ -0,0 +1,11 @@
1
+ // @bun
2
+ // src/event-history-s3-client.ts
3
+ var clients = new WeakMap;
4
+ var layer = (client) => {
5
+ const handle = {};
6
+ clients.set(handle, client);
7
+ return handle;
8
+ };
9
+ var getClient = (handle) => clients.get(handle);
10
+
11
+ export { layer, getClient };
@@ -8,7 +8,7 @@ import {
8
8
  SqlFailure,
9
9
  make,
10
10
  normalizeAcquisitionCause
11
- } from "./index-0fta2cfp.js";
11
+ } from "./index-29atwn23.js";
12
12
 
13
13
  // src/migration-errors.ts
14
14
  import { Cause, Effect, Function } from "effect";
@@ -55,7 +55,9 @@ var database = (options) => {
55
55
  dialect: options.dialect,
56
56
  runtimeLayer,
57
57
  migrate: withClient(options.migrate),
58
- verify: withClient(options.verify)
58
+ verify: withClient(options.verify),
59
+ ...options.executionEventRepositoryLayer === undefined ? {} : { executionEventRepositoryLayer: options.executionEventRepositoryLayer },
60
+ ...options.eventHistoryCheck === undefined ? {} : { eventHistoryCheck: options.eventHistoryCheck }
59
61
  });
60
62
  };
61
63
 
@@ -0,0 +1,44 @@
1
+ // @bun
2
+ import {
3
+ getClient
4
+ } from "./index-432jshna.js";
5
+ import {
6
+ HostUnavailable,
7
+ RuntimeConfigurationError,
8
+ RuntimeReadinessError,
9
+ exports_event_history_s3_client,
10
+ exports_execution_event_repository,
11
+ exports_runtime_event_history
12
+ } from "./index-29atwn23.js";
13
+
14
+ // src/shared-event-history.ts
15
+ import { layer as bunCryptoLayer } from "@effect/platform-bun/BunCrypto";
16
+ import { Cause, Effect, Layer } from "effect";
17
+ var configurationFailure = () => RuntimeConfigurationError.make({
18
+ category: "database-config",
19
+ scope: "database-client",
20
+ cause: {
21
+ reasons: [
22
+ { _tag: "Fail", category: "database-config", errorTag: "RuntimeHostLayerFailure" }
23
+ ],
24
+ truncated: false
25
+ }
26
+ });
27
+ var s3EventHistory = (config) => {
28
+ const operationGate = exports_runtime_event_history.makeS3OperationGate();
29
+ const options = { bucket: config.bucket, prefix: config.prefix, operationGate };
30
+ const client = Layer.succeed(exports_event_history_s3_client.Service, exports_event_history_s3_client.Service.of({ client: getClient(config.clientLayer) }));
31
+ const services = Layer.merge(client, bunCryptoLayer);
32
+ return {
33
+ executionEventRepositoryLayer: exports_runtime_event_history.s3RepositoryLayer(options).pipe(Layer.provide(services), Layer.catchCause((cause) => Layer.effect(exports_execution_event_repository.Service, Effect.failCause(Cause.map(cause, configurationFailure))))),
34
+ eventHistoryCheck: Effect.scoped(Effect.gen(function* () {
35
+ const context = yield* Layer.build(services);
36
+ yield* exports_runtime_event_history.s3Health(options).pipe(Effect.provide(context));
37
+ })).pipe(Effect.mapError(() => RuntimeReadinessError.make({
38
+ phase: "event-history",
39
+ cause: HostUnavailable.make({ host: "event-history", reason: "health check failed" })
40
+ })))
41
+ };
42
+ };
43
+
44
+ export { s3EventHistory };
package/dist/index.js CHANGED
@@ -1,4 +1,7 @@
1
1
  // @bun
2
+ import {
3
+ layer
4
+ } from "./index-432jshna.js";
2
5
  import {
3
6
  DatabaseIdentity,
4
7
  exports_artifact_store_service,
@@ -14,7 +17,7 @@ import {
14
17
  exports_tool_runtime,
15
18
  exports_workflow_definition_host,
16
19
  makeDatabaseIdentity
17
- } from "./index-0fta2cfp.js";
20
+ } from "./index-29atwn23.js";
18
21
  import {
19
22
  exports_context_overflow,
20
23
  exports_model_registry
@@ -58,7 +61,7 @@ __export(exports_adapter_outbox, {
58
61
  testLayer: () => testLayer,
59
62
  submitInbound: () => submitInbound,
60
63
  release: () => release,
61
- layer: () => layer,
64
+ layer: () => layer2,
62
65
  claim: () => claim,
63
66
  ack: () => ack,
64
67
  Service: () => Service2
@@ -66,7 +69,7 @@ __export(exports_adapter_outbox, {
66
69
  import { Context, Effect, Layer } from "effect";
67
70
  class Service2 extends Context.Service()("@relayfx/sdk/adapter-outbox/Service") {
68
71
  }
69
- var layer = Layer.effect(Service2, Effect.gen(function* () {
72
+ var layer2 = Layer.effect(Service2, Effect.gen(function* () {
70
73
  const client = yield* Service;
71
74
  return Service2.of({
72
75
  claim: Effect.fn("AdapterOutbox.claim")(function* (input) {
@@ -151,26 +154,35 @@ var run = Effect2.fn("ToolWorker.run")(function* (options) {
151
154
  // src/event-history.ts
152
155
  var exports_event_history = {};
153
156
  __export(exports_event_history, {
157
+ s3ClientLayer: () => s3ClientLayer,
158
+ s3: () => s3,
154
159
  fileSystem: () => fileSystem
155
160
  });
156
161
  var fileSystem = (options) => ({
157
162
  _tag: "FileSystem",
158
163
  directory: options.directory
159
164
  });
165
+ var s3ClientLayer = (client) => layer(client);
166
+ var s3 = (options) => ({
167
+ _tag: "S3",
168
+ clientLayer: options.clientLayer,
169
+ bucket: options.bucket,
170
+ prefix: options.prefix ?? ""
171
+ });
160
172
 
161
173
  // src/language-model-registration.ts
162
174
  var exports_language_model_registration = {};
163
175
  __export(exports_language_model_registration, {
164
176
  withOpenRouterFetch: () => withOpenRouterFetch,
165
- withOpenRouter: () => layer6,
177
+ withOpenRouter: () => layer7,
166
178
  withOpenAiFetch: () => withOpenAiFetch,
167
179
  withOpenAiCompatibleFetch: () => withOpenAiCompatibleFetch,
168
- withOpenAiCompatible: () => layer5,
180
+ withOpenAiCompatible: () => layer6,
169
181
  withOpenAiAccountFetch: () => withOpenAiAccountFetch,
170
182
  withOpenAiAccount: () => layerAccount,
171
- withOpenAi: () => layer3,
183
+ withOpenAi: () => layer4,
172
184
  withAnthropicFetch: () => withAnthropicFetch,
173
- withAnthropic: () => layer2,
185
+ withAnthropic: () => layer3,
174
186
  openRouterClientLayerConfig: () => layerConfig4,
175
187
  openRouter: () => openRouter,
176
188
  openAiOrDeterministicLayer: () => layerOpenAi,
@@ -179,7 +191,7 @@ __export(exports_language_model_registration, {
179
191
  openAiClientLayerConfig: () => layerConfig2,
180
192
  openAi: () => openAi,
181
193
  deterministicModel: () => deterministicModel,
182
- deterministicLayer: () => layer4,
194
+ deterministicLayer: () => layer5,
183
195
  anthropicClientLayerConfig: () => layerConfig,
184
196
  anthropic: () => anthropic,
185
197
  OpenAiAccountCredentialError: () => OpenAiAccountCredentialError
@@ -260,11 +272,11 @@ var conformImageSourceModel = (model) => {
260
272
  streamText: (options) => Stream.unwrap(Effect3.map(normalizeOptions(options), streamText))
261
273
  };
262
274
  };
263
- var layerImageSources = (layer2) => Layer2.effect(LanguageModel.LanguageModel, Effect3.map(LanguageModel.LanguageModel, conformImageSourceModel)).pipe(Layer2.provide(layer2));
275
+ var layerImageSources = (layer3) => Layer2.effect(LanguageModel.LanguageModel, Effect3.map(LanguageModel.LanguageModel, conformImageSourceModel)).pipe(Layer2.provide(layer3));
264
276
 
265
277
  // ../../node_modules/.bun/@batonfx+providers@0.11.8+74997d64abff4185/node_modules/@batonfx/providers/dist/anthropic.js
266
278
  var classifyFailure = exports_context_overflow.classify;
267
- var layer2 = (input) => exports_model_registry.layer([
279
+ var layer3 = (input) => exports_model_registry.layer([
268
280
  exports_model_registry.registration({
269
281
  provider: "anthropic",
270
282
  model: input.model,
@@ -293,7 +305,7 @@ var openAiAccountApiUrl = "https://chatgpt.com/backend-api/codex";
293
305
  var openAiAccountResponsesUrl = `${openAiAccountApiUrl}/responses`;
294
306
  var openAiAccountIdHeader = "ChatGPT-Account-ID";
295
307
  var classifyFailure2 = exports_context_overflow.classify;
296
- var layer3 = (input) => exports_model_registry.layer([
308
+ var layer4 = (input) => exports_model_registry.layer([
297
309
  exports_model_registry.registration({
298
310
  provider: "openai",
299
311
  model: input.model,
@@ -467,7 +479,7 @@ var registration2 = (input = {}) => exports_model_registry.registration({
467
479
  ...input.registrationKey === undefined ? {} : { registrationKey: input.registrationKey },
468
480
  ...input.metadata === undefined ? {} : { metadata: input.metadata }
469
481
  });
470
- var layer4 = (input = {}) => exports_model_registry.layer([registration2(input)]);
482
+ var layer5 = (input = {}) => exports_model_registry.layer([registration2(input)]);
471
483
  var layerOpenAi = (options) => Layer5.unwrap(Effect5.gen(function* () {
472
484
  const deterministic = yield* registration2({
473
485
  provider: options.fallbackProvider ?? "deterministic",
@@ -495,7 +507,7 @@ var layerOpenAi = (options) => Layer5.unwrap(Effect5.gen(function* () {
495
507
  // ../../node_modules/.bun/@batonfx+providers@0.11.8+74997d64abff4185/node_modules/@batonfx/providers/dist/openai-compat.js
496
508
  import { OpenAiClient as OpenAiClient3, OpenAiLanguageModel as OpenAiLanguageModel2 } from "@effect/ai-openai-compat";
497
509
  import { Config as Config4, Layer as Layer6, Redacted as Redacted3 } from "effect";
498
- var layer5 = (input) => exports_model_registry.layer([
510
+ var layer6 = (input) => exports_model_registry.layer([
499
511
  exports_model_registry.registration({
500
512
  provider: input.provider ?? "openai-compatible",
501
513
  model: input.model,
@@ -518,7 +530,7 @@ var layerConfig3 = OpenAiClient3.layerConfig;
518
530
  import { OpenRouterClient, OpenRouterLanguageModel } from "@effect/ai-openrouter";
519
531
  import { Config as Config5, Layer as Layer7, Redacted as Redacted4 } from "effect";
520
532
  var classifyFailure3 = exports_context_overflow.classify;
521
- var layer6 = (input) => exports_model_registry.layer([
533
+ var layer7 = (input) => exports_model_registry.layer([
522
534
  exports_model_registry.registration({
523
535
  provider: "openrouter",
524
536
  model: input.model,
@@ -581,10 +593,10 @@ var openAiCompatible = (input) => exports_model_registry.registration({
581
593
  ...input.registrationKey === undefined ? {} : { registrationKey: input.registrationKey },
582
594
  ...input.metadata === undefined ? {} : { metadata: input.metadata }
583
595
  });
584
- var withOpenAiFetch = (input) => layer3(input).pipe(Layer8.provide(FetchHttpClient2.layer));
585
- var withAnthropicFetch = (input) => layer2(input).pipe(Layer8.provide(FetchHttpClient2.layer));
586
- var withOpenRouterFetch = (input) => layer6(input).pipe(Layer8.provide(FetchHttpClient2.layer));
587
- var withOpenAiCompatibleFetch = (input) => layer5(input).pipe(Layer8.provide(FetchHttpClient2.layer));
596
+ var withOpenAiFetch = (input) => layer4(input).pipe(Layer8.provide(FetchHttpClient2.layer));
597
+ var withAnthropicFetch = (input) => layer3(input).pipe(Layer8.provide(FetchHttpClient2.layer));
598
+ var withOpenRouterFetch = (input) => layer7(input).pipe(Layer8.provide(FetchHttpClient2.layer));
599
+ var withOpenAiCompatibleFetch = (input) => layer6(input).pipe(Layer8.provide(FetchHttpClient2.layer));
588
600
  var withOpenAiAccountFetch = (input) => layerAccount(input).pipe(Layer8.provide(FetchHttpClient2.layer));
589
601
 
590
602
  // src/client.ts
package/dist/mysql.js CHANGED
@@ -1,13 +1,17 @@
1
1
  // @bun
2
+ import {
3
+ s3EventHistory
4
+ } from "./index-z6ynt4v1.js";
5
+ import"./index-432jshna.js";
2
6
  import {
3
7
  database,
4
8
  normalizeMigrationCause
5
- } from "./index-fn3rdmbr.js";
9
+ } from "./index-efepvs7p.js";
6
10
  import {
7
11
  MigratorError,
8
12
  RuntimeMigrationError,
9
13
  SqlFailure
10
- } from "./index-0fta2cfp.js";
14
+ } from "./index-29atwn23.js";
11
15
  import"./index-d5563j6w.js";
12
16
  import"./index-j8k41y47.js";
13
17
  import"./index-nb39b5ae.js";
@@ -272,15 +276,20 @@ var runMigrations = Effect.gen(function* () {
272
276
  }));
273
277
  }
274
278
  });
275
- var database2 = (options) => database({
276
- ...options,
277
- dialect: "mysql",
278
- ownership: "shared-multi-node",
279
- schemaHead: String(migrations.at(-1)?.[0]),
280
- acquire: verifySchema,
281
- verify: verifySchema,
282
- migrate: normalizeMigrationCause(runMigrations, "mysql", "apply").pipe(Effect.andThen(verifySchema))
283
- });
279
+ var database2 = (options) => database((() => {
280
+ const history = options.eventHistory === undefined ? {} : s3EventHistory(options.eventHistory);
281
+ return {
282
+ clientLayer: options.clientLayer,
283
+ databaseIdentity: options.databaseIdentity,
284
+ dialect: "mysql",
285
+ ownership: "shared-multi-node",
286
+ schemaHead: String(migrations.at(-1)?.[0]),
287
+ acquire: verifySchema,
288
+ verify: verifySchema,
289
+ migrate: normalizeMigrationCause(runMigrations, "mysql", "apply").pipe(Effect.andThen(verifySchema)),
290
+ ...history
291
+ };
292
+ })());
284
293
  var MySQL = { database: database2 };
285
294
  export {
286
295
  MySQL
package/dist/postgres.js CHANGED
@@ -1,8 +1,12 @@
1
1
  // @bun
2
+ import {
3
+ s3EventHistory
4
+ } from "./index-z6ynt4v1.js";
5
+ import"./index-432jshna.js";
2
6
  import {
3
7
  database,
4
8
  normalizeMigrationCause
5
- } from "./index-fn3rdmbr.js";
9
+ } from "./index-efepvs7p.js";
6
10
  import {
7
11
  Dialect,
8
12
  RuntimeMigrationError,
@@ -14,7 +18,7 @@ import {
14
18
  fromDbTimestamp,
15
19
  fromNullableDbTimestamp,
16
20
  timestampParam
17
- } from "./index-0fta2cfp.js";
21
+ } from "./index-29atwn23.js";
18
22
  import"./index-d5563j6w.js";
19
23
  import {
20
24
  exports_ids_schema
@@ -935,15 +939,20 @@ var runMigrations = normalizeMigrationCause(Effect2.gen(function* () {
935
939
  const database2 = yield* makeWithDefaults2().pipe(Effect2.provideService(PgClient2, pg));
936
940
  yield* runDrizzleMigrator(database2, { migrationsFolder });
937
941
  }), "pg", "apply");
938
- var database2 = (options) => database({
939
- ...options,
940
- dialect: "pg",
941
- ownership: "shared-multi-node",
942
- schemaHead,
943
- acquire: verifySchema,
944
- verify: verifySchema,
945
- migrate: runMigrations.pipe(Effect2.andThen(verifySchema))
946
- });
942
+ var database2 = (options) => database((() => {
943
+ const history = options.eventHistory === undefined ? {} : s3EventHistory(options.eventHistory);
944
+ return {
945
+ clientLayer: options.clientLayer,
946
+ databaseIdentity: options.databaseIdentity,
947
+ dialect: "pg",
948
+ ownership: "shared-multi-node",
949
+ schemaHead,
950
+ acquire: verifySchema,
951
+ verify: verifySchema,
952
+ migrate: runMigrations.pipe(Effect2.andThen(verifySchema)),
953
+ ...history
954
+ };
955
+ })());
947
956
  var Postgres = { database: database2, pgTypeParsers: exports_database_service.pgTypeParsers };
948
957
  export {
949
958
  Postgres
package/dist/sqlite.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  database,
4
4
  normalizeMigrationCause
5
- } from "./index-fn3rdmbr.js";
5
+ } from "./index-efepvs7p.js";
6
6
  import {
7
7
  DatabaseAlreadyOwned,
8
8
  HostUnavailable,
@@ -16,7 +16,7 @@ import {
16
16
  make,
17
17
  makeDatabaseIdentity,
18
18
  runtimeLayer
19
- } from "./index-0fta2cfp.js";
19
+ } from "./index-29atwn23.js";
20
20
  import"./index-d5563j6w.js";
21
21
  import"./index-j8k41y47.js";
22
22
  import"./index-nb39b5ae.js";
@@ -0,0 +1,8 @@
1
+ import type { S3Client } from "@aws-sdk/client-s3";
2
+ declare const ClientLayerTypeId: unique symbol;
3
+ export interface ClientLayer {
4
+ readonly [ClientLayerTypeId]: true;
5
+ }
6
+ export declare const layer: (client: S3Client) => ClientLayer;
7
+ export declare const getClient: (handle: ClientLayer) => S3Client;
8
+ export {};
@@ -1,8 +1,24 @@
1
+ import type { S3Client } from "@aws-sdk/client-s3";
2
+ import { type ClientLayer } from "./event-history-s3-client";
1
3
  export interface FileSystemConfig {
2
4
  readonly _tag: "FileSystem";
3
5
  readonly directory: string;
4
6
  }
5
- export type Config = FileSystemConfig;
7
+ export type S3ClientLayer = ClientLayer;
8
+ export interface S3Config {
9
+ readonly _tag: "S3";
10
+ readonly clientLayer: S3ClientLayer;
11
+ readonly bucket: string;
12
+ readonly prefix: string;
13
+ }
14
+ export type Config = FileSystemConfig | S3Config;
6
15
  export declare const fileSystem: (options: {
7
16
  readonly directory: string;
8
17
  }) => FileSystemConfig;
18
+ /** Wraps a host-created AWS S3 client without taking ownership of its lifetime. */
19
+ export declare const s3ClientLayer: (client: S3Client) => S3ClientLayer;
20
+ export declare const s3: (options: {
21
+ readonly clientLayer: S3ClientLayer;
22
+ readonly bucket: string;
23
+ readonly prefix?: string;
24
+ }) => S3Config;
@@ -1,9 +1,11 @@
1
1
  import { Layer } from "effect";
2
2
  import { SqlClient } from "effect/unstable/sql/SqlClient";
3
+ import type { S3Config } from "./event-history";
3
4
  import { type AcquisitionError, RuntimeMigrationError, type DatabaseIdentity, type Database, type RuntimeConfigurationError } from "./runtime";
4
5
  interface MySQLRuntimeDatabaseOptions<E, R> {
5
6
  readonly clientLayer: Layer.Layer<SqlClient, E, R>;
6
7
  readonly databaseIdentity: DatabaseIdentity;
8
+ readonly eventHistory?: S3Config;
7
9
  }
8
10
  declare const database: <E, R>(options: MySQLRuntimeDatabaseOptions<E, R>) => Database<"mysql", RuntimeConfigurationError | RuntimeMigrationError | Extract<E, AcquisitionError>, R>;
9
11
  export declare const MySQL: {
@@ -1,9 +1,11 @@
1
1
  import { Layer } from "effect";
2
2
  import { SqlClient } from "effect/unstable/sql/SqlClient";
3
+ import type { S3Config } from "./event-history";
3
4
  import { type AcquisitionError, RuntimeMigrationError, type DatabaseIdentity, type Database, type RuntimeConfigurationError } from "./runtime";
4
5
  interface PostgresRuntimeDatabaseOptions<E, R> {
5
6
  readonly clientLayer: Layer.Layer<SqlClient, E, R>;
6
7
  readonly databaseIdentity: DatabaseIdentity;
8
+ readonly eventHistory?: S3Config;
7
9
  }
8
10
  export interface PgTypeParsers {
9
11
  readonly getTypeParser: (typeId: number, format?: "text" | "binary") => (value: string) => unknown;
@@ -1,6 +1,7 @@
1
1
  import { Effect, Layer } from "effect";
2
2
  import { SqlClient } from "effect/unstable/sql/SqlClient";
3
3
  import type { Database } from "./runtime-database-public";
4
+ import type { ExecutionEventRepository, NotificationBus } from "../store-sql/portable";
4
5
  import { RuntimeConfigurationError, RuntimeMigrationError, type AcquisitionError, type DatabaseIdentity, type Dialect } from "./runtime";
5
6
  export declare const normalizeClientLayer: <E, R>(clientLayer: Layer.Layer<SqlClient, E, R>) => Layer.Layer<SqlClient, RuntimeConfigurationError | Extract<E, AcquisitionError>, R>;
6
7
  export declare const database: <D extends Dialect, E, R>(options: {
@@ -12,4 +13,6 @@ export declare const database: <D extends Dialect, E, R>(options: {
12
13
  readonly acquire: Effect.Effect<void, RuntimeMigrationError, SqlClient>;
13
14
  readonly verify: Effect.Effect<void, RuntimeMigrationError, SqlClient>;
14
15
  readonly migrate: Effect.Effect<void, RuntimeMigrationError, SqlClient>;
16
+ readonly executionEventRepositoryLayer?: Layer.Layer<ExecutionEventRepository.Service, RuntimeConfigurationError, NotificationBus.Service | SqlClient>;
17
+ readonly eventHistoryCheck?: Effect.Effect<void, import("./runtime").RuntimeReadinessError, SqlClient>;
15
18
  }) => Database<D, RuntimeConfigurationError | RuntimeMigrationError | Extract<E, AcquisitionError>, R>;
@@ -0,0 +1,9 @@
1
+ import { ExecutionEventRepository, NotificationBus } from "../store-sql/portable";
2
+ import { Effect, Layer } from "effect";
3
+ import { SqlClient } from "effect/unstable/sql/SqlClient";
4
+ import type { S3Config } from "./event-history";
5
+ import { RuntimeConfigurationError, RuntimeReadinessError } from "./runtime";
6
+ export declare const s3EventHistory: (config: S3Config) => {
7
+ readonly executionEventRepositoryLayer: Layer.Layer<ExecutionEventRepository.Service, RuntimeConfigurationError, NotificationBus.Service | SqlClient>;
8
+ readonly eventHistoryCheck: Effect.Effect<void, RuntimeReadinessError, SqlClient>;
9
+ };
@@ -2,7 +2,7 @@ import type { Database } from "./runtime-database-public";
2
2
  import { RuntimeConfigurationError, RuntimeMigrationError, RuntimeTopologyError } from "./runtime";
3
3
  interface SQLiteRuntimeDatabaseOptions {
4
4
  readonly filename: string;
5
- readonly eventHistory?: import("./event-history").Config;
5
+ readonly eventHistory?: import("./event-history").FileSystemConfig;
6
6
  readonly disableWAL?: boolean;
7
7
  readonly spanAttributes?: Record<string, unknown>;
8
8
  readonly transformResultNames?: (name: string) => string;
@@ -2,8 +2,7 @@ import { Ids } from "../../schema/index";
2
2
  import { Context, Effect, Layer } from "effect";
3
3
  export interface Interface {
4
4
  readonly run: <A, E, R>(executionId: Ids.ExecutionId, effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
5
- readonly interrupt: (executionId: Ids.ExecutionId) => Effect.Effect<boolean>;
6
- readonly awaitQuiescent: (executionId: Ids.ExecutionId) => Effect.Effect<void>;
5
+ readonly interruptAndAwait: (executionId: Ids.ExecutionId) => Effect.Effect<boolean>;
7
6
  }
8
7
  declare const Service_base: Context.ServiceClass<Service, "@relayfx/runtime/execution/active-execution-registry/Service", Interface>;
9
8
  export declare class Service extends Service_base {
@@ -34,7 +34,7 @@ export interface RunInput {
34
34
  readonly program: Effect.Effect<RunProgramResult, ExecutionServiceError>;
35
35
  }
36
36
  export interface RunProgramResult {
37
- readonly _tag?: "completed" | "waiting";
37
+ readonly _tag?: "completed" | "waiting" | "cancelled";
38
38
  readonly waitId?: Ids.WaitId;
39
39
  readonly metadata?: Shared.Metadata;
40
40
  readonly nextEventSequence?: Execution.ExecutionEventSequence;