@relayfx/sdk 0.7.14 → 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.
- package/dist/{index-xxxdmffr.js → index-29atwn23.js} +3665 -3140
- package/dist/index-432jshna.js +11 -0
- package/dist/{index-2r9s4jst.js → index-efepvs7p.js} +4 -2
- package/dist/index-z6ynt4v1.js +44 -0
- package/dist/index.js +30 -18
- package/dist/mysql.js +20 -11
- package/dist/postgres.js +20 -11
- package/dist/sqlite.js +2 -2
- package/dist/types/relay/event-history-s3-client.d.ts +8 -0
- package/dist/types/relay/event-history.d.ts +17 -1
- package/dist/types/relay/mysql.d.ts +2 -0
- package/dist/types/relay/postgres.d.ts +2 -0
- package/dist/types/relay/runtime-database-adapter.d.ts +3 -0
- package/dist/types/relay/shared-event-history.d.ts +9 -0
- package/dist/types/relay/sqlite-runtime.d.ts +1 -1
- package/dist/types/runtime/execution/execution-service.d.ts +1 -1
- package/dist/types/runtime/runner/runner-runtime-service.d.ts +6 -4
- package/dist/types/store-sql/execution/event-history-s3-client.d.ts +23 -0
- package/dist/types/store-sql/execution/event-history-s3.d.ts +22 -0
- package/dist/types/store-sql/execution/execution-repository.d.ts +1 -0
- package/dist/types/store-sql/execution/runtime-event-history.d.ts +9 -2
- package/dist/types/store-sql/portable.d.ts +2 -0
- package/package.json +5 -4
|
@@ -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-
|
|
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-
|
|
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: () =>
|
|
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
|
|
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: () =>
|
|
177
|
+
withOpenRouter: () => layer7,
|
|
166
178
|
withOpenAiFetch: () => withOpenAiFetch,
|
|
167
179
|
withOpenAiCompatibleFetch: () => withOpenAiCompatibleFetch,
|
|
168
|
-
withOpenAiCompatible: () =>
|
|
180
|
+
withOpenAiCompatible: () => layer6,
|
|
169
181
|
withOpenAiAccountFetch: () => withOpenAiAccountFetch,
|
|
170
182
|
withOpenAiAccount: () => layerAccount,
|
|
171
|
-
withOpenAi: () =>
|
|
183
|
+
withOpenAi: () => layer4,
|
|
172
184
|
withAnthropicFetch: () => withAnthropicFetch,
|
|
173
|
-
withAnthropic: () =>
|
|
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: () =>
|
|
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 = (
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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) =>
|
|
585
|
-
var withAnthropicFetch = (input) =>
|
|
586
|
-
var withOpenRouterFetch = (input) =>
|
|
587
|
-
var withOpenAiCompatibleFetch = (input) =>
|
|
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-
|
|
9
|
+
} from "./index-efepvs7p.js";
|
|
6
10
|
import {
|
|
7
11
|
MigratorError,
|
|
8
12
|
RuntimeMigrationError,
|
|
9
13
|
SqlFailure
|
|
10
|
-
} from "./index-
|
|
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
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
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-
|
|
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-
|
|
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
|
|
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").
|
|
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;
|
|
@@ -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;
|